OOA/D的统一构建(UP)过程之一:需求分析阶段USE CASE

原创 2004年06月04日 11:08:00

 

前言:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

       OOA/D的开发过程中有很多种,比如:upxp,scrum,dsdm等,不管是那一种都要将项目分解成为一系列的子项目,每次的子项目就是一次迭代,在每次的迭代中对前一次的迭代进行refactory。以前曾经看过Craig Larman的一篇关于OOA/D的文章,里面对开发过程的描述令我获益匪浅,尤其是在实践中的体会更能让人有所启发。作者在对很多应用xp项目的了解中发现,当前没有任何一个成功案例,只是见到很多人宣称正在应用xp。作者的建议是采用更加轻量敏捷的UP方法。

        UP的特点是:迭代开发,TDDtest driven develop),pair programing等等。但是在实践中应该如何操作呢?这就是这篇文章所要讲述的一个UP构建过程。在整个构建过程中会始终贯穿RefactoryIteration,这也是Up的精华。这是本人在实践中的应用过程,当然也不是十全十美,希望能在讨论中更加完善。

 

A:UP的不同阶段

 

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

        S:表示开始(START)

        R表示优化(REFINE)

备注:每次的Iteration周期应该保持在10~15天之内,必须要保证deadline。如果发现无法按时完成计划,可以删简一些需求,以保证能按时获得一个比较稳定的版本。两次迭代的间隙中要保留充分的讨论review时间,以确定当前阶段大约还需要几次迭代,安排即将开始迭代的plan(包括refactory)。

 

一、           需求分析阶段

需求分析阶段当然离不开USE CASE。在UML中有一个USE CASE DIAGRAM,这在整个UP中的地位不是很高(这要看USE CASESUB USE CASE的数量和系统的复杂度),至少在当前阶段是不重要的。USE CASE DIAGRAM的用处在于可以很清晰的描述: USE CASE之间的关联;系统的整体架构,后面会有详细的描述。更重要的是 USE CASE,它是文字的描述,是对整个系统的需求分析。

11抽象USE CASE 指导原则:(FURPS+)

1.       Functional(功能性): 特征, 能力, 安全

2.       Usability(可用性): 人为因素, 帮助, 文档

3.       Reliability(可靠性): 失败频率, 可恢复的能力, 可预见的能力

4.       Performance(执行性能): 响应时间, 吞吐能力, 准确性, 实用性, 资源的使用

5.       Supportability(支持方面): 适应能力, 可维护的能力, 配置能力;

+ 实现方面,接口方面,运行方面,打包方面

书写USE CASE要在以上的原则下考虑,当然面面俱到是不可能的,不要忘了我们还有REFACTORYIteration这两个利器。

 

12 基本业务处理过程(EBP Elementary Business Process)

    A task performed by one person in one place at one time, in response to a business event, which adds measurable business value and leaves the data in a consistent state.

很简单吧,USE CASE就是像上面的描述那样开始书写的。

13USE CASE的使用者:

不同的USE CASE是针对不同的使用者的,在实际的应用中经常会犯过粗和过细的毛病。USE CASE不是万能的,不要指望通过USE CASE可以将所有的事情都说清楚。

比方说在CRM应用中,某企业的客户经理关心的是如何提高响应度和客户满意度,提高销售额等方面;而对于财务经理关心的是财务电算化提高的工作效率,关心财务数据的安全性等;对于IT经理关心的是如何实施,软硬件的性能;对于总经理可能关心的只是投入产出比。

因此对以上人员的需求描述是要分层次的,从高往低是:

 

河蚌过于详细,不属于USE CASE的内容,如果在USE CASE中出现了thread,socket等词汇时,就是写的过于详细了,因为这应该在Domain model以后才应该出现。因此USE CASE仅仅包括sea level fish level。而总经理最多只会看到Cloud level kite level。甲方CRM实施小组人员、需求分析人员(SA)、系统设计人员(SD)PROGRAMER才是USE CASE的真正使用者。

千万要注意项目是在多次的RefactoryIteration中完成的,不可能在一次的构建过程中将项目完成,否则那就不是UP而是Waterfall了,项目组的成员将会在客户需求的不断变化、技术风险、时间风险中饱受折磨,最终的产品必然面目全非,系统架构混乱不堪。相信谁也无法忘记曾经那牵一发而动全局的感受!

 

13一个USE CASE的书写范例:

 

先这么多了,慢慢来,下次我们说说DOMAIN MODEL,待续!

OOA/D的统一构建(UP)过程之一:需求分析阶段USE CASE

 在OOA/D的开发过程中有很多种,比如:up,xp,scrum,dsdm等,不管是那一种都要将项目分解成为一系列的子项目,每次的子项目就是一次迭代,在每次的迭代中对前一次的迭代进行refactory...
  • meteorlWJ
  • meteorlWJ
  • 2008年02月14日 10:57
  • 1545

OOA/D的统一构建(UP)过程之二:需求分析阶段之Domain model

1.4、一个USE CASE的书写范例:XXX USE CASEPRIMARY ACTOR:LEVEL: Summary, Use goal, Sub functionSTAKE HOLDER:其他对...
  • xiaoyusong
  • xiaoyusong
  • 2004年06月09日 17:14
  • 906

UP 统一过程 开发周期的四个阶段

统一过程(UP)的基本特征是用用例驱动,以架构为中心的,受控的迭代式的增量开发。UP的四个阶段1.先启阶段(inception):该阶段的主要目的是建立项目的范围和版本,确定项目目标的可行性和稳定性,...
  • lzyzuixin
  • lzyzuixin
  • 2011年04月28日 17:03
  • 5126

使用实例(usecase)和功能需求

    使用实例的描述并不向开发者提供他们所要开发的功能的细节。如果你在用户需求阶段停止了需求开发,你将会发现在软件的构造阶段,开发者必须询问许多问题来弥补他们的信息空白。为了减少这种不确定性,你需要...
  • qiang_gu
  • qiang_gu
  • 2004年11月22日 16:45
  • 1213

对象技术OOA/D

在设计一个应用程序系统过程中,用例编写是非常重要的,需要抓住参与者及其目标,采用涉众—目标—用例列表的形式将需求细化。 根据用例的描述,专家的建议,以及重用现有模型来创建领域模型,其难点在于抽象概念...
  • qscool1987
  • qscool1987
  • 2013年10月09日 08:48
  • 1832

Use Case 和User Story

       Use Case(用例)和User Story(用户故事)他们之间究竟有什么联系和区别,还是他们本身就是一个物种的两种不同叫法而已,究竟哪个好或是哪个不好,这些问题的讨论见诸于各大网络文...
  • lovingprince
  • lovingprince
  • 2009年12月01日 09:47
  • 3832

软件生命周期之需求分析阶段

软件生命期之需求分析阶段主要从“是什么”、“为什么”、“怎么办”、“产物”四方面具体介绍。软件需求分析阶段顾名思义即在这一阶段主要分析用户的需求,明确系统“做什么”的阶段,需求分析具体可以分为总体需求...
  • y18333610782
  • y18333610782
  • 2015年10月14日 20:10
  • 803

最初步软件需求说法的简单调查报告

缘起 笔者在这几年工作中,接触了各类需求,不同人员在不同的时间点按照不同表述方式来提供。在沟通交流中,有些时候会因为说法的不同和不同的说法,浪费不少时间,往往会有这样的感觉:唉,原来你说的是这个啊?...
  • zhangmike
  • zhangmike
  • 2014年04月13日 10:54
  • 2904

如何在需求阶段发现更多的缺陷

你知道如何在需求评审阶段快速高效的发现高质量的需求问题吗?下面我将第一次公开分享我在工作中所原创的一种需求评审方法-结对需求评审法(在国内国外都是首创)  无论在任何软件企业,都会存在需求评审的环节...
  • qq_30353203
  • qq_30353203
  • 2015年10月29日 08:42
  • 206

OOA模型与过程、OOD模型

这个其实是上课的老师讲的,为了以后能温习,就把它po到博客上保留起来。 首先是OOA模型: 接着是OOA的过程: 接着是OOD的模型: 这些是都面向对象分析与设...
  • whs_1912138933
  • whs_1912138933
  • 2014年06月13日 21:51
  • 4075
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OOA/D的统一构建(UP)过程之一:需求分析阶段USE CASE
举报原因:
原因补充:

(最多只允许输入30个字)