设计:设计阶段确定系统将如何运行,涉及硬件、软件和网络基础设施;将要使用的用户界面,窗口、窗体和报表;所需的专用程序、数据库和文档。具体步骤如下:
1 J$ m6 D. G; C. Z* i 1)创建设计策略。! I0 l$ i2 N' } X0 V
2)开发系统的基本架构设计,描述要用到的软、硬件和网络设施。
" F! Y; Y+ x( ]. r: U% @0 a) I 3)开发数据库和文档规格。( o- e& \- \/ m& ~9 O1 P! [7 F
4)开发程序设计规格,定义需要编写的程序和每个程序确切要做的事情。
- B: \( y: Y9 b. S+ `; v+ p4 x/ |" y
+ Q; e$ X3 Y: _+ r, f
实现阶段是SDLC的最后阶段,是系统实际构建阶段。主要步骤如下:
! e/ }, d: d/ { G. D
+ J7 T) t5 Q6 `; d. w% @ 1)系统构建。2 E. [$ `4 {2 h$ G8 K+ m6 _ u8 ~
2)系统安装。
2 X7 V/ Y' E' Y 3)建立系统的支持计划。
5 H* z/ R+ }* P- V8 y" O9 w6 S1 A$ g
& z# S, \! S* G: d; O) ? 5、系统开发方法:结构化和面向对象
. a0 k, q2 G# j1 q/ o8 W: C0 C4 H9 I) e- b$ {4 z
结构化:(1)、瀑布式开发
) D) h. C6 |3 C; x0 e/ P# s+ o& R( w9 {$ q0 l" o: h/ D) T$ I0 G
每个阶段都是在前一阶段完成的基础之上才进行。7 X7 Y2 ]" q4 ~* B3 e- ]
2 b6 ]/ `6 ? q. W# ^" b
优点: 系统中编程之前就已确定; 项目进行期间变动不大。) u8 K1 v2 W/ V6 W& t: v+ G% C9 j
8 ]0 I9 ^! Z. R. d% v/ x 缺点: 编程之前需要充分的设计; 需求的变动无法及时得到解决。
, x% o, G5 c* g$ ?# e
+ ^0 b R' u! Q, ^5 ^* F" b (2)、并行开发:在概要设计完成之后分成多个子系统,然后分别进行设计和实现,最后再组合成一个系统。8 y k& @% _- q! m6 h) V; B8 y
: I1 J& d& U/ v4 b E. i1 u$ s6 p
优点: 提高了项目开发的效率。
1 I v9 T$ G D5 q
$ W5 T8 `. {+ L& `) t 缺点: 子项目间可能会相互影响; 项目中加入了子项目的集成。
3 `! ]% I0 N/ p$ T7 U6 w- N; q4 r1 Y8 |
(3)、快速应用开发(Rapid Application Development,RAD)是指结构化方法的基础上创建,用于解决结构化方法中的编程之前需要充分设计和在开发过程中需求变更无法得到及时响应的缺点,使用RAD,可以使系统的部分功能更快的开发并提交给用户。
) a) B* [& E/ c3 B; [% i0 o0 }2 ^) O: I' X7 K% _# Z
遵循RAD的方法主要有:过程为中心,数据为中心,面向对象。, g% P# j( a8 }, W v- G
0 p. Y' C& ^) n
(4)、敏捷开发(Agile Development)是一种新兴的开发方法,它是以编程为中心,注重简化过程,强调迭代式的开发。. J' G8 M1 O$ o7 q. z# e9 t) N
, O! H4 S& W& @* P 遵循敏捷开发的方法主要有:极限编程(eXtremeProgramming,XP),Scrum和动态系统开发方法(Dynamic Systems Development Method,DSDM)。
6 K, I- k& {$ `2 A1 ^) v, N9 w( q2 F3 ~
开发方法的选择主要考虑以下因素:7 o, D- ~0 W" W9 c+ B9 @% E( _
: t! u: N: C3 c! ~% K: i 用户需求的清晰度、技术的属性程度、系统复杂度、系统可靠性、项目的时间进度要求、项目的进度可见性。
' E7 p6 [0 A% A8 G+ d1 w2 ?) g5 W8 `
1 M6 Q3 E! x3 z6 l/ M* \: H Y 6、文档项目文档包括所有的可交付物,有关该项目的历史记录。常见的文档:可行性研究报告;各种计划、需求分析、系统各种设计、程序代码,测试脚本,数据库脚本等,各种分析报告。 |