系统设计的步骤与方法样本_第1页
系统设计的步骤与方法样本_第2页
系统设计的步骤与方法样本_第3页
系统设计的步骤与方法样本_第4页
系统设计的步骤与方法样本_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TOC\o"1-3"\h\z第11章系统设计 211.1介绍 211.2用户需求调查 311.2.1目标 311.2.2角色和职责 311.2.3开启准则 311.2.4输入 311.2.5关键步骤 3[Step1]设计准备 3[Step2]确定影响系统设计约束原因 4[Step3]确定设计策略 4[Step4]系统分解和设计 4[Step5]撰写体系结构设计文档 4[Step6]体系结构设计评审 5[后续活动] 511.2.6输出 511.2.7结束准则 511.2.8度量 511.3用户界面设计 511.3.1目标 511.3.2角色和职责 511.3.3开启准则 611.3.4输入 611.3.5关键步骤 6[Step1]设计准备 6[Step2]用户界面设计 7[Step3]撰写用户界面设计文档 7[Step4]用户界面设计评审 7[后续活动] 811.3.6输出 811.3.7结束准则 811.3.8度量 811.4数据库设计 811.4.1目标 811.4.2角色和职责 811.4.3开启准则 811.4.4输入 911.4.5关键步骤 9[Step1]设计准备 9[Step2]数据库设计 9[Step3]撰写数据库设计文档 10[Step4]数据库设计评审 11[后续活动] 1111.4.6输出 1111.4.7结束准则 1111.4.8度量 1111.5模块设计 1211.5.1目标 1211.5.2角色和职责 1211.5.3开启准则 1211.5.4输入 1211.5.5关键步骤 12[Step1]设计准备 13[Step2]模块设计 13[Step3]撰写模块设计文档 13[Step4]模块设计评审 13[后续活动] 1411.5.6输出 1411.5.7结束准则 1411.5.8度量 1411.6实施提议 14第11章系统设计系统设计(SystemDesign,SD)是指设计软件系统体系结构、用户界面、数据库、模块等,从而在需求和代码之间建立桥梁,指导开发人员去实现能满足用户需求软件产品。系统设计过程域是SPP模型关键组成部分。本规范叙述了系统设计过程域四个关键规程:体系结构设计[SPP-PROC-SD-ARCHITECTURE]用户界面设计[SPP-PROC-RM-UI]数据库设计[SPP-PROC-RM-DATABASE]模块设计[SPP-PROC-RM-MODULE]上述每个规程“目标”、“角色和职责”、“开启准则”、“输入”、“关键步骤”、“输出”、“完成准则”和“度量”均已定义。本规范适适用于中国IT企业软件研发项目。提议用户依据本身情况(如商业目标、研发实力等)合适地修改本规范,然后推广使用。11.1介绍系统设计过程域分为两个阶段:高层设计阶段和具体设计阶段。高层设计阶段关键是软件系统体系结构设计。具体设计阶段关键是用户界面设计、数据库设计和模块设计,图11-1所表示。需求开发高层设计阶段体系结构设计数据库设计用户界面设计模块设计实现和测试具体设计阶段需求开发高层设计阶段体系结构设计数据库设计用户界面设计模块设计实现和测试具体设计阶段图11-1系统设计过程域示意图系统设计过程域产生关键文档有:《体系结构设计汇报》,模板见[SPP-TEMP-SD-ARCHITECTURE]。《用户界面设计汇报》,模板见[SPP-TEMP-SD-UI]。《数据库设计汇报》,模板见[SPP-TEMP-SD-DATABASE]。《模块设计汇报》,模板见[SPP-TEMP-SD-MODULE]。11.2体系结构设计11.2.1目标分析和设计软件体系结构。经过系统分解,确定子系统功效和子系统之间关系,和模块功效和模块之间关系,产生《体系结构设计汇报》。11.2.2角色和职责项目经理指定若干名开发人员从事体系结构设计(以下称为体系结构设计人员)。11.2.3开启准则体系结构设计人员已经确定。11.2.4输入需求文档如《产品需求规格说明书》11.2.5关键步骤 体系结构设计步骤图11-2所表示。Step3.确定设计策略Step2.确定约束原因Step1.设计准备Step3.确定设计策略Step2.确定约束原因Step1.设计准备Step4.系统分解设计Step6.设计评审Step5.撰写文档图11-2体系结构设计步骤[Step1]设计准备项目经理或技术责任人分配系统设计任务,包含体系结构设计、模块设计、用户界面设计、数据库设计等。本活动可能产生一份阶段性开发计划,如《系统设计计划》,视工作量而定。体系结构设计人员阅读需求文档,明确设计任务。体系结构设计人员准备相关设计工具(如RationalRose)和资料。[Step2]确定影响系统设计约束原因需求约束。体系结构设计人员从需求文档如《软件需求规格说明书》中提取需求约束,比如:本系统应该遵照标准或规范软件、硬件环境(包含运行环境和开发环境)约束接口/协议约束用户界面约束软件质量约束,如正确性、健壮性、可靠性、效率(性能)、易用性、清楚性、安全性、可扩展性、兼容性、可移植性等等。隐含约束。有部分假设或依靠并没有在需求文档中明确指出,但可能会对系统设计产生影响,设计人员应该尽可能地在此处说明。比如对用户教育程度、计算机技能部分假设或依靠,对支撑本系统软件硬件假设或依靠等。[Step3]确定设计策略体系结构设计人员依据产品需求和发展战略,确定设计策略(DesignStrategy)。比如:扩展策略。说明为了方便本系统在未来扩展功效,现在有什么方法。复用策略。说明本系统在目前和未来复用策略。折衷策略。说明当两个目标难以同时优化时怎样折衷,比如“时-空”效率折衷,复杂性和实用性折衷。[Step4]系统分解和设计体系结构设计人员:将系统分解为若干子系统,确定每个子系统功效和子系统之间关系。将子系统分解为若干模块,确定每个模块功效和模块之间关系。确定系统开发、测试、运行所需软硬件环境。[Step5]撰写体系结构设计文档体系结构设计人员依据指定模板撰写《体系结构设计汇报》,关键内容包含:软件系统概述影响设计约束原因设计策略系统总体结构子系统结构和模块功效开发、测试、运行所需软硬件环境[Step6]体系结构设计评审体系结构设计人员邀请同行教授、开发人员对体系结构进行正式技术评审,评审步骤请参考[SPP-PROC-TR-FTR]。体系结构评审关键不是“对还是错”,而是“好还是差”。关键评审要素包含:适宜性。考察该体系结构是否适合于产品需求,是否可在预定计划内实现。系统综合能力(Capability)。比如“时-空”效率(性能,容量等),可扩展性,可管理性(可维护性),可复用性,安全性等等,视产品特征而定。[后续活动]体系结构设计完成后进入具体设计阶段(用户界面设计、数据库设计、模块设计等)。11.2.6输出《体系结构设计汇报》11.2.7结束准则《体系结构设计汇报》已经完成,而且经过了技术评审。11.2.8度量体系结构设计人员统计工作量和文档规模,汇报给项目经理。11.3用户界面设计11.3.1目标设计软件用户界面,产生《用户界面设计汇报》。制作用户界面资源图像、图标或界面专用组件等。11.3.2角色和职责项目经理指定若干名开发人员从事用户界面设计(以下称为界面设计人员)。假如可能话,邀请用户或美工人员帮助设计用户界面。11.3.3开启准则需求文档已经完成。体系结构设计已经完成。11.3.4输入需求文档体系结构设计文档11.3.5关键步骤 用户界面设计步骤图11-3所表示。迭代Step2.界面设计Step4.设计评审Step3.撰写文档Step1.设计准备2.3细化2.2原型评定2.1原型创作迭代Step2.界面设计Step4.设计评审Step3.撰写文档Step1.设计准备2.3细化2.2原型评定2.1原型创作图11-3体系结构设计步骤[Step1]设计准备界面设计人员阅读需求文档和体系结构设计文档,明确界面设计任务。界面设计人员和用户交流,了解用户工作习惯和她们对界面见解。界面设计人员准备相关设计工具和资料,搜集或创作基础界面资源图像、图标和通用组件。界面设计人员确定本软件用户界面设计规则(或指南),关键包含:优异界面特征或通用设计标准;软件主界面(如主窗口、主页面)设计规则;软件子界面(如子窗口、子页面)设计规则;标准控件使用规则;美学设计规则。[Step2]用户界面设计用户界面设计通常要经历“原型创作—>原型评定->细化”等步骤,通常迭代进行。[Step2.1]原型创作界面设计人员创作界面原型:先徒手画,或用Visio等工具绘制界面视图;再用软件开发工具实现能够运行原型。[Step2.2]原型评定界面设计人员邀请用户和同行们评定界面原型,聚集意见,立即改善。[Step2.3]细化界面设计人员细化界面原型,比如美工处理,添加细节等。补充说明:开发人员在本阶段无须关心界面原型代码质量,因为界面原型可能不停地被修改甚至被抛弃。[Step3]撰写用户界面设计文档用户界面定型以后,界面设计人员依据指定模板撰写《用户界面设计汇报》,关键内容包含:应该遵照界面设计规范;界面关系图和工作步骤图;主界面视图、功效说明、操作方法;子界面视图、功效说明、操作方法;美学设计说明。[Step4]用户界面设计评审界面设计人员邀请用户和同行们对定型后界面进行正式技术评审,尽最大努力使界面变得愈加美观、易用。评审步骤请参考[SPP-PROC-TR-FTR]。用户界面关键评审要素包含:适宜性简练易用一致性美观动态反馈功效屏蔽和犯错处理用户控制国际化(兼容性和可移植性)适应性(针对多种用户)[后续活动]在系统设计工作结束以后,开发人员编写界面代码,并和用户一起经过多种路径测试界面,从而不停地完善用户界面。(请参考相关测试文档)界面设计人员总结经验教训,不停地完善适适用于本机构“用户界面设计指南”。11.3.6输出《用户界面设计汇报》11.3.7结束准则《用户界面设计汇报》已经完成,界面原型已经经过评审。11.3.8度量界面设计人员统计工作量和文档规模,汇报给项目经理。11.4数据库设计11.4.1目标设计软件数据库,产生《数据库设计汇报》。11.4.2角色和职责项目经理指定若干名开发人员从事数据库设计(以下称为数据库设计人员)。11.4.3开启准则需求文档已经完成。体系结构设计已经完成。11.4.4输入需求文档体系结构设计文档11.4.5关键步骤 数据库设计步骤图11-4所表示。迭代Step2.数据库设计Step3.撰写文档2.4优化2.3安全性设计2.2物理设计2.1逻辑设计Step1.设计准备Step4.设计评审迭代Step2.数据库设计Step3.撰写文档2.4优化2.3安全性设计2.2物理设计2.1逻辑设计Step1.设计准备Step4.设计评审图11-4数据库设计步骤[Step1]设计准备数据库设计人员阅读需求文档和体系结构设计文档,明确数据库设计任务。数据库设计人员准备相关设计工具和资料。数据库设计人员确定本软件数据库设计规则(或指南),关键包含:数据库命名规则逻辑设计规则(或指南)物理设计规则(或指南)安全性设计规则(或指南)优化规则(或指南)数据库管理和维护规则(或指南)[Step2]数据库设计 数据库设计通常要经历“逻辑设计—>物理设计->安全性设计->优化”等步骤,通常要迭代进行。[Step2.1]逻辑设计数据库设计人员依据需求文档,创建和数据库相关那部分实体关系图(ERD)。假如采取面向对象方法(OOAD),这里实体相当于类(class)。[Step2.2]物理设计设计表结构。通常地,实体对应于表,实体属性对应于表列,实体之间关系成为表约束。逻辑设计中实体大部分能够转换成物理设计中表,不过它们并不一定是一一对应。数据库表参考格式如表11-1所表示。对表结构进行规范化处理(第三范式)。表名功效说明列名数据类型(精度范围)空/非空约束条件补充说明表11-1数据库表参考格式[Step2.3]安全性设计提升软件系统安全性应该从“管理”和“设计”两方面着手。这里仅考虑数据库安全性设计。用户只能用帐号登陆到应用软件,经过应用软件访问数据库,而没有其它路径能够操作数据库。对用户帐号密码进行加密处理,确保在任何地方全部不会出现密码明文。确定每个角色对数据库表操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务权限,不多也不少。在应用时再为用户分配角色,则每个用户权限等于她所兼角色权限之和。[Step2.4]优化分析并优化数据库“时-空”效率,尽可能地“提升处理速度”而且“降低数据占用空间”。分析“时-空”效率瓶颈,找出优化对象(目标),并确定优先级。当优化对象(目标)之间存在对抗时,给出折衷方案。给出优化具体方法,比如优化数据库环境参数,对表格进行反规范化处理等。[Step3]撰写数据库设计文档数据库设计人员依据指定模板撰写《数据库设计汇报》,关键内容包含:数据库环境说明数据库命名规则逻辑设计物理设计安全性设计优化数据库管理和维护说明[Step4]数据库设计评审数据库设计人员邀请同行们对数据库进行正式技术评审,评审步骤请参考[SPP-PROC-TR-FTR]。数据库关键评审要素包含:正确性、完整性、一致性安全性“时-空”效率[后续活动]在系统设计工作结束以后,开发人员将编写和数据库相关代码,并和用户一起经过多种路径测试数据库,从而不停地完善数据库。(请参考相关测试文档)数据库设计人员总结经验教训,不停地完善适适用于本机构《数据库设计指南》。软件交付给用户后,由用户管理和维护数据库。11.4.6输出《数据库设计汇报》11.4.7结束准则《数据库设计汇报》已经完成,而且经过了技术评审。11.4.8度量数据库设计人员统计工作量和文档规模,汇报给项目经理。11.5模块设计11.5.1目标设计软件全部模块关键接口和属性、数据结构和算法,产生《模块设计汇报》。11.5.2角色和职责项目经理指定若干名开发人员从事模块设计(以下称为模块设计人员),模块设计人员将在实现阶段编写这些模块代码。11.5.3开启准则需求文档已经完成。体系结构设计已经完成。11.5.4输入需求文档体系结构设计文档11.5.5关键步骤 模块设计步骤图11-5所表示。Step2.模块设计2.1接口和属性设计Step4.设计评审Step3.撰写文档Step1.设计准备迭代2.2数据结构Step2.模块设计2.1接口和属性设计Step4.设计评审Step3.撰写文档Step1.设计准备迭代2.2数据结构和算法设计图11-5模块设计步骤[Step1]设计准备模块设计人员阅读需求文档和体系结构设计文档,明确模块设计任务。模块设计人员准备相关设计工具和资料。模块设计人员确定本软件编程规范,确保模块设计文档风格和代码风格保持一致。[Step2]模块设计 模块设计通常要经历“接口和属性设计—>数据结构和算法设计”等步骤,而且通常需要反复迭代。提议:因为现代软件开发工具越来越优异,模块具体设计和编程能够很好地融合一起,而且效率相当高,有些工具甚至含有代码自动生成功效。所以在系统设计阶段,模块设计到底要具体到

温馨提示

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

评论

0/150

提交评论