Page 33 - 计算机应用软件开发技术研究
P. 33

第一章  软件工程



             有计划地在管理之下实行的。
                 (三)软件过程的阶段划分
                 软件工程过程活动包括需求分析、设计、实现、确认及支持等,它们对应于

             软件开发过程的不同阶段。一般来说,软件开发都要经历从分析设计到实现确认
             的过程。在每个阶段按照相应的规范进行工作,并得到该阶段的成果,是保证整
             个开发过程成功的关键。
                 1.需求分析

                 需求分析阶段处于软件开发的前期,其基本活动是准确定义未来系统的目
             标,确定为了满足用户的需求必须做什么。需求分析又划分为两个阶段,即需求
             获取和需求规约,前者是用自然语言清楚地描述用户的要求,而后者的目的是消
             除获取需求的二义性和不一致性。

                 在软件生命周期中,一个错误发现得越晚,修复错误的费用就越高,所以
             高质量的需求分析工作是软件项目得以正确、高效完成的前提。对于系统分析人
             员,建立需求面临着以下三个方面的困难:
                 第一,问题空间的理解。系统开发人员通常是计算机专业人员,难以深入理

             解各种业务系统所要解决的问题空间。
                 第二,人与人之间的通信。对于系统分析人员而言,通信主要包括与用户
             的通信以及同事之间的通信,由于自然语言的二义性,会给准确刻画需求造成
             障碍。

                 第三,需求的不断变化。造成需求变化的原因很多,包括技术、用户方和市
             场等,作为分析人员,必须采用一些策略以适应变化。
                 面向对象的分析方法被认为是解决上述困难较好的技术方法,但是完整、准
             确地刻画问题空间始终是分析人员所面临的挑战。

                 2.系统设计
                 一般来说,需求分析阶段的主要任务是确定系统“做什么”,而设计阶段
             则要解决“怎么做”的问题。通常设计阶段又划分为总体设计和详细设计,总体
             设计确定系统的总体结构框架;而详细设计要具体地描述如何实现系统,通常可

             以依据详细设计的结果进行编码。详细设计的内容包括:详细的算法,数据表
             示和数据结构,实施的功能和使用数据之间的关系。详细设计过程中,采用了一
             些工具,以便对数据、算法等进行描述,这些工具包括流程图、PAD(Problem



                                                                                  ·21·
   28   29   30   31   32   33   34   35   36   37   38