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展示了直接与系统交互的外部参与者.系统(作为黑盒)以及由参与者发起的系统 ...
随机推荐
- Prometheus-operator架构详解
Prometheus是一个开源的系统监视和警报工具.一款非常优秀的监控工具.监控方案:Prometheus 提供了数据搜集.存储.处理.可视化和告警一套完整的解决方案. Prometheus的关键特性 ...
- Libre 6013 「网络流 24 题」负载平衡 (网络流,最小费用最大流)
Libre 6013 「网络流 24 题」负载平衡 (网络流,最小费用最大流) Description G 公司有n 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使n ...
- 收藏:Non-direct与direct ByteBuffer区别
相信大家都知道,但是两者的区别在什么地方呢?在不同的环境下采用哪种类型的ByteBuffer会更有效率呢?先解释一下两者的区别:Non-directByteBuffer内存是分配在堆上的,直接由Jav ...
- __slots__,__doc__,__del__,__call__,__iter__,__next__迭代器协议(三十六)
1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dic ...
- Java使用SFTP和FTP两种连接方式实现对服务器的上传下载 【我改】
[]如何区分是需要使用SFTP还是FTP? []我觉得: 1.看是否已知私钥. SFTP 和 FTP 最主要的区别就是 SFTP 有私钥,也就是在创建连接对象时,SFTP 除了用户名和密码外还需要知道 ...
- 搭建ftp
相信很多人都知道ftp吧.打个比方.在你们公司或者学校里面有一个ftp地址,里面存放了你们所需要的一些常用的资源.这样的话你们就可以随时登录这个ftp来拉取你所需要的资源(在范围内),简单的来说,ft ...
- 多目标遗传算法 ------ NSGA-II (部分源码解析) 实数、二进制编码的变异操作 mutation.c
遗传算法的变异操作 /* Mutation routines */ # include <stdio.h> # include <stdlib.h> # include < ...
- 在 golang 中使用 Json
序列化 序列化对象将使用 encoding/json 中的 Marshal 函数. 函数原型为:func Marshal(v interface{}) ([]byte, error) 以下是官网给出的 ...
- CSS预处理器之less
less简单入门 w3cplus--Less讲解 vue中安装less npm install less less-loader --save 注意:在vue中引入less之后,用"> ...
- centos7安装dnsmasq局域网dns
Dnsmaq介绍: Dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能. Dnsmasq可以解决小范围的dns查询 ...