总体设计(五个基本原理、软件结构图)

一、总体设计(概要/初步设计)

目的:
系统应该如何实现

1、设计过程
在这里插入图片描述

2、设计准则

  • 模块化
  • 抽象
  • 逐步求精
  • 信息隐藏
  • 模块独立

1. 模块化:
模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
采用模块化原理的优点:
 使软件结构清晰,容易设计、容易阅读和理解。
 使软件容易测试和调试,从而提高软件的可靠性。
 能够提高软件的可修改性。
 有助于软件开发工程的组织管理。

2. 抽象:
把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。

采用抽象原理的优点:
处理复杂系统:一个复杂的动态系统首先可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的概念构造和理解,如此进行下去,直至最低层次的具体元素。

3. 逐步求精
为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。

抽象与求精是一对互补的概念。

 抽象使得设计者能够说明过程和数据,同时却忽略低层细节。
 求精则帮助设计者在设计过程中逐步揭示出低层细节。

4. 信息隐藏
应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。实际上,应该隐藏的不是有关模块的一切信息,而是模块的实现细节。
5. 模块独立
开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。

模块的独立程度由两个定性标准度量,分别是耦合和内聚。

耦合是对一个软件结构内不同模块之间互连程度的度量。尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。

内聚度量一个模块内的各个元素彼此结合的紧密程度。设计时应该力求做到高内聚。

二、描绘软件结构的图形工具

  • 层次图
  • HIPO图
  • 结构图
    结构图中一个方框代表一个模块,框内注明模块的名字或主要功能;方框之间的箭头(或直线)表示模块的调用关系。

三、面向数据流的设计方法

  1. 变换流
    信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫作变换流。
  2. 事务流
    数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流称为事务流。

四、数据流图以及结构图例题

银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款则系统记录存款人姓名、地址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象,用面向数据流的方法设计出该系统的软件结构。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44366125/article/details/105890468
今日推荐