欢迎来到天天文库
浏览记录
ID:37392852
大小:862.10 KB
页数:47页
时间:2019-05-11
《《软件设计修改》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1软件设计结构化程序设计基本程序结构:顺序结构、分支结构、循环结构智能仪器的软件结构监控程序、测量控制程序、数据处理程序、中断处理程序2模块化与结构化程序设计模块化程序设计自底向上模块化程序设计自顶向下模块化程序设计3模块化设计优点:单个程序模块易于编写、查错、测试及修改;不同的模块可以分配给不同的程序员来编写及测试;程序的易读性好;频繁使用的任务可以编织成模块原则:模块长度需适中;模块之间的控制耦合应尽可能简单,尽量避免多个入口点与出口点;对每个模块做出具体定义;简单的任务不必模块化;多种判定最好在一个模块中完成4是不是模块划分得越多越好呢?当然不是,虽然增加程
2、序中的模块数可以降低开发每个模块的工作量,但同时却增加了设计模块接口的工作量。通过图5.1所示的模块数与软件开发成本的关系图中可以看出,当划分的模块数处于最小成本区时,开发软件的总成本最低。模块化的好处?1、可以降低软件开发的难度;2、可以使程序结构清晰,增加易读性和易修改性;3、模块化还有利于提高代码的可重用性及团队合作开发大型软件的可行性。软件设计中的基本概念和原理5模块数与软件开发成本软件设计中的基本概念和原理62.模块独立性软件设计中的基本概念和原理模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他模块的接口是简单的。耦合模
3、块之间的相对独立性的度量。内聚模块功能强度的度量。71)耦合性耦合性是对一个软件结构内部不同模块间联系紧密程度的度量指标。决定耦合性高低的主要因素由于模块间的联系是通过模块接口实现的,因此,模块耦合性的高低主要取决于模块接口的复杂程度、调用模块的方式以及通过模块接口的数据。模块间的耦合性主要可划分为如下几种类型。低数据耦合公共耦合控制耦合内容耦合高弱强耦合性模块独立性8(1)数据耦合。若两个模块之间仅通过模块参数交换信息,且交换的信息全部为简单数据,则称这种耦合为数据耦合。数据耦合的耦合性最低,通常软件中都包含有数据耦合。数据耦合的例子如下所示:软件设计中的基本概
4、念和原理(2)公共耦合。若两个或多个模块通过引用公共数据相互联系,则称这种耦合为公共耦合。例如,在程序中定义了全局变量,并在多个模块中对全局变量进行了引用,则引用全局变量的多个模块间就具有了公共耦合关系。(3)控制耦合。若模块之间交换的信息中包含有控制信息(尽管有时控制信息是以数据的形式出现的),则称这种耦合为控制耦合。控制耦合是中等程度的耦合,它会增加程序的复杂性。控制耦合的例子如下所示:9(4)内容耦合。若一个模块对另一模块中的内容(包括数据和程序段)进行了直接的引用甚至修改,或通过非正常入口进入到另一模块内部,或一个模块具有多个入口,或两个模块共享一部分代码
5、,则称模块间的这种耦合为内容耦合。内容耦合是所有耦合关系中程度最高的,会使因模块间的联系过于紧密而对后期的开发和维护工作带来很大的麻烦。以上耦合程度的比较如下:软件设计中的基本概念和原理低数据耦合控制耦合控制耦合内容耦合高弱强耦合性模块独立性10智能仪器中软件的主要功能采集信息与外界对话记忆信息处理信息控制功能自我测试自补偿自适应/自校正自学习11软件设计高可靠性高可维护性高可理解性高效率软件设计的目标二、软件设计的目标在设计阶段应达到的目标是:提高可靠性;提高可维护性;提高可理解性;提高效率。衡量该目标的准则:1、软件实体有明显的层次结构,利于软件元素间控制。2
6、、软件实体应该是模块化的,模块具有独立功能。3、软件实体与环境的界面清晰。4、设计规格说明清晰、简洁、完整和无二义性。12软件工程开发模式瀑布式模型系统需求分析软件需求分析设计编码调试维护13软件工程开发模式原型开发模型需求分析快速设计建立原型用户评价原型修改原型生产产品14四代技术(4GT)面向对象生存期模型过程开发模型(混合模型)软件工程开发模式其他开发模型15软件开发三阶段定义阶段系统分析软件项目计划需求分析16需求分析的具体任务:需求分析的具体任务1、确定系统的综合要求系统功能要求—这是最主要的需求,确定系统必须完成的所有功能。系统性能要求—应就具体系统而
7、定,例如可靠性、联机系统的响应时间、存储容量、安全性能等。系统运行要求—主要是对系统运行时的环境要求,如系统软件、数据库管理系统、外存和数据通信接口等。将来可能提出的要求—对将来可能提出的扩充及修改作预准备。2、分析系统的数据要求软件系统本质上是信息处理系统,因此,必须考虑:数据(需要哪些数据、数据间联系、数据性质、结构)数据处理(处理的类型、处理的逻辑功能)3、导出系统的逻辑模型—通常系统的逻辑模型用DFD图来描述。4、修正系统的开发计划—通过需求对系统的成本及进度有了更精确的估算,可进一步修改开发计划。2.1.1软件需求分析的任务17系统定义:输入输出的说明输
8、入字节的规
此文档下载收益归作者所有