4.1 软件开发方法
, ~& m' b% q5 `1 P5 k, { 4.1.1 软件开发生命周期& C! |' e+ |$ N% S
传统的软件生命期 是指软件产品 从形成概念(构思)开始,经过定义、开发、使用、维护、废弃,的全过程。
' g$ W- C- \* _; V5 \( Q( ` 可以把软件生命期划分为 软件定义、软件开发、软件运行与维护,三个阶段。
/ C5 F1 v/ S# ^+ b 1、软件定义时期7 ~: B1 O2 [) e# \8 B* j+ T
1.问题定义,目标系统“是什么”,系统的定位以及范围。
' G1 s f: v& v/ Q* I& q( I" B 2.可行性研究,技术可行性、经济可行性、操作可行性、社会可行性。) t& B2 ^1 V9 L; z4 o. \
3.需求分析,确定软件系统的功能需求、性能需求、运行环境的约束,写出需求规格说明书、软件系统测试大纲、用户手册概要。
" o' g; |& b/ D: Z& l+ K+ w 充分理解用户的需求,并以书面形式写出规格说明书,这是以后软件设计和验收的依据;用户也许很难 一次性 说清楚系统应该做什么。, j+ |/ ]3 I3 Q% w. s) O$ U: \
系统分析员、软件开发人员、用户,共同完成,逐步细化、一致化、完全化 等。
/ y# W" w( {: o: l* t- e/ s 软件需求规格说明 SRS,内容可以有 系统(或子系统)名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则 等。5 x* n: R9 i. x
2、软件开发时期) l: M! A" }2 ^+ f, r- s% m4 s
软件开发时期就是软件的设计与实现,概要设计、详细设计、编码、测试 等。
% Z: {9 v2 u! R1 v0 k 概要设计是在软件需求规格说明的基础上,建立系统的 总体结构(含子系统的划分) 和 模块间的关系,定义功能模块及各功能模块之间的关系。0 j. V, m$ u* o6 W
详细设计对概要设计 产生的功能模块 逐步细化,包括 算法与结构、数据分布、数据组织、模块间接口信息、用户界面 等,写出详细设计报告。: ~% O E B% I6 s
测试可分成 单元测试、集成测试、确认测试、系统测试 等。通常把编码和测试 称为系统的实现。) N. O8 b4 | k" D* Z- a% C _
3、软件运行和维护$ h( n7 v2 V# u" T- K K
软件维护就是尽可能地延长软件的寿命,没有维护的价值时,宣告退役,软件的生命结束。 |