第七章 数据库应用系统功能设计 7.1 软件体系结构与设计过程
. D# c, W, W. ~# u! [9 u0 Z 7.1.1 软体体系结构# o7 ^* ^* f/ F5 F, i
1、 软件体系结构又称软件架构,软件体系结构={构件,连接件,约束}。/ L9 j: n6 ]6 D3 l
2、 构件是组成系统的具有一定独立功能的不同粒度的程序模块、独立程序或软件子系统,是组成软件的系统元素;& u( D: H# I- u6 Q/ t" m
3、 连接件将不同的构件连接起来,表示了构件间的相互作用;9 a% p1 T% [0 l: ~) V! a
4、 约束一般是对象连接时的规则,或指明了构件连接的条件。
7 ~; s i# P: O5 A& N+ H. S( R2 H2 X, e 5、 软件体系结构描述了软件系统的总体组织和层次结构、系统元素及其功能分配、全局控制、系统元素间的协调和交互、数据存取等;
, H1 G. W7 u4 Y1 [0 I3 A2 T6 [ 7.1.2 软件设计过程
3 ]: S* P: o2 b# ~+ V9 d 1、 概要设计2 l. i3 Q! n0 s" y* w" |/ n
(1) 定义:是建立软件系统的总体结构和模块间的关系,定义各功能模块的接口,设计全局数据库、规定设计约束、制定组装测试计划;8 d8 {2 g- |2 f/ E/ _
(2) 一个好的概要设计要求是:良好的总体结构、功能模块间较低的耦合度和较高的内聚度,并尽量降低模块接口的复杂性;* V0 z- ~9 i, W- K5 |
(3) 可以采用层次结构图表示软件总体结构,图中节点代表功能模块。/ W3 ~6 i: i6 w
2、 详细设计4 D6 r" M8 P j6 B9 R! ^% Z8 i( o" N
(1) 是细化概要设计产生的功能模块,形成可编程的程序模块,并用某种过程设计语言设计程序模块的内部细节,为编写软件代码提供依据。
# a/ @$ k a0 _2 f" z, u' U (2) 可选用结构化设计方法、面向对象设计方法等;2 A5 f+ M' B( [) D6 a. f
3、 关于软件总体设计. Z5 E# k, x9 g o) Z) N; n
(1) 一些大的DBAS可根据逐步抽象和层次化原则,将概要设计分解成两个步骤:
4 g# G. t, a2 A+ ]+ c& S (A) 首先是软件总体结构设计,即对软件需求进行分解;
: Z! Y5 y9 s9 v (B) 第二步是将每个子系统进一步划分为功能模块,定义各模块的数据结构、相互间交互关系;; k, {; ]7 Z& S
7.2 DBAS总体设计. I5 T) ~# K- W1 S' J9 L8 e
7.2.1 系统总体设计: W; \5 Q0 x& d% C9 G) B/ Y- a3 ~
任务:是根据系统规划与分析结果,特别是技术可行性分析,以及系统需求规范,确定系统总体框架,作为后续设计活动的基础。
" n; ]5 E" m8 U 1、 确定DBAS体系结构
/ U2 N i/ R+ W( Y& X d (1) 指将系统从功能、层次结构、地理分布等角度进行分解,划分为多个子系统。定义各子系统应实现的功能,设计全局控制,明确各子系统间的交互和接口关系;" r" a1 Z1 a/ E& j3 K* r
(2) 可以从功能角度进行分解,也可以根据DBAS自身固有的层次结构特征进行分解;
7 S7 Q+ Q( R. A7 m, s (3) 将系统分解为多个子系统后,需选择和设计合适的系统体系结构,将这些子系统组织起来,并设计它们之间的交互关系;
0 }5 h5 `- z* p+ c; C2 K (4) DBAS体系结构可采用一些通用体系结构,也可根据DBAS所属的特定应用领域相关的体系结构。
% I8 h5 @+ [3 Q+ c/ F+ P0 u 2、软硬件造型和配置设计
3 A1 W3 [8 J6 l1 }) M' y& ]) E (1) 总体设计阶段需要对系统的软硬件平台、存储设备、操作系统、数据库管理系统等作出合理的选择,并进行初步配置设计;
2 }& N/ Z3 S8 o0 `% [ (2) 还需要选择系统开发采用的合适的中间件和开发工具,确定开发模式和开发语言;
; |! ?1 |6 ?; d7 s- }: j 3、应用软件总体设计( z' b+ i x1 a# F" d7 x1 k
根据系统体系结构,确定相应的软件系统模块划分、功能分配,选择合适的软件体系结构;/ G0 V; a! e5 G! z$ n: r( ?; F
4、业务规划初步设计 |