{项目名称}
软件产品设计说明书
文件状态:
[√]草稿
[]正式发布
[]正在修改
文件标识:
Company-Project-PIM-PROPOSAL
当前版本:
X.Y
作者:
完成日期:
Year-Month-Day
北京捷诺视讯数码科技有限公司
BeijingGeneralDVRScience&TechnologyCo.Ltd
二零一零年五月
版本历史
版本/状态
作者
参与者
起止日期
备注
目录    3
一、    介绍    5
二、    体系结构设计    5
2.1、    目的    5
2.2、    角与职责    6
2.3、    启动准则    6
2.4、    输入    6
2.5、    主要步骤    6
    设计准备    6
    确定影响系统设计的约束因素    6
    确定设计策略    7
    系统分解与设计    7
    撰写体系结构设计文档    7
    体系结构设计评审    7
    [后续活动]    8
2.6、    输出    8
2.7、    结束准则    8
2.8、    度量    8
三、    用户界面设计    8
3.1、    目的    8
3.2、    角与职责    8
3.3、    启动准则    8
3.4、    输入    9
3.5、    主要步骤    9
    设计准备    9
    用户界面设计    9
    撰写用户界面设计文档    10
    用户界面设计评审    10
    [后续活动]    10
3.6、    输出    11
3.7、    结束准则    11
3.8、    度量    11
四、    数据库设计    11
4.1、    目的    11
4.2、    角与职责    11
4.3、    启动准则    11
4.4、    输入    11
4.5、    主要步骤    12
    设计准备    12
    数据库设计    12
    撰写数据库设计文档    13
    数据库设计评审    14
    [后续活动]    14
4.6、    输出    14
4.7、    结束准则    14
4.8、    度量    14
五、    模块设计    14
5.1、    目的    14
5.2、    角与职责    14
5.3、    启动准则    15
5.4、    输入    15
5.5、    主要步骤    15
    设计准备    15
    模块设计    15
    撰写模块设计文档    16
    模块设计评审    16
    [后续活动]    16
5.6、    输出    16
5.7、    结束准则    16
5.8、    度量    17
六、    实施建议    17
一、 设计介绍
系统设计(SystemDesign,SD)是指设计软件系统的体系结构、用户界面、数据库、模块等,从而在需求与代码之间建立桥梁,指导开发人员去实现能满足用户需求的软件产品。
系统设计过程域是CMM模型的重要组成部分。本规范阐述了系统设计过程域的四个主要规程:
体系结构设计
用户界面设计
数据库设计
模块设计
上述每个规程的“目标”、“角与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。
系统设计过程域分为两个阶段:高层设计阶段和详细设计阶段。
高层设计阶段的重点是软件系统的体系结构设计。详细设计阶段的重点是用户界面设计、数据库设计和模块设计,如图所示。
需求开发
高层设计阶段
体系结构设计
数据库设计
用户界面设计
模块设计
实现与测试
详细设计阶段
系统设计过程域示意图
系统设计过程域产生的主要文档有:
《体系结构设计报告》。
《用户界面设计报告》。
《数据库设计报告》。
《模块设计报告》。
二、 体系结构设计
二.1、 目的
分析与设计软件的体系结构。通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,产生《体系结构设计报告》。
二.2、 角与职责
项目经理指定若干名开发人员从事体系结构设计(以下称为体系结构设计人员)。
二.3、 启动准则
体系结构设计人员已经确定。
二.4、 输入
需求文档如《产品需求规格说明书》
二.5、 主要步骤
    体系结构设计流程如图所示。
Step3.
确定
设计
策略
Step2.
确定
约束
因素
Step1.
设计
准备
Step4.
系统
分解
设计
Step6.
设计
评审
Step5.
撰写
文档
体系结构设计流程
二.5.1、 设计准备
项目经理或者技术负责人分配系统设计任务,包括体系结构设计、模块设计、用户界面设计、数据库设计等。本活动可能产生一份阶段性的开发计划,如《系统设计计划》,视工作量而定。
体系结构设计人员阅读需求文档,明确设计任务。
体系结构设计人员准备相关的设计工具(如RationalRose)和资料。
二.5.2、 确定影响系统设计的约束因素
需求约束。体系结构设计人员从需求文档如《软件需求规格说明书》中提取需求约束,例如:
本系统应当遵循的标准或规范
软件、硬件环境(包括运行环境和开发环境)的约束
接口/协议的约束
用户界面的约束
软件质量的约束,如正确性、健壮性、可靠性、效率(性能)、易用性、清晰性、安全性、可扩展性、兼容性、可移植性等等。
隐含约束。有一些假设或依赖并没有在需求文档中明确指出,但可能会对系统设计产生影响,设计人员应当尽可能地在此处说明。例如对用户教育程度、计算机技能的一些假设或依赖,对支撑本系统的软件硬件的假设或依赖等。
二.5.3、 确定设计策略
体系结构设计人员根据产品的需求与发展战略,确定设计策略(DesignStrategy)。例如:
扩展策略。说明为了方便本系统在将来扩展功能,现在有什么措施。
复用策略。说明本系统在当前以及将来的复用策略。
折衷策略。说明当两个目标难以同时优化时如何折衷,例如“时-空”效率折衷,复杂性与实用性折衷。页面设计说明
二.5.4、 系统分解与设计
体系结构设计人员:
将系统分解为若干子系统,确定每个子系统的功能以及子系统之间的关系。
将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系。
确定系统开发、测试、运行所需的软硬件环境。
二.5.5、 撰写体系结构设计文档
体系结构设计人员根据指定的模板撰写《体系结构设计报告》,主要内容包括:
软件系统概述
影响设计的约束因素
设计策略
系统总体结构
子系统的结构与模块功能
开发、测试、运行所需的软硬件环境
二.5.6、 体系结构设计评审
体系结构设计人员邀请同行专家、开发人员对体系结构进行正式技术评审。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。