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展示了直接与系统交互的外部参与者.系统(作为黑盒)以及由参与者发起的系统 ...
随机推荐
- oracle导出导入数据库
一.给空表分配空间: 这一步一定要做,否则空表不能导出. 首先连接你要导出的库,在该库上执行以下sql: select 'alter table '||table_name||' allocate e ...
- 【BZOJ1800】[AHOI2009]飞行棋(暴力)
[BZOJ1800][AHOI2009]飞行棋(暴力) 题面 BZOJ 洛谷 题解 预处理一下前缀和就可以\(O(1)\)计算两点间的距离了,直接\(O(n^4)\)暴力枚举即可. #include& ...
- shoi2017小结
某省选 胡雨菲让我做的,她自己已经AK了... 在loj(自由oj?)上面搜索shoi2017即可. 洛谷上也有,搜六省联考就行 第一题:大水题枚举 P3745 看题目就很水:(其实是因为胡雨菲给我讲 ...
- [Offer收割]编程练习赛13 解题报告
http://hihocoder.com/contest/offers13/problems 题目1 : 风格不统一如何写程序 首先:输入保证组成变量名的单词只包含小写字母. 做法:只要对不同的部分进 ...
- NO.7:别让异常逃离析构函数
1.析构函数绝对不要吐出异常,如果一个析构函数可能抛出异常,析构函数应该捕获任何异常,然后要么吞下它们或者退出程序 2.如果用户需要对析构内的可能抛出异常的操作做出反应,则应该将操作放入除析构函数外的 ...
- go语言从零学起(四) -- 基于martini和gorilla实现的websocket聊天实例
如果只是想了解chat的实现方式,在gorilla和revel框架里面都有完整的chat实例可以提供参考.本篇讲解的是,如何基于martini实现websocket的聊天. 配置步骤: 1 已经安装了 ...
- SVN的Windows和Linux客户端操作详解
SVN的Windows和Linux客户端操作详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Windows客户端操作 1.安装SVN客户端 a>.去官网下载svn软件 ...
- MYCAT扩容
一.原架构图: 二.扩容 在HOST1上新增节点db_user2 在HOST2上新增节点db_user2 三.操作步骤 1.mycat 所在环境安装 mysql 客户端程序 2.mycat 的 lib ...
- JavaSE学习总结(八)—— 异常处理(Exception)
一.理解异常及异常处理的概念 异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序. 异常不是错误 程序中关键的位置有异常处理,提高程序的稳定性 二.掌握Java异常处理机制 Jav ...
- Kanboard简单的可视化任务板,项目管理
采用docker安装 简单快捷 下载 docker pull kanboard/kanboard:latest 运行 docker run -d --name kanboard -p 10080:80 ...