软件设计过程V10Word文件下载.docx
《软件设计过程V10Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件设计过程V10Word文件下载.docx(12页珍藏版)》请在冰豆网上搜索。
2.1过程概述2
2.2过程结构描述2
3过程元素描述3
3.1计划阶段4
3.1.1需求培训4
3.2概要设计阶段5
3.2.1系统架构设计5
3.2.2各模块的概要设计6
3.2.3用户界面设计6
3.2.4数据库设计7
3.2.5概要设计评审8
3.3详细设计阶段8
3.3.1模块的详细设计8
3.3.2详细设计说明书评审9
4附录10
4.1附录A-相关规程10
1简介
1.1目的
项目进入实施阶段后,开发人员需遵循一定的开发规程、规范实施项目的开发活动,管理人员需了解开发过程所定义的各个环节,以实施有效的项目开发管理。
开发过程的定义旨在定义使软件开发人员及管理人员充分了解软件项目开发过程,使项目开发和管理人员遵照本过程实施项目开发活动。
1.2适用范围
本开发过程适用于公司所有的应用类型的软件项目或产品的开发,包括软件分析和设计阶段。
1.3背景描述
无
1.4术语表
●协同开发约定:
协同开发约定是为了更好的适应项目的特点,在开发过程中面向全体开发人员所创建的一些技术上或过程管理上的约定,它是对标准开发过程的一个补充,在项目结束后,可以经过评审,把它引入到标准开发过程的定义中。
协同开发约定由项目经理负责更新维护,以过程文档的形式存在于配置库中,在不同的阶段都有不同的内容被不断补充进去,伴随着整个开发过程。
●概要设计:
是对产品需求更进一步的建模过程,反映了系统体系结构之下最小功能的组成、调用关系、命名方式及参数化构成。
1.5参考资料
2过程总体描述
2.1过程概述
软件设计是成功实施软件项目的一个重要且必不可少的工程过程,它本身又包含许多开发活动,具有一定成熟度的软件开发组织必须基于一个确定定义的软件设计过程来组织和实施软件设计活动。
这个过程主要包括需求培训、协同开发约定、概要设计、详细设计。
2.2过程结构描述
软件设计过程定义的结构如图2.2.5-1所示。
图2.2.5-1
3过程元素描述
针对各个过程元素(活动),按照10大属性(概述、人员职责、入口准则、输入、任务(步骤)、出口准则、输出、资源能力要求、度量、裁减准则)依次进行详细描述。
开发阶段是整个软件生命周期中投入最大,耗时最长的一个阶段,所涉及到的活动也比较多,下面按照各个阶段来组织开发过程中各个过程元素的描述。
3.1计划阶段
3.1.1需求培训
概述
项目经理与需求工程师协商,对开发人员、测试人员进行需求培训;
确保在所有项目参与人员之间对需求达成一致的理解。
参与人员及职责
●项目经理:
组织和主持需求培训
●需求工程师:
提供需求培训
●系统设计师:
参加需求培训
●测试工程师:
入口准则
●已经发布需求基线
输入
●《用户需求说明书》
●《软件需求规格说明书》
●《用户手册(草稿)》
●《界面原型》(可选)
任务/步骤
1.需求工程师讲解需求
2.参加培训人员参与讨论
3.反复1和2步骤,直到所有相关人员对所有的需求都达成一致的理解
出口准则
●参加培训的人员理解了用户需求和业务流程,对要开发的产品(项目)有了深入的了解;
所有参加培训的项目成员对用例达成了一致的理解
输出(工作产品)
●培训记录
资源和能力要求
●资源:
所有参与培训的成员的工作时间保证
●能力:
所有开发人员具备需求表示方面的知识
度量
度量元
采集点
●进行培训的工作量(人时)
●项目周报
裁剪指南
裁减内容
裁剪准则
可裁减
如果设计人员已经详细了解了需求时,此活动可以裁减
3.2概要设计阶段
3.2.1系统架构设计
系统设计师在需求培训完毕,准确理解用户需求的前提下,从系统的最高层次抽象得到系统的体系结构、软件组成部分、软件组成部分之间的接口关系、系统采用的开发技术、方法、工具、应用框架、系统实现方案等,系统架构设计的内容经过相关人员的评审后作为协同开发约定的部分内容。
●项目经理组织人员进行系统架构设计,组织相关人员进行架构合计的评审。
负责创建系统架构。
●需求培训结束,所有相关人员均已经正确理解了用户需求。
●《协同开发约定说明书》
●《设计规范》
1.系统设计师编写系统的技术解决方案、备选技术解决方案和评价标准,如果是简单的技术解决方案则更新到协同开发约定说明书中。
如果是多个技术解决方案存在,需要进行技术解决方案的评价时启动DAR流程。
2.系统设计师根据《软件需求规格说明书》,遵循《设计规范》进行系统架构设计。
3.项目经理组织评审系统架构设计。
4.系统设计师把评审通过的系统架构设计内容整合到《软件概要设计说明书》中。
5.项目经理修订《协同开发约定说明书》
6.项目经理组织系统设计师划分系统功能,保证每个功能都有相应的模块来实现。
7.确定模块间的调用关系和接口。
●架构设计通过项目组的评审
●《软件概要设计说明书》
●修订后的《协同开发约定说明书》
●《技术解决方案》
●《评价标准》
项目经理和系统设计师的工作时间保证
丰富的架构设计经验。
●架构设计的工作量
●评审架构设计的工作量
如果已经有类似的项目的系统架构设计,则可以裁减
3.2.2各模块的概要设计
在功能模块划分之后,实现每个功能模块的概要设计。
实现功能模块的概要设计。
●模块划分清晰简洁。
1.系统设计师遵循《设计规范》对各模块进行概要设计。
2.描述该模块的详细功能作用。
3.描述该模块的处理流程,并画出流程图。
4.接口设计。
5.数据结构和算法。
6.异常/故障处理。
●详细准确地描述了模块的内外接口、数据结构和算法、处理流程。
项目经理、系统设计师的工作时间保证。
具备概要设计经验。
●功能模块的数量
●各模块概要设计的工作量。
●概要设计说明书
不可裁减
3.2.3用户界面设计
根据《软件需求规格说明书》中涉及的用户界面方面的描述,确定用户界面设计原则,实现与用户界面相关的交互设计、可视化设计等。
确定用户界面设计原则,实现交互设计、可视化设计。
●《软件需求规格说明书》通过评审。
1.系统设计师遵循《设计规范》进行系统的界面设计。
2.确定界面布局,界面元素。
3.确定交互、跳转方式。
4.进行界面类型抽象。
5.进行界面类型设计。
6.进行界面资源设计。
●满足《软件需求规格说明书》的用户界面设计要求。
●满足界面模块的功能要求。
系统设计师的工作时间保证。
充分理解《软件需求规格说明》中的用户界面设计要求,具备丰富的用户界面设计经验。
●界面的数量
●界面元素的数量
●界面设计的工作量
●软件概要设计说明书
根据用户界面的复杂程度来确定是否需要专门来做用户界面设计。
3.2.4数据库设计
根据系统涉及的应用数据处理的特点,完成数据库概念模型、逻辑模型和物理实现。
完成与数据库设计相关的任务。
1.系统设计师遵循《设计规范》对系统进行数据库设计。
2.确定数据库中各种元素的命名约定。
3.对系统中的应用数据进行分析。
4.设计数据库概念模型(可裁减)。
5.设计数据库逻辑模型(可裁减)。
6.设计数据库物理模型。
●数据库设计项目经理审查通过。
具备丰富的数据库设计经验,了解主流数据库技术和工具。
●数据表的数量
●数据库设计的工作量
3.2.5概要设计评审
请参见《评审过程》,评审通过后建立概要设计基线。
填写《需求跟踪矩阵》
3.3详细设计阶段
3.3.1模块的详细设计
详细设计系统所有模块的主要接口与属性、数据结构和算法,指导模块编程。
组织进行详细设计,组织相关人员进行详细设计文档评审。
进行详细设计,参与评审详细设计文档
《软件概要设计说明书》已经通过评审
1.确定每个模块(类)采用的方法,写出详细的过程描述。
2.确定数据结构。
3.确定方法的接口细节,输入输出数据及局部数据的细节。
4.项目经理审核详细设计说明书。
完成方法的算法、接口、输入输出数据等的设计。
●《软件详细设计说明书》
充分理解概要设计,掌握实现模块的算法和数据结构,掌握详细设计的方法。
●详细设计的工作量
详细设计说明书
项目周报
如果概要设计已经能够满足编码要求,可以裁剪该过程。
3.3.2详细设计说明书评审
请参见《评审过程》,评审通过后建立详细设计基线。
4附录
4.1附录A-相关规程
✧设计规范