欢迎来到天天文库
浏览记录
ID:57005611
大小:2.51 MB
页数:72页
时间:2020-07-26
《概要设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程SoftwareEngineering第4章概要设计主要内容:1.概要设计步骤2.软件结构设计的基本原理3.软件结构设计的图形工具4.概要设计方法5.代码设计6.数据输入/输出设计7.数据的安全设计如果没有设计,只能建立一个不稳定的系统结构图4.1把分析模型转变成软件设计模型E-R图处理规格说明数据流图数据对象描述控制规格说明状态转换图数据字典数据设计体系结构设计接口设计过程设计4.1概要设计步骤概要设计阶段基本任务:系统分析员审查可行性研究报告和需求分析规格说明书,作为设计的基础。确定模块结构、数据文件结构、系统接口设计
2、和测试策略。编写概要设计说明书、用户手册和测试计划。复审概要设计的基本步骤:软件结构设计数据文件设计系统接口设计测试方案设计复审4.1.1软件结构设计设计供选择的方案把数据流图中的某些处理进行逻辑组合,不同的组合可能就是不同的实现方案。抛弃不可行的,提供合理方案的资料。2.推荐最佳实现方案系统分析员选择一个最佳方案向用户推荐并制定详细的实现计划。3.设计软件结构确定模块及其之间的关系程序结构程序的系统结构图4.1.2数据结构及数据库设计数据结构设计常采用逐步细化的方法,在需求分析的基础上进一步细化,可使用抽象的数据类型描述。数据库设计数据库设
3、计主要是数据库结构设计。其依据为需求分析阶段用的E-R图表示的数据模型。数据库的概念设计对应于需求分析阶段,数据库的逻辑设计对应于概要设计阶段,数据库的物理设计对应于详细设计阶段。4.1.3系统接口设计系统接口包括内部接口、外部接口和用户接口。接口设计的任务是描述系统内部各模块之间如何通信、系统与其他系统之间如何通信,以及系统与用户之间如何通信。接口包括了数据流和控制等信息。概要设计阶段的接口设计,是在需求分析的基础上进一步明确系统的内部接口、外部接口和用户接口。4.2软件结构设计的基本原理4.2.1模块与信息隐蔽模块(Module)是能够
4、单独命名,能独立地完成一定功能,由边界元素限定的相邻的程序元素的序列,模块是可以组合、分解和更换的单元。像Pascal或Ada这样的块结构语言中的Begin…end对,或者C,C++和Java语言中的{…}对,都是边界元素的例子。因此,过程、函数、子程序和宏等,都可作为模块。面向对象方法论中的对象是模块,对象内的方法也是模块。模块是构成程序的基本构件。图4.2模块化和软件成本模块划分模块有以下基本属性:名称:模块的名称必须表达该模块的功能,指明每次调用它时应完成的功能。模块的名称由一个动词和一个名词组成。接口:模块的输入和输出功能:模块实现
5、的功能逻辑:模块内部如何实现功能及所需要的数据状态:模块的调用与被调用关系信息隐藏应用模块化原理时,自然会产生的一个问题是:“为了得到最好的一组模块,应该怎样分解软件”。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。模块化就是把系统划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能,满足用户的需求。其目的是降低复杂性。4.2.2模块化采用模块化策略的优点:(1)减少复杂性(2)提高软件的可靠性(3)提高可
6、维护性(4)有助于软件开发工程的组织管理模块分割的方法:(1)抽象与详细化抽象就是抽出事物的本质特性而暂时不考虑它们的细节。抽象(abstract)的结果是抽象(abstraction)。求精实际上是细化过程。求精要求设计者细化原始陈述,随着每个后续求精(细化)步骤的完成而提供越来越多的细节。(2)根据功能来划分模块横向分割:根据系统所包含的功能来分割纵向分割:根据系统对信息进行处理的过程中不同的变换功能来分割Meyer标准1模块可分解性2模块可组装性3模块可理解性4模块连续性5模块保护性我们可以用这五条标准来评价一种设计方法定义有效的模块系
7、统的能力。Meyer提出了五条标准,我们可以用这五条标准来评价一种设计方法定义有效的模块系统的能力。下面列出这五条标准。1模块可分解性2模块可组装性3模块可理解性4模块连续性5模块保护性1模块可分解性如果一种设计方法提供了把问题分解为子问题的系统化机制,它就能降低整个问题的复杂性,从而可以实现一种有效的模块化解决方案。1模块可分解性2模块可组装性3模块可理解性4模块连续性5模块保护性2模块可组装性如果一种设计方法能把现有的(可重用的)设计构件组装成新系统,它就能提供一种并非一切都从头开始做的模块化解决方案。1模块可分解性2模块可组装性3
8、模块可理解性4模块连续性5模块保护性3模块可理解性如果可以把一个模块作为一种独立单元(无需参考其他模块)来理解,那么,这样的模块是易于构造和易于修改的。1模块可
此文档下载收益归作者所有