欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    系统设计的步骤与方法39207.docx

    • 资源ID:68679360       资源大小:46.86KB        全文页数:30页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    系统设计的步骤与方法39207.docx

    第11章 系统设计211.1 介绍211.2 用户需求调查311.2.1 目的311.2.2 角色与职责311.2.3 启动准则311.2.4 输入311.2.5 主要步骤3Step1 设计准备3Step2 确定影响系统设计的约束因素4Step3 确定设计策略4Step4 系统分解与设计4Step5 撰写体系结构设计文档4Step6 体系结构设计评审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 主要步骤6Step1 设计准备6Step2 用户界面设计7Step3 撰写用户界面设计文档7Step4 用户界面设计评审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 主要步骤9Step1 设计准备9Step2 数据库设计9Step3 撰写数据库设计文档10Step4 数据库设计评审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 主要步骤12Step1 设计准备13Step2 模块设计13Step3 撰写模块设计文档13Step4 模块设计评审13后续活动1411.5.6 输出1411.5.7 结束准则1411.5.8 度量1411.6 实施建议14第11章 系统设计系统设计(System Design, 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 目的l 分析与设计软件的体系结构。通过系统分解,确定子系统的功能和子系统之间的关系,以及模块的功能和模块之间的关系,产生体系结构设计报告。11.2.2 角色与职责l 项目经理指定若干名开发人员从事体系结构设计(以下称为体系结构设计人员)。11.2.3 启动准则l 体系结构设计人员已经确定。11.2.4 输入l 需求文档如产品需求规格说明书11.2.5 主要步骤体系结构设计流程如图11-2所示。Step3. 确定设计策略Step2. 确定约束因素Step1. 设计准备Step4. 系统分解设计Step6. 设计评审Step5. 撰写文档图11-2 体系结构设计流程Step1 设计准备l 项目经理或者技术负责人分配系统设计任务,包括体系结构设计、模块设计、用户界面设计、数据库设计等。本活动可能产生一份阶段性的开发计划,如系统设计计划,视工作量而定。l 体系结构设计人员阅读需求文档,明确设计任务。l 体系结构设计人员准备相关的设计工具(如Rational Rose)和资料。Step2 确定影响系统设计的约束因素l 需求约束。体系结构设计人员从需求文档如软件需求规格说明书中提取需求约束,例如:² 本系统应当遵循的标准或规范² 软件、硬件环境(包括运行环境和开发环境)的约束² 接口/协议的约束² 用户界面的约束² 软件质量的约束,如正确性、健壮性、可靠性、效率(性能)、易用性、清晰性、安全性、可扩展性、兼容性、可移植性等等。l 隐含约束。有一些假设或依赖并没有在需求文档中明确指出,但可能会对系统设计产生影响,设计人员应当尽可能地在此处说明。例如对用户教育程度、计算机技能的一些假设或依赖,对支撑本系统的软件硬件的假设或依赖等。Step3 确定设计策略l 体系结构设计人员根据产品的需求与发展战略,确定设计策略(Design Strategy)。例如:² 扩展策略。说明为了方便本系统在将来扩展功能,现在有什么措施。² 复用策略。说明本系统在当前以及将来的复用策略。² 折衷策略。说明当两个目标难以同时优化时如何折衷,例如“时空”效率折衷,复杂性与实用性折衷。Step4 系统分解与设计l 体系结构设计人员:² 将系统分解为若干子系统,确定每个子系统的功能以及子系统之间的关系。² 将子系统分解为若干模块,确定每个模块的功能以及模块之间的关系。² 确定系统开发、测试、运行所需的软硬件环境。Step5 撰写体系结构设计文档l 体系结构设计人员根据指定的模板撰写体系结构设计报告,主要内容包括:² 软件系统概述² 影响设计的约束因素² 设计策略² 系统总体结构² 子系统的结构与模块功能² 开发、测试、运行所需的软硬件环境Step6 体系结构设计评审l 体系结构设计人员邀请同行专家、开发人员对体系结构进行正式技术评审,评审流程请参考 SPP-PROC-TR-FTR。l 体系结构评审的重点不是“对还是错”,而是“好还是差”。主要评审要素包括:² 合适性。考察该体系结构是否适合于产品需求,是否可在预定计划内实现。² 系统的综合能力(Capability)。例如“时空”效率(性能,容量等),可扩展性,可管理性(可维护性),可复用性,安全性等等,视产品特征而定。后续活动 l 体系结构设计完成后进入详细设计阶段(用户界面设计、数据库设计、模块设计等)。11.2.6 输出l 体系结构设计报告11.2.7 结束准则l 体系结构设计报告已经完成,并且通过了技术评审。11.2.8 度量l 体系结构设计人员统计工作量以及文档的规模,汇报给项目经理。11.3 用户界面设计11.3.1 目的l 设计软件的用户界面,产生用户界面设计报告。l 制作用户界面的资源如图像、图标或者界面专用组件等。11.3.2 角色与职责l 项目经理指定若干名开发人员从事用户界面设计(以下称为界面设计人员)。l 如果可能的话,邀请用户或美工人员协助设计用户界面。11.3.3 启动准则l 需求文档已经完成。l 体系结构设计已经完成。11.3.4 输入l 需求文档l 体系结构设计文档11.3.5 主要步骤用户界面设计流程如图11-3所示。迭代Step2. 界面设计Step4. 设计评审Step3. 撰写文档Step1. 设计准备2.3细化2.2原型评估2.1原型创作图11-3 体系结构设计流程Step1 设计准备l 界面设计人员阅读需求文档和体系结构设计文档,明确界面设计任务。l 界面设计人员与用户交流,了解用户的工作习惯和他们对界面的看法。l 界面设计人员准备相关的设计工具和资料,收集或创作基本的界面资源如图像、图标以及通用的组件。l 界面设计人员确定本软件的用户界面设计规则(或指南),主要包括:² 优秀界面的特征或通用的设计原则;² 软件主界面(如主窗口、主页面)的设计规则;² 软件子界面(如子窗口、子页面)的设计规则;² 标准控件的使用规则;² 美学设计规则。Step2 用户界面设计用户界面设计一般要经历“原型创作>原型评估>细化”等步骤,通常迭代进行。l Step2.1 原型创作界面设计人员创作界面原型:² 先徒手画,或者用Visio 等工具绘制界面的视图;² 再用软件开发工具实现可以运行的原型。l Step2.2 原型评估² 界面设计人员邀请用户和同行们评估界面的原型,汇集意见,及时改进。l Step2.3 细化² 界面设计人员细化界面原型,例如美工处理,添加细节等。补充说明:开发人员在本阶段不必关心界面原型的代码质量,因为界面原型可能不断地被修改甚至被抛弃。Step3 撰写用户界面设计文档l 用户界面定型之后,界面设计人员根据指定的模板撰写用户界面设计报告,主要内容包括:² 应当遵循的界面设计规范;² 界面的关系图和工作流程图;² 主界面的视图、功能说明、操作方式;² 子界面的视图、功能说明、操作方式;² 美学设计说明。Step4 用户界面设计评审l 界面设计人员邀请用户和同行们对定型后的界面进行正式技术评审,尽最大努力使界面变得更加美观、易用。评审流程请参考 SPP-PROC-TR-FTR。l 用户界面的主要评审要素包括:² 合适性² 简洁易用² 一致性² 美观² 动态反馈² 功能屏蔽和出错处理² 用户控制² 国际化(兼容性和可移植性)² 适应性(针对各种用户)后续活动 l 在系统设计工作结束之后,开发人员编写界面的代码,并和用户一起通过各种途径测试界面,从而不断地完善用户界面。(请参考有关测试的文档)l 界面设计人员总结经验教训,不断地完善适用于本机构的“用户界面设计指南”。11.3.6 输出l 用户界面设计报告11.3.7 结束准则l 用户界面设计报告已经完成,界面原型已经通过评审。11.3.8 度量l 界面设计人员统计工作量以及文档的规模,汇报给项目经理。11.4 数据库设计11.4.1 目的l 设计软件的数据库,产生数据库设计报告。11.4.2 角色与职责l 项目经理指定若干名开发人员从事数据库设计(以下称为数据库设计人员)。11.4.3 启动准则l 需求文档已经完成。l 体系结构设计已经完成。11.4.4 输入l 需求文档l 体系结构设计文档11.4.5 主要步骤数据库设计流程如图11-4所示。迭代Step2. 数据库设计Step3. 撰写文档2.4优化2.3安全性设计2.2物理设计2.1逻辑设计Step1. 设计准备Step4. 设计评审图11-4 数据库设计流程Step1 设计准备l 数据库设计人员阅读需求文档和体系结构设计文档,明确数据库设计任务。l 数据库设计人员准备相关的设计工具和资料。l 数据库设计人员确定本软件的数据库设计规则(或指南),主要包括:² 数据库命名规则² 逻辑设计规则(或指南)² 物理设计规则(或指南)² 安全性设计规则(或指南)² 优化规则(或指南)² 数据库管理与维护规则(或指南)Step2 数据库设计数据库设计一般要经历“逻辑设计>物理设计>安全性设计>优化”等步骤,通常要迭代进行。l Step2.1 逻辑设计² 数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD)。如果采用面向对象方法(OOAD),这里实体相当于类(class)。l Step2.2 物理设计² 设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。数据库表的参考格式如表11-1所示。² 对表结构进行规范化处理(第三范式)。表名功能说明列名数据类型(精度范围)空/非空约束条件补充说明表11-1 数据库表的参考格式l Step2.3 安全性设计提高软件系统的安全性应当从“管理”和“设计”两方面着手。这里仅考虑数据库的安全性设计。² 用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径可以操作数据库。² 对用户帐号的密码进行加密处理,确保在任何地方都不会出现密码的明文。² 确定每个角色对数据库表的操作权限,如创建、检索、更新、删除等。每个角色拥有刚好能够完成任务的权限,不多也不少。在应用时再为用户分配角色,则每个用户的权限等于他所兼角色的权限之和。l Step2.4 优化分析并优化数据库的“时空”效率,尽可能地“提高处理速度”并且“降低数据占用的空间”。² 分析“时空”效率的瓶颈,找出优化对象(目标),并确定优先级。² 当优化对象(目标)之间存在对抗时,给出折衷方案。² 给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。Step3 撰写数据库设计文档l 数据库设计人员根据指定的模板撰写数据库设计报告,主要内容包括:² 数据库环境说明² 数据库的命名规则² 逻辑设计² 物理设计² 安全性设计² 优化² 数据库管理与维护说明Step4 数据库设计评审l 数据库设计人员邀请同行们对数据库进行正式技术评审,评审流程请参考 SPP-PROC-TR-FTR。l 数据库的主要评审要素包括:² 正确性、完整性、一致性² 安全性² “时空”效率后续活动 l 在系统设计工作结束之后,开发人员将编写与数据库相关的代码,并和用户一起通过各种途径测试数据库,从而不断地完善数据库。(请参考有关测试的文档)l 数据库设计人员总结经验教训,不断地完善适用于本机构的数据库设计指南。l 软件交付给用户后,由用户管理与维护数据库。11.4.6 输出l 数据库设计报告11.4.7 结束准则l 数据库设计报告已经完成,并且通过了技术评审。11.4.8 度量l 数据库设计人员统计工作量以及文档的规模,汇报给项目经理。11.5 模块设计11.5.1 目的l 设计软件所有模块的主要接口与属性、数据结构和算法,产生模块设计报告。11.5.2 角色与职责l 项目经理指定若干名开发人员从事模块的设计(以下称为模块设计人员),模块设计人员将在实现阶段编写这些模块的代码。11.5.3 启动准则l 需求文档已经完成。l 体系结构设计已经完成。11.5.4 输入l 需求文档l 体系结构设计文档11.5.5 主要步骤模块设计流程如图11-5所示。Step2. 模块设计2.1接口与属性设计Step4. 设计评审Step3. 撰写文档Step1. 设计准备迭代2.2数据结构与算法设计图11-5 模块设计流程Step1 设计准备l 模块设计人员阅读需求文档和体系结构设计文档,明确模块设计任务。l 模块设计人员准备相关的设计工具和资料。l 模块设计人员确定本软件的编程规范,确保模块设计文档的风格与代码的风格保持一致。Step2 模块设计模块设计一般要经历“接口与属性设计>数据结构与算法设计”等步骤,并且通常需要反复迭代。建议:由于现代的软件开发工具越来越先进,模块的详细设计和编程可以很好地融合一起,而且效率相当高,有些工具甚至具有代码自动生成功能。所以在系统设计阶段,模块设计究竟要详细到什么地步,应当视问题复杂性以及所采用的开发工具而定。一般地,只要确定了每个模块的主要接口、数据结构与算法,能够清楚地指导模块编程即可。总之,不必花太多时间用于设计模块的细节。l Step2.1 接口与属性设计² 模块设计人员设计每个模块的主要接口与属性。如果采用面向对象方法(OOAD),相当于设计类的函数和成员变量。l Step2.2 数据结构与算法设计² 模块设计人员设计每个模块的数据结构与算法(如果存在的话)。Step3 撰写模块设计文档l 模块设计人员根据指定的模板撰写模块设计报告,主要内容包括:² 模块汇总² 每个模块的主要接口与属性² 每个模块的数据结构与算法(如果存在的话)Step4 模块设计评审l 模块设计人员邀请同行们对模块设计文档进行正式技术评审或者非正式技术评审(由技术负责人决定采用何种评审方式),评审流程请参考 SPP-PROC-TR。l 模块的主要评审要素包括:² 信息隐藏(独立性)² 强内聚、低耦合² 数据结构与算法的效率后续活动l 模块的代码实现可以与模块设计同步进行,也可以在模块设计完成之后进行。11.5.6 输出l 模块设计报告11.5.7 结束准则l 模块设计报告已经完成,并且通过了技术评审。11.5.8 度量l 模块设计人员统计工作量以及文档的规模,汇报给项目经理。11.6 实施建议l 先对系统设计人员进行“专题”培训,让他们掌握必要的系统设计技能。l 由于国内绝大多数的大学不开设“用户界面设计课程”,这导致大部分软件开发人员不善于设计用户界面。项目开发小组应当设法邀请用户界面设计专家参与(或指导)本软件的界面设计。l 系统设计人员可以根据产品的特征,适当地修改体系结构设计报告、用户界面设计报告、数据库设计报告和模块设计报告的模板。l 对系统设计过程中产生的所有有价值的文档进行配置管理。

    注意事项

    本文(系统设计的步骤与方法39207.docx)为本站会员(jix****n11)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开