【软件工程】面向过程的软件设计方法

本文介绍了软件设计阶段的概要设计和详细设计,强调了自顶向下、逐步细化的方法。概要设计关注系统结构,包括模块划分和层次;详细设计则涉及数据设计。文章提到了程序结构图、结构图、模块独立性原则,以及不同类型的模块。此外,还讨论了程序流程图、N-S图和PAD图在软件设计中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

前面的学习对软件工程中的计划、需求分析有了一定的了解,今天将软件设计方法方面的知识进行总结。

导图

在这里插入图片描述

软件设计阶段的任务主要是完成软件设计的概要设计和详细设计。
在这里插入图片描述
概要设计阶段只要是完成系统的结构设计,包括划分模块以及模块的层次。而详细设计阶段主要是完成数据设计,例如对数据的描述,定义等。

为了实现软件设计阶段的工作,需要有一些技术基础,包括:

1.自顶向下,逐步细化:将软件的体系结构按自顶向下方式,对各个层次的过程逐层细化。把一个大的问题,分解成若干个子问题,从顶层开使进行划分,一直到不能再分解为止。
2.软件结构包括两部分:程序的模块结构和数据结构,软件的体系结构通过划分的过程:需求分析——确立的目标系统——模型出发——对整个问题进行分解,再对子问题进行求解。
程序结构图:
在这里插入图片描述
3.结构图:反应程序中之间的层次调用关系和联系。
4.所谓模块,是指具有相对独立性的,由数据说明,执行语句等程序对象构成的集合。
在这里插入图片描述

这是一张程序的系统结构图:
在这里插入图片描述
宽度:表示任一层模块数的多少,也就是每一层当中有多少个模块!
深度:表示模块的层次数。即图中有多少个层次。
扇出:表示每一模块带出的多少,也就是负载。例如,C的扇出为2,B的扇出为1.
扇入:表示这个模块被多少个模块调用。例如T的扇入为4,注意的是,扇入一般为1—5之间。

模块的独立性是指每个模块只需完成系统要求的独立子功能,与其他模块的联系少!一般遵循高内聚、低耦合的原则。
系统结构图中的模块主要包括以下模块:
在这里插入图片描述
传入模块:从下属模块中取得数据,经过某些处理,传入上级模块,传送的是逻辑数据流。
传出模块:从上级模块获得数据处理之后传到下级模块。
变换模块:从上级模块取得数据,经过特定处理之后,又返回到下级模块。
协调模块:对所有的下属模块进行协调和管理,例如d图中把X经过协调之后,变成了Y。

程序流程图:五种基本控制结构
在这里插入图片描述
N-S图:也叫盒图,五种基本控制结构
在这里插入图片描述
PAD图:问题分析图
在这里插入图片描述
使用问题分析图的好处是:

1.使用PAD图一定是结构化的程序
2.用PAD图描述的流程图比较清晰
3.可以表示程序的逻辑结构,易懂而且便于我们记忆。
4.嵌套层次清晰,可以很容易的将PAD图转变为高级的程序
5.可以描述数据结构
6.支持自顶向下,逐步求精方法使用。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值