欢迎来到天天文库
浏览记录
ID:50348618
大小:2.04 MB
页数:171页
时间:2020-03-08
《软件工程 教学课件 作者 张海藩 1_ 第3章.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第3章结构化设计经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。为此,必须首先进行设计,软件设计的目标是设计出符合用户需求的软件的模型。传统的软件工程方法学采用结构化设计技术完成软件设计工作,结构化设计技术主要有以下几个要点:●软件系统由层次化结构的模块构成;●模块是单入口单出口的;●构造和联结模块的基本准则是模块独立;●用图(主要是层次图或结构图)表达软件系统的结构,并使之与问题结构尽量一致。通常把软件设计划分为概要设计和详细设计这样两个阶段。3.1软件设计的任务3.2从分析过渡到设计3.3软件设计准则3.4度量模块独立性的标准3.5启发规则3.6描
2、绘软件结构的图形工具3.7面向数据流的设计方法3.8人机界面设计3.9过程设计3.10过程设计的工具3.11面向数据结构的设计方法3.12结构化设计实例3.13小结3.1软件设计的任务3.1.1概要设计的任务概要设计也称为总体设计或初步设计,这个设计阶段主要有两项任务。1.设计实现软件的最佳方案概要设计过程首先设想实现目标系统的各种可能的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。一种常用的方法是,设想把数据流图中的处理分组(即画自动化边界)的各种可能方法。返回目录然后,分析员从设想出的这些供选择的方案中选取若干个合理的方案。在判断哪些方案合理时,应该考虑在系统分析过程中确
3、定下来的项目规模和目标,有时还需要进一步征求用户的意见。应该为每个合理的方案都画一份系统流程图,列出组成系统的物理元素(程序、文件、数据库、人工过程和文档等)清单,进行成本/效益分析,并且制定实现这个方案的进度计划。最后,分析员应该综合分析对比所选取的各种合理方案的利弊,从中选出一个最佳方案,并且为推荐的这个最佳方案制定详细的实现计划。一旦用户和使用部门的负责人接受了分析员推荐的方案,就应该开始概要设计的第二项工作。2.设计软件体系结构概要设计的第二项重要任务是设计软件的体系结构,也就是确定软件系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。通常,程序中的一个模块完成一个适当
4、的子功能。应该把模块组织成良好的层次系统,顶层模块通过调用它的下层模块来实现程序的完整功能,顶层模块下面的每个模块再调用更下层的模块从而完成程序的一个子功能,最下层的模块完成最具体的功能。设计出初步的软件结构之后,分析员还应该从多方面改进软件结构,以便得到更合理的软件结构。从上面的叙述中不难看出,在详细设计之前先进行概要设计的必要性:分析员可以站在全局高度上,花较少的成本,在比较抽象的层次上分析对比多种可能的系统实现方案和多种可能的软件体系结构,从中选出最佳方案和最合理的软件结构,从而用较低的成本开发出较高质量的软件系统。3.1.2详细设计的任务详细设计阶段的根本目标,是确定怎样具体地实
5、现所要求的软件系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体说来,详细设计主要有以下三项任务:●过程设计,即设计软件体系结构中所包含的每个模块的实现算法;●数据设计,即设计软件中需要的数据结构;●接口设计,即设计软件内部各模块之间、软件与协作系统之间以及软件与使用它的人之间的通信方式。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。因此,详细设计的结果基本上决定了最终的程序代码的质量。考虑程序代码的质量时必须注意,程序的“读者”有
6、两个,那就是计算机和人。在软件的生命周期中,设计测试方案,诊断程序错误,修改和改进程序等等都必须首先读懂程序。实际上对于长期使用的软件系统而言,人读程序的时间可能比写程序的时间还要长得多。因此,衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑基础。3.2从分析过渡到设计系统分析的基本任务是定义用户需要的软件系统,也就是回答系统必须“做什么”这个关键问题;系统设计的基本任务是设计实现目
7、标系统的具体方案,也就是回答“怎样做”这个关键问题。虽然系统分析与系统设计的任务性质不同,但是两者却有十分密切的关系。软件设计必须依据用户对软件的需求来进行,因此,结构化分析的结果是结构化设计的最基本、最重要的输入信息。体系结构设计的任务是,确定程序由哪些模块组成以及这些模块相互间的关系。在需求分析阶段画出的数据流图,是进行体系结构设计的主要依据,为体系结构设计提供了最基本的输入信息。本章3.7节讲述的面向数据流的设计方法,甚至直接
此文档下载收益归作者所有