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)--需求科目之进化式需求的更多相关文章

  1. UML和模式应用4:初始阶段(1)--概述

    1.前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 初始阶段是项目比较简短的起始步骤,主要目的是收集足够的信息来建立共同设想,调查项目的总体目标和可行性,确定是否值得进一步深入. ...

  2. 《UML和模式应用(原书第3版)》目录

    学习 <UML和模式应用(原书第3版)>目标: 理解OOA/D思想 如何使用UML建模 如何使用设计模式 如何设计分层架构 目录: 第1部分 绪论 第1章 面向对象分析和设计 第2章 迭代 ...

  3. UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例

    1.前言 用例是UP和其他众多迭代方法的核心.UP提倡用例驱动开发. 2. 迭代方法中如何使用用例 功能需求首先定义在用例中 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的 用 ...

  4. UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例

    1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...

  5. UML和模式应用4:初始阶段(3)--需求制品之用例模型

    1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...

  6. UML学习笔记—基本概念和初始阶段

    chpater1 1.什么是分析和设计 分析:对问题和需求的调查研究 设计:满足需求的概念上的解决方案 做正确的事(分析)和正确地做事(设计) 2.什么是Object-Oriented-Analysi ...

  7. UML和模式应用5:细化阶段(4)--如何创建领域模型

    1.前言 以当前迭代中所要设计的需求为界,创建领域模型的步骤: 1.寻找概念类 2.将其绘制为UML类图中的类 3.添加关联和属性 2.如何寻找概念类 寻找概念类有如下几种方法: 重用和修改现有的模型 ...

  8. UML和模式应用5:细化阶段(1)--第1次迭代

    1.前言 从本文开始进入细化阶段,讨论迭代技术的基础,本次讨论将着重讨论第一次迭代,以POS机为例. 2. 第一次迭代处理的需求(以NextGen POS项目处理销售用例) 实现 处理销售 用例中基本 ...

  9. UML和模式应用5:细化阶段(5)---系统顺序图

    1.前言 系统顺序图(SSD)是为阐述系统相关的输入和输出事件而快速.简单的创建的制品,它们是操作契约和对象设计的输入. SSD展示了直接与系统交互的外部参与者.系统(作为黑盒)以及由参与者发起的系统 ...

随机推荐

  1. 【BZOJ1826】[JSOI2010]缓存交换(贪心)

    [BZOJ1826][JSOI2010]缓存交换(贪心) 题面 BZOJ 洛谷 题解 当缓存不满显然直接放进去,满了之后考虑拿走哪一个.不难发现拿走下一次出现时间最晚的那个一定不会更差. 那么用一个堆 ...

  2. LeetCode好题汇总

    最近开始刷LeetCode,准备按照专题来进行.所有的解题方案我都会放在GitHub上面,对于有价值的题目,我会重新在这里做记录,并且将解题方案贴出来,便于自己之后复习. Array 1. easy ...

  3. 01---JMS与消息中间件的基本概念

    JMS消息服务介绍和使用场景 什么是JMS JMS : Java Message Service(Java消息服务),Java平台中关于面向消息中间件的接口. 重点在于接口,接口就意味着与JDBC类似 ...

  4. Java8的Stream流(一) --- 基础用法

    Java8中的Stream Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象. Stream的特性及优点: 无存储. Stream不是一种数据 ...

  5. A1077. Kuchiguse

    The Japanese language is notorious for its sentence ending particles. Personal preference of such pa ...

  6. 【洛谷P1429】平面最近点对

    题解:直接在输入点对的基础上建立 kd-tree,再每次以每个节点的坐标查询离这个点最近的点即可,同时需要忽略这个点本身对该点答案的贡献. 另外,直接在这些点上建立 kd-tree 会比一个一个插入点 ...

  7. 路径或文件名中含有中文的jar文件双击启动不了 -> Java7的Bug?

    至从安装了java7后,才发现部分可执行的jar文件双击都启动不了了. 比如所有的jar文件放在桌面上双击启动不了. 比如所有的文件名中含有中文的jar文件双击启动不了. 比如一个 abc.jar 放 ...

  8. 迭代器_iter_,生成器yeild,三元运算,列表解析(十三)

    迭代器: l = [1, 2, 3, 4] iter = l.__iter__() print(iter) print(iter.__next__()) print(iter.__next__()) ...

  9. react中多语言切换的实现方式

    目前正在进行的项目就是一个多语言切换的项目,有些前情知识我们可以 从https://react.i18next.com/getting-started进行了解. 说到使用方法,当然首先是要$ npm ...

  10. MySQL5.5登录密码忘记了,怎嘛办?

    1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysqld --skip-grant-    tables回车.如果没有出现提示信息,那就对了. 4.再开一 ...