第3章概要设计_第1页
第3章概要设计_第2页
第3章概要设计_第3页
第3章概要设计_第4页
第3章概要设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上页上页下页下页n 3.1 软件设计概述n 3.2 软件设计基本原则n 3.3 概要设计的任务和步骤n 3.4 软件结构图n 3.5 结构化设计方法n 3.6 数据设计n 3.7 接口设计n 3.8 概要设计说明书n 3.9 案例分析n 3.10 小结上页上页下页下页3.1.1 软件设计概念与重要性软件设计概念与重要性3.1.2 软件设计的任务与策略软件设计的任务与策略上页上页下页下页n软件设计就是根据软件需求分析阶段产生的数据和功能需求,采用某种设计方法进行概要设计(体系结构设计、数据设计/数据库设计)、详细设计(模块设计、过程设计、用户界面设计),生成所要构造的实体过程,是软件工程的技术核

2、心。 上页上页下页下页n 软件设计是把需求转化为软件系统的最重要的环节,其优劣在根本上决定了软件系统的质量,重要性表现为以下两方面。(1)软件设计是开发阶段最重要的步骤,是软件质量得以保证的关键步骤。(2)软件设计是将用户要求准确地转化为最终的软件产品的惟一途径。上页上页下页下页1软件设计是一个把需求分析变换成软件表示的过程。(1)概要设计 。(2)详细设计。2在进行软件开发系统分析时需要遵循的策略。上页上页下页下页n 概要设计:将软件需求转化为数据结构和软件的系统结构。概要设计只是描绘出软件的总体框架,根据功能、性能需求和数据需求导出软件的数据结构和系统结构。n 概括地说,概要设计进行数据设

3、计/数据库设计和系统体系结构设计。上页上页下页下页n 详细设计:对结构进行细化,得到软件的详细的数据结构和算法。对概要设计过程中给出的各种结构成分进行详细的加工,得到在程序细节上非常接近于源程序的软件表示。n 概括地说,详细设计就是进行过程设计。上页上页下页下页1. “简单复杂简单”。2. 软件复用技术。3. 模块化概念。上页上页下页下页1抽象与分解2模块化和信息隐藏3模块独立性上页上页下页下页n 抽象是一种思考和解决问题的形式,它集中注意事物某个一般性级别上的问题,避开不必要的低层细节。抽象可以分成若干级别,级别越高,细节就越少。 n 抽象过程是指具有特定功能的一个命令的指令序列。 n 抽象

4、数据则是描述数据对象的一个命名的数据集合。 n 分解的主要思想是将某个宏观功能不断分解,逐步确立过程细节,直至用程序设计语言描述的算法实现为止。 上页上页下页下页n 合理的软件结构应该是分块的结构,即软件应该分解成可单独命名的且可访问的部件,这些部件称为模块。n 这种将软件分成具有一定结构的模块的过程称为模块化。n 信息隐藏是指模块中所包含的信息(包括数据和过程)对不需要这些信息的其他模块是不可访问的。这样,每一个将来可能的改变都会局部于一个特定的模块,改变该模块的内部过程或数据的设计不会影响到其他模块。 上页上页下页下页n模块独立性是模块化、抽象和信息隐藏的直接产物,其基本含义是每一个模块只

5、完成功能需求中的一个特定的子功能,而且从程序结构的其他部分来访问这一模块只具有一个简单的接口。 n衡量模块独立性的两个定性度量标准是耦合和内聚。上页上页下页下页n软件结构中模块之间互相依赖的程度用耦合来度量。n耦合强弱取决于模块间接口的复杂程度,一般由模块之间的调用方式、传递信息的类型和数量来决定。n在设计软件结构时应追求尽可能松散的耦合。 上页上页下页下页n 耦合有以下5类: 数据耦合 控制耦合 特征耦合 公共环境耦合 内容耦合上页上页下页下页n 为了降低模块间的耦合程度,应采用以下设计原则: 在传递信息时尽量使用数据耦合,少用控制耦合和特征耦合。在耦合方式上,通过语句调用,用参数传递信息,

6、不采用直接引用方式(内容耦合),尽量控制公共环境耦合。 模块之间相互调用时,传递的参数最好只有一个,最多不超过四个。 在设计模块时尽量做到把模块之间的连接限制到最少,模块环境的任何变化,都不应引起模块内部发生改变。上页上页下页下页n一个模块内各个元素彼此结合的紧密程度用内聚来度量。n理想的模块只完成一个功能,模块设计的目标之一是尽可能高的内聚。上页上页下页下页n 内聚有以下7类:偶然内聚逻辑内聚时间内聚过程内聚通信内聚顺序内聚功能内聚上页上页下页下页n上述几种内聚按紧密程度从高到低排列次序分别为功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚。n其中,功能内聚最理想,一个模

7、块完成一个功能,独立性强,内部结构紧密。上页上页下页下页1确定设计方案 设计供选择的方案 推荐最佳实现方案2软件结构设计 功能分解 设计软件结构3数据文件设计4制定测试计划5书写概要设计文档上页上页下页下页n软件结构图是描述软件系统层次结构的模型,它表达了应该用什么样的结构来实现用户的需求。 图3-1 一个简单的软件结构图上页上页下页下页n结构化设计方法通常也叫做面向数据流的设计或面向过程的设计。结构化设计是基于模块化的、自顶向下、逐步求精等技术基础上的设计方法。n结构化设计方法以需求分析阶段获得的数据流图为基础,通过一系列映射,把数据流图变换为软件结构图。 上页上页下页下页n在数据流图中,数

8、据流分为变换型数据流和事务型数据流两种。n所谓变换,是指把输入的数据处理后转变成另外的输出数据。n所谓事务,是指非数据变换的处理,它将输入的数据流分散成许多数据流,形成若干个加工,然后选择其中一个路径来执行。 上页上页下页下页1区分系统的逻辑输入、变换中心和逻辑输区分系统的逻辑输入、变换中心和逻辑输出出2设计软件结构的顶层和第一层设计软件结构的顶层和第一层 3设计中、下层模块设计中、下层模块上页上页下页下页(1)确定数据流图中的事务中心、接收路径)确定数据流图中的事务中心、接收路径和加工路径和加工路径(2)确定软件结构的顶层和第一层)确定软件结构的顶层和第一层(3)分解、细化接收路径和加工路径

9、,得到)分解、细化接收路径和加工路径,得到软件结构的下层模块软件结构的下层模块上页上页下页下页1.数据设计的原则数据设计的原则数据设计是为在需求分析阶段所确定的数据对象定义数据设计是为在需求分析阶段所确定的数据对象定义逻辑数据结构,并且对不同的逻辑数据结构进行算逻辑数据结构,并且对不同的逻辑数据结构进行算法设计,确定实现逻辑数据结构所必需的操作模块,法设计,确定实现逻辑数据结构所必需的操作模块,以便了解数据结构的影响范围。以便了解数据结构的影响范围。 2.数据结构设计数据结构设计 选择合适的数据结构会使程序的控制结构简洁,易选择合适的数据结构会使程序的控制结构简洁,易于理解和维护,占用的系统资

10、源少,程序运行效率于理解和维护,占用的系统资源少,程序运行效率高。高。 上页上页下页下页n数据库设计是指对于一个给定的应用环境,数据库设计是指对于一个给定的应用环境,构造最佳的数据库模式。建立数据库及其应构造最佳的数据库模式。建立数据库及其应用系统,使其能够有效地存取数据,满足各用系统,使其能够有效地存取数据,满足各种用户的应用要求。种用户的应用要求。(1)概念结构设计)概念结构设计(2)逻辑结构设计)逻辑结构设计(3)物理结构设计)物理结构设计上页上页下页下页1.模块间的接口设计模块间的接口设计2.模块的外部接口设计模块的外部接口设计上页上页下页下页(1)引言(2)总体设计(3)接口设计(4)运行设计(5)系统数据结构设计(6)系统出错处理设计上页上页下页下页n对于图书馆信息管理系统,通过需求分析可以将系统分为5个子系统设计。 上页上页下页下页上页上页下页下页n 软件设计的重要性在于好的设计才能保证高质量。软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论