软件设计编码规范_第1页
软件设计编码规范_第2页
软件设计编码规范_第3页
软件设计编码规范_第4页
软件设计编码规范_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、质量管理体系过程文件软件设计编码过程文件版本信息:日期版本号版本说明修订人审核人批准人第1页共8页目录1.目的.32.范围.33.术语.34.角色与职责.35.入口准则.36.输入.37.流程图.38.主要活动.48.1.设计原则.48.2.设计方法.错误!未定义书签。8.3.多方案选择.48.4.概要设计.错误!未定义书签。8.4.1.概要设计.错误!未定义书签。8.4.2.概要设计评审.错误!未定义书签。8.5.详细设计.错误!未定义书签。8.5.1.详细设计.58.5.2.详细设计评审.68.6.编码.错误!未定义书签。8.7.单元测试.78.8.代码走查.78.9.制作用户文档.错误!

2、未定义书签。8.10.变更.错误!未定义书签。9.输出.810.出口准则.811.引用文档.8第2页共8页1.目的设计编码的目的在于设计和实现关于需求的解决方案。保证需求规格说明书中的各项要求在设计时都能够得到满足;对项目的编码实现进行质量控制,保证编码实现活动按计划顺利完成并与设计相一致。2.范围适用于公司的各类软件项目的系统设计编码过程。3.术语无4.角色与职责角色/部门项目经理设计人员开发人员职责组织和参与设计评审,批准设计结果协调项目组内各角色之间的协同合作关系进行系统整体架构的分析和设计;编写概要设计说明书;参与详细设计的评审进行详细设计,编写详细设计说明书;编写代码并进行单元测试,

3、执行代码走查5.入口准则l需求规格说明书已通过评审。6.输入l需求规格说明书7.流程图第3页共8页软件设计编码过程设计阶段系统实现阶段集成阶段编码单元测试bug修正代码放入配员人计设发开否概要设计详细设计否置开发库审评审代码走查评是组是小概要设计详细设计评审用户文档评审是组试测否档单元测试制作用户文图1:系统设计编码过程文档放入配置库8.主要活动系统设计编码过程包括系统设计、系统实现。系统设计是指设计软件系统的体系结构、数据库、模块等,在需求和代码之间建立桥梁,一般分概要设计和详细设计两个阶段;系统实现是指开发人员按照系统设计去编码开发,并进行单元测试、代码走查;在设计编码过程中同时进行用户文

4、档的编制。8.1.概要设计概要设计是分析各种设计方案和定义软件体系结构的过程。设计人员在充分了解需求的基础上,依据需求规格说明书选用适当的设计方法,分析与设计软件的结构、模块功能。通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,编写概要设计说明书。概要设计说明书必须经过技术评审。8.1.1.解决方案选择系统设计时可能会涉及到多种解决方案的选择,如:l系统实现路线;l采用的工具和技术;l产品架构;l设计模式;l模块的制作、购买或重用等。当出现多种候选方案,难以通过简单的方法判断出方案的优劣时,应按照s_dar00_决策分析和决定过程进行决策。8.1.2.概要设计

5、概要设计是建立整个软件的体系结构,包括子系统、模块以及相关层次的说明、每一模第4页共8页块的接口定义等。概要设计的主要步骤有:n选择设计方法;n识别解决方案的主要组件:根据解决方案的技术架构和分析方法(面向对象、面向结构),相应确定解决方案的组件模块;n对候选技术和工具、组件进行评估,确定是进行开发、购买还是复用已有技术(工具或者组件)。评估开发、购买或复用方案时需要考虑的事项包括:业务方面:可行性、产品成本、经验、投资回报、成熟度及其他因素;企业体系结构方面:解决方案必须与当前状态和远景状态计划的约束相适应。包括与企业现有系统的集成等;技术方面:安全、组件模块交互标准、数据访问、数据存储、系

6、统服务、开发工具、操作系统等。n识别解决方案主要组件的重要属性和关键关系:在前一任务的基础上,对解决方案主要组件的重要属性和关键关系进行识别;n进行数据库设计,建立数据库的逻辑模型和物理模型;n进行用户界面设计,确定整个系统的界面框架以及界面风格;n形成概要设计说明书。8.1.3.概要设计评审概要设计的结果应进行技术评审。技术评审由设计人员提出,由项目经理组织召开。技术评审会议应邀请需求分析师、公司的技术专家、开发人员、测试人员等参加。关于技术评审会议的要求详见评审过程。8.2.详细设计详细设计可以和概要设计并行进行,但应考虑并行设计不会因概要设计而导致较大的详细设计返工。8.2.1.详细设计

7、详细设计是从开发需求的角度描述解决方案的组件、服务和技术的过程。详细设计定义了解决方案的各个组成部分,以及这些组成部分的开发方法和交互方式。详细设计的步骤包括:n选择用于开发解决方案的技术并完善设计模型:在概要设计的基础上,选择开发解决方案采用的技术,并且完善对应的设计模型。n确定分发和打包策略:分发和打包策略决定了最终各模块功能服务在解决方案体系第5页共8页结构中的位置以及模块功能服务在哪个组件的基本原理。设计时需要在理解客户业务环境、业务架构现状和发展趋势的基础上,考虑设计的可伸缩性、性能、可管理性、重用性。此外,高内聚性、低耦合性是优秀组件模块设计的特征之一,需要作为设计参考。n将组件和

8、服务打包:根据解决方案的基础架构,将各功能组件模块分布到基础架构的各个部分。n将组件分发到网络拓扑中:将应用程序模块与网络、物理服务器拓扑联系起来构成部署模型。n确定编程模型:编程模型是一组特定的准则,提供了一致性的组件实现。编程模型包含了:实现技术、状态对象和无状态对象、进程内函数调用和进程外函数调用、内聚性和耦合性、连接模型和非连接模型、同步编程模型和异步编程模型、线程模型、错误处理、安全性和分发等方面的准则。n指定详细的组件接口、属性和服务:包括了组件接口设计、用户详细界面设计。n详细设计输出详细设计说明书。8.2.2.详细设计评审详细设计根据设计需要确定是否进行评审。一般,以下情况应进

9、行详细设计评审:l新业务的设计;l涉及3个及以上业务流程的设计;l复杂算法和数据结构的设计;l新设计人员设计的结果。技术评审由详细设计人员提出和组织召开。技术评审会议应邀请概要设计人员、开发人员等参加。关于技术评审会议的要求详见评审过程。8.3.编码实现8.3.1.开发环境准备代码开发前应对开发环境进行规范并搭建开发环境。开发环境搭建应考虑的内容有:llll;开发服务器环境(开发数据库、源代码管理、网络、项目组门户等)开发工具及版本;编码涉及的复用组件及版本;代码目录结构;第6页共8页l编码规范等。开发环境应由开发负责人配置好后,对开发人员进行培训。8.3.2.代码编写开发人员根据详细设计说明

10、书进行编码实现。代码编写应考虑以下两个方面:l编程方法:为提高代码的质量,可使用一些有效的编程方法来编制软件。常见的编程方法有:结构化编程、面向对象编程、重用已有代码或者组件等。此外代码编写根据所使用的开发语言不同,应该遵循相应的编码规范。l编程实现顺序:根据项目进度计划确定各功能单元的编程顺序,在编程过程中要严格按顺序来进行编码。8.3.3.单元测试单元测试的目的是为保证编写的每个代码单元片段功能实现满足设计要求,提高提交的代码质量而由开发人员进行的测试工作。单元测试指通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。单元测试由模块开发人员进行,有条件的可以由其它开发人员

11、进行互换测试。单元测试需要关注以下几个方面:源代码编译-测试代码是否通过编译。sql脚本-测试数据库脚本、存储过程运行是否正常。模块接口-对被测模块,信息是否能正确地流入和流出。局部数据结构-在模块的工作过程中,其内部的数据能否保持其完整性。出错处理-检查模块的错误处理是否有效。可关注以下几个方面:边界条件-在边界上模块是否能正常工作。覆盖条件-模块的运行是是否满足设计的逻辑要求。建议引用测试工具自动执行单元测试。测试结果形成单元测试报告,纳入配置管理。;利用工具自动执行单元测试的,可由工具直接导出单元测试报告完成各模块的单元测试后,开发人员填写需求跟踪矩阵的相关编码模块。8.3.4.代码走查软件模块经过单元测试,由开发经理在进度计划中策划并安排开发人员进行程序代码走查。代码走查策划的原则可以从以下几个方面关注:第7页共8页u新员工编写的代码u关键业务或系统核心代码u问题较多的代码u新增模块的代码等u让步发布或发到用户现场测试的代码开发经理可以在项目的pdp说明中策划确认代码走查策划的原则,并在进度计划中安排代码走查的任务。代码走查由开发经理确定是个人走查或是团队走查。8.4.用户文档编写作为最终产品的一部分,项目还应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论