没头没尾

标题:没头没尾--项目开发笔记:如何编写最外层用例?! 数据挖掘论坛

关键词:结构式的开发,用例驱动开发

0214号:街上到处都是拿着鲜花的小丫头,比过年都热闹!! 数据挖掘工具

  数据挖掘工具

项目将要进入最后的实施阶段,各个子系统也开始了扫尾工作。由于项目中出现的问题很多都是由于设计中的原因,与项目小组的成员进行讨论的时候有时候还是会不自觉的回到项目最初我们有什么工作没有做好,从而从项目中得到更多的经验。 数据挖掘研究院

 

如何编写最外层用例 数据挖掘研究院

市面上有非常多的关于UML,关于Use case编写,关于RUP的书。可是没有关于如何在我们已经有结构化的想法,或者说,当我们的脑子中已经有全局与整体的设计思路想法时,去总结与实现Use Case 数据挖掘实验室

  数据挖掘论坛

最外层用例是指主actor在用例之外的最高层次的Use Case。简单的说就是对这个系统要完成什么工作的最抽象的说明。如果对最外层用例不清楚,可以看一眼《编写有效用例》(Alistair Cockburn著,机械工业出版社) 数据挖掘研究院

 

数据挖掘实验室

先简单的介绍一下我们的项目。由于背景将会对Use case设计产生很大的影响,所以在此先进行说明。

  数据挖掘论坛

本系统的目标是制作出一个跨企业的信息平台,为目标公司的客户进行服务。这些服务分成很多的方面,比如提供给银行的公司财务情况查询,提供给生产厂商销售情况的报告。提供给销售的商场以及店铺货源的情况,提供给物流,安装服务公司送货以及安排信息。从中赚取提高销售效率,减少运输损耗的费用。 数据挖掘研究院

设定目标公司为A公司,信息平台名称B系统。 数据挖掘实验室

      

以下是二种对这个系统的最外层用例的描述: 数据挖掘交友

¨         项目最初描述的最外层用例

数据挖掘研究院

———————————————————————————————————— 数据挖掘实验室

u        用例名称 数据挖掘交友

         最外层用例 数据挖掘实验室

u        简要说明

数据挖掘研究院

         A公司决定让其业务合作伙伴以及最终的用户通过互联网访问B系统以达到减少A公司本地人员的工作量以及提升工作效率的目的。B系统负责完成进销存业务、其它业务处理以及报表管理。一些系统维护人员还负责管理基础信息的认定与实现。包括四个用例:基础设置子系统,进销存子系统,其它业务处理子系统,报表子系统。

数据挖掘论坛

u        用例范围

         跨企业信息平台 数据挖掘实验室

u        主执行者

         客户 数据挖掘研究院

u        用例层次 数据挖掘实验室

         白云(最高层次) 数据挖掘研究院

u        前置条件 数据挖掘实验室

         有新业务产生 数据挖掘论坛

u        触发事件

数据挖掘实验室

         客户有购货的需求

u        主成功场景 数据挖掘实验室

l 系统维护人员操作基础设置子系统维护基础设置的数据。

数据挖掘工具

l 操作人员操作进销存子系统完成进销存业务。 数据挖掘工具

l 操作人员通过报表系统分析查询业务结果。

数据挖掘实验室

l 操作人员通过其它的业务子系统完成对系统中的其它业务处理。(注,其它业务子系统包括财务资金等等子系统,将会子用例描述中强调) 数据挖掘交友

u        扩展 数据挖掘实验室

        

数据挖掘工具

u        未解决的问题

数据挖掘实验室

         数据挖掘工具

————————————————————————————————————

 

设计此版本的最外层用例时,由于公司内已经有一些相类似的产品的设计方案与DEMO。所以出现在我脑中的第一感觉就是我们将要完成的系统一定中会有几个菜单项,比如基础设置,进货管理,销售管理,库存管理,财务资金管理,报表打印子系统等等。从这个基础上再进行了一次抽象之后,我们将最外层用例定义成上述的描述。 数据挖掘实验室

这个描述应该说并没有错误,但是当你顺着这个最外层的用例向下展开你的其它子用例与子子用例时,就会出现以下的一些问题: 数据挖掘实验室

1.         当从基础设置展开时,我们根据需求定义出了一些常用对象设置,比如商品设置,价格设置,库房设置,机构设置等等,但是具体每一个设置中要设置到多详细,需求中的定义并不是很清楚。所以当我们对应需求在做基础设置之中的子用例与子子用例时,有一种不知道这些设置是从哪里来的感觉。

2.         当与客户交流的时候,客户往往并不关心你的设置要搞什么东东,他们最为关心的是把业务是不是可以运行。所以从关心的角度来说,对我们与客户交流的时候,这样的最外层设计使得我们对系统的关注出现了偏差。(例:我们做出的DEMO给客户,客户对我们的基础设置没有提出太多的问题。但是在提交给客户的测试版本中,发现有一些基础对象的设计不对,这时候才又要对系统进行修改。)

……………………

也就是说我们的设计可能会被这个最外层用例带成这样一种形式: 数据挖掘论坛

       考虑有多少个基础设置对象设计 考虑业务处理 》再根据业务处理的特性来修改基础设置对象的设计 数据挖掘交友

 

所以总的来说,设计出这种类型的最外层用例的情况一定是设计人员刚从结构化设计的角度转向用例驱动的设计与开发方式(出这种用例设计的人一定是个程序员或以前干过程序设计的)。这种设计方式是从开发者的角度出发,而不是从设计者的角度出发的。(写完这篇笔记之后我与一个朋友进行交流,他告诉他以前也同样有过这种类型的错误。)

 

¨         第二次描述最外层用例描述

———————————————————————————————————— 数据挖掘实验室

u        用例名称 数据挖掘实验室

         最外层用例 数据挖掘论坛

u        简要说明

         A公司决定让其业务合作伙伴以及最终的用户通过互联网访问B系统以达到减少A公司本地人员的工作量以及提升工作效率。B系统负责完成销售业务以及报告销售情况。一些系统维护人员还必须为客户和职员设置安全存取级别。包括四个用例:增加服务(A公司本地),增加服务(客户),报告业务情况,管理安全存取权限。 数据挖掘实验室

u        用例范围 数据挖掘工具

         跨企业平台 数据挖掘论坛

u        用例层次

         白云(最高层次) 数据挖掘研究院

u        主执行者 数据挖掘工具

         客户

数据挖掘实验室

u        前置条件 数据挖掘交友

         客户有购货的需求 数据挖掘研究院

u        主成功场景 数据挖掘工具

l 客户通过电话,邮件联系A公司操作人员,请求一个新的服务。A公司的操作人员通过B系统处理服务请求。 数据挖掘论坛

l 客户直接通过B系统的客户端,请求与处理新的服务。 数据挖掘交友

l 客户通过B的系统可以查询出销售情况以及其它相关情况的报表。

数据挖掘工具

l B的系统维护人员将要对客户以及操作人员进行安全存取权限的设置。 数据挖掘研究院

u        扩展 数据挖掘交友

         数据挖掘研究院

u        未解决的问题 数据挖掘交友

        

数据挖掘交友

————————————————————————————————————

数据挖掘实验室

  数据挖掘研究院

这种最外层的设计方法应该说是完全从用户的角度考虑的,并且还有一点,这个最外层并不是完全包括我们已前实现过系统的所以最上层菜单。(没有基础设置等等)。但是应该说这个最外层用例方便我们将关注的焦点转向用户真正需要什么?而真正的从用户的角度出发来考虑问题。 数据挖掘研究院

  数据挖掘交友

所以针对已经有设计经验与开发经验的朋友,我想可能对最外层用例的处理需要做到以下的两点: 数据挖掘研究院

1.转化你的角度,不要先上来就抽象你认为一定要存在的子系统。而是应该放在用户的角度思专 数据挖掘实验室

2.学会放弃。不要把最外层用例搞成一个系统最终设计版本的一个高级抽象形式。用例这个东东与最后的设计并不一定完全一样。(比如基础设置之类的服务性系统,也许并不会在最外层用例中显示出来。)

数据挖掘实验室

 

以上的说法只是我的一些感觉,也许并不一定正确。画最外层用例应该说有很多的方法可选择,也许针对一个项目可以有很多“正确的”最外层用例的设计方法。上面两种划分方式应该说只从最外层用例的角度来说都是正确的,但是如果加上对后续过程发展的影响,我的感觉是第二种方式会比第一种方式好一点,可以说是清楚一点。朋友们如果有一些其它的体会,欢迎与我交流。mailto:Viktoryu@hotmail.com 数据挖掘研究院

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:微软WebApplicationStress的使用体验
下一篇:JAVA技术在移动数据通信业务方面的发展契机
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 软件开发中项目需求管理简述
  • 基于.NET开发和运行环境架构校园信息系统(
  • 基于.NET开发和运行环境架构校园信息系统(
  • 细谈软件需求分析过程
  • 商场荧屏导购展板系统软件需求说明书
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 软件开发中项目需求管理简述
  • 面向服务架构(SOA)的原则
  • “再用式”软件开发方法
  • 细谈软件需求分析过程
  • 客户关系管理的三大纪律
  • 需求调研分析中的项目干系人概念
  • 获取用户需求的沟通技巧之一
  • 获取用户需求的十大沟通技巧
  • 新产品开发项目中的需求问题
  • 谈谈软件开发中的调研对象与被调研对象
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静