技术开发 频道

软件生存周期各阶段活动定义浅释

    需求分析的难点主要体现在以下几个方面:
     (1)问题的复杂性。
     (2)交流障碍。
     (3)用户对问题的陈述不完备性和不一致性。
     (4)需求易变性。

    针对需求分析人们提出了许多解决方法和自动化分析工具,如结构化分析方法和面向对象分析方法,CASE技术等等。解决问题的方法有许多,但都要遵循一些基本的原则:
     (1) 可以把一个复杂问题按照某种分解方式进行分解并可逐层细化。
     (2) 必须能够表达和理解问题的数据域和功能域。
     (3) 必须具有良好的模型建立能力,能够准确的把问题用“图表”的形式表达出来。


    最后讲一下需求分析的基本任务是什么,需求分析要做的就是准确的定义新系统的目标,也就是将要实现的系统是个什么样的系统,达到什么样的要求。其实最终的目标就是为了用户的需要,回答这个系统要“做什么”的问题。具体如下:

    I:问题识别
      (1) 功能需求
      (2) 性能需求
      (3) 环境需求
      (4) 用户界面需求
 
     另外对软件各个部分和性能指标也要有一个明确的需求定义,如安全性、可靠性、可维护性、可移植性等等都要通过双方的共同讨论、研究,力求达到一个双方都可理解接受的指标。

    II:分析与综合,导出软件的逻辑模型
   对于需求分析实际调研中所得到的信息,综合分析和理解,在此基础上通过规范的需求分析工具导出成为一个开发人员能够理解的软件逻辑模型。

    III:编写文档
      (1) 编写“需求规格说明书”,把双方共同理解和分析得到的结果以规范的方式描述出来,作为今后工作的基础。
      (2) 编写初步用户使用手册,根据需求规格说明书编写初步的用户使用手册,一来可以更进一步的说明问题,二来可以强制系统分析员站在需求者的角度考虑软件。
      (3) 编写确认测试计划,作为软件验收时的依据。
      (4) 修改项目开发计划文档,此时对要开发的软件有了更进一步清晰的了解,应对原来的开发计划做一些适当的修改。
    (注:需求规格说明书是项目开发里最重要的技术文档之一,但由于篇幅关系,这里无法给出实例文档,可在本站查找相关说明)

    三、 概要设计

    概要设计阶段通常在软件开发程序中排在需求分析后面,因为它的结构设计是直接对应需求分析里的功能说明的,在这个阶段,要的依然不是编写代码,而是实现需求功能的软件结构,软件结构是以模块来组成的,所以这个阶段要做的就是把需求分析里所说明的软件功能用模块的形式描述出来,每个模块都有明确的意义和功能,概要设计的主要工作就是设计模块和组织模块。
  
   除了设计和组织模块以外,数据库的设计也是概要设计的工作之一,即软件系统要存储什么数据,这些数据的结构和关系等等,具体要学习数据库设计技术,已不是本文范畴,可自行找查资料。

    概要设计的基本任务:

    1、 设计软件系统的逻辑结构。
  
   没有“结构化”设计的软件系统,以后根本谈不上什么维护升级,就是简单的除虫也成了个问题,就算你的软件代码写得再好也只是“乱码”,根本一文不值,这个道理谁都懂,所以要写好软件,概要设计是非常关健的,具体工作如下:

      (1) 采用某种设计方法,将一个复杂的软件系统按功能划分成许多有关系条理的模块。
     (2) 准确定义每个模块的功能。
     (3) 确定模块之间的调用关系。
     (4) 对每个模块确定其接口(要以文档对接口的数量,顺序,作用,属性等进行详细说明,这很重要)。
     (5) 对所设计的模块进行评估,尽量找出错误和不合理的地方,进行改正(这比软件做出来后的修改要容易得多)。

    软件结构的设计是非常重要的工作,它直接影响以后的详细设计和编码,不合理的结构将有可能把未完成的系统埋葬,所以应选用能力强和经验比较丰富的程序员来做。

   2、 设计软件所需要的数据库系统
  
    一个好的软件一般都有一个专门为其设计的数据库系统,数据库的设计已自成理论体系,在这里不会详细说明如何做这个工作,但一般数据库的设计工作可分为数据结构设计和数据库设计,数据库设计还分为概念设计、逻辑设计和物理设计,每一项都有很多的知识和原则,有兴趣的朋友可自己去摸索。

    3、 编写概要设计文档
 
    软件工程很强调文档的作用,概要设计也一样,要做好这阶段应有的文档才算是基本完成任务,对文档的编写主要是概要设计和数据库设计说明书,另外还有对需求分析阶段的用户手册和测试计划进行必要的修改,以更合理的对应所设计的软件系统。

    4、 评审

     这主要是对这阶段工作的一次回顾,看看有什么遗漏或错误的地方没有。评审也有很多不同的技术性手段,可一般都将重点放在功能、性能、可行性、接口正确性等方面。

0
相关文章