(完整)1-通信软件设计概述课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《(完整)1-通信软件设计概述课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 通信 软件设计 概述 课件
- 资源描述:
-
1、 通信软件设计通信软件设计西安邮电学院西安邮电学院 通信工程系通信工程系 。课程目标课程目标n了解通信软件开发过程了解通信软件开发过程 n理解数链层、网络层、传输层和自定义应用层理解数链层、网络层、传输层和自定义应用层协议的通信软件开发方法协议的通信软件开发方法n理解串行通信、网络通信、状态机的编程方法理解串行通信、网络通信、状态机的编程方法n理解通信软件协议分析和设计,自定义协议编理解通信软件协议分析和设计,自定义协议编程方法程方法。主要内容主要内容n通信软件设计概述通信软件设计概述nVC+程序设计基础程序设计基础 n串口通信串口通信n网络通信网络通信n状态机状态机n协议分析与设计协议分析与
2、设计。课程安排课程安排n理论课理论课16学时学时n实验实验16学时学时考核方式考核方式n平时成绩:平时成绩:30n大作业设计大作业设计+实验报告:实验报告:70。实验报告模板实验报告模板n封皮封皮n实验名称:实验名称:n试验时间和地点:试验时间和地点:n指导教师:指导教师:n学号:学号:n姓名:姓名:n内容内容n实验名称:实验名称:n实验目的:实验目的:n实验步骤:实验步骤:n思考题:思考题:n实验心得:实验心得:。参考书参考书n通信软件设计基础通信软件设计基础,宋茂强,北京邮电大学,宋茂强,北京邮电大学出版社出版社nVisual C+/Turbo C串口通信编程实践串口通信编程实践 龚龚建伟
3、建伟/熊光明,电子工业出版社熊光明,电子工业出版社nEffective TCP/IP Programming,Jon C.C.SnaderSnader 高级高级TCP/IPTCP/IP编程编程,中国电力出版社,中国电力出版社n网络安全技术实践与代码详解网络安全技术实践与代码详解,牛冠杰等,牛冠杰等,人民邮电出版社人民邮电出版社。第一讲第一讲 通信软件设计概述通信软件设计概述。主要内容主要内容 1.1.通信软件基本概念通信软件基本概念 2.2.通信软件开发过程通信软件开发过程 3.3.通信软件开发工具通信软件开发工具。1.1.通信软件基本概念通信软件基本概念n通信的定义通信的定义n通信就是在两个
4、或多个实体之间传递或交换通信就是在两个或多个实体之间传递或交换信息信息。n古代,人们通过驿站、飞鸽传书、烽火报警等方式进行古代,人们通过驿站、飞鸽传书、烽火报警等方式进行信息传递。信息传递。n今天,随着科学水平的飞速发展,相继出现了无线电,今天,随着科学水平的飞速发展,相继出现了无线电,固话,手机,互联网,可视电话等通信方式。固话,手机,互联网,可视电话等通信方式。1.1.通信软件基本概念通信软件基本概念n通信的分类通信的分类n基于连接的通信基于连接的通信 需要在通信实体之间建立连接需要在通信实体之间建立连接n基于无连接的通信基于无连接的通信 在通信实体之间不需要建立连接在通信实体之间不需要建
5、立连接。1.1.通信软件基本概念通信软件基本概念n通信的要素通信的要素n 通信通信实体实体(自然人、计算机、通信终端等)(自然人、计算机、通信终端等)n 传输传输信道信道(电路、无线信道、卫星信道、计算机网(电路、无线信道、卫星信道、计算机网 络等)络等)n 通信通信协议协议(No.7信令、信令、TCP/IP、SIP等)等)。1.1.通信软件基本概念通信软件基本概念n通信协议通信协议 在通信网中,为了在两个或多个通信实体之间准确、在通信网中,为了在两个或多个通信实体之间准确、完整地交换信息,必须对信息交换的完整地交换信息,必须对信息交换的顺序和条件顺序和条件、交换、交换信息的信息的格式和内容格
6、式和内容等做出约定,这一整套约定就称为通等做出约定,这一整套约定就称为通信协议。信协议。1.1.通信软件基本概念通信软件基本概念n通信协议三要素通信协议三要素n语法:确定通信双方通信时数据报文的语法:确定通信双方通信时数据报文的格式格式。n语义:确定通信双方的通信语义:确定通信双方的通信内容内容。n时序:指出通信双方信息交互的时序:指出通信双方信息交互的顺序顺序。1.通信软件基本概念通信软件基本概念n通信协议举例通信协议举例 两台计算机之间进行文件传输,主机两台计算机之间进行文件传输,主机A(发送方发送方)发文件发文件给主机给主机B(接收方接收方)。首先定义双方进行通信的协议(双方约。首先定义
7、双方进行通信的协议(双方约定好通信的格式),定好通信的格式),例如:可以定义一个简单的文件传输例如:可以定义一个简单的文件传输协议:协议:。1.通信软件基本概念通信软件基本概念n通信软件通信软件n定义:能够实现在两个或多个实体(计算机、电信终端、定义:能够实现在两个或多个实体(计算机、电信终端、交换设备等)之间传递或交换信息的软件称为通信软件。交换设备等)之间传递或交换信息的软件称为通信软件。n通信软件主要包括通信软件主要包括电信软件电信软件和和计算机网络软件计算机网络软件两大类。两大类。n电信软件包括电信软件包括电话交换软件电话交换软件,移动通信软件移动通信软件,智能网软智能网软件件等。等。
8、n计算机网络软件包括计算机网络软件包括网络协议网络协议和和网络应用软件网络应用软件。1.通信软件基本概念通信软件基本概念n电信软件的特点电信软件的特点n实时性强实时性强n运行时间长:要求系统具有很高的可靠性运行时间长:要求系统具有很高的可靠性n并发性强:并发性强:“同时同时”为成千上万的用户服务为成千上万的用户服务n结果可预期结果可预期n大部分是嵌入式软件大部分是嵌入式软件n离散性,基于有限状态机离散性,基于有限状态机。1.通信软件基本概念通信软件基本概念n计算机网络软件的特点计算机网络软件的特点n采用分层结构采用分层结构n由网络协议组成由网络协议组成n实时性要求低,可靠性要求高实时性要求低,
9、可靠性要求高。主要内容主要内容 1.1.通信软件基本概念通信软件基本概念 2.2.通信软件开发过程通信软件开发过程 3.3.通信软件开发工具通信软件开发工具。需求分析和定义系统概要设计详细设计编码单元测试集成测试系统测试系统交付维护AnalystDesignerProgrammerTesterTrainer2.通信软件开发过程通信软件开发过程。2.1 需求分析需求分析n要解决的问题:系统应该要解决的问题:系统应该“做什么做什么”。n主要任务:用户的需求运行环境主要任务:用户的需求运行环境形式化描述形式化描述需求规格说明书需求规格说明书需求需求功能性需求功能性需求非功能性需求非功能性需求系统功能
10、系统功能采用的协议和信令系统的情况采用的协议和信令系统的情况与硬件环境的接口关系与硬件环境的接口关系与其他系统交互信息的情况与其他系统交互信息的情况可移植性、可靠性、实时性、可用性可移植性、可靠性、实时性、可用性安全保密性安全保密性可重用性可重用性。2.1 需求分析需求分析n统一建模语言(统一建模语言(UML:Unified Modeling Language)是一种比较)是一种比较成熟的标准建模语言。非常适合于实时系统,特别是通信软件系统成熟的标准建模语言。非常适合于实时系统,特别是通信软件系统的分析建模,主要用于描述系统的结构和行为。的分析建模,主要用于描述系统的结构和行为。UML具有完备
11、的语法和语义定义,其中语法的表示又分为:图形语具有完备的语法和语义定义,其中语法的表示又分为:图形语法和文本语法。图形语法直观易懂,便于交流,因此设计人员一般法和文本语法。图形语法直观易懂,便于交流,因此设计人员一般采用图形语法来建模。采用图形语法来建模。其中,用其中,用例图例图用于需求分析,用于需求分析,类图类图用于概要设计和详细设计。用于概要设计和详细设计。nMSC(Message Sequence Chart,消息顺序图,消息顺序图)是一种形式化语是一种形式化语言,特别适合于描述通信软件系统与外部环境之间以及系统内各功言,特别适合于描述通信软件系统与外部环境之间以及系统内各功能模块之间的
12、消息交互情况。能模块之间的消息交互情况。2.1 需求分析需求分析 最后形成的文档是最后形成的文档是需求规格说明书需求规格说明书,主要内容如下:,主要内容如下:n引言引言:项目的背景,给出缩写词的原文和专用术语的定义,列出参:项目的背景,给出缩写词的原文和专用术语的定义,列出参考文献。考文献。n任务概述任务概述:软件系统的设计目标、运行环境、条件与限制。:软件系统的设计目标、运行环境、条件与限制。n功能需求功能需求:软件的功能划分情况、类的定义、系统类图、系统与外:软件的功能划分情况、类的定义、系统类图、系统与外部环境之间的消息交互图。部环境之间的消息交互图。n非功能性能需求非功能性能需求:软件
13、系统的可移植性、可靠性、实时性、可用性、:软件系统的可移植性、可靠性、实时性、可用性、安全保密性和可重用性。安全保密性和可重用性。n数据描述数据描述:给出软件系统用到的数据项的描述。:给出软件系统用到的数据项的描述。2.2 概要设计概要设计n要解决的问题:怎么做,解决要解决的问题:怎么做,解决“系统架构系统架构”问题。问题。n主要任务:主要任务:n根据需求规格说明书,采用形式化语言,给出系统的结构根据需求规格说明书,采用形式化语言,给出系统的结构设计。设计。n划分功能模块,定义模块间的接口。划分功能模块,定义模块间的接口。n设计数据结构。设计数据结构。n设计主要的算法。设计主要的算法。2.2
14、概要设计概要设计nSDL(Specification and Description Language,规范说明和描述语,规范说明和描述语言言)也是一种形式化说明语言。也是一种形式化说明语言。SDL基于扩展的有限状态自动机模基于扩展的有限状态自动机模型,特别适合于描述软件系统的离散过程。型,特别适合于描述软件系统的离散过程。nSDL适用于概要设计和详细设计阶段。适用于概要设计和详细设计阶段。n目前有工具支持目前有工具支持SDL到到C语言或语言或C+语言的翻译,即代码的自动生语言的翻译,即代码的自动生成,使得成,使得SDL在通信软件设计中得到越来越多的应用在通信软件设计中得到越来越多的应用。2.
15、2 概要设计概要设计 本阶段的文档是本阶段的文档是概要设计说明书概要设计说明书,主要内容包括:,主要内容包括:n总体设计总体设计 说明软件系统的总体结构、功能模块的划分、各模块的功能。说明软件系统的总体结构、功能模块的划分、各模块的功能。n接口设计接口设计 设计系统与环境的接口、功能模块之间的接口。设计系统与环境的接口、功能模块之间的接口。n数据结构设计数据结构设计 设计数据的逻辑结构和物理结构。设计数据的逻辑结构和物理结构。n操作维护管理设计操作维护管理设计 设计系统故障检测和处理策略。设计系统故障检测和处理策略。2.3 详细设计详细设计n要解决的问题:怎么做。要解决的问题:怎么做。n主要任
16、务主要任务n细化各模块的功能细化各模块的功能n详细设计系统行为,用形式化的语言来描述设计结果详细设计系统行为,用形式化的语言来描述设计结果n编写测试计划,包括测试方法和测试用例编写测试计划,包括测试方法和测试用例n详细设计分功能模块进行,一般将功能模块分解成多个有限状态自详细设计分功能模块进行,一般将功能模块分解成多个有限状态自动机,画出状态机的状态转移图,并用动机,画出状态机的状态转移图,并用SDL语言描述这些状态机。语言描述这些状态机。一个状态机对应于一个状态机对应于SDL的一个进程,进程间的消息交互可以用的一个进程,进程间的消息交互可以用MSC来描述。来描述。2.3 详细设计详细设计 本
17、阶段的文档是本阶段的文档是详细设计说明书详细设计说明书,主要内容包括:,主要内容包括:n软件结构软件结构 进程划分,进程间的消息交互情况,本模块自定义的消息。进程划分,进程间的消息交互情况,本模块自定义的消息。n数据定义数据定义 定义数据类型和数据结构,声明变量。定义数据类型和数据结构,声明变量。n行为描述行为描述 详细描述系统行为,定义必要的过程。详细描述系统行为,定义必要的过程。n测试计划测试计划 各个进程单元测试的测试方法和测试用例,本模块集成测试的测各个进程单元测试的测试方法和测试用例,本模块集成测试的测试方法和测试用例试方法和测试用例。2.3 详细设计详细设计Conceptual D
18、esignfunctionsTechnical DesignThe form system Will takeWhatHowSystemdesignersCustomersSystembuilders 要将需求转化成一个工作系统,设计者必须同时满足用户和系统要将需求转化成一个工作系统,设计者必须同时满足用户和系统构建者的要求。构建者的要求。2.4 编码编码n要解决的问题:要解决的问题:“系统实现系统实现”问题问题n主要任务主要任务n代码自动生成代码自动生成n人工编码人工编码n编译调试编译调试n系统生成系统生成n本阶段的文档是本阶段的文档是程序清单程序清单。2.5 软件测试软件测试n要解决的问题
19、:尽可能多地发现软件产品(主要指程序)中的错要解决的问题:尽可能多地发现软件产品(主要指程序)中的错误和缺陷。误和缺陷。n测试用例:包括测试数据和测试结果。测试用例:包括测试数据和测试结果。n测试的方法测试的方法n黑盒测试:把程序看成一个黑盒子,测试者不需了解程序结构黑盒测试:把程序看成一个黑盒子,测试者不需了解程序结构和处理过程,只需根据需求分析中的功能来测试。和处理过程,只需根据需求分析中的功能来测试。n白盒测试:测试者必须了解程序结构和处理过程,根据程序的白盒测试:测试者必须了解程序结构和处理过程,根据程序的内部逻辑来测试。内部逻辑来测试。2.5 软件测试软件测试n测试步骤测试步骤n单元
展开阅读全文