面向过程的软件设计方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whc888666/article/details/82115891

面向过程

面向过程:是一种以过程为中心的编程思想,就算是面向对象的方法也是含有面向过程的思想的,可以说面向过程是一种基础的方法,它考虑的是实际的实现,一般的面向过程是从上往下步步求精,所有面向过程最重要的是模块化思想方法。其实在过程规模不大时面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按照模块与函数的方法可以很好的组织。

举例

坐火车到A地,面向过程的方法可以简单的将其拟为:(这里似乎并不关心火车本身)
1.火车的启动
2.火车的到达

模块化

模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性。

模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。

模块具有以下几种基本属性:接口、功能、逻辑、状态,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。

在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,来处理复杂、大型的软件。

模块独立性

模块独立性:是软件系统中每个模块只涉及软件要的具体子功能,而和软件中其他的模块接口是简单的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。

1.模块独立的的重要性
(1)、具有独立的模块的软件比较容易开发出来。这是由于能够分割功能而且接口可以简化,当许多人分工合作开发同一个软件是,这个有点尤为的重要。

(2)、独立的模块比较容易测试和维护,这是因为相对来说,修改设计和程序需要的工作量比较小,错误传播的范围小,需要扩充功能时候能够插入模块,总之模块的独立性是优秀设计的关键,而设计又是决定软件质量的关键环节。

2.模块的独立程度
这个可以有两个定性标准度量,这两个标准分别称为内聚和耦合。耦合衡量不同模块彼此间相互依赖的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。

(1)耦合
这里写图片描述
耦合是一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。具体的区分模块间耦合程度的强弱标准如下:

扫描二维码关注公众号,回复: 3027938 查看本文章

a.非直接耦合

b.数据耦合

c.控制耦合

d.公共环境耦合

e.内容耦合

f.标记耦合

g.外部耦合

总之,耦合是影响软件复杂程度的一个重要因素,应该采取的原则是:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。

(2)内聚
这里写图片描述
内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展,简单的说,理想内聚的模块只做一件事情:

a.偶然内聚

b.逻辑内聚

c.时间内聚

d.过程内聚

e.通信内聚

f.功能内聚

过程设计

这里写图片描述
过程设计:又称概要设计,过程设计后将转入详细设计,其主要任务,根据概要设计提供的文档确定每一个模块的算法,内部的数据组织,选定工具清晰正确表达算法,编写详细设计说明书,详细测试试用例与计划,用到如何确定程序的复杂程度的程序图,算法流程图的表述工具,如PAD图,N—S图等。

程序设计的过程

在程序设计过程中要先进行系统设计,复审系统设计与需求分析,确定系统具体的实施方案;然后进行结构设计,确定软件结构,一般步骤:

1.设计系统方案

2.选取一组合理的方案

3.推荐最佳实施方案

4.功能分解

5.软件结构设计

6.数据库设计,文档结构的设计

7.制定测试计划

8.编写概要设计文档

9.审查与复审概要设计文档

猜你喜欢

转载自blog.csdn.net/whc888666/article/details/82115891