文章目录

  • 一:需求分析相关概念
    • (1)定义
    • (2)必要性(了解)
    • (3)准则
  • 二:需求分析的任务
    • (1)确定对系统的综合要求
    • (2)分析系统的数据要求
      • A:意义(了解)
      • B:工具
    • (3)导出系统的逻辑模型
    • (4)修正系统开发计划
  • 三:与用户沟通获取需求的方法(了解)
    • (1)访谈
      • A:基本形式
      • B:技术方法
    • (2)面向数据流自顶向下求精
    • (3)简易的应用规格说明技术
      • A:定义
      • B:应用过程
    • (4)快速建立软件原型
      • A:定义
      • B:特性
  • 四:分析建模与规格说明(了解)
    • (1)模型
    • (2)模型分类

一:需求分析相关概念

(1)定义

需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,目标系统提出完整、准确、清晰、具体的要求。在需求分析阶段结束之前,系统分析员应该写出软件需求规明书,以书面形式准确地描述软件需求

(2)必要性(了解)

为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼

(3)准则

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

二:需求分析的任务

(1)确定对系统的综合要求

功能要求:系统必须提供的服务功能

性能要求:系统必须满足的约束条件(如响应速度、安全性等)

可靠性和可用性需求:可靠性定量、可用性量化

出错处理需求: 错误响应机制,说明系统对环境错误应该如何响应

接口需求:

  • 用户接口需求
  • 硬件接口需求
  • 软件接口需求
  • 通信接口需求

约束: 用户或环境强加的限制条件(如工具、语言等)

逆向需求: 系统不应该做什么

将来可能提出要求: 将来可能需要实现的需求

(2)分析系统的数据要求

A:意义(了解)

任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌。因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务

B:工具

常用的方法

  • 建立数据模型

常用图形工具

  • 层次方框图
  • warnier图

(3)导出系统的逻辑模型

综合分析结果可以导出系统的详细的逻辑模型,通常用数据流图、实体联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。

(4)修正系统开发计划

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

三:与用户沟通获取需求的方法(了解)

(1)访谈

A:基本形式

正式会谈:系统分析员将提出一-些事先准备好的具体问题。

非正式会谈:分析员将提出一些用户可以自由回答的开放性问题,鼓励被访问人员说出自己的想法

B:技术方法

调查表技术:当需要调查大量人员的意见时,向被调查人分发调查表是-一个十分有效的做法。经过仔细考虑写出的书面回答可能比被访者对问题的口头回答更准确。分析员仔细阅读收回的调查表,然后再有针对性地访问一些用户,以便向他们询问在分析调查表时发现的新问题

情景分析技术:是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。系统分析员利用情景分析技术,往往能够获知用户的具体需求。

(2)面向数据流自顶向下求精

结构化分析方法是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级

(3)简易的应用规格说明技术

A:定义

简易的应用规格说明技术是一种面向团队的需求收集法。这种方法提倡用户与开发者密切合作,共同标识问题,提出解决方案要素,商讨不同方案并指定基本需求。是信息系统领域使用的主流技术

B:应用过程

  • 进行初步的访谈并确定会议方案
  • 进行会议准备
  • 开会讨论
  • 会后总结并起草规格说明书

(4)快速建立软件原型

A:定义

快速原型是快速建立起来的旨在演示目标系统主要功能的可运行的程序。构建原型的要点是,它应该实现用户看得见的功能,省略目标系统的“隐含”功能。快速建立软件原型是最准确、最有效、最强大的的需求分析技术

B:特性

  • 快速
  • 容易修改

四:分析建模与规格说明(了解)

(1)模型

是指为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述

(2)模型分类

  • 数据模型(实体-联系图):描绘数据对象及数据对象之间的关系
  • 功能模型(数据流图):描绘数据在系统中流动时被处理的逻辑过程,指明系统具有的变换数据的功能
  • 行为模型(状态转换图):描绘系统的各种行为模式在不同状态间转换的方式

(软件工程复习核心重点)第三章需求分析-第一节:需求分析相关概念相关推荐

  1. (软件工程复习核心重点)第二章可行性研究-第一节:可行性研究基本介绍

    文章目录 一:可行性研究的目的 二:可行性研究的本质 三:可行性研究的任务 (1)最根本任务 (2)具体任务 二:可行性研究过程(步骤) 一:可行性研究的目的 可行性研究的目的:用最小的代价在最小的时 ...

  2. (软件工程复习核心重点)第二章可行性研究习题

    文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 1. 关于可行性研究 2. 关于数据流图 3. 关于数据字典 (2)了解 五:应用题/画图题 一:选择题 二:填空题 ...

  3. (软件工程复习核心重点)第二章可行性研究-第三节:数据流图

    文章目录 一:数据流图的定义(DFD) 二:数据流图的特点 三:数据流图的符号 (1)符号 (2)注意(了解) 四:数据流图示例 (1)示例1 A:首先从题目中提取四种成分 B:画数据流图 (2)示例 ...

  4. (软件工程复习核心重点)第九章软件项目管理

    文章目录 一:估算软件规模 (1)代码行技术 (2)功能点技术 二:工作量估算 三:进度计划 (1)甘特图(Cantt图) (2)工程网络 四:人员组织 五:质量保证 六:软件配置管理 七:能力成熟度 ...

  5. (软件工程复习核心重点)第二章可行性研究-第四节:数据字典

    文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...

  6. (软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型

    文章目录 一: 基本概念 (1)对象模型 (2)先建立对象模型的原因 (3)信息来源 (4)典型的建模步骤 二:确定类与对象 (1)找出候选的类与对象 A:客观事物分类 B:非正式分析 C:提取隐含的 ...

  7. (软件工程复习核心重点)第九章面向对象分析-第三节:面向对象分析之建立动态模型和功能模型

    文章目录 一:建立动态模型 (1)概念 A:适用性 B:步骤 (2)编写脚本 A:定义 B:目的 C:内容 D:方法 (3)设想用户界面 A:重要性 B:目的 C:方法 (4)画事件跟踪图 A:必要性 ...

  8. (软件工程复习核心重点)第一章软件工程概论习题

    这一章题目主要以简答和名词解释为主 文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 (2)了解 四:简答题 (1)必考 1.关于软件危机 2.关于软件工程 3. 关于软件生命周期 4.关于 ...

  9. (软件工程复习核心重点)第三章需求分析习题

    文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 (2)了解 五:应用题/画图题 一:选择题 二:填空题 需求分析的任务 确定对系统的综合要求 分析系统的数据要求 导 ...

  10. (软件工程复习核心重点)第三章需求分析-第五节:验证软件需求

    文章目录 一:验证需求正确性的四个方面 二:验证软件需求的方法 三:用于需求分析的软件工具 (1)要求(了解) (2)PSL/PSA系统 一:验证需求正确性的四个方面 一致性:所有需求必须是一致的,任 ...

最新文章

  1. 微软私有云系列----域服务器准备
  2. spark rdd map java_如何在spark RDD(JavaRDD)中获取记录的文件名
  3. VirtualBox压缩vmdk、vagrant打包box一口气全对
  4. shiro---注解
  5. IIS 6.0曝远程代码执行漏洞 安全狗可拦截
  6. linux的相关网站,与Linux相关的一些网站
  7. 单片机c语言延时30s程序,单片机c语言中的精确延时程序
  8. 5-1. 约分最简分式(15)
  9. 牛逼的 弹出层 layer !!!
  10. jQuery插件库链接
  11. 微软的现实困难:产品需要再次变“酷”
  12. 百度飞桨7日营——世界冠军带你从零实践强化学习总结
  13. Ps如何将图片人物素描画
  14. 创建阿里云服务器并实现疫情地图可视化
  15. 红队渗透测试技术:如何通过鱼叉式网络钓鱼获得攻击机会?
  16. 墙面有几种装修方法_家里的墙面不知道怎么装?6种装饰方法任你选
  17. 前端与u3d的联调 -前端初学者使用vue与u3d联调的摸索和踩的坑,学习记录
  18. 关于SQL中的ASSERTION(某单位想举行一个小型的联谊会……)
  19. 飞思卡尔 熟悉小车之 舵机篇
  20. POJ1753:翻棋子

热门文章

  1. 【资料篇】你需要掌握SEO的8个常用知识点
  2. java手工注入bean_java相关:Spring中如何动态注入Bean实例教程
  3. vue打包放到Java项目里_如何把vuejs打包出来的文件整合到springboot里
  4. 监督学习 | 朴素贝叶斯之Sklearn实现
  5. 机器学习算法-随机森林初探(1)
  6. DESeq2差异基因分析和批次效应移除
  7. 感知器原理及线性分类技术实现
  8. python编程项目中遇到的困难_python开发中遇到的常见问题,你们又是如何解决的呢?如何快速的学好python,有没有什么小技巧?...
  9. 提高级:初等数论 威尔逊定理
  10. 1.4 编程基础之逻辑表达式与条件分支 16 三角形判断