软件项目项目管理 软件需求

需求管理中的问题举例

需求的隐含错误

用户不断增加需求,变更需求

需求失败的原因分析

本章要点

  • 软件需求定义
  • 软件需求管理过程
  • 需求建模的基本方法
  • 案例分析
  • 课程实践

软件需求定义

需求是指用户对软件的功能和非功能的要求

需求分析是回答系统必须( )的问题。

A.做什么

B.怎么做

C.何时做

D.为谁做

软件需求管理的过程

需求获取

需求获取的方法

需求分析

需求分析是为最终用户所看到的系统建立一个概念模型,是对需求的抽象描述

需求规格书编写

需求分析工作完成的一个基本标志是形成了一份完整的、规范的需求规格说明书

需求规格文档标准

  1. 引言

    1. 编写目的
    2. 项目背景(单位与其他系统的关系)
    3. 定义(专门术语与缩写词)
  2. 任务概述

    1. 目标
    2. 运行环境
    3. 条件限制
  3. 数据描述

    1. 静态数据
    2. 动态数据
    3. 数据库描述
    4. 数据字典
    5. 数据采集
  4. 功能需求

    1. 功能划分
    2. 功能描述
  5. 性能需求

    1. 数据精确度
    2. 时间特性
    3. 适应性
  6. 运行需求

    1. 用户界面
    2. 硬件接口
    3. 软件接口
    4. 故障处理
  7. 其他需求

    1. 监测或验收标准、可用性、可维护性、移植性、安全保密性

(面向对象分析结果)需求规格文档标准

    1. 编写需求规格说明书的目的
    2. 项目背景(软件产品的作用范围)
    3. 定义(术语的定义和缩写词的原文)
    4. 参考资料
  1. 软件产品的一般性描述
    1. 运行环境与资源
    2. 软件产品的功能(用例模型)
    3. 用户特征
    4. 限制与约束
  2. 功能行为需求
    1. 引言
    2. 业务需求功能模型—用例模型
    3. 相关用例的展开–活动图
    4. 对象类模型
    5. 输出结果
  3. 性能需求
    1. 数据精确度
    2. 时间特性(相应、传输、运行时间等)
    3. 适应性(运行环境、计划发生变化等应具有的适应能力)
    4. 故障处理
  4. 运行需求
    1. 用户界面(屏幕、报表格式等)
    2. 硬件界面
    3. 软件界面
  5. 其他要求(可使用性、安全保密、可维护性、可移植性)
  6. 附录

需求验证

  • 需求是正确的吗?
  • 需求是一致的吗
  • 需求是必须的吗
  • 需求是实际可行的吗
  • 需求是必要的吗
  • 需求是可检验的吗
  • 需求是可跟踪的吗
  • 最后的签字

需求总在变化

需求变更管理

  • 确定需求变更控制过程
  • 建立变更控制委员会
  • 进行需求变更影响分析
  • 跟踪所有受需求变更影响的工作产品
  • 建立需求基准版本和需求控制板本文档
  • 维护需求变更的历史记录
  • 跟踪每项需求的状态
  • 衡量需求稳定性

需求建模的基本方法介绍

  1. 原型方法
  2. 结构化分析法
  3. 面向对象的用例分析法
  4. 功能列表法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ntyeJ68D-1667097357980)(C:\Users\xiaozhao\AppData\Roaming\Typora\typora-user-images\image-20221030100915313.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fnf8Luv2-1667097357981)(C:\Users\xiaozhao\AppData\Roaming\Typora\typora-user-images\image-20221030100918775.png)]

原型方法

结构化分析方法

  • 20世纪70年代发展起来的面向数据流的方法
  • 是一种自顶向下逐步求精的方法
  • 根据软件内部数据传递、变换的关系进行分析

结构化分析方法–技术

  • 数据流图
  • 数据字典
  • 系统流程图

学生管理系统—数据字典—数据流

结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析系统的 ( )

A、控制流

B、数据流

C、程序流

D、指令流

讨论:描述银行取款过程的数据流图

我们去银行取款为例来说明数据流图描述数据处理的过程。

下图表示储户到银行用存折取款的手续。储户把存折和取款单一并交给银行出纳员检验。出纳员核对帐目,一旦发现存折有效性问题、取款单填写问题或是存折、帐卡与取款但不符等问题时均应报告储户。在检验通过后,出纳员将取款信息登记在存折和帐卡上,并通知付款。根据付款通知给储户,从而完成这一简单的数据处理活动。

面向對象的用例分析法

  • 基于面向对象的情景分析方法
  • 从用户角度出发考虑的功能需求
  • 用例是系统向用户提供一个有价值的结果的某项功能

uml需求视图

  1. 用例视图
  2. 顺序图
  3. 状态图
  4. 活动图

用例需求分析方法综述

  • 识别出系统的Actor
  • 描述主要的usecase
  • 实现用例视图
  • 实现顺序视图、活动视图、状态视图等

设计支持银行网络的软件,银行网络包括人工出纳站和分行共享的自动出纳机。

每个分理处用分理处计算机来保存各自的帐户,处理各自的事务;各自分理处的出纳站与分理处计算机通信,出纳站录入帐户和事务数据;

自动出纳机与分行计算机通信,分行计算机与拨款分理处结帐,自动出纳机与用户接口接受现金卡,与分行计算机通信完成事务,发放现金,打印收据;

系统需要记录保管和安全措施;系统必须正确处理同一帐户的并发访问;每个分处理为自己的计算机准备软件,银行网络费用根据顾客和现金卡的数目分摊给各分理处。

准备典型的对话脚本

( 1 )自动出纳机请求用户插入卡片;用户插入现金卡。

( 2 )自动出纳机接受卡片并读出它的卡号。

(3) 自动出纳机要求密码,用户键入密码“ 4011 ”。

( 4 )自动出纳机与总行确认卡号和密码;分理处检查它并通知承兑的自动出纳机。

( 5 )自动出纳机要求选择事务类型(取款、存款、转户及查询),用户选择取款。

( 6 )自动出纳机要求现金数量;用户输入¥ 100 。

( 7 )自动出纳机要求分行处理事务;分行把要求转给分理处,确认事务成功。

( 8 )自动出纳机分发现金并且要求用户取现金;用户取现金。

( 9 )自动出纳机提示用户是否想继续;用户指出不继续。

( l0 )自动出纳机打印收据,退出卡,并请求用户取出它们;用户拿走收据和卡。

( ll )自动出纳机请求用户插入。

自动出纳机与用户交互的异常情况脚本:

( 1 )自动出纳机请求用户插入卡;用户插入现金卡。

( 2 )自动出纳机接受卡并读它的卡号。

( 3 )自动出纳机要求密码;用户键入: 9999 :。

( 4 )自动出纳机与分行确认卡号和密码,在咨询分理处后拒绝它。

( 5 )自动出纳机指示密码错并要求重新键入;用户键入: 4011 : ,分行确认成功。

( 6 )自动出纳机请求用户选择事务类型;用户选择取款。

( 7 )自动出纳机请求键入现金数量;用户改变选择并键入 “ CANCEL , , (取消)。

( 8 )自动出纳机退出卡并且请求用户拿走卡;用户取出卡。

( 9 )自动出纳机请求用户插入卡。

功能列表法

MED需求管理案列

  • 需求确认:软件需求规格
  • 需求变更:变更控制流程

小结

软件需求管理过程

  1. 需求获取
  2. 需求分析
  3. 需求规格编写
  4. 需求验证
  5. 需求变更

需求建模的基本方法

  1. 原型方法
  2. 结构化分析法
  3. 面向对象的用例分析法
  4. 关键功能列表法

软件项目管理期末复习--软件需求相关推荐

  1. 软件项目管理期末复习--项目过程模型

    软件项目管理 项目过程模型 分析项目特征 分析项目是目标驱动的还是产品驱动的 分析项目其他特征 面向数据(data-oriented),如IS,还是面向过程控制(process-oriented),如 ...

  2. 软件项目管理期末复习

    什么是项目 项目是指为增加某一独特的产品和或服务的价值所做的一次性的,有限的努力.这里,"一次性"意味着项目是有特定的开始和结束时间的,而"独特"则意味着任何一 ...

  3. IMAU 软件项目管理 期末复习总结 第六章

    第六章 项目成本计划 1.估算相关概念 软件项目规模:即工作量.例如软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务. 规模单位:LOC(源代码长度) FP(系统的功能数量) 人月(用 ...

  4. IMAU 软件项目管理 期末复习总结 第七章

    第七章 项目进度计划 1.计划过程 任务定义(划分子任务).确定任务关系(确定子任务之间的关系).历时估算.进度编排.进度计划确定 2.进度管理常用图示 2.1 网络图(重点) 描述:活动(任务)排序 ...

  5. 软件体系结构期末复习

    软件体系结构期末复习 标签(空格分隔): 未分类 回顾课本和TTP课件 内容总概 章节回顾 第1章.软件体系结构概论 0.软件体系结构的发展过程经历了四个阶段: (1)无体系结构阶段.(2)萌芽阶段. ...

  6. 哈工大软件构造期末复习

    系列文章目录 哈工大软件构造期末复习(最终章) 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 哈工大软件构造期末复习(最终章) 前言 一.github指令 ...

  7. 软件项目管理 4.2.传统需求建模方法

    软件项目管理 4.2.传统需求建模方法 [公众号 "项目管理研究所" 将会第一时间更新文章并分享<行业分析报告>] 归档于软件项目管理初级学习路线 第四章 软件需求管理 ...

  8. 《软件项目管理》复习知识点

    参考书目:<软件项目管理> 出版社:清华大学出版社 编著:任永昌 目录 第一章 软件项目管理概述 第二章 软件开发过程管理 第一章 软件项目管理概述 ·项目[定义]是一个特殊的将被完成的有 ...

  9. 哈工大软件构造期末复习(根据老师复习提纲整理)

    软构期末复习1-3章 1.软件构造的多维度视图及其划分 大体上分为build-time和run-time两大类,分别对应视图中的两排. 在build-time中,又按照时刻和时期.代码层面和成员层面区 ...

最新文章

  1. 精通Python网络爬虫:核心技术、框架与项目实战.1.1 初识网络爬虫
  2. IOS本地日志记录解决方案
  3. PHP rss聚合,利用PHP和AJAX创建RSS聚合器
  4. 《看门狗》真人版跑酷!
  5. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写...
  6. phpcmsV9各种模板页面调用文章 hits 点击量和评论量 - 代码总结分类
  7. 从零开始学keras之预测房价
  8. 【2019银川网络赛:L】Continuous Intervals(线段树区间处理+单调栈+思维)
  9. easydarwin 安装_linux环境安装部署easydarwin流媒体服务器详细教程
  10. 作为一名基层管理者如何利用情商管理自己和团队(一)
  11. html转换成chm乱码,【全部解决】用Docbook生成htmlhelp + 【完全解决】生成的chm中标题和左边的索引目录是乱码的问题...
  12. 判断new数据初始化_拔剑-浆糊的传说_新浪博客
  13. 全面了解信贷业务流程
  14. 音符起始点检测(音频节奏检测)(4.5)
  15. 相机镜头上的所有字母,首字母缩写和数字代表什么?
  16. 阴霾“强势霸屏”长三角 天际上演“失踪的太阳”
  17. python适合女生吗-女生学数据分析好吗?数据分析适不适合女生学?
  18. C++检测内存泄漏方法
  19. ES5、ES6和ES2015有什么区别?
  20. 戴尔t420服务器显示器无信号,显示器无信号的原因及解决方法

热门文章

  1. STM32芯片超低功耗设计思路
  2. 去了字节跳动,才知道年薪 30w 的测试工程师有这么多?
  3. 「免费资源」微信小程序入门与实战
  4. 中文语音识别引擎,盘点中国语音识别技术公司排名
  5. 如何将PDF文件转换CAD格式?
  6. 前端代码规范(阿里) --- Vue
  7. 12款群岛部落风格lut预设Tribe Redleaf Flint Steel
  8. EasyAdmin弹出层关闭后如何自动刷新当前页面
  9. 屏蔽手机网页广告哪家强,还属百度APP
  10. 《天池精准医疗大赛-人工智能辅助糖尿病遗传风险预测》模型复现和数据挖掘-企业科研_论文作业