UML和模式应用4:初始阶段(2)--需求科目之进化式需求
1. 前言
UP开发包括四个阶段:初始阶段、细化阶段、构建阶段、移交阶段;
UP每个阶段包括 业务建模、需求、设计等科目;
需求是UP科目之一,在初始阶段需求科目的工作量占据较大的部分。但是初始阶段的需求科目并非定义所有需求,而是需要在后续的细化阶段逐步迭代。
同时需求科目工作的成果会形成相关的制品。
2.相关术语
术语 | 说明 |
需求 | 系统必须提供的能力和遵从的条件 |
需求管理 | 定义需求的方法 |
瀑布式需求管理 | 编程之前项目的第一个阶段就试图完全定义和固化需求 |
UP式需求管理 | 用一种系统的方法来寻找、记录、组织和跟踪系统不断变更的需求 |
表 需求相关术语说明
3. 寻找需求的方法
- 与客户一起编写用例
- 开发者和客户共同参加客户讨论会
- 请客户代理参加焦点小组
- 把每次迭代的成果给客户演示以求得到反馈
4. 需求的类型和种类
需求种类 | 说明 |
功能性(Functional) | 特性、功能、安全性 |
可用性(Usability) | 人性化因素、帮助、文档 |
可靠性(Reliability) | 故障频率、可恢复性、可预测性 |
性能(Performance) | 响应时间、吞吐量、准确性、有效性、资源利用率 |
可支持性(Supportability) | 适应性、可维护性、国际化、可配置性 |
如下为“+” | |
实现(Implementation) | 资源限制、语言和工具、硬件等 |
接口(Interface) | 强加于外部系统接口之上的约束 |
操作(Operation) | 对其操作设置的系统管理 |
包装(Packaging) | 物理的包装盒 |
授权(Legal) | 许可证或其它方式 |
表 按照FURPS+模型需求的分类
注:需求按照FURPS+模型进行分类,其中+是指一些辅助的、次要的因素
5. UP需求制品
UP需求制品 | 说明 |
设想 | 概括了高阶需求。这些需求在用例模型和补充性规格说明中细化 |
业务规则 | 又称领域规则,描述了凌驾于软件项目的需求或政策,这些规则是领域业务所要求的 |
用例模型 | 一组使用系统的典型场景 |
补充性规格说明 | 基本上是用例之前的所有内容,主要用于非功能性需求,例如性能、授权 |
词汇表 | 定义重要术语 |
表 UP初始阶段需求科目对应的需求制品
注:UP提供了如上表的需求制品,这些需求制品是可选的
6. 本书包含的UP需求制品
本书包含的需求制品包括:
- 设想
- 业务规则
- 用例模型
- 补充性规格说明
- 词汇表
UML和模式应用4:初始阶段(2)--需求科目之进化式需求的更多相关文章
- UML和模式应用4:初始阶段(1)--概述
1.前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 初始阶段是项目比较简短的起始步骤,主要目的是收集足够的信息来建立共同设想,调查项目的总体目标和可行性,确定是否值得进一步深入. ...
- 《UML和模式应用(原书第3版)》目录
学习 <UML和模式应用(原书第3版)>目标: 理解OOA/D思想 如何使用UML建模 如何使用设计模式 如何设计分层架构 目录: 第1部分 绪论 第1章 面向对象分析和设计 第2章 迭代 ...
- UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
1.前言 用例是UP和其他众多迭代方法的核心.UP提倡用例驱动开发. 2. 迭代方法中如何使用用例 功能需求首先定义在用例中 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的 用 ...
- UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(3)--需求制品之用例模型
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML学习笔记—基本概念和初始阶段
chpater1 1.什么是分析和设计 分析:对问题和需求的调查研究 设计:满足需求的概念上的解决方案 做正确的事(分析)和正确地做事(设计) 2.什么是Object-Oriented-Analysi ...
- UML和模式应用5:细化阶段(4)--如何创建领域模型
1.前言 以当前迭代中所要设计的需求为界,创建领域模型的步骤: 1.寻找概念类 2.将其绘制为UML类图中的类 3.添加关联和属性 2.如何寻找概念类 寻找概念类有如下几种方法: 重用和修改现有的模型 ...
- UML和模式应用5:细化阶段(1)--第1次迭代
1.前言 从本文开始进入细化阶段,讨论迭代技术的基础,本次讨论将着重讨论第一次迭代,以POS机为例. 2. 第一次迭代处理的需求(以NextGen POS项目处理销售用例) 实现 处理销售 用例中基本 ...
- UML和模式应用5:细化阶段(5)---系统顺序图
1.前言 系统顺序图(SSD)是为阐述系统相关的输入和输出事件而快速.简单的创建的制品,它们是操作契约和对象设计的输入. SSD展示了直接与系统交互的外部参与者.系统(作为黑盒)以及由参与者发起的系统 ...
随机推荐
- 【BZOJ1826】[JSOI2010]缓存交换(贪心)
[BZOJ1826][JSOI2010]缓存交换(贪心) 题面 BZOJ 洛谷 题解 当缓存不满显然直接放进去,满了之后考虑拿走哪一个.不难发现拿走下一次出现时间最晚的那个一定不会更差. 那么用一个堆 ...
- LeetCode好题汇总
最近开始刷LeetCode,准备按照专题来进行.所有的解题方案我都会放在GitHub上面,对于有价值的题目,我会重新在这里做记录,并且将解题方案贴出来,便于自己之后复习. Array 1. easy ...
- 01---JMS与消息中间件的基本概念
JMS消息服务介绍和使用场景 什么是JMS JMS : Java Message Service(Java消息服务),Java平台中关于面向消息中间件的接口. 重点在于接口,接口就意味着与JDBC类似 ...
- Java8的Stream流(一) --- 基础用法
Java8中的Stream Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象. Stream的特性及优点: 无存储. Stream不是一种数据 ...
- A1077. Kuchiguse
The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...
- 【洛谷P1429】平面最近点对
题解:直接在输入点对的基础上建立 kd-tree,再每次以每个节点的坐标查询离这个点最近的点即可,同时需要忽略这个点本身对该点答案的贡献. 另外,直接在这些点上建立 kd-tree 会比一个一个插入点 ...
- 路径或文件名中含有中文的jar文件双击启动不了 -> Java7的Bug?
至从安装了java7后,才发现部分可执行的jar文件双击都启动不了了. 比如所有的jar文件放在桌面上双击启动不了. 比如所有的文件名中含有中文的jar文件双击启动不了. 比如一个 abc.jar 放 ...
- 迭代器_iter_,生成器yeild,三元运算,列表解析(十三)
迭代器: l = [1, 2, 3, 4] iter = l.__iter__() print(iter) print(iter.__next__()) print(iter.__next__()) ...
- react中多语言切换的实现方式
目前正在进行的项目就是一个多语言切换的项目,有些前情知识我们可以 从https://react.i18next.com/getting-started进行了解. 说到使用方法,当然首先是要$ npm ...
- MySQL5.5登录密码忘记了,怎嘛办?
1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysqld --skip-grant- tables回车.如果没有出现提示信息,那就对了. 4.再开一 ...