⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200603071000275.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果您正在构建一个供多个组织使用的应用程序(例如,销售支持应用程序或结账应用程序)。一种有效的做法是:从头到尾进行一次业务建模工作,从而按这些组织的经营方式对它们进行调整,避免一些对于系统来说过于复杂的需求(业务改进)。但如果无法对组织进行调整,那么业务建模工作能够帮助您了解并管理这些组织使用该应用程序时存在的差别,并使您更容易确定应用程序功能的优先级。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 场景 #5 - 新业务</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果某个组织决定要启动一项全新的业务(业务创建),并将构建信息系统来支持该业务,那么就需要进行业务建模工作。在这种情况下,业务建模的目的就不仅仅是要找出对系统的需求,而且还要确定新业务是否可行。在这种情况下,通常将业务建模工作本身当做一个项目。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 场景 #6 - 修改</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果某个组织决定要对其经营方式进行彻底修改(业务重建),那么业务建模通常本身就是一个或多个项目。通常,业务重建分数个阶段完成:新业务展望、对现有业务实施逆向工程、对新业务实施正向工程以及启动新业务。</FONT></P>
<P><FONT face=Verdana><STRONG>四、业务建模时期的主要任务</STRONG></FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 项目涉众的共同愿景:要想项目成功,可离不开项目涉众的支持。在项目一开始,不论是项目涉众还是开发人员,对项目的任务、范围都是模糊不清的。但随着项目的深入,原来模糊的景象会慢慢清晰、立体起来。但是为了不浪费时间,我们有必要在项目射入之前,现在项目涉众中竖立一个共同的愿景。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 共同愿景的竖立可没有想象中的那么简单,因为每位涉众都关心自己的利益,都有自己的评判标准。你可以把大家的意见都列在白板上,然后逐项集中讨论,做出修正,直到大家的意见一致的时候为止。在共同远景的竖立过程中,其实有两件事情也已经同时做了,项目范围(scope)和高阶(high-level)需求。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 项目范围:项目该做什么,不该做什么,需要在一开始就有明确的定义。对于项目范围内的需求,一个也不要放过,而项目之外的,一个也不要去关心。虽然有的时候,范围的变化会有利于项目本身,例如客户的合理要求或是市场目标客户的变化,但是这种变化应该要在"资源能够支持"和"得到审批"的前提下进行。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 项目范围的描述可以通过陈述和图示来进行。我建议大家使用图示。因为陈述语句比较含糊不清。例如常常听到有客户说。"我要建立我公司的<a href="200603011335015.html" tppabs="http://www.itisedu.com/phrase/200603011335015.html" target="_new">电子商务</a>系统。"这句话就是含糊不清的,你的电子商务系统是销售什么产品?面向什么客户?是否要支持在线支付?根据这些疑问,这个陈述句可以做进一步的修改,"建立在线订货系统,针对当前的目标客户销售公司的目前产品。"这样就清楚许多了。不过图示的方法会更好一些,在图的选择上,你可以使用DFD图或是<a href="200603071221195.html" tppabs="http://www.itisedu.com/phrase/200603071221195.html" target="_new">用例图</a>。根据经验,DFD图比较容易为客户所接受。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 高阶需求:这个部分我们在下面会详细讨论。既然是高阶需求,就不能讨论过多的细节。在讨论高阶需求的时候,尽量保证快速的讨论出系统的概貌,建立需求模型,得到项目涉众的一致通过。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 取得支持:为了保证需求计划的顺利进行,取得项目涉众的支持至关重要。你可以选择在这个时候告诉项目涉众他们的权利和义务,以及开发人员的权利和义务。在这个方面,具体的我不想多说,大家可以参考『<a href="200603061756235.html" tppabs="http://www.itisedu.com/phrase/200603061756235.html" target="_new">软件需求</a>』的第二章。主要的就是"涉众有改变需求的权利,同时要承担向开发人员讲解需求的义务。"开发人员的权利和义务正好和涉众相反。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 业务建模会议:所有的这一切都通过业务建模会议进行,和其它会议不同的是,这个会议需要所有的项目涉众参加,如果不能获取所有项目涉众的意见,那就不是完美的。会议中最重要的工具就是白板,一位出色的速记员也是必须的。</FONT></P>
<P><FONT face=Verdana><STRONG>五、需求和业务建模</STRONG></FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 业务建模是<a href="200603282310205.html" tppabs="http://www.itisedu.com/phrase/200603282310205.html" target="_new">需求工程</a>中最初始的阶段,也是整个项目的初始阶段。需要指出的是,业务建模时间的跨度在不同的项目中有很大的差别的。在有些项目中,例如大型ERP系统,可能需要几个月的时间。而对于普通的项目,业务建模的时间可能仅仅需要几天的时间。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需求是技术无关(technology independent)的。在需求阶段讨论技术是没有任何意义的。那只会让你的注意力分散。技术的实现细节是在后面的分析、设计阶段才需要考虑的事情。而在业务建模阶段,不但要保证需求的技术无关性,还要保证你的需求不要深入细节。因为在业务建模阶段,最重要的事情就是要了解业务的全貌,深入细节会浪费时间和精力。要知道,讨论一个企业里的业务细节,就算给你一个月的时间也没必能够结束。</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在实际中,这两点都是很难做到的。例如企业原先有一个系统,这就不得不由你讨论和新旧系统的兼容问题。这时候就要注意,如果你是讨论就有系统的<a href="200604241328115.html" tppabs="http://www.itisedu.com/phrase/200604241328115.html" target="_new">架构</a>的话,那还是属于技术无关的范畴,如果你一旦进而讨论各具体模块/组件的细节,那就非但不是技术无关,而且也深入细节了。在不深入细节的问题上,往往你很难禁止项目涉众(Stakeholder)①不去讨论一些相关的业务细节。这个时候你可以将这些细节记录下来,然后再回到业务建模上。</FONT></P>
<P><FONT face=Verdana>①A stakeholder is defined <a href="200604232104015.html" tppabs="http://www.itisedu.com/phrase/200604232104015.html" target="_new">as</a> anyone who is materially affected by the outcome of the project.<BR>涉众是所有会受到项目结果重大影响的人。</FONT></P>
<P><FONT face=Verdana>摘自《IBM DeveloperWorks》</FONT></P><FONT face=Verdana>
<P><FONT face=Verdana><STRONG>六、业务建模中的用例</STRONG> </FONT></P>
<P><FONT face=Verdana>  在上一篇中我们讨论了很多用例的知识,可是落实到企业中的时候,我们往往会感觉难以把握企业的用例,这一点我们在用例的误区中也有提到。在实际的情况中,你可能会对角色的归类,用例的划分,粒度的把握等很细节的方面都没有底,偏偏这些实际的东西对你的项目有非常大的影响。 </FONT></P>
<P><FONT face=Verdana>  RUP中,有多种的概念来支持用例的实现:<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603101106585.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603101106585.html'" tppabs="http://www.itisedu.com/phrase/200603101106585.html" target="_new">业务主角</a>(<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604231357055.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604231357055.html'" tppabs="http://www.itisedu.com/phrase/200604231357055.html" target="_new">Business Actor</a>)、业务实体(Business Entity)、<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603101126265.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603101126265.html'" tppabs="http://www.itisedu.com/phrase/200603101126265.html" target="_new">业务用例</a>(<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604231354525.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604231354525.html'" tppabs="http://www.itisedu.com/phrase/200604231354525.html" target="_new">Business Use Case</a>)、<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603101031475.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603101031475.html'" tppabs="http://www.itisedu.com/phrase/200603101031475.html" target="_new">业务角色</a>(<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604231356305.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604231356305.html'" tppabs="http://www.itisedu.com/phrase/200604231356305.html" target="_new">Business Worker</a>)、业务用例实例(Business Use-Case Instance)。为了能够比较清楚的展示出业务建模,我们采用了UP方法的代表――RUP。但在实际中,要视大家具体的情况而定,这里所讲到的概念,都是为了帮助大家理解建模过程,并不是让大家生搬硬套。 </FONT></P>
<P><FONT face=Verdana>  在我们对系统还丝毫不了解的时候,我们就会把系统看成一个很大很大的黑盒,这个大黑盒子我们会叫他业务域(Business Domain),把它的外部看成一个业务环境(business environment)。而那些在业务环境中和业务域有关系的人(也可能是物)就被称为业务主角(Business Actor)。在实际的例子中,我们可能会把信贷业务(注意不是信贷业务系统,这里是业务建模,系统还不存在。)称为业务域,我们经过调查,发现平时和信贷业务打交道的有客户,人民银行,外汇管理局,其他银行,信贷部门使用的其他系统,银行内部的其他部门。所以这些人(物)就是业务主角。业务主角的实例一般包括了客户、供应商、合作伙伴、潜在客户("市场")、当地政府、在业务中未建模部分工作的同事等。必须注意的是,业务主角表示的特定<a href="200603051002565.html" tppabs="http://www.itisedu.com/phrase/200603051002565.html" target="_new">类型</a>的用户,而不是某一个具体的用户。一个角色可能会有很多实际用户担任,一个实际的用户也可能会担任很多的角色。 </FONT></P>
<P><FONT face=Verdana>  业务用例以及业务用例实例在RUP中的定义如下: </FONT></P>
<P><FONT face=Verdana>  A business use-case instance is a sequence of actions performed in a business that produces a result of observable value to an individual actor of the business. A business <a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603042249305.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603042249305.html'" tppabs="http://www.itisedu.com/phrase/200603042249305.html" target="_new">use case</a> defines a set of business use-case instances. A business use case has a name. </FONT></P>
<P><FONT face=Verdana>  业务用例实例是在业务中执行的一系列动作,这些动作为业务的个体主角产生具有可见价值的结果。业务用例定义了一组业务用例实例。业务用例具有名称。 </FONT></P>
<P><FONT face=Verdana>  刚开始大家可能会对业务用例以及业务用例实例有所疑问。其实可以把他们看成基类和子类的关系。在一个企业中,具体的工作流程可能有很多很多,比如你去麦当劳的时候,点汉堡和点薯条的工作流程就不一样。众多的流程给需求的调查工作造成了一定的难度。即使是最古老的哲学也告诉我们,表面现象是复杂的,本质是简单的。为了简化需求工作,我们就把点汉堡和点薯条归纳为点餐。这样,点餐就是一个业务用例,而点汉堡、点薯条就是相对应的业务用例实例。 </FONT></P>
<P align=center><FONT face=Verdana><IMG src="2006415173255161.gif" tppabs="http://www.itisedu.com/manage/Upload/image/2006415173255161.gif" border=0></FONT></P>
<P align=center><FONT face=Verdana>业务用例 </FONT></P>
<P><FONT face=Verdana>  业务角色和业务主角的概念也很容易让人摸不着头脑。其实看它们的英文愿意会更容易理解它们的区别:Business Worker,Business Actor。Worker有工人的意思,而Actor有参与者的意思。所以它们的区别就是一个在内部,一个在外部。业务角色是实现业务用例的人,业务主角是和业务有关的人。例如,对银行的押汇业务而言,客户就是业务主角,他和业务有关。而押汇人员就是业务角色,因为他们是实现业务用例的人。在RUP中,二者定义如下: </FONT></P>
<P><FONT face=Verdana>  A business worker represents a role or set of roles in the business. A business worker interacts with other workers and manipulates business entities while participating in <a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604231355545.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604231355545.html'" tppabs="http://www.itisedu.com/phrase/200604231355545.html" target="_new">business use-case realization</a>s. </FONT></P>
<P><FONT face=Verdana>  业务角色代表业务中的一个或一组角色。参与<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603101045075.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603101045075.html'" tppabs="http://www.itisedu.com/phrase/200603101045075.html" target="_new">业务用例实现</a>时,一个业务角色和其他角色进行交互,并操纵业务实体 </FONT></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -