4.1 软件产品设计说明书

上传人:hh****1 文档编号:231611043 上传时间:2023-09-05 格式:DOC 页数:17 大小:369.50KB
收藏 版权申诉 举报 下载
4.1 软件产品设计说明书_第1页
第1页 / 共17页
4.1 软件产品设计说明书_第2页
第2页 / 共17页
4.1 软件产品设计说明书_第3页
第3页 / 共17页
资源描述:

《4.1 软件产品设计说明书》由会员分享,可在线阅读,更多相关《4.1 软件产品设计说明书(17页珍藏版)》请在装配图网上搜索。

1、 项目名称 软件产品设计说明书文件状态: 草稿 正式发布 正在修改文件标识:Company-Project-PIM-PROPOSAL当前版本:X.Y作 者:完成日期:Year-Month-Day北京捷诺视讯数码科技有限公司Beijing General DVR Science & Technology Co.Ltd二零一零年五月版 本 历 史版本/状态作者参加者起止日期备注书目书目3一、介绍5二、体系结构设计52.1、目的52.2、角色与职责62.3、启动准则62.4、输入62.5、主要步骤62.5.1、设计打算62.5.2、确定影响系统设计的约束因素62.5.3、确定设计策略72.5.4、系

2、统分解与设计72.5.5、撰写体系结构设计文档72.5.6、体系结构设计评审72.5.7、后续活动82.6、输出82.7、结束准则82.8、度量8三、用户界面设计83.1、目的83.2、角色与职责83.3、启动准则83.4、输入93.5、主要步骤93.5.1、设计打算93.5.2、用户界面设计93.5.3、撰写用户界面设计文档103.5.4、用户界面设计评审103.5.5、后续活动103.6、输出113.7、结束准则113.8、度量11四、数据库设计114.1、目的114.2、角色与职责114.3、启动准则114.4、输入114.5、主要步骤124.5.1、设计打算124.5.2、数据库设计1

3、24.5.3、撰写数据库设计文档134.5.4、数据库设计评审144.5.5、后续活动144.6、输出144.7、结束准则144.8、度量14五、模块设计145.1、目的145.2、角色与职责145.3、启动准则155.4、输入155.5、主要步骤155.5.1、设计打算155.5.2、模块设计155.5.3、撰写模块设计文档165.5.4、模块设计评审165.5.5、后续活动165.6、输出165.7、结束准则165.8、度量17六、实施建议17一、 设计介绍系统设计(System Design, SD)是指设计软件系统的体系结构、用户界面、数据库、模块等,从而在需求与代码之间建立桥梁,指导

4、开发人员去实现能满意用户需求的软件产品。系统设计过程域是CMM模型的重要组成部分。本规范阐述了系统设计过程域的四个主要规程: 体系结构设计 用户界面设计 数据库设计 模块设计上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。系统设计过程域分为两个阶段:高层设计阶段和具体设计阶段。高层设计阶段的重点是软件系统的体系结构设计。具体设计阶段的重点是用户界面设计、数据库设计和模块设计,如图所示。需求开发高层设计阶段体系结构设计数据库设计用户界面设计模块设计实现与测试具体设计阶段系统设计过程域示意图系统设计过程域产生的主要文档有: 体

5、系结构设计报告。 用户界面设计报告。 数据库设计报告。 模块设计报告。二、 体系结构设计2.1、 目的l 分析与设计软件的体系结构。通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,产生体系结构设计报告。2.2、 角色与职责l 项目经理指定若干名开发人员从事体系结构设计(以下称为体系结构设计人员)。2.3、 启动准则l 体系结构设计人员已经确定。2.4、 输入l 需求文档如产品需求规格说明书2.5、 主要步骤体系结构设计流程如图所示。Step3. 确定设计策略Step2. 确定约束因素Step1. 设计打算Step4. 系统分解设计Step6. 设计评审Step

6、5. 撰写文档体系结构设计流程2.5.1、 设计打算l 项目经理或者技术负责人安排系统设计任务,包括体系结构设计、模块设计、用户界面设计、数据库设计等。本活动可能产生一份阶段性的开发安排,如系统设计安排,视工作量而定。l 体系结构设计人员阅读需求文档,明确设计任务。l 体系结构设计人员打算相关的设计工具(如Rational Rose)和资料。2.5.2、 确定影响系统设计的约束因素l 需求约束。体系结构设计人员从需求文档如软件需求规格说明书中提取需求约束,例如: 本系统应当遵循的标准或规范 软件、硬件环境(包括运行环境和开发环境)的约束 接口/协议的约束 用户界面的约束 软件质量的约束,如正确

7、性、健壮性、牢靠性、效率(性能)、易用性、清晰性、平安性、可扩展性、兼容性、可移植性等等。l 隐含约束。有一些假设或依靠并没有在需求文档中明确指出,但可能会对系统设计产生影响,设计人员应当尽可能地在此处说明。例如对用户教化程度、计算机技能的一些假设或依靠,对支撑本系统的软件硬件的假设或依靠等。2.5.3、 确定设计策略l 体系结构设计人员依据产品的需求与发展战略,确定设计策略(Design Strategy)。例如: 扩展策略。说明为了便利本系统在将来扩展功能,现在有什么措施。 复用策略。说明本系统在当前以及将来的复用策略。 折衷策略。说明当两个目标难以同时优化时如何折衷,例如“时空”效率折衷

8、,困难性与好用性折衷。2.5.4、 系统分解与设计l 体系结构设计人员: 将系统分解为若干子系统,确定每个子系统的功能以及子系统之间的关系。 将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系。 确定系统开发、测试、运行所需的软硬件环境。2.5.5、 撰写体系结构设计文档l 体系结构设计人员依据指定的模板撰写体系结构设计报告,主要内容包括: 软件系统概述 影响设计的约束因素 设计策略 系统总体结构 子系统的结构与模块功能 开发、测试、运行所需的软硬件环境2.5.6、 体系结构设计评审l 体系结构设计人员邀请同行专家、开发人员对体系结构进行正式技术评审。l 体系结构评审的重点不是“对还

9、是错”,而是“好还是差”。主要评审要素包括: 合适性。考察该体系结构是否适合于产品需求,是否可在预定安排内实现。 系统的综合实力(Capability)。例如“时空”效率(性能,容量等),可扩展性,可管理性(可维护性),可复用性,平安性等等,视产品特征而定。2.5.7、 后续活动 l 体系结构设计完成后进入具体设计阶段(用户界面设计、数据库设计、模块设计等)。2.6、 输出l 体系结构设计报告2.7、 结束准则l 体系结构设计报告已经完成,并且通过了技术评审。2.8、 度量l 体系结构设计人员统计工作量以及文档的规模,汇报给项目经理。三、 用户界面设计3.1、 目的l 设计软件的用户界面,产生

10、用户界面设计报告。l 制作用户界面的资源如图像、图标或者界面专用组件等。3.2、 角色与职责l 项目经理指定若干名开发人员从事用户界面设计(以下称为界面设计人员)。l 假如可能的话,邀请用户或美工人员帮助设计用户界面。3.3、 启动准则l 需求文档已经完成。l 体系结构设计已经完成。3.4、 输入l 需求文档l 体系结构设计文档3.5、 主要步骤用户界面设计流程如图所示。迭代Step2. 界面设计Step4. 设计评审Step3. 撰写文档Step1. 设计打算2.3细化2.2原型评估2.1原型创作体系结构设计流程3.5.1、 设计打算l 界面设计人员阅读需求文档和体系结构设计文档,明确界面设

11、计任务。l 界面设计人员与用户沟通,了解用户的工作习惯和他们对界面的看法。l 界面设计人员打算相关的设计工具和资料,收集或创作基本的界面资源如图像、图标以及通用的组件。l 界面设计人员确定本软件的用户界面设计规则(或指南),主要包括: 优秀界面的特征或通用的设计原则; 软件主界面(如主窗口、主页面)的设计规则; 软件子界面(如子窗口、子页面)的设计规则; 标准控件的运用规则; 美学设计规则。3.5.2、 用户界面设计用户界面设计一般要经验“原型创作原型评估细化”等步骤,通常迭代进行。l Step2.1 原型创作界面设计人员创作界面原型: 先徒手画,或者用Visio 等工具绘制界面的视图; 再用

12、软件开发工具实现可以运行的原型。l Step2.2 原型评估 界面设计人员邀请用户和同行们评估界面的原型,汇合看法,刚好改进。l Step2.3 细化 界面设计人员细化界面原型,例如美工处理,添加细微环节等。补充说明:开发人员在本阶段不必关切界面原型的代码质量,因为界面原型可能不断地被修改甚至被抛弃。3.5.3、 撰写用户界面设计文档l 用户界面定型之后,界面设计人员依据指定的模板撰写用户界面设计报告,主要内容包括: 应当遵循的界面设计规范; 界面的关系图和工作流程图; 主界面的视图、功能说明、操作方式; 子界面的视图、功能说明、操作方式; 美学设计说明。3.5.4、 用户界面设计评审l 界面

13、设计人员邀请用户和同行们对定型后的界面进行正式技术评审,尽最大努力使界面变得更加美观、易用。l 用户界面的主要评审要素包括: 合适性 简洁易用 一样性 美观 动态反馈 功能屏蔽和出错处理 用户限制 国际化(兼容性和可移植性) 适应性(针对各种用户)3.5.5、 后续活动 l 在系统设计工作结束之后,开发人员编写界面的代码,并和用户一起通过各种途径测试界面,从而不断地完善用户界面。(请参考有关测试的文档)l 界面设计人员总结阅历教训,不断地完善适用于本机构的“用户界面设计指南”。3.6、 输出l 用户界面设计报告3.7、 结束准则l 用户界面设计报告已经完成,界面原型已经通过评审。3.8、 度量

14、l 界面设计人员统计工作量以及文档的规模,汇报给项目经理。四、 数据库设计4.1、 目的l 设计软件的数据库,产生数据库设计报告。4.2、 角色与职责l 项目经理指定若干名开发人员从事数据库设计(以下称为数据库设计人员)。4.3、 启动准则l 需求文档已经完成。l 体系结构设计已经完成。4.4、 输入l 需求文档l 体系结构设计文档4.5、 主要步骤数据库设计流程如图所示。迭代Step2. 数据库设计Step3. 撰写文档2.4优化2.3平安性设计2.2物理设计2.1逻辑设计Step1. 设计打算Step4. 设计评审数据库设计流程4.5.1、 设计打算l 数据库设计人员阅读需求文档和体系结构

15、设计文档,明确数据库设计任务。l 数据库设计人员打算相关的设计工具和资料。l 数据库设计人员确定本软件的数据库设计规则(或指南),主要包括: 数据库命名规则 逻辑设计规则(或指南) 物理设计规则(或指南) 平安性设计规则(或指南) 优化规则(或指南) 数据库管理与维护规则(或指南)4.5.2、 数据库设计数据库设计一般要经验“逻辑设计物理设计平安性设计优化”等步骤,通常要迭代进行。l 逻辑设计 数据库设计人员依据需求文档,创建与数据库相关的那部分实体关系图(ERD)。假如采纳面对对象方法(OOAD),这里实体相当于类(class)。l 物理设计 设计表结构。一般地,实体对应于表,实体的属性对应

16、于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不肯定是一一对应的。数据库表的参考格式如表11-1所示。 对表结构进行规范化处理(第三范式)。表名功能说明列名数据类型(精度范围)空/非空约束条件补充说明数据库表的参考格式l 平安性设计提高软件系统的平安性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的平安性设计。 用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径可以操作数据库。 对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。 确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚

17、好能够完成任务的权限,不多也不少。在应用时再为用户安排角色,则每个用户的权限等于他所兼角色的权限之和。l 优化分析并优化数据库的“时空”效率,尽可能地“提高处理速度”并且“降低数据占用的空间”。 分析“时空”效率的瓶颈,找出优化对象(目标),并确定优先级。 当优化对象(目标)之间存在对抗时,给出折衷方案。 给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。4.5.3、 撰写数据库设计文档l 数据库设计人员依据指定的模板撰写数据库设计报告,主要内容包括: 数据库环境说明 数据库的命名规则 逻辑设计 物理设计 平安性设计 优化 数据库管理与维护说明4.5.4、 数据库设计评审l

18、 数据库设计人员邀请同行们对数据库进行正式技术评审。l 数据库的主要评审要素包括: 正确性、完整性、一样性 平安性 “时空”效率4.5.5、 后续活动 l 在系统设计工作结束之后,开发人员将编写与数据库相关的代码,并和用户一起通过各种途径测试数据库,从而不断地完善数据库。(请参考有关测试的文档)l 数据库设计人员总结阅历教训,不断地完善适用于本机构的数据库设计指南。l 软件交付给用户后,由用户管理与维护数据库。4.6、 输出l 数据库设计报告4.7、 结束准则l 数据库设计报告已经完成,并且通过了技术评审。4.8、 度量l 数据库设计人员统计工作量以及文档的规模,汇报给项目经理。五、 模块设计

19、5.1、 目的l 设计软件全部模块的主要接口与属性、数据结构和算法,产生模块设计报告。5.2、 角色与职责l 项目经理指定若干名开发人员从事模块的设计(以下称为模块设计人员),模块设计人员将在实现阶段编写这些模块的代码。5.3、 启动准则l 需求文档已经完成。l 体系结构设计已经完成。5.4、 输入l 需求文档l 体系结构设计文档5.5、 主要步骤模块设计流程如图所示。Step2. 模块设计2.1接口与属性设计Step4. 设计评审Step3. 撰写文档Step1. 设计打算迭代2.2数据结构与算法设计模块设计流程5.5.1、 设计打算l 模块设计人员阅读需求文档和体系结构设计文档,明确模块设

20、计任务。l 模块设计人员打算相关的设计工具和资料。l 模块设计人员确定本软件的编程规范,确保模块设计文档的风格与代码的风格保持一样。5.5.2、 模块设计模块设计一般要经验“接口与属性设计数据结构与算法设计”等步骤,并且通常须要反复迭代。建议:由于现代的软件开发工具越来越先进,模块的具体设计和编程可以很好地融合一起,而且效率相当高,有些工具甚至具有代码自动生胜利能。所以在系统设计阶段,模块设计原委要具体到什么地步,应当视问题困难性以及所采纳的开发工具而定。一般地,只要确定了每个模块的主要接口、数据结构与算法,能够清晰地指导模块编程即可。总之,不必花太多时间用于设计模块的细微环节。l 接口与属性

21、设计 模块设计人员设计每个模块的主要接口与属性。假如采纳面对对象方法(OOAD),相当于设计类的函数和成员变量。l 数据结构与算法设计 模块设计人员设计每个模块的数据结构与算法(假如存在的话)。5.5.3、 撰写模块设计文档l 模块设计人员依据指定的模板撰写模块设计报告,主要内容包括: 模块汇总 每个模块的主要接口与属性 每个模块的数据结构与算法(假如存在的话)5.5.4、 模块设计评审l 模块设计人员邀请同行们对模块设计文档进行正式技术评审或者非正式技术评审(由技术负责人确定采纳何种评审方式)。l 模块的主要评审要素包括: 信息隐藏(独立性) 强内聚、低耦合 数据结构与算法的效率5.5.5、

22、 后续活动l 模块的代码实现可以与模块设计同步进行,也可以在模块设计完成之后进行。5.6、 输出l 模块设计报告5.7、 结束准则l 模块设计报告已经完成,并且通过了技术评审。5.8、 度量l 模块设计人员统计工作量以及文档的规模,汇报给项目经理。六、 实施建议l 先对系统设计人员进行“专题”培训,让他们驾驭必要的系统设计技能。l 由于国内绝大多数的高校不开设“用户界面设计课程”,这导致大部分软件开发人员不擅长设计用户界面。项目开发小组应当设法邀请用户界面设计专家参加(或指导)本软件的界面设计。l 系统设计人员可以依据产品的特征,适当地修改体系结构设计报告、用户界面设计报告、数据库设计报告和模块设计报告的模板。l 对系统设计过程中产生的全部有价值的文档进行配置管理。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!