文章目录

  • 软件工程学习笔记《目录》
  • 需求工程师
    • 当代的需求工程师需要具备的能力
    • 当代的需求工程师需要努力的方向
    • 当代的需求工程师需要注意的错误
  • 需求的定义
  • 需求目标
  • 需求分析的实质
  • 需求分析的关键
    • 应该涵盖的内容?
  • 需求规约(作为较客观的参照)
    • 单个需求项的质量
    • 整个需求集合的质量
  • 需求分析
    • 产品/过程
    • 产品需求
    • 需求分类的合理使用
    • 需求之间存在重叠
  • 需求获取方式
    • 面谈
    • 问卷
    • 群体诱导
    • 参与调查
    • 文档分析
    • 会议
    • 头脑风暴
    • 需求讨论会
    • 情景分析
    • 概念建模
    • 竞争性需求分析
    • A/B测试
  • 如何选择需求方案?
  • 如何撰写需求文档?
    • 软件需求规格说明
    • 需求文档的组织形式
    • 规格说明SRS的风格
    • 撰写原则实例

软件工程学习笔记《目录》

软件工程学习笔记《目录》

需求工程师

当代的需求工程师需要具备的能力

  • 分析问题和解决问题的能力
  • 人际沟通及交流的能力
  • 软件工程师知识和技能
  • 应用领域有关知识
  • 书面语言组织和表达能力

当代的需求工程师需要努力的方向

  • 识别错误假设
  • 确保一致性
  • 提升依从性
  • 减少彼此误解
  • 提升支持速度和效率
  • 提升客户满意度
  • 撰写优质文档

当代的需求工程师需要注意的错误

  • 干扰
  • 沉默
  • 过度规约
  • 矛盾
  • 含糊
  • 向前引用
  • 不切实际与一厢情愿

需求的定义

需求是人们要解决的某个问题或达到某种目的的需要,是系统或其组成部分为满足某种书面规定(合同,标准,规范等)所要具备的能力。需求将作为系统开发,测试,验收,提交的正是文档依据。

需求目标

对产品及其与环境的交互进行更深入的了解,识别系统需求,设计软件体系结构,建立需求与体系结构组件的关联,在体系结构设计实现过程中进一步识别矛盾冲突,并通过干系人之间的协调磋商解决问题。

需求分析的实质

概念建模——选择常用的建模语言,进行功能建模和信息建模

需求分析的关键

体系结构设计与需求分配

应该涵盖的内容?

  • 为什么设计该系统
  • 由谁使用
  • 要做什么
  • 系统要涉及哪些信息
  • 对解决方案有什么额外限制
  • 如何使用该系统
  • 质量需达到什么程度

需求规约(作为较客观的参照)

单个需求项的质量

  • 准确
  • 正确
  • 可行
  • 可证

整个需求集合的质量

  • 显示
  • 精确
  • 全面
  • 一致

需求分析

产品/过程

  • 产品需求
  • 过程需求

产品需求

  • 功能性需求
  • 非功能性需求

需求分类的合理使用

  • 关注特殊的需求特征

  • 关注需求语义特征

    • 明确指出系统必须支持的行为
    • 排序那些不可接受的系统行为
    • 明确指出系统的最好支持的行为
  • 对那些适用范围受限的关注点和横切关注点区别对待

  • 需求的分类主要用于为需求的抽取提供启发式的规则

    • 避免忽略某些关键的需求类型
    • 通过已知矛盾的需求类型发现具体需求间的矛盾和冲突
  • 业务需求

    • 业务需求又叫业务目标:携程旅行的业务:买飞机票;公司目标:成为认为想买飞机票首先想到的公司
  • 用户需求

    • 有时候被称为“用户接口需求”,系统的用户需求指其满足会影响系统的用户接收程度的需求
  • 系统需求

    • 系统需求的满足使得系统实现预期的功能,他从用户的角度描述系统做什么,与系统是由什么硬件和软件实现无关。
  • 软件设计规约

    • 系统的API需要同时支持C++和Java来让程序员访问系统服务
  • 软件需求

    • 软件需求是指关于系统中软件部分的需求,它满足帮助实现系统需求
  • 功能性需求

    • 又称“行为需求”,指满足系统需求需要提供的功能
  • 质量需求

    • 关于“提供的服务好到何种程度”的问题。订票系统的订票请求响应时间要小于1分钟
  • 依从性需求

    • 指要着重描述软件对国家法律,国际公约,社交法则,文化与政治习惯,标准等环境约束的满足要求。两列火车间的最小间距应满足国际铁路运输安全规范中的最坏情况停车距离
  • 体系结构设计需求

    • 分布式约束:要求软件系统组件满足目标组织由于地理自然分布导致的对系统设备节点的分布要求,以及数据的分布式存储与处理要求。
      例如:会议调度系统应与分布在世界各地的参会者的邮件服务系统和电子日程管理系统协同工作
    • 安装约束:要求软件系统能够在目标实现环境下正常运行
      例如:会议调度系统应在微软和IOS上
  • 设计开发约束

    • 指对软件系统设计过程的约束,包括:开发成本,开发周期,产品特征的变化性,可维护性,可移植性,可重用性等。
      例如,动车控制软件应在两年内投入使用。会议日程安排系统应根据会议类型动态调整

需求之间存在重叠

  • 功能性需求与非功能性需求间的划分并非绝对的,可能存在重叠

    • 是一个功能性需求,也是安全性需求

需求获取方式

面谈

问卷


群体诱导

参与调查

文档分析

会议


头脑风暴

需求讨论会

情景分析

概念建模

竞争性需求分析

A/B测试

如何选择需求方案?

如何撰写需求文档?

软件需求规格说明

需求文档的组织形式

规格说明SRS的风格

撰写原则实例

软件工程学习笔记《四》需求分析相关推荐

  1. 软件工程学习笔记《目录》

    软件工程学习笔记<目录> 软件工程学习笔记<一>什么是软件工程 软件工程学习笔记<二>代码规范 软件工程学习笔记<三>代码优化和性能测试 软件工程学习笔 ...

  2. MySQL高级学习笔记(四)

    文章目录 MySQL高级学习笔记(四) 1. MySql中常用工具 1.1 mysql 1.1.1 连接选项 1.1.2 执行选项 1.2 mysqladmin 1.3 mysqlbinlog 1.4 ...

  3. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  4. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  5. RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)

    RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...

  6. JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档

    POI操作excel的确很优秀,操作word的功能却不敢令人恭维.我们可以利用iText生成rtf文档,扩展名使用doc即可. 使用iText生成rtf,除了iText的包外,还需要额外的一个支持rt ...

  7. Ethernet/IP 学习笔记四

    Ethernet/IP 学习笔记四 EtherNet/IP Quick Start for Vendors Handbook (PUB213R0): https://www.odva.org/Port ...

  8. OpenCV学习笔记四-image的一些整体操作

    title: OpenCV学习笔记四-image的一些整体操作 categories: 编程 date: 2019-08-08 12:50:47 tags: OpenCV image的一些操作 sP4 ...

  9. 软件工程学习笔记《三》代码优化和性能测试

    文章目录 软件工程学习笔记目录 如何在开源社区提问? 代码审查 代码优化 运行结果 参数解释 代码优化原则 对常见的数据结构排序算法进行测试 关于冒泡排序优化的探讨 结果 软件工程学习笔记目录 [ht ...

最新文章

  1. 国外发明的10大仿生机械,这才是真正的黑科技!
  2. Java实现算法导论中最大公约数欧几里得算法
  3. LINQ简记(1):基本语法
  4. Guns 查询列表_入门试炼03
  5. 中南大学oj:1352: New Sorting Algorithm
  6. lamda表达式修改数据_关系数据库SQL语言简介
  7. SharePoint Designer中无法显示任何列表
  8. 12.sql语句增删改查快速回顾
  9. 发起成立“ABCD联盟”,人工智能与区块链技术研讨会北京站精彩回顾
  10. 《缠论》的精髓是什么?
  11. 无线网卡 VS 无线上网卡
  12. 论文阅读《PatchMatchNet: Learned Multi-View Patchmatch Stereo》
  13. 第四章 线程切换与调度——操作系统的发动机
  14. 绝地求生组装电脑配置推荐2021 适合玩吃鸡游戏电脑清单
  15. python 截取一周(或者N周)的日期
  16. 导学目录-学如逆水行舟
  17. 圆周率 php算法,PHP坐标圆周率计算
  18. SAP BADI增强点初学分享
  19. html对颜色加深,css字体阴影如何加深?
  20. CIU软考联盟:软件设计师上午试题解析-操作系统篇

热门文章

  1. mysql binlog空间维护
  2. JS中的数据类型转换
  3. 分布式锁(基于redis和zookeeper)详解
  4. OO第二单元作业总结
  5. Azure DevOps Server (TFS)中代码文件换行问题解决方案(Git)
  6. OSS网页上传和断点续传(OSS配置篇)
  7. elasticsearch-6.0.1安装
  8. 笔记45 | 代码性能优化建议[转]
  9. html 用svg缩放拉伸,html – 拉伸SVG以适应其父级的100%高度和宽度
  10. seafile 部署_Seafile开启webdav及读写性能测试