Page 33 - 计算机应用软件开发技术研究
P. 33
第一章 软件工程
有计划地在管理之下实行的。
(三)软件过程的阶段划分
软件工程过程活动包括需求分析、设计、实现、确认及支持等,它们对应于
软件开发过程的不同阶段。一般来说,软件开发都要经历从分析设计到实现确认
的过程。在每个阶段按照相应的规范进行工作,并得到该阶段的成果,是保证整
个开发过程成功的关键。
1.需求分析
需求分析阶段处于软件开发的前期,其基本活动是准确定义未来系统的目
标,确定为了满足用户的需求必须做什么。需求分析又划分为两个阶段,即需求
获取和需求规约,前者是用自然语言清楚地描述用户的要求,而后者的目的是消
除获取需求的二义性和不一致性。
在软件生命周期中,一个错误发现得越晚,修复错误的费用就越高,所以
高质量的需求分析工作是软件项目得以正确、高效完成的前提。对于系统分析人
员,建立需求面临着以下三个方面的困难:
第一,问题空间的理解。系统开发人员通常是计算机专业人员,难以深入理
解各种业务系统所要解决的问题空间。
第二,人与人之间的通信。对于系统分析人员而言,通信主要包括与用户
的通信以及同事之间的通信,由于自然语言的二义性,会给准确刻画需求造成
障碍。
第三,需求的不断变化。造成需求变化的原因很多,包括技术、用户方和市
场等,作为分析人员,必须采用一些策略以适应变化。
面向对象的分析方法被认为是解决上述困难较好的技术方法,但是完整、准
确地刻画问题空间始终是分析人员所面临的挑战。
2.系统设计
一般来说,需求分析阶段的主要任务是确定系统“做什么”,而设计阶段
则要解决“怎么做”的问题。通常设计阶段又划分为总体设计和详细设计,总体
设计确定系统的总体结构框架;而详细设计要具体地描述如何实现系统,通常可
以依据详细设计的结果进行编码。详细设计的内容包括:详细的算法,数据表
示和数据结构,实施的功能和使用数据之间的关系。详细设计过程中,采用了一
些工具,以便对数据、算法等进行描述,这些工具包括流程图、PAD(Problem
·21·

