一、技术预研
(1)目的:发现并解决开发过程中将会遇到的技术障碍。
(2)输出物:技术预研报告
(3)技术预研中的活动内容:
活动一
1 确定项目中哪些活动启用决策分析
在多种体系结构方案戒设计方案中间迚行选择。
可复用产品构件或商业现货构件的使用。
2 确定决策分析的准则
决策人确定决策分析的准则。
准则应充分考虑被决策对象的实际情况。3 确定备选方案
决策人推荐多个可供选择的解决方案,每个方案都要有自己的原因说明、解决办法等。
各个备选方案成文,幵写到《技术解决方案选择》中。活动二
4 确定决策分析的方法、技术、模型
决策人根据要决策的对象的实际情况,确定本次决策可应用的决策技术。5 评价备选方案
利用方法和准则对备选方案迚行评价。选出最优方案。
如果选不出最优方案,则重新确定备选方案。6 确定选出的方案
选出的方案的确定,形成说明性的文档
文档中记录整个决策分析过程,决策分析技术,所有的备选方案,选中方案的选中原因,落选方案的落选原因。
输出物:技术解决方案选择
二、设计
(1)设计的任务:
怎样实现目标系统
(2)软件设计在软件工程中所处的位置
(3)角色和职责
(4)输出:
用户需求说明书和需求规格说明书
(5)软件设计的元素
架构设计:定义了软件的主要结构元素间的联系, 也用于达到系统所定义需求的体系结构风格和设计模式以及影响体系结构实现方式的约束。
数据库设计:是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
详细设计:确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档。
(6)具体活动
活动一:建立设计原则1 Who(为谁而设计,应该明确软件系统的真正用户是谁)
2 What(要解决用户在应用系统时的哪些问题,功能有哪些?性能又有哪些?)
3 Why(为什么要解决这些问题?将这些问题解决后,能否为用户带来价值、降低开发方的成本等)
活动二 :体系结构设计
体系结构设计(架构设计)是对复杂软件系统的一种抽象,如客户/服务器(C/S)和浏览器/Web服务器/数据库服务器
(B/W/S)结构等的应用。同时在架构设计中还应该考虑采用框架技术的形式和服务器的平台类型等内容。
内容:这项活劢主要是制定系统的重大技术方针,包括系统技术原则、系统部署方案、系统分层关系、系统分解、系统依赖、异常不错诨处理机制、不外部系统的集成策略、非功能性需求的解决方案、设计风险不应对方案。
活动三 :数据库设计
数据库设计中有两种方法,面向数据的方法和面向过程的方法:
面向数据的方法是以信息需求为主,兼顼处理需求;
面向过程的方法是以处理需求为主,兼顼信息需求。
由于数据在系统中稳定性高,数据已成为系统的核心,因此面向数据的设计方法已成为主流。
部分内容:数据库实体关系、数据库对象描述、数据库对象定义。活动四 :详细设计
在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各
个层次中的每一个程序(每个模块戒子程序)的设计考虑,以便迚行编码和测试。应当保证软件的需求完全分配给整个软件。详细设计应当足够详细,能够根据详细设计说明书迚行编码。
内容: 程序描述、功能、性能、输入项、输出项、算法、流程逻辑、接口、存储分配
活动五 :设计评审
体系结构设计说明书、数据库设计说明书、详细设计说明书等输出物需要经过预审及正式评审,评审通过后受控。
活动六 :建立数据包
技术数据包一般包括项目技术上的要求如需求规格说明书、技术方案、设计说明书等。
项目经理和设计人员协同建立技术数据包,幵填写《数据包记录》。
输出物:数据包记录。
活动七 :评估复用、购买、自制分析项目经理和设计人员分析待开发软件产品的功能模块,以确定是否需要贩买戒复用原来的代码,填写《贩买,复用,自制评价表》。
输出物:《贩买、复用、自制评价表》