您的位置:首页 > 其它

面向过程的软件设计方法

2012-12-15 09:43 169 查看
前面主要是对系统的分析,从而明确我们系统的逻辑模型。也就是说,通过前面几章我们清楚了“系统需要做什么?”。而软件设计阶段主要任务则是要实现系统逻辑模型向物流模型的转化,即“系统是如何实现”的问题。

例如,下面是面向过程的软件设计方法阶段的一个大概图,主要包括这几个方面:软件设计的目标和任务、软件设计基础、模块独立性、设计类型、结构化设计方法以及最后形成概要设计说明书等。







我们进行软件设计,其主要目标是为了了解软件的需求并且明确软件的主要功能。在这阶段主要产生数据设计,数据结构的定义和过程设计。

例如,下面的开发信息流










从图中我们可以看出,软件设计主要来源于信息域需求,功能与性能的需求。然后在设计阶段主要围绕着数据设计、系统结构设计和过程设计三个方面来进行,最后才进入到下一阶段,即编码阶段。

软件设计阶段的任务主要是完成软件设计的概要设计和详细设计。







在概要设计阶段主要是完成系统的结构设计,包括划分模块以及模块的层次。而详细设计主要是完成数据设计,例如对数据的描述,定义等。

软件设计的目的和任务,规定了我们对软件的具体需求,为了实现这一阶段需要的任务。需要我们具备一些软件技术基础,其包括:

1.自顶向下,逐步细化:将软件的体系结构按自顶向下方式,对各个层次的过程逐层细化。把一个大的问题,分解成若干个子问题,从顶层开使进行划分,一直到不能再分解为止。

2.软件结构包括两部分:程序的模块结构和数据结构,软件的体系结构通过划分的过程:需求分析——确立的目标系统——模型出发——对整个问题进行分解,再对子问题进行求解。

例如下图的程序结构图:







3.结构图:反应程序中之间的层次调用关系和联系。

4.所谓模块,是指具有相对独立性的,由数据说明,执行语句等程序对象构成的集合。







了解了模块之后,我们来了解模块之间的调用关系和接口:







图中表示:A 循环的调用 C和D和有条件的调用B

下面一张是程序的系统结构图:







下面我们来了解图中涉及到的一些基本概念:

宽度:表示任一层模块数的多少,也就是每一层当中有多少个模块!

深度:表示模块的层次数。即图中有多少个层次。

扇出:表示每一模块带出的多少,也就是负载。例如,C的扇出为2,B的扇出为1.

扇入:表示这个模块被多少个模块调用。例如T的扇入为4,注意的是,扇入一般为1—5之间。

模块的对立性:

要了解模块的对立性,我们要先弄清楚什么是模块:所谓模块,是指具有相对独立性的,由数据说明,执行语句等程序对象构成的集合。一个模块具有输入/输出(接口)、功能、内部数据和程序代码四个特征。输入/输出主要是用于实现模块与其他模块间的数据传送,即向模块传入所需原始数据及从模块传出得到的结果数据。功能指模块所完成的工作。内部数据是指仅能在模块内部使用的局部量。程序代码用于描述实现模块功能的具体方法和步骤。

模块的独立性是指每个模块只需完成系统要求的独立子功能,与其他模块的联系少!一般遵循高内聚、低耦合的原则。

系统结构图中的模块主要包括以下模块:







传入模块:从下属模块中取得数据,经过某些处理,传入上级模块,传送的是逻辑数据流。

传出模块:从上级模块获得数据处理之后传到下级模块。

变换模块:从上级模块取得数据,经过特定处理之后,又返回到下级模块。

协调模块:对所有的下属模块进行协调和管理,例如d图中把X经过协调之后,变成了Y。

这几个模块在下面的图当中都会涉及到:特别是在变换型系统结构图和事务型系统结构图中。

例如:变换型系统结构图

变换型数据处理主要分为三步即,取得数据,变换数据和给出数据。







上图中要注意的是:在输入的时候,左边的模块是输入模块,右边的是变换模块,即先输入后变换;在输出的时候,则是要进行先变换后输出。

又如:事务型系统结构图

根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。







事务型数据处理,依赖于变换型,不同的是在事务处理中心有多条道供你选择。如图中出现的调度模块,数据经过调度完成之后,又返回到事务中心,然后进行输出!并且在调度模块提供了多个事务供你选择!

程序流程图:主要有五种基本控制结构:







N-S图:也叫盒图,五种基本控制结构用N-S图表示如下:







PAD图:问题分析图







使用问题分析图的好处是:

1:使用PAD图一定是结构化的程序

2.用PAD图描述的流程图比较清晰

3.可以表示程序的逻辑结构,易懂而且便于我们记忆。

4.嵌套层次清晰,可以很容易的将PAD图转变为高级的程序

5.可以描述数据结构

6.支持自顶向下,逐步求精方法使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: