软件工程–需求分析

软件工程–需求分析

  • 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。
  • 需求分析的任务还不是确定系统怎么样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。
  • 需求分析阶段结束之前系统分析员要写出软件需求规格说明书,以书面形式准确地描述软件需求

需求分析的任务

  1. 确定对系统的综合要求。
    • 功能需求
    • 性能需求
    • 可靠性和可用性需求
    • 出错处理需求
    • 接口需求
    • 约束
    • 逆向需求
    • 将来可能提出的需求。
  2. 分析系统的数据要求。(建立数据模型)
  3. 导出系统的逻辑模型
    • (即数据模型[E-R图]+功能模型[数据流图]+行为模型[状态转换图])
    • (数据流图+数据字典+E-R图+状态转换图)
  4. 修正系统开发计划。

获取用户需求的方法

系统分析员和用户沟通进行需求分析的典型方法有:

  1. 访谈。
    • 正式的访谈。(分析员事先准备好具体问题)
    • 非正式的访谈。(自由提问)
  2. 面向数据流自顶向下求精。
    • 通过可行性研究已经得出了目标系统的高层数据流图,需求分析的一个主要目标就是把数据流和数据存储定义到元素级。
  3. 简易的应用规格说明技术。
    • 简易的应用规格说明技术是一种面向团队的需求收集技术。这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同的方案并指定基本需求。
  4. 快速建立软件原型。
    • 快速建立软件原型是最准确、最有效、最强大的需求分析技术。所谓软件原型,就是快速建立起来的旨在演示目标系统主要功能的可行性的程序。

分析建模和规格说明

  1. 分析建模。
    • 为了更好地理解复杂事物,人们通常采用建立事物模型的方法。
  2. 软件需求规格说明
    • 通过需求分析,除了创建分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的最主要文档。
    • 通常用自然语言完整、准确、具体地描述对目标系统的需求,这样的规格说明书具有容易书写、容易理解的优点

实体联系图(E-R图)

  • 为了把用户的数据要求清楚,准确地描述出来,系统分析员通常建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,它描述了从用户角度看到的数据。
  • 通常,使用实体-联系图来建立数据模型。可以把实体-联系图简称为ER图,相应地可以把用ER图描绘的数据模型称为ER模型。
  • ER图中包含了实体(即数据对象)、关系和属性三种基本成分。通常用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。

建立E-R图的步骤:

  1. 确定实体类型
  2. 确定联系类型
  3. 确定实体属性和联系类型的属性。

数据规范化

软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为了减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化

通常用”范式”定义消除数据冗余的程度。1NF数据冗余程度最大,5NF数据冗余程度最小。从实用角度来看,在大多数场合选用3NF比较恰当。

  • 1NF: 要求属性值是原子值,不可再分。
  • 2NF:消除非主属性对码的部分函数依赖。
  • 3NF:消除非主属性对码的传递函数依赖。
  • BCNF:消除主属性对码的部分函数依赖和传递函数依赖。

状态转换图

状态转换图(简称为 状态图) 通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为,此外,状态图还指明了作为特定事件的结果系统将做哪些动作(如:处理数据)。因此状态图属于软件系统的行为模型。

状态图中使用的主要符

其它图形工具

描述复杂的事物,图形远比文字叙述优越得多。

层次方框图

层次方框图是树形结构的一系列多层次的矩形框,描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,他代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成,这个数据的实际数据元素(不能再分割的元素)。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月16日
下一篇 2021年8月16日

相关推荐