系统设计规范汇编.doc

上传人:飞猪 文档编号:126205 上传时间:2025-07-11 格式:DOC 页数:16 大小:394.50KB
下载 相关 举报
系统设计规范汇编.doc_第1页
第1页 / 共16页
系统设计规范汇编.doc_第2页
第2页 / 共16页
系统设计规范汇编.doc_第3页
第3页 / 共16页
系统设计规范汇编.doc_第4页
第4页 / 共16页
系统设计规范汇编.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、精品文档机构图标XXXX系统设计规范文件状态:文件标识: 草稿当前版本: 正式发布作者: 正在修改完成日期:http:/www.xxx精品文档精品文档引言.21.1介绍 .31.2体系结构设计.41.2.1目的 .41.2.2角色与职责 .41.2.3启动准则.41.2.4输入 .41.2.5主要步骤.4Step1设计准备 .4Step2确定影响系统设计的约束因素.5Step3确定设计策略 .5Step4系统分解与设计 .5Step5撰写体系结构设计文档.5Step6体系结构设计评审 .6 后续活动 .61.2.6输出 .61.2.7结束准则.61.2.8度量 .61.3用户界面设计.61.3

2、1目的 .61.3.2角色与职责 .61.3.3启动准则.71.3.4输入 .71.3.5主要步骤.7Step1设计准备 .7Step2用户界面设计 .8Step3撰写用户界面设计文档.8Step4用户界面设计评审 .8 后续活动 .91.3.6输出 .91.3.7结束准则.91.3.8度量 .91.4数据库设计 .91.4.1目的 .91.4.2角色与职责 .91.4.3启动准则.91.4.4输入 .10精品文档精品文档1.4.5 主要步骤10Step1设计准备10Step2数据库设计10Step3撰写数据库设计文档11Step4数据库设计评审12 后续活动121.4.6 输出121.4.

3、7 结束准则121.4.8 度量121.5 模块设计131.5.1 目的131.5.2 角色与职责131.5.3 启动准则131.5.4 输入131.5.5 主要步骤13Step1设计准备14Step2模块设计14Step3撰写模块设计文档14Step4模块设计评审14 后续活动151.5.6 输出151.5.7 结束准则151.5.8 度量151.6 实施建议15引言精品文档精品文档系统设计( System Design, SD )是指设计软件系统的体系结构、用户界面、数据库、模块等,从而在需求与代码之间建立桥梁,指导开发人员去实现能满足用户需求的软件产品。系统设计过程域是 SPP 模型的重

4、要组成部分。本规范阐述了系统设计过程域的四个主要规程:体系结构设计SPP-PROC-SD-ARCHITECTURE用户界面设计SPP-PROC-RM-UI数据库设计SPP-PROC-RM-DATABASE模块设计SPP-PROC-RM-MODULE上述每个规程的“目标” 、“角色与职责” 、“启动准则” 、“输入” 、“主要步骤” 、“输出”、“完成准则”和“度量”均已定义。本规范适用于国内 IT 企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。1.1 介绍系统设计过程域分为两个阶段:高层设计阶段和详细设计阶段。高层设计阶段的重点是软件系统的体

5、系结构设计。详细设计阶段的重点是用户界面设计、数据库设计和模块设计,如图11-1 所示。高层设计阶段详细设计阶段用户界面设计需求开发体系结构设计数据库设计实现与测试模块设计图 11-1系统设计过程域示意图系统设计过程域产生的主要文档有:体系结构设计报告,模板见SPP-TEMP-SD-ARCHITECTURE。用户界面设计报告,模板见SPP-TEMP-SD-UI。数据库设计报告,模板见SPP-TEMP-SD-DATABASE。精品文档精品文档模块设计报告,模板见SPP-TEMP-SD-MODULE。1.2 体系结构设计1.2.1 目的分析与设计软件的体系结构。通过系统分解,确定子系统的功能和子系

6、统之间的关系,以及模块的功能和模块之间的关系,产生体系结构设计报告。1.2.2 角色与职责项目经理指定若干名开发人员从事体系结构设计(以下称为体系结构设计人员)。1.2.3 启动准则体系结构设计人员已经确定。1.2.4 输入需求文档如产品需求规格说明书1.2.5 主要步骤体系结构设计流程如图11-2 所示。Step2.Step3.Step4.Step6.Step1.确定Step5.确定系统设计撰写设计约束设计分解准备文档评审因素策略设计图 11-2体系结构设计流程Step1设计准备项目经理或者技术负责人分配系统设计任务,包括体系结构设计、模块设计、用户界面设计、数据库设计等。本活动可能产生一份

7、阶段性的开发计划,如系统设计计划,视工作量而定。精品文档精品文档体系结构设计人员阅读需求文档,明确设计任务。体系结构设计人员准备相关的设计工具(如Rational Rose )和资料。Step2确定影响系统设计的约束因素需求约束。体系结构设计人员从需求文档如软件需求规格说明书中提取需求约束,例如:本系统应当遵循的标准或规范软件、硬件环境(包括运行环境和开发环境)的约束接口 / 协议的约束用户界面的约束软件质量的约束,如正确性、健壮性、可靠性、效率(性能) 、易用性、清晰性、安全性、可扩展性、兼容性、可移植性等等。隐含约束。有一些假设或依赖并没有在需求文档中明确指出,但可能会对系统设计产生影响,

8、设计人员应当尽可能地在此处说明。例如对用户教育程度、计算机技能的一些假设或依赖,对支撑本系统的软件硬件的假设或依赖等。Step3确定设计策略体系结构设计人员根据产品的需求与发展战略,确定设计策略(Design Strategy)。例如:扩展策略。说明为了方便本系统在将来扩展功能,现在有什么措施。复用策略。说明本系统在当前以及将来的复用策略。折衷策略。说明当两个目标难以同时优化时如何折衷,例如“时空”效率折衷,复杂性与实用性折衷。Step4系统分解与设计体系结构设计人员:将系统分解为若干子系统,确定每个子系统的功能以及子系统之间的关系。将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系

9、确定系统开发、测试、运行所需的软硬件环境。Step5撰写体系结构设计文档体系结构设计人员根据指定的模板撰写体系结构设计报告,主要内容包括:软件系统概述影响设计的约束因素设计策略系统总体结构子系统的结构与模块功能精品文档精品文档开发、测试、运行所需的软硬件环境Step6体系结构设计评审体系结构设计人员邀请同行专家、开发人员对体系结构进行正式技术评审,评审流程请参考 SPP-PROC-TR-FTR 。体系结构评审的重点不是“对还是错”,而是“好还是差”。主要评审要素包括:合适性。考察该体系结构是否适合于产品需求,是否可在预定计划内实现。系统的综合能力(Capability )。例如“时空”效率(

10、性能,容量等),可扩展性,可管理性(可维护性),可复用性,安全性等等,视产品特征而定。后续活动体系结构设计完成后进入详细设计阶段(用户界面设计、数据库设计、模块设计等) 。1.2.6 输出体系结构设计报告1.2.7 结束准则体系结构设计报告已经完成,并且通过了技术评审。1.2.8 度量体系结构设计人员统计工作量以及文档的规模,汇报给项目经理。1.3 用户界面设计1.3.1 目的设计软件的用户界面,产生用户界面设计报告。制作用户界面的资源如图像、图标或者界面专用组件等。1.3.2 角色与职责项目经理指定若干名开发人员从事用户界面设计(以下称为界面设计人员)。如果可能的话,邀请用户或美工人员协助设

11、计用户界面。精品文档精品文档1.3.3 启动准则需求文档已经完成。体系结构设计已经完成。1.3.4输入需求文档体系结构设计文档1.3.5主要步骤用户界面设计流程如图11-3 所示。Step2.界面设计2.1原型创作Step1.Step3.Step4.设计2.2原型评估撰写设计准备文档评审2.3细化迭代图 11-3体系结构设计流程Step1设计准备界面设计人员阅读需求文档和体系结构设计文档,明确界面设计任务。界面设计人员与用户交流,了解用户的工作习惯和他们对界面的看法。界面设计人员准备相关的设计工具和资料,收集或创作基本的界面资源如图像、图标以及通用的组件。界面设计人员确定本软件的用户界面设计规

12、则(或指南),主要包括:优秀界面的特征或通用的设计原则;软件主界面(如主窗口、主页面)的设计规则;软件子界面(如子窗口、子页面)的设计规则;标准控件的使用规则;美学设计规则。精品文档精品文档Step2用户界面设计用户界面设计一般要经历“ 原型创作原型评估 细化 ”等步骤, 通常迭代进行。Step2.1原型创作界面设计人员创作界面原型:先徒手画,或者用Visio等工具绘制界面的视图;再用软件开发工具实现可以运行的原型。Step2.2原型评估界面设计人员邀请用户和同行们评估界面的原型,汇集意见,及时改进。Step2.3细化界面设计人员细化界面原型,例如美工处理,添加细节等。补充说明: 开发人员在本

13、阶段不必关心界面原型的代码质量,因为界面原型可能不断地被修改甚至被抛弃。Step3撰写用户界面设计文档用户界面定型之后,界面设计人员根据指定的模板撰写用户界面设计报告,主要内容包括:应当遵循的界面设计规范;界面的关系图和工作流程图;主界面的视图、功能说明、操作方式;子界面的视图、功能说明、操作方式;美学设计说明。Step4用户界面设计评审界面设计人员邀请用户和同行们对定型后的界面进行正式技术评审,尽最大努力使界面变得更加美观、易用。评审流程请参考SPP-PROC-TR-FTR。用户界面的主要评审要素包括:合适性简洁易用一致性美观动态反馈功能屏蔽和出错处理用户控制国际化(兼容性和可移植性)精品文

14、档精品文档适应性(针对各种用户)后续活动在系统设计工作结束之后,开发人员编写界面的代码,并和用户一起通过各种途径测试界面,从而不断地完善用户界面。(请参考有关测试的文档)界面设计人员总结经验教训,不断地完善适用于本机构的“用户界面设计指南”。1.3.6 输出用户界面设计报告1.3.7 结束准则用户界面设计报告已经完成,界面原型已经通过评审。1.3.8 度量界面设计人员统计工作量以及文档的规模,汇报给项目经理。1.4 数据库设计1.4.1 目的设计软件的数据库,产生数据库设计报告。1.4.2 角色与职责项目经理指定若干名开发人员从事数据库设计(以下称为数据库设计人员)。1.4.3 启动准则需求文

15、档已经完成。体系结构设计已经完成。精品文档精品文档1.4.4 输入需求文档体系结构设计文档1.4.5 主要步骤数据库设计流程如图11-4 所示。Step2. 数据库设计2.1 逻辑设计Step1.2.2物理设计Step3.Step4.设计撰写设计准备2.3安全性设计文档评审2.4 优化迭代图 11-4数据库设计流程Step1设计准备数据库设计人员阅读需求文档和体系结构设计文档,明确数据库设计任务。数据库设计人员准备相关的设计工具和资料。数据库设计人员确定本软件的数据库设计规则(或指南),主要包括:数据库命名规则逻辑设计规则(或指南)物理设计规则(或指南)安全性设计规则(或指南)优化规则(或指南

16、数据库管理与维护规则(或指南)Step2数据库设计数据库设计一般要经历“逻辑设计 物理设计安全性设计 优化 ”等步骤,通常要迭代进行。精品文档精品文档Step2.1逻辑设计数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图( ERD )。如果采用面向对象方法(OOAD ),这里实体相当于类( class )。Step2.2物理设计设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。数据库表的参考格式如表11-1 所示。对表结构进行规范化处理(第三范式)。表名功能说明列名

17、数据类型(精度范围)空 / 非空约束条件补充说明表 11-1 数据库表的参考格式Step2.3安全性设计提高软件系统的安全性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的安全性设计。用户只能用帐号 登陆到应用软件,通过应用软件访问数据库,而没有其它 途径可以操作数据库。对 用户帐号 的密码进行加密处理,确保在任何地方都不会出现密码的明文。确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。Step2.4优化分析并优化数据库的“时空”效率,尽可能地“提高处理速度”

18、并且“降低数据占用的空间” 。分析“时空”效率的瓶颈,找出优化对象(目标),并确定优先级。当优化对象(目标)之间存在对抗时,给出折衷方案。给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。Step3撰写数据库设计文档数据库设计人员根据指定的模板撰写数据库设计报告,主要内容包括:精品文档精品文档数据库环境说明数据库的命名规则逻辑设计物理设计安全性设计优化数据库管理与维护说明Step4数据库设计评审数据库设计人员邀请同行们对数据库进行正式技术评审,评审流程请参考SPP-PROC-TR-FTR。数据库的主要评审要素包括:正确性、完整性、一致性安全性“时空”效率后续活动在系统设计工

19、作结束之后,开发人员将编写与数据库相关的代码,并和用户一起通过各种途径测试数据库,从而不断地完善数据库。(请参考有关测试的文档)数据库设计人员总结经验教训,不断地完善适用于本机构的数据库设计指南。软件交付给用户后,由用户管理与维护数据库。1.4.6 输出数据库设计报告1.4.7 结束准则数据库设计报告已经完成,并且通过了技术评审。1.4.8 度量数据库设计人员统计工作量以及文档的规模,汇报给项目经理。精品文档精品文档1.5 模块设计1.5.1 目的设计软件所有模块的主要接口与属性、数据结构和算法,产生模块设计报告。1.5.2 角色与职责项目经理指定若干名开发人员从事模块的设计(以下称为模块设计

20、人员),模块设计人员将在实现阶段编写这些模块的代码。1.5.3 启动准则需求文档已经完成。体系结构设计已经完成。1.5.4 输入需求文档体系结构设计文档1.5.5 主要步骤模块设计流程如图11-5 所示。Step2. 模块设计Step1.2.1 接口与属性设计设计Step3.Step4.准备2.2 数据结构迭与算法设计代图 11-5模块设计流程精品文档精品文档Step1设计准备模块设计人员阅读需求文档和体系结构设计文档,明确模块设计任务。模块设计人员准备相关的设计工具和资料。模块设计人员确定本软件的编程规范,确保模块设计文档的风格与代码的风格保持一致。Step2模块设计模块设计一般要经历“接口

21、与属性设计 数据结构与算法设计”等步骤,并且通常需要反复迭代。建议:由于现代的软件开发工具越来越先进,模块的详细设计和编程可以很好地融合一起, 而且效率相当高,有些工具甚至具有代码自动生成功能。所以在系统设计阶段,模块设计究竟要详细到什么地步,应当视问题复杂性以及所采用的开发工具而定。一般地,只要确定了每个模块的主要接口、数据结构与算法,能够清楚地指导模块编程即可。总之,不必花太多时间用于设计模块的细节。Step2.1接口与属性设计模块设计人员设计每个模块的主要接口与属性。如果采用面向对象方法( OOAD ),相当于设计类的函数和成员变量。Step2.2数据结构与算法设计模块设计人员设计每个模

22、块的数据结构与算法(如果存在的话)。Step3撰写模块设计文档模块设计人员根据指定的模板撰写模块设计报告,主要内容包括:模块汇总每个模块的主要接口与属性每个模块的数据结构与算法(如果存在的话)Step4模块设计评审模块设计人员邀请同行们对模块设计文档进行正式技术评审或者非正式技术评审(由技术负责人决定采用何种评审方式),评审流程请参考SPP-PROC-TR。模块的主要评审要素包括:信息隐藏(独立性)强内聚 、低耦合数据结构与算法的效率精品文档精品文档后续活动模块的代码实现可以与模块设计同步进行,也可以在模块设计完成之后进行。1.5.6 输出模块设计报告1.5.7 结束准则模块设计报告已经完成,并且通过了技术评审。1.5.8 度量模块设计人员统计工作量以及文档的规模,汇报给项目经理。1.6 实施建议先对系统设计人员进行“专题”培训,让他们掌握必要的系统设计技能。由于国内绝大多数的大学不开设“用户界面设计课程”,这导致大部分软件开发人员不善于设计用户界面。项目开发小组应当设法邀请用户界面设计专家参与(或指导)本软件的界面设计。系统设计人员可以根据产品的特征,适当地修改体系结构设计报告、用户界面设计报告 、数据库设计报告和模块设计报告的模板。对系统设计过程中产生的所有有价值的文档进行配置管理。精品文档

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑规范

宁ICP备18001539号-1