当前位置:文档之家› 面向过程分析及设计

面向过程分析及设计

软件开发环境与工具
软件概论 软Βιβλιοθήκη 分析与设计基础 面向过程分析与设计
面向对象分析与设计
2.1 面向过程分析与设计
1026班小组
数据库建模与设计 软件分析与设计CASE工具 数据库工具 Visual Studio集成开发环境 Visual C#语言基础 Visual C#程序设计
数据访问
软件测试基础与工具 软件项目管理工具
数据流图基本图形符号
2.1.1 结构化分析
1.数据流图
A * B
C 数据A和B同时输入 变换成C
A
B
*
数据A变成B和C
C
A B + C A 数据A变成B或C(不 能B和C)
A
+
B
A + B
C 数据A或B(不能同 时)输入变成C
C 数据A或B,或A和B 同时输入变成C
+
B 数据A变成B或C,或 B和C C
2.1.2 结构化设计
1.结构化设计的基本原则
其它模块保持中等内聚
最低层模块保持高内聚
2.1.2 结构化设计
2.概要设计
f2
B
f3
D
f4
A
f1
C
f6 f5
F
f7
f8
E
输入
变换中心
输出
变换型数据流图
2.1.2 结构化设计
2.概要设计
主模块
f3 f3 f7 f7
get f3
f2 f2 f3 f3
将f3变成f7
T x1 x2 y1 T T
x>0
F S1
UNTIL L y>0
F
z>0
F S2 y2
z1 z2
PAD图
THE END
THANK YOU
1026班
这些数据的基本转换路径和策略说明性信息。 处理过程描述={处理过程名,编号,说明,输入:{数据流},输入{数 据流},处理:{简要说明}}
2.1.1 结构化分析
2.数据字典 一般来说,数据字典应包括: 数据项 数据结构 数据流 数据存储 处理过程 外部实体
外部实体是系统的“人机”界面,系统的数据流由外部实体流入,经过加工 处理之后,向外部实体流出。 外部实体描述={外部实体的名称,编号,输入:{数据流},输出:{数 据流}}
2.1.1 结构化分析
2.数据字典 一般来说,数据字典应包括: 数据项 数据项是数据的最小组成单位,若干个数据项可以组成以个数据结构 数据结构 数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值 数据流 范围,取值含义,与其他数据项的逻辑关系} 数据存储 处理过程 外部实体
2.1.1 结构化分析
数据耦合 特征耦合
中耦合
控制耦合
较强耦合
强耦合
公共耦合
内容耦合
尽量使用数据耦合,少用控制耦合, 限制公共环境耦合的范围,完全不用内容耦合
2.1.2 结构化设计
1.结构化设计的基本原则
内聚标志一个模块内各个元素彼此结合的紧密程度。简单地说,理想内聚 的模块只做一件事情。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且 效果和高内聚相差不多;但是,低内聚很坏,不要使用。 内聚类型:
详细设计
概要设计
2.1.1 结构化分析
1.数据流图 数据流图是数据在系统内的传输途径,数据流图从数据传递 和加工的角度,以图形的方式刻画数据流从输入到输出的变化 过程。
图形符号
等价符号 描述
数据输入的原点和数据输出的汇点
1
加工,输入数据在此进行变换,产 生输出数据 数据流,被加工的数据与流向
N
数据存储文件,须加以命名 (图中N为文件编号)
2.1.1 结构化分析
2.数据字典 一般来说,数据字典应包括: 数据项 数据结构 数据流 数据存储 数据存储是数据结构停留或保存的地方。 处理过程 数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流, 外部实体 组成:{数据结构},数据量,存取方式}
2.1.1 结构化分析
2.数据字典 一般来说,数据字典应包括: 数据项 数据结构 数据流 数据存储 处理过程 处理过程应描述处理逻辑的功能,详细地描述其输入 /输出的数据流,以及 外部实体
2.1.2 结构化设计
1.结构化设计的基本原则 什么是模块? 模块是由边界元素限定的相邻的程序元素的序列,而且有一个 总体标识符来代表它。 模块是具有一定接口,能完成一定功能的系统组成部分。 什么是模块化? 模块化就是把程序划分成独立命名且可独立访问的模块,每个 模块完成一个子功能,把这些模块集成起来构成一个整体,就 可以满足用户的需求。 背后的理论:把复杂问题分解成许多容易解决的小问题,则原 来的问题也就容易解决了。
数据流图加工关系及图形符号
2.1.1 结构化分析
1.数据流图
F S DFD/L0 F
F
1
3
F
2
DFD/L1
F 1.2 1.3 DFD/L2.1
1.1 2.2
2.1 2.4 DFD/L2.2 分层数据流图
2.3 3.2
3.1
3.3 F DFD/L2.3
2.1.1 结构化分析
2.数据字典 作为结构化分析阶段的重要工具,数据字典的作用 是给数据流图上的每个成分加以定义和说明,作为数据 流图的细节补充,和数据流图一起构成完整的系统需求 模型。话句话说,数据流图上所有成分的定义和解释的 文字集合就是数据字典,而且在数据字典中建立的一组 严密一直的定义有助于分析员和用户的交流。
2.1.2 结构化设计
1.结构化设计的基本原则
耦合是对一个软件结构内不同模块之间互连程度的度量。 在软件设计中应该追求尽可能松散耦合的系统。
容易定位问题
容易修改 耦合类型
无耦合
数据耦合 控制耦合
特征耦合
公共耦合 内容耦合
2.1.2 结构化设计
1.结构化设计的基本原则
耦合程度
耦合类型 无耦合
低耦合
2.1 面向过程分析与设计
结构化分析于10世纪70年代后期提出,是一种基于功 能分解的需求分析方法,它以数据流图表达需求,以数据 字典表示数据的逻辑定义。结构化设计在于确定软件结构, 主要用来指导软件的概要设计与详细设计。 核心思想:自顶向下、逐步求精 基本手段:分解和抽象
分析与设计的关系
过程设计 数据 字典 状态图 控制规格说明 接口设计 体系结构设计 数据设计
2.1.2 结构化设计
1.结构化设计的基本原则
成 本
最小成本 区
软件成 本
接口成本
成本/模块
模块数量
2.1.2 结构化设计
1.结构化设计的基本原则 模块化的优点 采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅 读和理解。 因为程序错误通常局限在有关的模块及它们之间的接口中,所 以模块化使软件容易测试和调试,因而有助于提高软件的可靠 性。 因为变动往往只涉及少数几个模块,所以模块化能够提高软件 的可修改性。
偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚
2.1.2 结构化设计
1.结构化设计的基本原则
内聚程度 高内聚 中内聚
内聚类型
功能内聚 顺序内聚
过程内聚 通信内聚 时间内聚 逻辑内聚 偶然内聚
低内聚
2.1.2 结构化设计
1.结构化设计的基本原则 内聚和耦合是密切相关的,模块内的高内聚往往意味着模块间的 松耦合。内聚和耦合都是进行模块化设计的有力工具,但是实践 表明内聚更重要,应该把更多注意力集中到提高模块的内聚程度 上。 事实上,没有必要精确确定内聚的级别。重要的是设计时力争做 到高内聚,并且能够辨认出低内聚的模块,有能力通过修改设计 提高模块的内聚程度降低模块间的耦合程度,从而获得较高的模 块独立性。
模块化也有助于软件开发工程的组织管理,一个复杂的大型程 序可以由许多程序员分工编写不同的模块,并且可以进一步分 配技术熟练的程序员编写困难的模块。
2.1.2 结构化设计
1.结构化设计的基本原则 模块独立的概念是模块化、抽象、逐步求精和信息隐藏等概念的 直接结果,也是完成有效的模块设计的基本标准。 开发具有独立功能而且和其它模块间没有过多相互作用的模块, 就可以做到模块独立。 模块的独立程度可以由两个定性标准来度量,这两个标准分别称 为内聚和耦合。
f5 f4 f4 f6 f7 f5 f6 f7
put f7
f8 f8
get f2
f1 f1 f2
B
C
D
E
F
put f8
get f1
A
软件结构图
2.1.2 结构化设计
3.详细设计
REPEAT IF x>0 THEN x1 ELSE x2 ENDIF; S1; IF y>0 THEN y1 IF z>0 THEN z1 ELSE z2 ENDIF; S2; ELSE y2; ENDIF; UNTIL L;
2.数据字典 一般来说,数据字典应包括: 数据项 数据结构 数据结构反映了数据之间的组合关系。数据结构可以由若干数据结构组成, 数据流 或由若干数据项和数据结构混合组成。 数据存储 ={数据结构名,含义说明,组成:{数据项或数据结构}} 数据结构描述 处理过程 外部实体
2.1.1 结构化分析
2.数据字典 一般来说,数据字典应包括: 数据项 数据结构 数据流 数据流是数据结构在系统内的传输路径。 数据存储 数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据 处理过程 结构},平均流量,高峰期流量} 外部实体
相关主题