- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第8章软件设计;引言:
我们前面已经学习了软件从问题定义到可行性分析,到需求分析,一步步明确软件问题,用户的需求,但那都是软件的需求,而不是软件(也可以说是从用户角度描述,而不是从软件开发人员角度描述问题),我们这一章就是要将我们的计算机软件需求变为软件表示,那么什么是软件表示?怎样用软件表示我们的问题?如何实现这一变换?这是我们这一部份要解决的主要问题。;8.1软件设计概述;总体
设计;通过软件设计阶段的工作将划分出组成系统的物理元素:
—程序
—文件
—数据库
—人工过程
—文档等
但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后详细设计。
总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。;设计过程的一般模型;总体设计通常由两个主要阶段组成:
(1)系统设计阶段:确定系统的具体实现方案;
(2)结构设计阶段:确定软件结构。
典型的总体设计过程包括下述9个步骤:
1.设计供选择的方案
需求分析阶段得出的数据流图是总体设计的极好的出发点。
一旦选出了边界划分(分组)最佳的方案,将能大大提高系统的性能/价格比。;2.选取合理的方案
通常至少选取低成本、中等成本和高成本的三种方案。
在判断哪些方案合理时应该考虑在问题定义和可行性研究阶段确定的工程规模和目标,有时可能还需要进一步征求用户的意见。
对每个合理的方案分析员都应该准备下列4份资料:
(1)系统流程图;
(2)组成系统的物理元素清单;
(3)成本/效益分析;
(4)实现这个系统的进度计划。;3.推荐最佳方案
分析员综合分析对比各种合理方案的利弊,推荐一个最佳的方案。
用工程网络技术为推荐的方案制定详细的实现计划。
用户和有关的技术专家认真审查分析员所推荐的最佳系统,如果该系统确实符合用户的需要,并且是在现有条件下完全能够实现的,则应该提请使用部门负责人进一步审批。
在使用部门的负责人也接受了分析员所推荐的??案之后,将进入总体设计过程的下一个重要阶段——结构设计。;4.功能分解
为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。
对程序(特别是复杂的大型程序)的设计,通常分为两个阶段完成:
(1)结构设计:确定程序由哪些模块组成,以及这些模块之间的关系;
(2)过程设计:确定每个模块的处理过程,这是详细设计阶段的任务。;为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。
分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。
一般说来,经过分解之后应该使每个功能对大多数程序员而言都是明显易懂的。
功能分解导致数据流图的进一步细化,同时还应该用IPO图或其他适当的工具简要描述细化后每个处理的算法。;5.设计软件结构
通常程序中的一个模块完成一个适当的子功能。
软件结构(即由模块组成的层次系统)表示软件系统的构成,是软件模块间关系的表示,可以用层次图或结构图来描绘。
如果数据流图已经细化到适当的层次,则可以直接从数据流图映射出软件结构,这就是面向数据流的设计方法。;6.设计数据库(确定系统的数据结构)
对于需要使用数据库的那些应用系统,软件工程师应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库。
7.设计用户界面
作为人机接口的用户界面起着越来越重要的作用,它直接影响到软件的可用性及使用寿命。
8.制定软件设计测试计划
在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。;9.书写文档
在这个阶段应该完成的文档通常有下述几种:
(1)系统说明主要内容:系统流程图描绘的系统构成方案,物理元素清单,成本/效益分析,精化的数据流图,用层次图或结构图描绘的软件结构,用IPO图或其他工具简要描述的各个模块的算法,模块间的接口关系等。
(2)用户手册:根据总体设计阶段的结果,修改更正在需求分析阶段产生的初步的用户手册。
(3)测试计划:测试策略,测试方案,预期的测试结果,测试进度计划等。
(4)详细的实
您可能关注的文档
最近下载
- 外研版(2024)Unit 5 Reading课件 2024-2025学年七年级英语上册.pptx VIP
- 糖尿病诊疗指南2024.pptx VIP
- 【新教材】北师大版(2024)七年级上册数学第四章 基本平面图形 综合素质评价测试卷(Word版,含答案).docx
- 2024年在线网课学习课堂《Entrepreneur Growth Plan(辽宁大学 )》单元测试考核答案.pdf
- 公安专业知识 易混易错知识点法律和公专(讲义+笔记)(辅警系统班).pdf
- 核心素养下的大单元教学培训心得(通用).pptx
- 二年级上册美术教案与反思-第6课 下雨了 ▏人美版 .pdf VIP
- 2024年华医网继续教育临床静脉用药质量管理与风险防范答案.docx VIP
- NAD T757 A&V 环绕声接收器用户手册.pdf
- 新能源汽车的品牌推广.pptx
网络工程师持证人
本人已从事浙江省工程咨询5年,对浙江省内工程信息非常熟悉,可获取新建工程相关联系人、设计院、业主等关键信息。另外从事楼宇自控专业已10年,考取了一建二建等资格证书,有关考试方面的问题(考试心得、方法、学习资料等)都欢饮来咨询交流。
文档评论(0)