??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲jizzjizz少妇,伊人亚洲综合青草青草久热,久久精品国产亚洲av麻豆 http://www.tkk7.com/landy/category/51223.html敏感、勤学、多?/description>zh-cn Wed, 18 Jul 2012 14:52:55 GMT Wed, 18 Jul 2012 14:52:55 GMT 60 构徏SOA风格的应?/title> http://www.tkk7.com/landy/archive/2012/07/18/383436.htmlq途书?/dc:creator>q途书?/author>Wed, 18 Jul 2012 13:19:00 GMT http://www.tkk7.com/landy/archive/2012/07/18/383436.html http://www.tkk7.com/landy/comments/383436.html http://www.tkk7.com/landy/archive/2012/07/18/383436.html#Feedback 0 http://www.tkk7.com/landy/comments/commentRss/383436.html http://www.tkk7.com/landy/services/trackbacks/383436.html 当下QSOAq个词已l深入h心,几乎没有Z说自p计的应用是遵从SOA的?/p> 很多人对SOA的理解就是分层、模块化、面向对象。。。这U理解对不对后面再说。先看一些问题:
我今天看了一个开发团队的开发工E包l构Q部分类的命名及l织产生了如下印象:
每个usecase是一Ҏ烟囱 烟囱与烟׃间连模型都没有共享。其实业务模型是有设计的Q主要是实现模型没有保持业务模型的结构特征,全部成了“值对?#8221;Q开发h员天天把q些值对象叫做领域对象?/li> 有三层,是Struts帮忙定义的,三层分别Ҏusecase分包 q也是我们U的SOApȝQ!Q!q最基本的模型设计、模块设计、分层设计都没做好,难怪年q重构、年q完成不可能完成的Q务!Q!我确信这U重构、这U不可能完成的Q务还会年q持l下去!Q!
I竟什么是W合SOA风格的系l?先看看SOA宗师IBM的一文章:
http://www.ibm.com/developerworks/cn/architecture/ar-soastyle/
我来ȝ一下?/p>
SOA能达C么目的:
1.实现业务与IT的一致性;
2. 创徏更灵zȝ反应更敏LIT基础设施Q?/p>
3. 化集成实玎ͼ
SOA要怎么做?
从应用程序到程和服务。消除应用程序,Y件系l创Zؓ一l由业务程q行协调的交互服务。每个服务实C业上下文中定义的特定业务目标或功能,业务程表示必须实现的业务解x案。这个讲的比较抽象,我的解读是服务表示一个最l粒度的业务目标或功能,׃务流E来~排q些服务Q实现更大粒度的业务目标或功能,业务程也是服务。注意,q里隐式的定义了服务的概念,服务是自ȝQ可替换的,可被多个程~排的,不耦合程上下文的Q是直接面向业务目标或功能的Q不是一个公共函数库Q服务不是封装了数据和方法的cR?/li> SOA的服务基于业务资源(对象Q定义,不支持操作者的执行上下文,而是支持业务资源Q对象)。这里的业务资源是指业务实体。业务实体也是来自业务的。所以,SOA能保证IT与业务的一致性?/li>
别再说你的应用程序或烟囱遵@SOA的架构风|
]]> 软g架构设计Q四Q?amp;mdash;—软g架构设计q程 http://www.tkk7.com/landy/archive/2012/07/08/382543.htmlq途书?/dc:creator>q途书?/author>Sun, 08 Jul 2012 08:46:00 GMT http://www.tkk7.com/landy/archive/2012/07/08/382543.html http://www.tkk7.com/landy/comments/382543.html http://www.tkk7.com/landy/archive/2012/07/08/382543.html#Feedback 0 http://www.tkk7.com/landy/comments/commentRss/382543.html http://www.tkk7.com/landy/services/trackbacks/382543.html 3.10 定pȝ需?/strong>
定pȝ需求即定pȝ用例。方法以Ҏ业务用例实现场景分析入,分析每个pȝActor的系l用例。每个系l用例一定是一个完整的事g,注意业务用例和系l用例的区别Q业务用例是一个完整的业务目标Q而系l用例是一个完整的事g,是业务目标中的一个环节,如客户代表申请开h一个完整的pȝ用例Q但不是一个完整的业务目标Q其包括多个面操作?/p>
3.11 用例实现分析
Ҏ个系l用例,识别其可能的实现路径Q每个实现\径就是一个用例实玎ͼ然后针对每个用例实现Q分析hZ互,使用zd囄制用例实现场景?/p>
3.12 分析模型
使用分析对象Q实现所有的用例实现场景Q识别出三种分析对象。在q个q程中,也可以徏立界面原型,和客戯一步达成需求的一致理解。分析模型是需求到设计的桥梁,分析cȝ层次高于设计实现Q需求通过分析c{成计机语言。后l做pȝ设计的时候,可直接将分析模型转换成设计模型?/p>
在考虑分析模型的过E中Q有可能识别Z些公共模块,比如开戗销戯E中都会有一些业务规则校验,需要引入规则引擎的支持Q那么类D则引擎这L公共模块需要添加到逻辑架构中去?/p>
3.13 非功能性需求设?/strong>
以性能Z讲一下对非功能性需求设计的q程?/p>
1、确定性能目标Q要支持多少用户、多在U用戗多ƈ发操作、操作响应时间要求等Q?/p>
2、以一个简单的三层架构v点,Ҏ性能目标Q识别瓶颈。比如,如果数据库撑不住Q那么需要考虑最佳的分库设计Q如果是逻辑层撑不住Q则要考虑负荷分担Q状态同步的逻辑层方案设计,如果操作响应旉要求很高Q则可根据不同场景,分析其操作的数据的读写特点,采用合适的~存Ҏ。如要支撑高q发低时延的大数据量查询QTwitter采用了垂直~存Qraw~存的设计方案?/p>
3、验证性能设计。抽取典型场景,实现一个prototype来验证性能设计是否满性能目标?/p>
在质量属性设计中Q如果需要新增模块,则需要修攚w辑架构?/p>
有一些约束类需求也是非帔R要的Q不能遗漏分析?/p>
l过q一个阶D,我们能够得到一个比较完整的逻辑架构Q运行架构、开发架构、物理架构、数据架构的输入了。剩下的工作是~的工作了?/p>
3.14 架构~档
有了上面的工作作为铺垫,~非常容易了Q这个就不细讲了?/p>
]]>软g架构设计Q三Q?amp;mdash;—软g架构设计q程 http://www.tkk7.com/landy/archive/2012/07/08/382527.htmlq途书?/dc:creator>q途书?/author>Sun, 08 Jul 2012 07:17:00 GMT http://www.tkk7.com/landy/archive/2012/07/08/382527.html http://www.tkk7.com/landy/comments/382527.html http://www.tkk7.com/landy/archive/2012/07/08/382527.html#Feedback 0 http://www.tkk7.com/landy/comments/commentRss/382527.html http://www.tkk7.com/landy/services/trackbacks/382527.html 3.4 分析业务用例场景 分别针对上节中业务用例视图中的每一个用例,分析该业务用例在实际工作中是如何做的Q一般用业务活动图来表qC务场景。在q个阶段Q有几点需要特别注意的地方Q?/p>
1、关注参与业务用例的各个参与者是如何协同的,如一个简化的用户开L程是填写营业员提交开戯?》主审批订?》施工h员行订单;
2、对一个业务用例,如果有不同的实现路径Q需要做不同的场景分析。例如,用户订购产品Q分|上订购和营业厅订购q两U场景,两个场景大不相同Q?/p>
3、场景的步骤_度Q用L一个完整操作目的,如用户开P则用户填写订单是一个步骤,而不用细化到用户取单、拿W填单等Q?/p>
3.5 产生业务对象模型
针对每个业务用例Q根据业务用例场景,分析该用例中涉及的业务实体,q绘制业务对象模型图?/p>
3.6 产生业务用例实现视图
业务用例实现指业务用例的一U实现\径,一个业务用例实现对应着一个业务用例场景。业务用例实现视图是表述业务用例实现的视图?/p>
3.7 分析业务用例实现场景
业务用例实现场景着重描q如何通过人机交互来完成业务,是业务用例场景的具体化。一般用zd图来表述人机交互程。这里每个步骤的_度是h与系l或pȝ与h的一ơ交互?/p>
3.8 领域建模
领域模型是描q特定问题域的对象及其相互关pR领域模型对业务对象做了q一步的_。领域徏模的步骤如下Q?/p>
1、确定问题域Q如CRM中的客户模型比较关键Q我们决定对其进行领域徏模,则需要将设计客户业务实体的用例全部识别出来;
2、领域徏模:逐一分析涉及到操作客h型的业务用例场景Q识别领域对象以及对象之间的关系Q?/p>
3、验证领域模型:使用序列图作为工PZ领域模型来编排实现各业务场景Q如果能实现Q证明领域模型ok?/p>
领域对象跟业务对象有区别Q我认ؓQ业务对象不是领域对象。业务对象来自于业务用例Q是业务中客观存在的Q而领域对象是对业务对象做q一步抽象、精化后的结果,是h对业务的主观认识Q这是Z么不同厂商的产品模型会不一L原因Q而且q不是所有的领域对象都是Ҏ业务对象分析而来的。比如,某CRM产品面向全球市场Q可定制能力是关键,为提升可定制性,需要构Z个快速开发框Ӟq个快速开发框架也是Y件系l的一部分Q也是有领域模型的,但是它的领域模型跟业务对象没半点关系?/p>
3.9 产生逻辑架构草稿
通过上述步骤Q我们已l有了部分领域模型,针对每一个可直接映射C务对象一U的领域对象Q可规划相应的业务模块,如有开戯单,那么可以有订单管理,有客L理等。业务模块的划分_度可依据大概的工作量而定Q保证最低别的业务模块的工作量是大致均匀的。这仅仅是一个徏议,可以Ҏ目的实际情况决定?/p>
Z上述的成果,我们q只能Z个逻辑架构的草E,因ؓ我们q没有分析质量属性,后箋对质量属性做设计的时候,q有可能会引入新的模块。比如要让业务流E可快速编排、定Ӟ我们希望引入工作,那么逻辑架构中也要引入一个工作流模块?/p>
待箋。。?/p>
]]> 参与需求调研后的思?/title> http://www.tkk7.com/landy/archive/2012/06/26/381548.htmlq途书?/dc:creator>q途书?/author>Tue, 26 Jun 2012 13:52:00 GMT http://www.tkk7.com/landy/archive/2012/06/26/381548.html http://www.tkk7.com/landy/comments/381548.html http://www.tkk7.com/landy/archive/2012/06/26/381548.html#Feedback 0 http://www.tkk7.com/landy/comments/commentRss/381548.html http://www.tkk7.com/landy/services/trackbacks/381548.html 刚在某客户做?个月的需求调研,亲自体验了需求调研的q程Q有一些感惻Iȝ下来?/div>
客户斚w备了BA和SAQBA是业务专ӞSA是技术专Ӟ负责输出一个描qC务需求文档XXXSQ将程和需求都记述在该文档中,和大多数客户一P客户的优势在于对他们的业务比较了解,但是对于如何L象业务,比较pȝ的把他们的业务需求归U_ƈ描述下来Qƈ不擅长,臛_很多Z擅长Q这导致客h的XXXS文中通常是一些需求片D和样例?/div>
我方对一个topicQ分配了SA和BAQ其中SA负责技术方案,而BA负责理解业务q澄清业务,topic的输Zg有XXD和XXSQXXD主要记述业务程和topicU的solutionQXXS主要记述pȝ的功能?/div>
XXD中的业务程Q准的来讲Q应该改名叫pȝ程Q是讲述业务功能操作是如果由解决Ҏ各个内部子系l及外部pȝ协同完成的。这其中的actor是系l,因此Q是从系l的角度来描q的?/div>
XXXS中,模板像系l用例文,但是里面的一个个单元是叫功能Q功能与用例的差别就是,一个是从系l的角度出发Q一个是从ActorQ即用户Q的角度出发Q对每个功能Q有功能描述Q功能的前置条g、后|条件、功能的用户角色、业务规则,输入规格Q输|如果涉及到界面,有界面原型。具体的内容Q通常pre-condition是千一律的Q如用户必须已登录什么的Q后|条仉常是结果,而角色通常是一个很泛的一个ȝQ比如在厨房q活的分切菜的,炒菜的,l称厨子Q?/div>
对于客户Ҏq的不清楚或者只描述了几个片D|例子的需求,我们采用prototype的方式,先按照自q理解做prototypeQ然后给客户LC,由客h军_是否W合他们要求?/div>
是不是看上去很完?
再看看几个问题:
问题一Q对客户方的某个需求,我方一直不理解客户方ؓ什么会提这么怪异的需求,觉得不可思议Q而客h一直坚持要q个功能Q?/div>
问题二:客户方ƈ不具备多么深厚的业务抽象功力Q我们自己通过蒙着眼睛摸象的方式作出原型给客户方评审,客户方say okokQ不ok׃okQ客h不会犯错误吗Q客h会照你其它客户的需求吗Q我们拒l客h的理由通常是实C了,或者工作量太大。我们绝大多Ch没法使用客户的业务语a告诉客户Q你的目的是什么,你要求怎么来做Q这样做有什么样的坏处,我徏议这么做Q这么做能获得什么样的好处?/div>
问题三:我们把一些业务角色用的功能和运lh员用的功能攄于一个界面中Q从功能上来Ԍ我们可以自豪的告诉客P我们实现了你要的功能?/div>
。。?/div>
我相信我了解到的问题l不是全部,q有很多我不知道的问题?/div>
对这U状况,我逐一分析了一下原因:
问题一Q因为我们理解的业务概念跟客L解的客户概念不一P虽然我们叫的是同一个名词,但实际上q不是同一个东西,从而导致我们觉得客h的要求匪h思;
问题二:我可以说Q其实我们的做法是去摸清楚客戯什么,但没有去理解他ؓ什么要Q?/div>
问题三:很明显,我们实现了功能,但忽略了功能的用者是谁;
q一切的Ҏ是什么?我认为,q根源是我们一直从pȝ的角度去思考问题,思考我们的pȝ功能Q思考我们的pȝ程Q对一个经验丰富的专家来讲Q也怼考虑的比较全面,但绝大多Ch往往是重视了功能的描qͼ而且描述是基于我方的语言Q忽略了功能的用P而我们没有一个万能的客户和万能的专家帮我们指Z付g的所有的问题?/div>
即便是我们成功交付了一个系l,我们q是没有消化客户Z么要q么做的原因Q对业务pȝ来讲Q这是最核心的hg一?/div>
我们要怎么改?我的是:
1?strong>加入?#8220;用户需求背?#8221;的调研,即真正的“业务调研”Q在q个阶段的主角是BAQBA是业务专Ӟ对IT技术不熟,q是他的优势Q这个阶D늚输出件要包括客户的业务架构,包括l织l构Qh员角Ԍ业务程Q是各业务h员如何协同来完成工作Q跟pȝ程有本质区别)Q业务模型(用户做的事情中涉及到的一些概念,q里指纯业务概念Q客戯感知的,非系l概念)。经q这个阶D,我们应该能明白客户ؓ什么会提这个那个需求,能够有效避免因ؓ客户的片面和狭隘D我们跟着片面和狭隘,q且我们知道了客戯的概念A是指什么,概念B是指什么,跟我们^常所说的有什么不同?/div>
2?strong>扭{“功能分析”的角度,׃pȝ的角度分析{变成qL角度分析。把功能变成用户Zpȝ所做的操作分析Q系l用例)Q首先搞清楚是谁Q然后是要基于系l做什么事情,有什么业务规则,前置条g和后|条件是什么,再次是系l通过什么样的界面或接口来支持。输出的内容看似都差不多Q但因ؓ是从用户的角度出发分析的Q提供的功能自然会更贴用L心?/div>
3、我们要明白一个基本原则,业务架构是不依赖于ITpȝ存在的,ITpȝ是规范业务运作和提升业务效率的工PITpȝ中的软g概念是业务概念在软gpȝ中的投媄Q千万不能从技术的角度出发Q视囑֎重定义业务概c?/div>
]]>
一?amp;ldquo;订单”引发的思?/title> http://www.tkk7.com/landy/archive/2012/06/24/381377.htmlq途书?/dc:creator>q途书?/author>Sun, 24 Jun 2012 08:29:00 GMT http://www.tkk7.com/landy/archive/2012/06/24/381377.html http://www.tkk7.com/landy/comments/381377.html http://www.tkk7.com/landy/archive/2012/06/24/381377.html#Feedback 1 http://www.tkk7.com/landy/comments/commentRss/381377.html http://www.tkk7.com/landy/services/trackbacks/381377.html 某司CRM产品Q认业务程的业务才是订单。按照这U理解,退货,换货是订单,而充g是订单?/p> I竟什么是订单?
订单作ؓ一个业务Actor皆可感知的重要业务实体,其是qITpȝ而存在的QITpȝ所做的仅是其在Y件系l中以对象的形式表现出来Q不能依据系l实玎ͼ改变订单的定义。要正确的给订单下定义,d掉ITpȝQ从业务的角度给出定义?/p>
企业一般会有售前,售后Q销售,服务{部门,而订单是产生在销售活动中的,表示客户对企业品或服务的一ơ订购。依此理解,退换货是服务,不是订单Q而充值是订单。走不走程Q仅仅是订单实施的方式?/p>
q个案例告诉我们Q系l的业务模型Q要从业务的视角来徏QITpȝ是将业务模型用Y件概忉|表述Q不能改变业务概c?/p>
]]> 如何定用例和场景的优先U?/title> http://www.tkk7.com/landy/archive/2012/05/11/377858.htmlq途书?/dc:creator>q途书?/author>Thu, 10 May 2012 20:56:00 GMT http://www.tkk7.com/landy/archive/2012/05/11/377858.html http://www.tkk7.com/landy/comments/377858.html http://www.tkk7.com/landy/archive/2012/05/11/377858.html#Feedback 1 http://www.tkk7.com/landy/comments/commentRss/377858.html http://www.tkk7.com/landy/services/trackbacks/377858.html 在做需求分析时Q特别是在设计分析用例模型时Q很多h可能到q这L问题Q如何准划分优先Q根据我的经验,一般需求分析h员对用例的优先划分上没有具体的原则和标准,往往跟着感觉赎ͼ要么是客戯为重要的Q急着要实现的功能Q优先高Q当然也很重要。对于什么关键用例,什么重要用例,什么是辅助用例或一般用例,都没有具体分得很清楚Q因Z们觉得优先的都重要,反正都是要开发的Q客戯什么功能最急需要,那么完成它Q其余所有用例都Z般用例?/span>其实我也很赞成这部分人的观点Q主要是l合实际目Q这U情况太普遍了,所以往往只区分重要和非重要来得更方便。不q既然RUP以及软g工程的需求分析阶D都有这么个概念Q而且对用例(场景Q类Q都分ؓ三个{Q关键(首要Q,重要Q其ơ)Q辅助(不错Q。那么ؓ了准理解,q在目中应用,我个为理解清晰它Q也q是有必要的。而最重要的是掌握其划分原则。最q参加了些需求分析方面的培训Q也了解了一些不同h的观点,l合RUPl出的解释,我做了些ȝ?/span>下边说说我的理解。因为用例,场景Q类都有q三个等U划分,所以ؓ了解释方便,下边直接通过用例说明问题?/span>W一 关键Q或首要Q用?/strong>RUP中解释是q样的:该等U的用例于系l的首要dQ基本功能以及待开发的功能有关。如果这些关键用例缺失,pȝ无法完成首要Q务。他们还促进架构设计Q而且往往是最频繁使用的用例。其实这个理解很好懂Q我也比较赞成,一句话是pȝ必不可少的功能,如果把系l无限羃,C能再~小了(再羃系l都无法使用了)Q这时剩下的用例是关键用例。而关键需求决定架构,所以这些关键用例往往Ҏ构设计的影响是很大的。所以分析用例模型时要特别重视关键用例的识别。有时候不能直接听客户所谓的优先U高的用例。因为客户不懂系l实玎ͼ他们只关注功能,不关注你如何设计Q如何分析。当然他们提的优先功能固然不可不重视Q但是我们不能局限于q些Q我们需要认真分析,把那些客为非优先Q但是通过分析Q我们认为确实是关键需求的用例扑և来,否则以后{用户去发现q些“关键用例”Q然后再提需求变更就ȝ了,因ؓ原来的关键需求识别上没有做好Q现在要变更需求,可能影响到架构,搞不好系l整个都要整改,那就ȝ了。我的识别方法时Q客L中的“优先”功能 + pȝ最实现的功能。把握了q个原则Q识别关键用例还是不隄?/span>W二 重要Q或其次Q用?br /> RUP中的解释是这LQ?/span>该等U的用例于系l功能的支持有关Q比如统计数据编译,报告生成Q监督和功能试{。如果他们缺失,pȝ仍然可以再一定时间内完成基本dQ但服务质量所有下降。这cd能其实相比之下不太好识别Q因为特征不够明显,不过识别原则q是很清晎ͼ是与系l功能的支持有关。比如常见的pȝ的用L理模块,理模块Q系l分cL块等Q都是ؓ了支持整个系l其他关键用例服务的。没有他们系l还是可以用Q但是相对质量不高。这c重要性用例的识别Q我的方法时抓住一?#8220;支持”2字的理解比较好识别了,分析多了Q就自然有了感觉Q而且Q结合关键用例和辅助性的用例的分析,用排除法也可以分析得更加准?/span>W三 辅助性(一般)用例 RUP中的解释是这LQ?/span>q些用例和类着重舒适性的功能 Q与pȝ的主要Q务无养I但有助于pȝ的用和市场定位。我的理解,一句话Q就是系l扩展的功能Q生动一点说Q就是锦上添q功能。根据这个特征,q列用例q是比较好识别的?/span>ȝQ一般来_不同{的用例对架构的媄响程度跟他们的关键程度是成正比的。但是也应该明确Q有些关键用例没有或基本没有影响力,反过来也是一P某些辅助性的用例可能对系l架构生比较大的媄响。所以,Ҏ论的东西没有l对的正,只是利用q些理论分析相对有效。呵呵,在现实中l常发现Q爱因斯坦真了不P相对论用途那么广泛,有时不自觉感受到其存在了Q而在学生时代q远理解不到q个层次. 转蝲自:http://blog.csdn.net/chuan122345/article/details/5167035 ]]> 业务建模一般步骤和Ҏ http://www.tkk7.com/landy/archive/2012/03/24/372626.htmlq途书?/dc:creator>q途书?/author>Sat, 24 Mar 2012 13:46:00 GMT http://www.tkk7.com/landy/archive/2012/03/24/372626.html http://www.tkk7.com/landy/comments/372626.html http://www.tkk7.com/landy/archive/2012/03/24/372626.html#Feedback 3 http://www.tkk7.com/landy/comments/commentRss/372626.html http://www.tkk7.com/landy/services/trackbacks/372626.html http://hi.baidu.com/parryblog/blog/item/2d1ae59a72b043bcc9eaf4a0.html 本篇开始之前先扯点闲话Q商业应用系l开发经历了三个阶段Q?br /> W一个阶D以计算Z心,分析设计围绕E序的运行效率,法优劣Q存贮优化来q行?0q代的大学课E讲的都是这些?br /> W二阶段以数据ؓ中心Q分析设计围l数据流q行Q以数据程来模拟业务流E。这也就是所谓的面向q程的分析模式?br /> W三阶段以hZ心,分析设计围绕人的业务需求,使用要求Q感受要求进行。这也就是现在的面象对象分析模式?br /> 使用OOҎ建立商业模型必须先定义涉众。商业系l无论多复杂Q无Z么行业,其本质无非是人,事,物,规则。h是一切的中心Qh做事Q做事生物Q规则限制h事物。h驱动pȝQ事体现q程Q物记录l果Q规则则是控制。无论OO也好QUML也好Q复杂的表面下其实只是一个简单的规则Q系l分析员弄明白有什么hQ什么h做什么事Q什么事产生什么物Q中间有什么规则,再把人,事,物之间的关系定义出来Q商业徏模也基本完成了。这时候可以说Q系l分析员已经完全了解了用户需求,可以q入pȝ建模阶段了?br /> 书归正传Q上笔者归U了一些典型的涉众cd及他们的普遍期望。接下来Q就是要他们这些期望定义出来。这个过E,是业务用例获取的过E。笔者可以跟大家分n的经验是通过以下步骤q行Q这些步骤ƈ非唯一正确Q对于经验不多的pȝ分析员来_q些步骤很有指导意义?br /> W者做了一个徏模实例,有需要有读者请到笔者的BLOG资源中心下蝲Q实例以上一所q网上图书馆需求ؓ蓝本建立了业务用例模型,之后的概忉|型、系l模型则抽取了其中的借阅q程作ؓ例子。不记得了可以后头找找?br /> 建模W一步,从涉众中扑և用户。ƈ定义q些用户之间的关pR在ROSE中,应该使用business actor cd。参考上一的需求描qͼ下蝲实例 W二步,扑և每个用户要做的事Q即业务用例Q在ROSE中应使用Business use casecd。请参考《用例的cd与粒度》一文以帮助定用例的粒度。笔者强烈徏议ؓ每一个business actorl制一个业务用例图Q这能很好的体现以hZ心的分析模式Qƈ且不Ҏ漏掉business actor需要做的事。至于以参与者ؓ中心的视囑֮易漏掉某个业务用例的参与者的担心Q可以在W四步中得到消除。下载实?br /> W三步,利用业务场景囑ָ助分析业务流E,在ROSE中,q个阶段最好用活动图Activity diagram。在q个阶段Q业务场景图非常重要Q在l制q程中,pȝ分析员必采用第一步中定义的用户名字作为泳道名Q用第二步中定义的业务用例名作为活动名来绘制。必这么做的原因是Q如果你无法把利用已l定义出来的 business actor ?business use case完备的描l业务流E,那么一定是前面的定义出问题了,你需要回头审视是?business actor ?business use case定义不完善或错误。如果不是所有的business actor ?business use case 都被用到Q要么应该检查业务流E调研时漏了什么,要么应该查是否定义了一些无用的business actor ?business use case 。同Ӟl制业务场景图也非常有助于选择合适的用例_度q保持所有的用例都是同一_度。下载实?br /> W四步,l制用例场景图。与业务场景图不同的是,用例场景囑֏针对一个用例绘制该用例的执行过E。笔者仍然强烈推荐用activity diagram。在用例场景囄l制中,必须使用W一步中定义的业务用户作为泳道。必这么做的原因是Q它能帮助你发现在定义业务用例图时的错误Q比如是否漏掉了某个业务用例的潜在用者。不是每个业务用例都需要绘制场景图Q只有两三个步骤的业务用例是不必一定绘制业务用例图的,但仍焉要在业务用例规约文档中写明。下载实?br /> W五步,从第三步或第四步中绘制的zd图中扑ֈ每一步活动将使用到的或生的l果。这是找到物的过E。找到后Q应当徏立这些物之间的关pR在ROSE中,q称Z务实体模型。应该用business entity cd。下载实?br /> W六步,在上q过E中Q随时补充词汇表Glossary。将此过E中的所有业务词汇,专业词汇{一切在建模q程中用到的需要解释的名词。这份文档将成ؓ模型建立Z读者就模型达成一致理解的重要保证?br /> W七步,Ҏ上一中提到的业主,老板{涉众的期望审视建立好的模型Q确定业务范_军_哪些业务用例在系l徏设范围内。那些不打算U_范围内的业务用例有两U情况,一U是该业务用例是被调用一方,那么应该把它改ؓ boundary cdQ意味着来它是一个外部接口。另一U是该业务用例主动调用系l内业务用例Q那么应该将它改为business actorcd。与普通business actor不同的是Q由业务用例转换而成的business actor不是人,而通常是一个外部系l进E,因此应该在被调用的系l内业务用例与它之间增加一个boundary元素Q意味着我们的系l将样一个外部进E提供一个接口。严格来_那些需要纳入徏设范围的business use case 应当对应的生成一?business use case realizationQ?以后的设计工作将归纳到这些实现用例中。但W者觉得这一步ƈ非很关键的,实际中本Zl常省略q一步,而将协作图,象活动图Q类交互囄直接在business usecase下说明。不q本实例中笔者还是按照正规方法来建模的。下载实?br /> 需要说明的是,上述的步骤ƈ非一ơ性完成的Q在每一个步骤中都可能导致对以前步骤的调整。即使徏模已l完成,当遇到变化或发现新问题时Q上q步骤应当从头到ֆ执行一ơ。这也是RUP倡导的P代开发模式?br /> l过以上的步骤,我们已经建立了一个完整的业务模型。但q决不是建模工作的全部,以上q程只说明了建立一个完整业务模型的q程Q不能说q样徏立了一个很好的业务模型。因Zq的q程中ƈ没有提及业务分析q程。分析过E全凭系l分析员的经验,对OO的理解和对行业业务的把握能力Q对原始业务模型q行归纳Q整理,抽象Q重构,以徏立一个更高效Q合理,扩展性更强的模型。这个过E无法以步骤说明。或总后笔者会专门针对模型分析写点东西。另外除了模型,q至需要写业务架构文、用例规U和补充用例规约三种文档。因为模型虽然可以较好的体现业务架构Q但很不好表达业务规则和非业务需求,q些需要在文中说明。例如用例的前置条g和后|条件就是一U业务规则。读者可以在RUP文中找到这些文的模板?img src ="http://www.tkk7.com/landy/aggbug/372626.html" width = "1" height = "1" /> ]]>
վ֩ģ壺
91㽶Ƶ |
91㽶߹ۿȫ |
ڵĤѿ
|
²߾ƷƵѹۿ |
Ļ߹ۿ |
ʮ˽Ļվ |
ӰպƷ |
߳ˮAƬ |
ղƷaëƬþ |
ɫַȫ |
˳ۺ |
˾ƷƵȫ |
Ʒһ |
ɫƬѿ |
ۺϼ |
+ɫ++ |
Ůһ18 |
a߹ۿ |
һƵվ |
͵͵ͼƬ |
ÿĻ2019 |
avۺ߹ۿ
|
ƷһۺϾԴ |
žȾþƵ |
Ʒվ߲
|
Ƶۿ99 |
ݺۺϾþѿ |
va˳Ƶվȫ |
aѹۿƵ |
һĻߵӰ
|
˼Ƶ |
žžþùƷ6 |
Ʒlv |
˳վ |
AVþþƷ |
Ůˬ̼ƵѲ |
һƵ |
Ļһ |
ҹ˽ӰԺ |
aëƬȫ |
Ƶַ |