软件项目管理期末复习--软件需求
软件项目项目管理 软件需求
需求管理中的问题举例
需求的隐含错误
用户不断增加需求,变更需求
需求失败的原因分析
本章要点
- 软件需求定义
- 软件需求管理过程
- 需求建模的基本方法
- 案例分析
- 课程实践
软件需求定义
需求是指用户对软件的功能和非功能的要求
需求分析是回答系统必须( )的问题。
A.做什么
B.怎么做
C.何时做
D.为谁做
软件需求管理的过程
需求获取
需求获取的方法
需求分析
需求分析是为最终用户所看到的系统建立一个概念模型,是对需求的抽象描述
需求规格书编写
需求分析工作完成的一个基本标志是形成了一份完整的、规范的需求规格说明书
需求规格文档标准
引言
- 编写目的
- 项目背景(单位与其他系统的关系)
- 定义(专门术语与缩写词)
任务概述
- 目标
- 运行环境
- 条件限制
数据描述
- 静态数据
- 动态数据
- 数据库描述
- 数据字典
- 数据采集
功能需求
- 功能划分
- 功能描述
性能需求
- 数据精确度
- 时间特性
- 适应性
运行需求
- 用户界面
- 硬件接口
- 软件接口
- 故障处理
其他需求
- 监测或验收标准、可用性、可维护性、移植性、安全保密性
(面向对象分析结果)需求规格文档标准
- 序
- 编写需求规格说明书的目的
- 项目背景(软件产品的作用范围)
- 定义(术语的定义和缩写词的原文)
- 参考资料
- 软件产品的一般性描述
- 运行环境与资源
- 软件产品的功能(用例模型)
- 用户特征
- 限制与约束
- 功能行为需求
- 引言
- 业务需求功能模型—用例模型
- 相关用例的展开–活动图
- 对象类模型
- 输出结果
- 性能需求
- 数据精确度
- 时间特性(相应、传输、运行时间等)
- 适应性(运行环境、计划发生变化等应具有的适应能力)
- 故障处理
- 运行需求
- 用户界面(屏幕、报表格式等)
- 硬件界面
- 软件界面
- 其他要求(可使用性、安全保密、可维护性、可移植性)
- 附录
需求验证
- 需求是正确的吗?
- 需求是一致的吗
- 需求是必须的吗
- 需求是实际可行的吗
- 需求是必要的吗
- 需求是可检验的吗
- 需求是可跟踪的吗
- 最后的签字
需求总在变化
需求变更管理
- 确定需求变更控制过程
- 建立变更控制委员会
- 进行需求变更影响分析
- 跟踪所有受需求变更影响的工作产品
- 建立需求基准版本和需求控制板本文档
- 维护需求变更的历史记录
- 跟踪每项需求的状态
- 衡量需求稳定性
需求建模的基本方法介绍
- 原型方法
- 结构化分析法
- 面向对象的用例分析法
- 功能列表法
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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需求视图
- 用例视图
- 顺序图
- 状态图
- 活动图
用例需求分析方法综述
- 识别出系统的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需求管理案列
- 需求确认:软件需求规格
- 需求变更:变更控制流程
小结
软件需求管理过程
- 需求获取
- 需求分析
- 需求规格编写
- 需求验证
- 需求变更
需求建模的基本方法
- 原型方法
- 结构化分析法
- 面向对象的用例分析法
- 关键功能列表法
软件项目管理期末复习--软件需求相关推荐
- 软件项目管理期末复习--项目过程模型
软件项目管理 项目过程模型 分析项目特征 分析项目是目标驱动的还是产品驱动的 分析项目其他特征 面向数据(data-oriented),如IS,还是面向过程控制(process-oriented),如 ...
- 软件项目管理期末复习
什么是项目 项目是指为增加某一独特的产品和或服务的价值所做的一次性的,有限的努力.这里,"一次性"意味着项目是有特定的开始和结束时间的,而"独特"则意味着任何一 ...
- IMAU 软件项目管理 期末复习总结 第六章
第六章 项目成本计划 1.估算相关概念 软件项目规模:即工作量.例如软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务. 规模单位:LOC(源代码长度) FP(系统的功能数量) 人月(用 ...
- IMAU 软件项目管理 期末复习总结 第七章
第七章 项目进度计划 1.计划过程 任务定义(划分子任务).确定任务关系(确定子任务之间的关系).历时估算.进度编排.进度计划确定 2.进度管理常用图示 2.1 网络图(重点) 描述:活动(任务)排序 ...
- 软件体系结构期末复习
软件体系结构期末复习 标签(空格分隔): 未分类 回顾课本和TTP课件 内容总概 章节回顾 第1章.软件体系结构概论 0.软件体系结构的发展过程经历了四个阶段: (1)无体系结构阶段.(2)萌芽阶段. ...
- 哈工大软件构造期末复习
系列文章目录 哈工大软件构造期末复习(最终章) 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 哈工大软件构造期末复习(最终章) 前言 一.github指令 ...
- 软件项目管理 4.2.传统需求建模方法
软件项目管理 4.2.传统需求建模方法 [公众号 "项目管理研究所" 将会第一时间更新文章并分享<行业分析报告>] 归档于软件项目管理初级学习路线 第四章 软件需求管理 ...
- 《软件项目管理》复习知识点
参考书目:<软件项目管理> 出版社:清华大学出版社 编著:任永昌 目录 第一章 软件项目管理概述 第二章 软件开发过程管理 第一章 软件项目管理概述 ·项目[定义]是一个特殊的将被完成的有 ...
- 哈工大软件构造期末复习(根据老师复习提纲整理)
软构期末复习1-3章 1.软件构造的多维度视图及其划分 大体上分为build-time和run-time两大类,分别对应视图中的两排. 在build-time中,又按照时刻和时期.代码层面和成员层面区 ...
最新文章
- 精通Python网络爬虫:核心技术、框架与项目实战.1.1 初识网络爬虫
- IOS本地日志记录解决方案
- PHP rss聚合,利用PHP和AJAX创建RSS聚合器
- 《看门狗》真人版跑酷!
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写...
- phpcmsV9各种模板页面调用文章 hits 点击量和评论量 - 代码总结分类
- 从零开始学keras之预测房价
- 【2019银川网络赛:L】Continuous Intervals(线段树区间处理+单调栈+思维)
- easydarwin 安装_linux环境安装部署easydarwin流媒体服务器详细教程
- 作为一名基层管理者如何利用情商管理自己和团队(一)
- html转换成chm乱码,【全部解决】用Docbook生成htmlhelp + 【完全解决】生成的chm中标题和左边的索引目录是乱码的问题...
- 判断new数据初始化_拔剑-浆糊的传说_新浪博客
- 全面了解信贷业务流程
- 音符起始点检测(音频节奏检测)(4.5)
- 相机镜头上的所有字母,首字母缩写和数字代表什么?
- 阴霾“强势霸屏”长三角 天际上演“失踪的太阳”
- python适合女生吗-女生学数据分析好吗?数据分析适不适合女生学?
- C++检测内存泄漏方法
- ES5、ES6和ES2015有什么区别?
- 戴尔t420服务器显示器无信号,显示器无信号的原因及解决方法