软件设计编码规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计编码规范
文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-
质量管理体系过程文件
软件设计编码过程
文件版本信息:
目录
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.开发环境准备
代码开发前应对开发环境进行规范并搭建开发环境。开发环境搭建应考虑的内容有: