软件设计编码规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
质量管理体系过程文件
软件设计编码过程
文件版本信息:
目录
1.目的
设计编码的目的在于设计和实现关于需求的解决方案。保证《需求规格说明书》中的各项要求在设计时都能够得到满足;对项目的编码实现进行质量控制,保证编码实现活动按计划顺利完成并与设计相一致。
2.范围
适用于公司的各类软件项目的系统设计编码过程。
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.开发环境准备
代码开发前应对开发环境进行规范并搭建开发环境。开发环境搭建应考虑的内容有:
●开发服务器环境(开发数据库、源代码管理、网络、项目组门户等);
●开发工具及版本;
●编码涉及的复用组件及版本;