0
点赞
收藏
分享

微信扫一扫

软件需求分析

  1. 需求分析概述

需求分析的任务是明确用户对系统的确切要求,需求分析阶段的依据是可行性研究阶段形成的文档(现实中,可能根据用户的口头描述)。需求分析是发现、逐步求精、建立模型、规格说明和复审的过程。现实中可能没有复审的过程。

  1. 主要任务
  • 明确目标系统的具体要求:运行环境要求、系统性能要求。
  • 建立目标系统的逻辑模型:如内外部接口,系统性能,功能描述。
  1. 结构化需求分析
  • 模块化:现实中,往往通过确定界面菜单栏的方式(这是其中一种,还有其他的方式)确定模块,模块内部可能分为多个小模块或者不分(一个对应页面的菜单,我们且称之为不可拆分模块)。不可拆模块,一般会伴随对应的数据字典设计,这个阶段可以通过设计数据字典与内部开发人员沟通,并行提高工作效率(现实中基础的增删改查,可能用工具生成,那么便可以让开发人员同步理解需求,或者学习即将使用的技术)。模块初期调研阶段,可配合UML中用例图设计。一个用例可以看作一个模块,本内容需要根据实际情况决定。如果把新增一条数据看作一个用例,那就不算一个模块了。
  • 构建层次图(HIPO图):通过该图,可以直观描述(理解)系统的主要涵盖的功能。可也算是软件系统开发的提纲挈领。
  • 功能模块描述:该部分内容需要清晰的逻辑,对客户描述的理解转换能力。该内容应当确定系统的结构内容,数据字典,逻辑模型。部分逻辑特别复杂的,可采用流程图(泳道图)等图形工具描述。
  1. 需要编写的文档:需求规格说明书(功能描述,确认标准(性能测试用例,验收标准),内外部接口设计)
  2. 个人总结:需求分析与概要设计应当是紧密联系的,甚至有很多是重复性的。比如:
  • 明确系统的具体要求,离不开模块的确定与分析。有时候,模块设计被归类到“概要设计”阶段。
  • 系统的细节,如某个数据字典的某个属性值与其他模块的关联关系,既好像属于需求分析阶段, 又好像属于概要设计阶段。试问,如果需求阶段没有明确属性的设计,如何明确概要设计阶段的逻辑关系。
  • 最终,需求分析应当尽可能的完善(甚至覆盖后续设计的所有内容)。不停找客户调研需求不是一个好的主意。不必拘泥于形式,什么是需求分析阶段,什么是概要设计阶段。一切以项目清晰推进为原则。


举报

相关推荐

0 条评论