《软件工程》-面向过程的软件设计方法

【前言】
软件设计的目标和任务
软件设计基础
模块独立性
结构化设计方法
数据设计和文件设计、过程设计
【内容】
1.软件设计的目标和任务
根据用信息域表示的软件需求,以及功能和性能需求,进行
数据设计:数据结构定义
系统结构设计:软件的系统各主要成分之间的关系
过程设计:结构成分转换为软件过程性描述。
2.软件设计任务分类
(1)从工程管理的角度来看,软件设计分两步完成:
概要设计:总体设计,将软件的需求转换为数据结构和软件的系统结构
详细设计:过程设计,过程细化,得到软件的详细的数据结构和算法。
(2)从管理观点的角度来看,软件设计分两步完成:概要设计、详细设计
(3)从技术观点的角度来看,软件设计分三步完成:数据设计、系统结构设计、过程设计
3.软件设计过程
制定规范
软件系统结构的总体设计
处理方式设计
数据结构设计
可靠性设计
编写概要设计阶段的文档
概要设计评审
4.软件设计基础
(1)自顶向下,逐步细化
将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化。
(2)软件结构
软件结构包括两部分:程序的模块结构和数据的结构
(3)程序结构

《软件工程》-面向过程的软件设计方法
b.模块的调用关系和接口
《软件工程》-面向过程的软件设计方法
菱形:A有条件调用B,弧形:A循环调用C和D。
(5)模块化
能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。
(6)抽象化
a.模块抽象
软件系统进行模块设计时,可有不同的抽象层次。
抽象层次1:用问题所处环境的术语来描述这个软件;
抽象层次2:任务需求的描述;
抽象层次3:程序过程的表示。以2-D(二维)绘图生成任务为例。
b.数据抽象
在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。
(7)信息隐蔽
是指划分模块或定义层次时,若模块内的数据发生变化,要尽量不影响到其他模块或是少影响。
5.模块独立性
划分模块的独立性
是指软件系统中每个模块只涉及软件要求的具体的子功能。
模块一般具有如下三个基本属性:
功能:描述该模块实现什么功能
逻辑:描述模块内部怎么做
状态:该模块使用时的环境和条件
模块独立性一般采用两个准则度量模块独立性。
即模块间耦合和模块内聚.
(1)模块间耦合
《软件工程》-面向过程的软件设计方法
g.内容耦合(Content Coupling)
《软件工程》-面向过程的软件设计方法
a.功能内聚(Functional Cohesion)
一个模块中各个部分都是完成某一具体功能必不可少的组成部分,是不可分割的。
b.信息内聚(Informational Cohesion)
这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。
c.通信内聚(Communication Cohesion)
如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。
《软件工程》-面向过程的软件设计方法
《软件工程》-面向过程的软件设计方法
7.分析
即变换分析和事务分析
(1)变换分析方法由以下四步组成:
重画数据流图;
区分有效(逻辑)输入、有效(逻辑)输出和中心变换部分;
进行一级分解,设计上层,模块;
进行二级分解,设计输入、输出和中心变换部分的中、下层模块。
注意:
(1)在选择模块设计的次序时,必须对一个模块的全部直接下属模块都设计完成。
(2)在设计下层模块时,应考虑模块的耦合和内聚问题。
(3)使用“黑箱”技:在设计当前模块时,先把这个模块的所有下层模块定义成“黑箱”。
(4)在模块划分时,一个模块的直接下属模块一般在5个左右。
(5)如果出现了以下情况,就停止模块的功能分解:
a.当模块不能再细分为明显的子任务时;
b.当分解成用户提供的模块或程序库的子程序时;
c.当模块的界面是输入/输出设备传送的信息时;
d.当模块不宜再分解的过小时。
(2)事务分析:
与变换分析一样,事务分析也是从分析数据流图开始,自顶向下,逐步分解,建立系统到结构图。
《软件工程》-面向过程的软件设计方法
N-S图
也叫做盒图。五种基本控制结构由五种图形构件表示:
《软件工程》-面向过程的软件设计方法
判定表
用于表示程序的静态逻辑。在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理。
要求将程序流程图中的多分支判断都改成两分支判断:
《软件工程》-面向过程的软件设计方法
PDL
PDL是一种用于描述功能模块的算法设计和加工细节的语言。称为设计程序用语言。它是一种伪码。
PDL具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法又是灵活自由的,可使用自然语言的词汇。
13.概要设计说明书
1.引言
1.1编写目的
1.2项目背景
1.3定义
1.4参考资料
2.任务描述
2.1目标
2.2运行环境
2.3需求概述
2.4条件与限制
3.总体设计
3.1处理流程
3.2总体结构和模块外部设计
3.3功能分配
4.接口设计
4.1外部接口
4.2内部接口
5.数据结构设计
5.1逻辑结构设计
5.2物理结构设计
5.3数据结构与程序的关系
6.运行设计
6.1运行模块的组合
6.2运行控制
6.3运行时间
7.出错处理设计
7.1出错输出信息
7.2出错处理对策
8.安全保密设计
9.维护设计
14.详细设计说明书
1.引言
1.1编写目的
1.2项目背景
1.3定义
1.4参考资料
2.总体设计
2.1需求概述
2.2软件结构
3.程序描述
3.1功能
3.2性能
3.3输入项目
3.4输出项目
3.5算法
3.6程序逻辑
3.7接口
3.8存储分配
3.9限制条件
3.10测试要点

来源:有名呀

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年11月9日
下一篇 2018年11月9日

相关推荐