1.系统设计概述 系统设计一般分为总体设计和详细设计两个阶段。; m+ h% _0 ^$ W3 ~- D
2.总体设计- x0 @4 s3 d/ V! C
总体设计的任务是确定软件的总体结构。
% V$ u* C& w) K) j 总体设计的目标是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。总体设计可以分为系统设计和软件结构设计。
8 B: u6 `; {) M( ]1 U: T7 ^ 总体设计的典型过程是设想供选择的方案,选取合理的方案,推荐最佳方案,功能分解,设计软件结构,数据库设计,制定测试计划,书写文档,审查和复查。9 U5 \* n9 e9 S U" n: n5 S2 J3 ]
3.软件的结构、过程和模块1 w# A% Z$ A6 j
(1)软件结构。是软件模块间关系的表示。- S n- ]: i/ w* `
(2)软件结构的度量术语如下:2 P3 R, J1 j8 r. k
深度:是表示软件结构中控制的层数。
: e) h5 G, C6 f" @ 宽度:是软件结构内同一层次上的模块总和的最大值。* U! d V# P7 S$ v$ ]
扇出:是一个模块直接控制的模块数。
% i Y1 c( k$ L8 y9 v2 T 扇入:是有多个上级模块直接调用一个模块。7 L. N3 X. E. j/ U& ?
(3)软件过程。软件过程用于描述每个模块的操作细节,同时也包括一个模块对下一层模块控制的操作细节。4 b0 Q/ n, v+ H( k5 R
(4)模块独立性。是设计的软件结构使得每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。模块独立性是用藕合与内聚来度量的。藕合:衡量不同模块彼此之间相互依赖的紧密程度;内聚:衡量一个模块内部各个元素彼此结合的紧密程度。
7 l5 N+ h! ~( L! }9 t 4.面向数据流的设计方法8 H! p! R( c4 y
面向数据流的设计方法是把信息映射成软件结构,信息流的类型决定映射的方法。
: U* t/ m6 ~6 S0 T (1)变换流是指信息沿输入通路进人系统,同时由外部形式变换成内部形式进人系统;信息通过变换中心,经加工处理后,经输出通路变换成外部形式输出。 u. }/ R+ J# @$ h2 t/ k) S2 Y; l
(2)事务流是指数据沿输入通路到达一个处理T,这个处理T根据输入数据的类型在若干个动作序列中选出一个来执行,这类数据流称为事务流。
" u- G5 ~& a5 q' C# ` (3)面向数据流方法的设计过程是精化数据流图,区分是事务流还是变换流,根据设计准则精化软件结构,导出接口描述和全程数据结构,复查,进人详细设计。2 n. i- X& O- r) `
(4)变换分析指的是将变换流映射为变换结构。变换分析的目的是用一系列设计步骤,把具有变换流特点的数据流按预先确定的模式映射成软件结构。" q; x! V7 {& N7 z2 t. O( p+ m
(5)事务分析。事务分析的设计步骤和变换分析设计步骤大致相似,差别仅在于从数据流图到软件结构的映射方法不同,它将事务中心映射成为软件结构中发送分支的调度模块,将接收通路映射成为软件结构的接收分支。5 V) P- K5 |2 [' l, n& _9 D& X
* F; s4 D1 p; {% @) w3 Q4 d (6)详细设计的任务是为软件结构图中的每一个模块确定所采用的算法和数据结构。 |