UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例
1.前言
用例是UP和其他众多迭代方法的核心。UP提倡用例驱动开发。
2. 迭代方法中如何使用用例
- 功能需求首先定义在用例中
- 用例是迭代计划的重要部分,迭代是通过选择一些用例场景或整个用例来定义的
- 用例实现驱动设计
- 用例会影响用户手册的组织
- 功能或系统测试应符合用例的场景
2.1 迭代中如何演化用例和其他规格说明

图 跨越早期迭代的需求工作任务示例
- 定义了10%的需求后,就可以构建系统的产品化核心(在了解所有需求之前,迅速开展对系统核心的产品级开发)
- 直到第一次迭代接近结束时再做进一步的深入需求,详细编写约30%的用例
- 交错的需求分析得益于对少量核心软件构建的反馈
- 提倡在需求讨论会上编写用例
2.2.何时创建各种UP制品


- 用例模型始于初始阶段,只详细编写10%具有重要架构意义的用例
- 大部分用例在细化阶段的迭代中进行详细编写
- 细化阶段结束时,完成大量详细用例和其他需求
2.3 初始阶段如何编写用例
- 确定目标和涉众,推测项目范围
- 使用计算机和投影仪编写,显示参与者--目标---用例列表
- 绘制用例语境图,确定20个用例名称
- 以摘要形式编写大部分需要关注的、复杂的、风险的用例
- 以详述风格编写其中10%到20%的用例
2.4 细化阶段如何编写用例
- 在多次迭代中逐步构建具有风险、高价值或具有架构意义的部分系统
- 每次迭代前有一个为期两天的需求讨论会,较早迭代讨论关注最重要用例的子集
- 随后的简短的需求讨论会精化用户目标和用例列表,以详述形式编写或重写更多用例
- 细化阶段结束将详细编写80%~90%的用例
2.5 在构造阶段如何编写用例
编写一些次要用例,次数远小于细化阶段
UML和模式应用4:初始阶段(6)--迭代方法中如何使用用例的更多相关文章
- 不要在初始化方法和dealloc方法中使用Accessor Methods
苹果在<Advanced Memory Management Programming Guide>指出: Don’t Use Accessor Methods in Initializer ...
- UML和模式应用4:初始阶段(4)--需求制品之用例模型模板示例
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(3)--需求制品之用例模型
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: UP每个阶段包括 业务建模.需求.设计等科目: 其中需求科目对应的需求制品包括:设想.业务规则.用例模型.补充性规格说明.词 ...
- UML和模式应用4:初始阶段(1)--概述
1.前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 初始阶段是项目比较简短的起始步骤,主要目的是收集足够的信息来建立共同设想,调查项目的总体目标和可行性,确定是否值得进一步深入. ...
- UML和模式应用2: 迭代、进化和敏捷
1.前言 本章主要介绍迭代.敏捷开发及UP(统一过程)的基本概念 2.基本术语 Items Note 软件开发过程 描述了构造.部署及维护软件的方式 迭代开发 是一种软件开发过程的生命周期模型,依赖短 ...
- UML和模式应用4:初始阶段(2)--需求科目之进化式需求
1. 前言 UP开发包括四个阶段:初始阶段.细化阶段.构建阶段.移交阶段: 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项目处理销售用例) 实现 处理销售 用例中基本 ...
随机推荐
- python 和 scikit-learn 实现垃圾邮件过滤
文本挖掘(Text Mining,从文字中获取信息)是一个比较宽泛的概念,这一技术在如今每天都有海量文本数据生成的时代越来越受到关注.目前,在机器学习模型的帮助下,包括情绪分析,文件分类,话题分类,文 ...
- 架构师成长之路2.4-Kickstart文件剖析
点击返回架构师成长之路 架构师成长之路2.4-Kickstart文件剖析 kickstart文件是一个简单的文本文件,它包含了一个项目列表,每个项目由一个关键字来识别. 创建kickstart文件注意 ...
- 学习Spring Boot:(二十七)Spring Boot 2.0 中使用 Actuator
前言 主要是完成微服务的监控,完成监控治理.可以查看微服务间的数据处理和调用,当它们之间出现了异常,就可以快速定位到出现问题的地方. springboot - version: 2.0 正文 依赖 m ...
- 【转】stm32CubeMx上移植自己的printf()和scanf()函数
要想printf()和scanf() 函数工作,我们需要把printf()和scanf() 重新定向到串口中.重定向是指用户可以自己重写C 的库函数,当连接器检查到用户编写了与C 库函数相同名字的函数 ...
- elasticsearch 安装、配置
elasticsearch:基于java开发,基于RESTful web 接口,提供分布式多用户能力的全文搜索引擎. elasticsearch 安装: 1. java SE Development ...
- 应用程序发生异常 unknown software exception (0xc00000fd)... - 栈溢出(Stack overflow)
今天在写程序的时候,弹出这样的提示对话框: 应用程序发生异常 unknown software exception (0xc00000fd): 相关代码是这样,在一个函数中读取一个csv文件,先根据这 ...
- java8中的stream().filter()的使用和Optional()
转: https://www.cnblogs.com/yimiyan/p/5992440.html Optional: https://www.cnblogs.com/zhangboyu/p/7580 ...
- (qsort)绝对值排序
绝对值排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- Golang面向API编程-interface(接口)
Golang面向API编程-interface(接口) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Golang并不是一种典型的面向对象编程(Object Oriented Pr ...
- python遍历数组获取下标
代码 通过枚举实现 a = [,,,,,] for i,j in enumerate(a): print i,j 结果