软件设计编码规范Word文档下载推荐.docx
《软件设计编码规范Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《软件设计编码规范Word文档下载推荐.docx(7页珍藏版)》请在冰豆网上搜索。
适用于公司的各类软件项目的系统设计编码过程。
3.术语
无
4.角色与职责
角色/部门
职责
项目经理
组织和参与设计评审,批准设计结果
协调项目组内各角色之间的协同合作关系
设计人员
进行系统整体架构的分析和设计;
编写《概要设计说明书》;
参与详细设计的评审
开发人员
进行详细设计,编写《详细设计说明书》;
编写代码并进行单元测试,执行代码走查
5.入口准则
《需求规格说明书》已通过评审。
6.输入
《需求规格说明书》
7.流程图
图1:
系统设计编码过程
8.主要活动
系统设计编码过程包括系统设计、系统实现。
系统设计是指设计软件系统的体系结构、数据库、模块等,在需求和代码之间建立桥梁,一般分概要设计和详细设计两个阶段;
系统实现是指开发人员按照系统设计去编码开发,并进行单元测试、代码走查;
在设计编码过程中同时进行用户文档的编制。
8.1.概要设计
概要设计是分析各种设计方案和定义软件体系结构的过程。
设计人员在充分了解需求的基础上,依据《需求规格说明书》选用适当的设计方法,分析与设计软件的结构、模块功能。
通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,编写《概要设计说明书》。
《概要设计说明书》必须经过技术评审。
8.1.1.解决方案选择
系统设计时可能会涉及到多种解决方案的选择,如:
系统实现路线;
采用的工具和技术;
产品架构;
设计模式;
模块的制作、购买或重用等。
当出现多种候选方案,难以通过简单的方法判断出方案的优劣时,应按照《S_DAR00_决策分析和决定过程》进行决策。
8.1.2.概要设计
概要设计是建立整个软件的体系结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义等。
概要设计的主要步骤有:
选择设计方法;
识别解决方案的主要组件:
根据解决方案的技术架构和分析方法(面向对象、面向结构),相应确定解决方案的组件模块;
对候选技术和工具、组件进行评估,确定是进行开发、购买还是复用已有技术(工具或者组件)。
评估开发、购买或复用方案时需要考虑的事项包括:
业务方面:
可行性、产品成本、经验、投资回报、成熟度及其他因素;
企业体系结构方面:
解决方案必须与当前状态和远景状态计划的约束相适应。
包括与企业现有系统的集成等;
技术方面:
安全、组件模块交互标准、数据访问、数据存储、系统服务、开发工具、操作系统等。
识别解决方案主要组件的重要属性和关键关系:
在前一任务的基础上,对解决方案主要组件的重要属性和关键关系进行识别;
进行数据库设计,建立数据库的逻辑模型和物理模型;
进行用户界面设计,确定整个系统的界面框架以及界面风格;
形成《概要设计说明书》。
8.1.3.概要设计评审
概要设计的结果应进行技术评审。
技术评审由设计人员提出,由项目经理组织召开。
技术评审会议应邀请需求分析师、公司的技术专家、开发人员、测试人员等参加。
关于技术评审会议的要求详见《评审过程》。
8.2.详细设计
详细设计可以和概要设计并行进行,但应考虑并行设计不会因概要设计而导致较大的详细设计返工。
8.2.1.详细设计
详细设计是从开发需求的角度描述解决方案的组件、服务和技术的过程。
详细设计定义了解决方案的各个组成部分,以及这些组成部分的开发方法和交互方式。
详细设计的步骤包括:
选择用于开发解决方案的技术并完善设计模型:
在概要设计的基础上,选择开发解决方案采用的技术,并且完善对应的设计模型。
确定分发和打包策略:
分发和打包策略决定了最终各模块功能服务在解决方案体系结构中的位置以及模块功能服务在哪个组件的基本原理。
设计时需要在理解客户业务环境、业务架构现状和发展趋势的基础上,考虑设计的可伸缩性、性能、可管理性、重用性。
此外,高内聚性、低耦合性是优秀组件模块设计的特征之一,需要作为设计参考。
将组件和服务打包:
根据解决方案的基础架构,将各功能组件模块分布到基础架构的各个部分。
将组件分发到网络拓扑中:
将应用程序模块与网络、物理服务器拓扑联系起来构成部署模型。
确定编程模型:
编程模型是一组特定的准则,提供了一致性的组件实现。
编程模型包含了:
实现技术、状态对象和无状态对象、进程内函数调用和进程外函数调用、内聚性和耦合性、连接模型和非连接模型、同步编程模型和异步编程模型、线程模型、错误处理、安全性和分发等方面的准则。
指定详细的组件接口、属性和服务:
包括了组件接口设计、用户详细界面设计。
详细设计输出《详细设计说明书》。
8.2.2.详细设计评审
详细设计根据设计需要确定是否进行评审。
一般,以下情况应进行详细设计评审:
新业务的设计;
涉及3个及以上业务流程的设计;
复杂算法和数据结构的设计;
新设计人员设计的结果。
技术评审由详细设计人员提出和组织召开。
技术评审会议应邀请概要设计人员、开发人员等参加。
8.3.编码实现
8.3.1.开发环境准备
代码开发前应对开发环境进行规范并搭建开发环境。
开发环境搭建应考虑的内容有:
开发服务器环境(开发数据库、源代码管理、网络、项目组门户等);
开发工具及版本;
编码涉及的复用组件及版本;
代码目录结构;
编码规范等。
开发环境应由开发负责人配置好后,对开发人员进行培训。
8.3.2.代码编写
开发人员根据《详细设计说明书》进行编码实现。
代码编写应考虑以下两个方面:
编程方法:
为提高代码的质量,可使用一些有效的编程方法来编制软件。
常见的编程方法有:
结构化编程、面向对象编程、重用已有代码或者组件等。
此外代码编写根据所使用的开发语言不同,应该遵循相应的编码规范。
编程实现顺序:
根据《项目进度计划》确定各功能单元的编程顺序,在编程过程中要严格按顺序来进行编码。
8.3.3.单元测试
单元测试的目的是为保证编写的每个代码单元片段功能实现满足设计要求,提高提交的代码质量而由开发人员进行的测试工作。
单元测试指通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。
单元测试由模块开发人员进行,有条件的可以由其它开发人员进行互换测试。
单元测试需要关注以下几个方面:
源代码编译-----测试代码是否通过编译。
SQL脚本-----测试数据库脚本、存储过程运行是否正常。
模块接口-----对被测模块,信息是否能正确地流入和流出。
局部数据结构-----在模块的工作过程中,其内部的数据能否保持其完整性。
出错处理-----检查模块的错误处理是否有效。
可关注以下几个方面:
边界条件-----在边界上模块是否能正常工作。
覆盖条件------模块的运行是是否满足设计的逻辑要求。
建议引用测试工具自动执行单元测试。
测试结果形成《单元测试报告》,纳入配置管理。
利用工具自动执行单元测试的,可由工具直接导出《单元测试报告》;
完成各模块的单元测试后,开发人员填写《需求跟踪矩阵》的相关编码模块。
8.3.4.代码走查
软件模块经过单元测试,由开发经理在进度计划中策划并安排开发人员进行程序代码走查。
代码走查策划的原则可以从以下几个方面关注:
新员工编写的代码
关键业务或系统核心代码
问题较多的代码
新增模块的代码等
让步发布或发到用户现场测试的代码
开发经理可以在项目的PDP说明中策划确认代码走查策划的原则,并在进度计划中安排代码走查的任务。
代码走查由开发经理确定是个人走查或是团队走查。
8.4.用户文档编写
作为最终产品的一部分,项目还应编写《用户使用手册》、用户培训教材等用户文档。
由测试人员在验收测试完成前完成用户文档的编写。
用户文档经过项目经理验证后纳入配置库中进行管理。
9.输出
《概要设计说明书》
《详细设计说明书》
源代码
《单元测试报告》
《用户操作手册》
《用户安装手册》
10.出口准则
设计文档评审通过
代码通过单元测试和代码走查
完成用户文档
11.引用文档
决策分析和决定过程
评审过程
变更管理过程