大型软件系统的开发介绍v.ppt
《大型软件系统的开发介绍v.ppt》由会员分享,可在线阅读,更多相关《大型软件系统的开发介绍v.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、大型软件系统的开发介绍大型软件系统的开发介绍(An Introduction to the Development of Large Software Systems,ver.02)于忠德于忠德 2003年年3月月中国成都中国成都Zhongde YuMarch 2003Chengdu,China大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)大型软件系统的开发介绍大型软件系统的开发介绍 1.软件工程方面的考虑软件工程方面的考虑2.软件系统开发软件系统开发实例介绍实例介绍于忠德
2、 2002年11月 于中国2大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)1.软件工程方面的考虑软件工程方面的考虑1.1 软件开发的生命周期软件开发的生命周期Software Life Cycle 1.2 软件质量保证软件质量保证Software Quality Assurance,SQA1.3 软件开发的方法软件开发的方法Software Dev Methodology于忠德 2002年11月 于中国3大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型
3、软件系统的开发介绍 (Development of Large Software Systems)1.1 软件开发的生命周期软件开发的生命周期市场调查市场调查(Marketing Investigation)需求分析需求分析(Requirement Specification)概要设计概要设计(High-Level Design)接口设计接口设计(Interface Design)详细设计详细设计(Low-Level Design)编码编码(Coding/Implementation)单元测试单元测试(Unit Testing)集成测试集成测试(Integration Testing)系统测试
4、系统测试(System Testing)售后服务售后服务(After-Sale Service)系统升级系统升级(System Upgrade)技术支持技术支持(Technical Support)于忠德 2002年11月 于中国4大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)1.1 软件开发的生命周期软件开发的生命周期(contd)(contd)市场调查市场调查需求分析需求分析概要设计概要设计接口设计接口设计详细设计详细设计编码编码单元测试单元测试集成测试集成测试系统测试
5、系统测试系统升级系统升级技术支持技术支持售后服务售后服务After SaleDesignTestingCodingRequirementSQA于忠德 2002年11月 于中国5大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)市场调查市场调查市场调查市场调查(Marketing Investigation)由市场部由市场部(Marketing Dept.)来完成,产品经来完成,产品经理理PM(Product Manager)负责负责了解用户需求,确立研发方向了解用户需求,确立研
6、发方向形成形成 MRD(Marketing Requirement Document)举例举例:在路由器上实现在路由器上实现IP电话功能电话功能企业局域网企业局域网,租用电信专线租用电信专线,连接位于不同城市的连接位于不同城市的总部与分部总部与分部提供附加业务提供附加业务,在局域网内打电话在局域网内打电话,零话费零话费!向局域网外打电话向局域网外打电话,只花只花本市话费本市话费!于忠德 2002年11月 于中国6大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)需求分析需求分析
7、需求分析需求分析(Requirement Specification)引言引言目的目的,范围范围 系统概述系统概述 系统体系结构系统体系结构,功能简单描述功能简单描述,数据流描述数据流描述 运行需求运行需求 对硬件环境的需求对硬件环境的需求,对软件环境的要求对软件环境的要求 需求分解需求分解 功能体划分功能体划分,功能体功能体1,功能体功能体2,功能体功能体n功能体描述功能体描述,需求条目需求条目 于忠德 2002年11月 于中国7大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software System
8、s)需求分析需求分析(contd)(contd)举例举例:IP电话系统的电话系统的语音处理模块语音处理模块下图描述了语音处理模块与其它主要模块之间的关系:于忠德 2002年11月 于中国8大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)需求分析需求分析(contd)(contd)需求条目需求条目:RTP/RTCP基本需求条目基本需求条目 RTP/RTCP包的字节顺序和对齐方式包的字节顺序和对齐方式 RTP数据包格式数据包格式 RTCP包结构与发送时间间隔包结构与发送时间间隔R
9、TP使用使用UDP偶数端口号,偶数端口号,RTCP使用下一个连续的使用下一个连续的奇数端口号奇数端口号RTP的端口号从的端口号从5000以上开始选择以上开始选择RTP包没有长度域,包没有长度域,RTP包依靠包依靠UDP提供长度指示提供长度指示RTP包的处理包的处理RTCP包的处理包的处理 于忠德 2002年11月 于中国9大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)需求分析需求分析(contd)(contd)OctetType765432101MV=2PXCC2MMPT3
10、Msequence number4M5Mtimestamp6M7M8M9Msynchronization source identifier(SSRC)10M11M12M13Ocontributing source identifiers(CSRC)14O15O16O17nOCSRC(一个(一个RTP包包头头中最多可包含中最多可包含15个个CSRC)可可变长变长度度MRTP包静荷(包静荷(语语音数据)音数据)于忠德 2002年11月 于中国10大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software
11、Systems)概要设计概要设计概要设计概要设计(High-Level Design)VERY IMPORTANT but VERY HARD!引言引言 目的目的,范围范围 子系统概述子系统概述 功能区域分割功能区域分割 功能区域功能区域1,功能区域功能区域n 功能区域描述功能区域描述,数据结构描述数据结构描述,需求条目需求条目 逻辑接口逻辑接口功能区域功能区域X到功能区域到功能区域Y的接口的接口 接口接口1,接口接口n 于忠德 2002年11月 于中国11大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large So
12、ftware Systems)概要设计概要设计(contd)(contd)举例:举例:VoIP功能模块的划分功能模块的划分 接口卡驱动(接口卡驱动(POTS卡驱动)卡驱动)PDRV语音模块语音模块VOICE呼叫控制呼叫控制CC呼叫控制(呼叫控制(FXS)CCFXS呼叫控制(呼叫控制(FXO)CCFXO呼叫控制(呼叫控制(H323)CCH323网络接口网络接口NETH.245 Control SignallingH245H.225.0 Call Signalling(Q.931)Q931H.225.0 RASRAS跟踪告警信息处理跟踪告警信息处理INFOASN.1编解码编解码ASN1配置数据配置
13、数据CFG动态存储管理动态存储管理DMM其他其他:虚拟操作系统,命令行接口虚拟操作系统,命令行接口VOS,OAM/CLI于忠德 2002年11月 于中国12大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)概要设计概要设计(contd)(contd)语音模块的功能区域划分:语音模块的功能区域划分:模块控制功能区域模块控制功能区域 RTP会话管理功能区会话管理功能区RTP包转发功能区包转发功能区RTCP包收发功能区和统计信息表包收发功能区和统计信息表Note1:VoIP 实时操作
14、系统任务实时操作系统任务(Tasks)或进程或进程(Processes)控制任务控制任务(VOIPC)语音任务语音任务(VOIPV)网络任务网络任务(VOIPN)于忠德 2002年11月 于中国13大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)概要设计概要设计(contd)(contd)于忠德 2002年11月 于中国14大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software S
15、ystems)概要设计概要设计(contd)(contd)功能区域功能区域1:模块控制功能区域:模块控制功能区域功能区域描述功能区域描述语音模块类语音模块类 class VOIP_CVoice的定义的定义语音任务主进程函数语音任务主进程函数 task_VOIPVMain()语音模块的初始化语音模块的初始化消息的分发消息的分发语音模块的配置、统计查询、跟踪监视、出错信息报语音模块的配置、统计查询、跟踪监视、出错信息报告告于忠德 2002年11月 于中国15大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Soft
16、ware Systems)概要设计概要设计(contd)(contd)需求条目需求条目 语音任务与消息队列的创建语音任务与消息队列的创建语音模块对象语音模块对象(object)的建立的建立语音任务主进程函数完成如下的功能语音任务主进程函数完成如下的功能语音模块的初始化语音模块的初始化 进入一个永久循环,进行消息分拣进入一个永久循环,进行消息分拣 接收消息的处理概述接收消息的处理概述 消息分拣的原则消息分拣的原则 RTP会话管理会话管理 RTP包的转发包的转发 RTCP包的接收与发送包的接收与发送 配置、跟踪监视、出错报告配置、跟踪监视、出错报告 VOS时钟超时时钟超时 于忠德 2002年11月
17、 于中国16大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)接口设计接口设计接口设计接口设计(Interface Design)引言引言 目的目的,范围范围 系统概述系统概述 系统体系结构系统体系结构,子系统说明子系统说明,子系统间接口机制子系统间接口机制 公共定义描述公共定义描述 消息结构消息结构,消息头消息头,通用规则通用规则,公共参数定义公共参数定义消息定义消息定义消息名消息名,方向方向,消息鉴别号消息鉴别号,消息体消息体于忠德 2002年11月 于中国17大型软件系统
18、的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)接口设计接口设计(contd)(contd)公共单元编码公共单元编码单元名单元名,单元描述单元描述,单元值单元值共享数据区共享数据区数据名数据名,数据描述数据描述,数据值域数据值域,使用机制使用机制,保护机制保护机制函数接口函数接口函数名函数名1,函数名函数名n 功能描述功能描述,输入量输入量,输出量输出量信号量信号量信号量信号量1,信号量信号量n信号量描述信号量描述,使用机制使用机制,保护机制保护机制于忠德 2002年11月 于中国18大
19、型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)接口设计接口设计(contd)(contd)举例:举例:VoIP子系统间接口机制子系统间接口机制VoIP子系统与其它子系统子系统与其它子系统:与与TCPUDP采用采用socket接口接口与与VOS采用函数接口采用函数接口VoIP子系统内部各模块之间子系统内部各模块之间与与ASN1,CFG,DMM采用函数接口采用函数接口其它子模块之间采用消息接口(通过其它子模块之间采用消息接口(通过VOS消息传递消息传递机制,以及机制,以及VoIP
20、内部消息分发机制)内部消息分发机制)于忠德 2002年11月 于中国19大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)详细设计详细设计详细设计详细设计(Low-Level Design)引言引言目的目的,范围范围功能区域分割功能区域分割任务划分任务划分任务设置任务设置,任务间调度策略任务间调度策略任务任务1名称名称,任务任务n名称名称功能描述,优先级,功能描述,优先级,输入项,输入项,输出项,处理过输出项,处理过程描述程描述于忠德 2002年11月 于中国20大型软件系统的
21、开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)详细设计详细设计(contd)(contd)功能区域设计功能区域设计功能区域功能区域1,功能区域功能区域n功能区域描述功能区域描述模块模块1名称名称,模块模块n名称名称模块描述,函数构成模块描述,函数构成函数函数1名称名称,函数函数n名称名称函数原型函数原型,功能描述功能描述,输入参数输入参数,输出参数输出参数调用者调用者,全局数据全局数据,算法描述算法描述,伪码描述伪码描述数据字典数据字典内存的需求内存的需求,结构结构消息消息,表格表格其他
22、数据结构其他数据结构于忠德 2002年11月 于中国21大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)详细设计详细设计(contd)(contd)举例:举例:VoIP语音模块语音模块给出数据结构给出数据结构(data structures)给出具体算法给出具体算法(algorithms)写出函数原型写出函数原型(prototypes)写出伪码描述写出伪码描述(pseudo-code)。系统详尽的详细设计能够使编码工作易于进行,系统详尽的详细设计能够使编码工作易于进行,软件蓝
23、领可以据此进行软件蓝领可以据此进行“代码填写代码填写”于忠德 2002年11月 于中国22大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)编码编码编码编码(Coding/Implementation)建立开发环境:建立开发环境:操作系统操作系统(Operating System)编程语言编程语言(Programming Language)编译器连接器调试器编译器连接器调试器(Compiler/Linker/Debugger)目标机工控机目标机工控机(Target)掌握编程规范
24、掌握编程规范编写代码编写代码于忠德 2002年11月 于中国23大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)编码编码(contd)(contd)举例:举例:VoIP软件开发软件开发实时嵌入式软件实时嵌入式软件(Real-Time,Embedded s/w)跨平台开发跨平台开发(Cross-Platform Dev)Host:Windows 98/NT/2000Target:Intel Pentium x86 processorConnection:Ethernet 实时操
25、作系统实时操作系统(RTOS)VxWorks集成开发环境集成开发环境(IDE)Tornado编程语言编程语言ANSI C&C+于忠德 2002年11月 于中国24大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (Development of Large Software Systems)编码编码(contd)(contd)Cross-Platform DevelopmentLAN(Ethernet)Download&Debug于忠德 2002年11月 于中国25大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍大型软件系统的开发介绍 (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大型软件 系统 开发 介绍
限制150内