• 软件工程导论第六版 第三章 需求分析知识点总结(上)


    需求分析

    需求分析的时期与任务

    需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。

    需求分析中产生的文档

    在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。

    需求分析方法遵循的准则

    目前有许多不同的用于需求分析的结构化分析(SA)方法,但是所有这些分析方法都遵守下述准则:

    • 必须理解并描述问题的信息域,根据这条准则应该建立数据模型
    • 必须定义软件应完成的功能,这条准则要求建立功能模型
    • 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型
    • 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。

    需求分析的任务

    任务一、确定对系统的综合要求

    虽然功能需求是对软件系统的一项基本需求,但却并不是唯一的需求。通常对软件系统有下述几方面的综合要求:

    • 功能需求
    • 性能需求
    • 可靠性和可用性需求:
      可靠性需求定量地指定在某一时间段系统的可靠性,例如,“机场雷达系统在一个月内不能出现两次以上故障”。可用性与可靠性密切相关,它量化了用户在某一时间点可以使用系统的程度。例如,“在任何时候主机或备份机上的机场雷达系统应该至少有一个是可用的”。(简答题:可靠性与可用性的区别)
    • 出错处理需求
    • 接口需求(顺口溜:用硬通软)
      接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求硬件接口需求通信接口需求软件接口需求。(填空题考点)
    • 约束
    • 逆向需求
      逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,人们应该仅选取能澄清真实需求且可消除可能发生误解的那些逆向需求。例如应力分析程序无须分析桥梁倒塌数据。
    • 将来可能提出的要求

    任务二、分析系统的数据要求

    复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典可以全面准确地定义数据,但是数据字典的缺点是不够形象直观。为了提高可理解性,常常利用图形工具辅助描绘数据结构。常用的图形工具有层次方框图Warnier图
    数据结构规范化的原因:软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。

    任务三、导出系统的逻辑模型

    任务四、修正系统开发计划

    根据在分析过程中获得的对系统的更深人更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。

    与客户沟通获取需求的方法

    • 访谈(事先准备好问题)
    • 简易的应用规格说明技术
    • 软件原型

    分析建模与规格说明

    结构化分析(SA)实际上是一种创建模型的活动

    简答题:可行性研究能否代替需求分析?

    虽然在可行性研究阶段已经粗略地了解了用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。然而在最终的系统中却不能遗漏任何一个微小的细节。所以可行性研究并不能代替需求分析,它实际上并没有准确地回答“系统必须做什么”这个问题。

  • 相关阅读:
    TSUMU58CDT9-1显示器芯片方案
    基于Go语言的xmind读写库,我主要用来把有道云笔记思维导图转为xmind
    C# --- WinForm基本知识与绘图(下)
    React-函数组件的特性与闭包
    java ThreadLocal
    Apipost一键压测参数化介绍
    社招两年半10个公司28轮面试面经(含字节、拼多多、美团、滴滴......)
    Python进阶(二)-图形界面编程Tkinter(2)
    NFT价值体现在哪里 NFT有什么意义 怎么开发NFT平台
    六、鼎捷T100应收账款之应收帐款核销
  • 原文地址:https://blog.csdn.net/smallrain6/article/details/126122171