资源描述
*,基于,UML,面向对象分析与设计,什么是,MDA,模型驱动体系结构,(Model-Driven Architecture),,简称,MDA,,是由,OMG,组织全新提出的应用模型技术进行软件系统开发的方法论和标准体系。,MDA,在软件系统生命周期的各个阶段,保证互操作性、可移植性、可重用性。,OMG(Object Management Group),对象管理组织,2,MDA,产生的背景,(1),一系列平台技术的诞生和广泛应用,(,CORBA,、,J2EE,、,COM/DCOM,、,XML/SOAP,),中间件平台之间的互操作障碍,企业业务发展受制于某种平台技术发展,如何解决系统的互操作性、可移植性、可重用性等问题,成为软件开发领域的重要课题。,3,MDA,产生的背景,(2),1997,年起,,OMG,陆续颁布了几个重要的技术无关建模标准,:,统一建模语言,UML,、元对象设施,M0F,、,XML,元数据交换,XMI,和公共仓库元模型,CWM,等,互操作性、可移植性、可重用性不仅限于系统设计阶段,需要贯穿于软件系统整个生命周期,4,OMG,对,MDA,的定义和描述,MDA,以,OMG,建立的各种标准为基础,实现将商业或应用逻辑与支撑平台技术相分离。,通过,MDA,及相关标准建立的平台独立应用可以被实现于包括,C0RBA,、,J2EE,、,NET,、,Web,服务和其他基于,Web,的平台等在内的一系列开放和私有平台之上。,5,MDA,的总体结构,6,MDA,核心,MDA,的核心是,OMG,的建模标准,包括,UML,、,CWM,和,MOF,。,MDA,依据这些标准为企业应用建立独立于实现技术的平台无关模型。,7,UML,UML(Unified Modeling Language),是一套标准的面向对象分析和设计的图形化模型语言。,实现软件系统可视化,(Visualizing),、规范定义,(Specifying),、构造,(Constructing),和文档化,(Documenting),建模。,MDA,的各种模型均采用,UML,进行描述。,8,CWM,CWM(Common Warehouse,Metamodel,),为数据仓库和业务分析领域最为常见的业务与技术相关元数据的表示定义了元模型。,CWM,实际上提供了一个基于模型的方法来实现异构软件系统之间的元数据交换。,依据,CWM,建立的数据模型,尽管它们存储于不同的软件系统中,但可以很便利地被整合和集成,进而确保数据挖掘等应用可以跨越企业数据库的边界。,9,MDA,核心的外层,MDA,对各种实现技术平台,(CORBA,、,J2EE,、,NET,、,XML,SOAP,等,),的支持。,在这个层次上,平台无关模型被转换成为与各个平台技术特性相关的平台特定模型,并进而在平台上实现。,10,XMI,XMI(XMI Metadata Interchange),通过标准化,XML,文档格式和,DTD,,为,UML,元模型和模型,(,元模型可以视为模型的特例,),定义了一个基于,XML,的交换格式,随之也即定义了一个从,UML,到,XML,的映射。,XMI,定义了如何用,XML,对,UML,模型进行描述。,11,普适服务,企业计算需要一系列的公共基础服务为其应用程序提供运行环境。如目录服务、事件处理服务、事务服务、持久性服务、安全服务等。,MDA,通过高层次抽象,建立平台无关的公共通用服务模型,称之为普适服务,(Pervasive Services),12,领域应用,为领域应用提供了建模标准和公共模型,实现领域应用的可重用性、可移植性和互操作性,为各行业领域软件系统的开发和集成提供通用方法论。,13,MDA,模型体系,1.,四层元模型架构,2.MDA,应用模型,3.,模型映射,14,四层元模型架构,15,MDA,应用模型,CIM,PIM,PSM,16,CIM,计算无关模型,CIM(Computation Independent Model),是,MDA,基于计算无关视角,(CIV),建立的系统模型,用于描述系统需求、功能、行为和运行环境,也称为业务模型。,被称为计算无关,主要因为,CIM,侧重于表述系统的外部行为和运行环境,而不表现系统的内部结构和实现细节等相关内容。,CIM,为领域专家与系统设计专家之间关于领域需求的沟通和交流提供了桥梁,并直接支持,PIM,、,PSM,模型的构造和实现。,17,PIM,平台无关模型,PIM(Platform Independent Model),是,MDA,基于平台无关视角,(PIV),建立的系统模型。,PIM,是抽象出的业务逻辑。,被称为平台无关,主要因为,PIM,不包含与实现平台和技术相关的特定信息。,PIM,所表现出的平台无关性,使其能够在任何技术平台上得以实现。,18,PSM,平台特定模型,PSM(Platform Specific Mode1),是,MDA,基于平台特定视角,(PSV),建立的系统模型。,PSM,从相应,PIM,转换而来,它既包含了,PIM,中所定义的业务逻辑规范,也包含了与选定平台和技术相关的特定实现信息细节。,19,模型映射,模型映射,(Mapping),是模型转换时所需定义的模型元素间映射关系,它提供转换规则及规格标准。,MDA,中,模型转换的核心是,PIM,到,PSM,的转换。,MDA,提供了两种模型映射方法:类型映射和实例映射。,20,类型映射,类型映射提供了从,PIM,采用的模型语言类型到,PSM,采用的模型语言类型的映射。,两种模型语言元素之间的转换,模型语言的“翻译”过程,21,实例映射,实例映射的方法是通过对,PIM,模型元素加以标记,来标识该元素以某种特定方式转换为,PSM,模型元素。,实例映射中的标记,(Marks),是平台特定的,其内容体现着,PSM,所选定实现平台的相应特定要求。,22,映射的组合,各有优势,大多数情况下,模型映射是类型映射和实例映射的组合使用。,23,PIM,到,PSM,的模型转换,对于模型转换来说,其输入是一个已存在的,PIM,和选定的某个映射,输出的结果是相应的,PSM,和转换记录。,分别对应于类型映射和实例映射两种模型映射方法,,MDA,提供两种基本的模型转换方法。,24,两种转换方法,25,从,PIM,到“实现”的转换,多数情况下,从,PIM,到“实现”的模型转换并非一次完成,而需要经过多次。,模型转换的次数取决于对每次转换结果,PSM,的可用性程度要求。,26,MDA,软件开发方法,27,实例,-,基金模拟项目,CIM1:,定义业务流程,产生业务用例模型,CIM2:,分析业务流程,产生活动图,CIM3:,定义系统范围,产生系统用例图,PIM1:,分析系统流程,产生系统用例描述,PIM2:,分析业务规则,产生状态图,PIM3:,定义静态结构,产生类图,PIM4:,定义操作及方法,生成序列图,28,实例,-,基金模拟项目,CIM-1,:定义业务流程,系统分析员访谈业务人员,模拟对话如下:,系统分析员问:可不可以让我知道,系统上线之后,主要会影响到公司哪几条流程?,业务人员答:公司主要是希望系统能够尽可能减轻理财专员的工作量,同时可以为公司带来更多的收益。所以,希望系统未来可以支持理财专员处理基金的申购与赎回业务,同时也希望投资人可以通过网络直接进行基金交易。,29,实例,-,基金模拟项目,系统分析员问:目前听起来,申购基金和赎回基金是两条主要流程。,业务人员答:是的。,系统分析员记下了两个重要的业务用例之后,继续如下的访谈:,系统分析员问:一般在什么情况下,理财专员会开始执行申购基金的流程?,业务人员答:投资人会在银行营业时间,亲自到银行柜台找理财专员,临柜申购基金。,系统分析员问:那赎回基金呢?,业务人员答:也是一样啊!投资人会在银行营业时间,亲自到银行柜台找理财专员,临柜办理赎回基金。,30,实例,-,基金模拟项目,系统分析员问:所以说,这两条流程都是由投资人启动的。,业务人员答:可以这么说。,系统分析员记录了重要的业务执行者之后,继续如下的访谈:,系统分析员问:除了申购与赎回基金之外,投资人还会引发其他的业务流程,而且是未来,系统可以提供协助的?,业务人员答:有啊!很多投资人会来电找理财专员询问投资现值,或者询问基金的数据。,系统分析员问:询问投资现值,以及询问基金数据。还有吗?,业务人员答:好像没有了。,31,实例,-,基金模拟项目,系统分析员问:有没有什么样的流程是非现行流程,而是系统上线之后新增的业务流程,,有这种情况吗?,业务人员答:啊,有喔!刚才不是提到以后投资人可以通过网络自行上网执行基金交易。,那我们是想要求投资人临柜申办网上下单的服务,之后才能够执行网上下单的功能。,系统分析员问:所以,我们现在增加了询问投资现值、询问基金数据、申办网上下单服务,,这三条业务流程。还有吗?,32,实例,-,基金模拟项目,业务人员答:对了,原则上公司每个月会定时寄投资对账单给投资人,可是有些投资人会,来电要求补寄投资对账单。大概是这样。,系统分析员问:除了投资人之外,企业外部还有其他人士会参与业务流程吗?,业务人员答:没有。,系统分析员问:最后,请你用一两句话简单说明这几个业务用例提供什么样的服务?,业务人员答:没问题。,整合访谈记录如下:,33,实例,-,基金模拟项目,34,实例,-,基金模拟项目,35,实例,-,基金模拟项目,CIM-2,:分析业务流程,系统分析员访谈业务人员,模拟对话如下:,系统分析员问:看起来申购基金的流程应该是最重要的,那我们是不是就从这条流程开始谈?,业务人员答:没问题。,系统分析员问:由于申购基金这条流程是由投资人启动的,(,请参照,CIM-1,的业务用例图,),,,那是不是请你从投资人来银行申购基金开始讲起,让我知道流程中投资人主要会接触到哪些员工,(Worker),?还有,在流程中,投资人及员工主要会经历哪些重要的手续?,36,实例,-,基金模拟项目,业务人员答:一般是这样的,投资人来银行会向理财专员说明想要购买基金,理财专员会,先询问投资人是否曾经来本行购买过基金。如果投资人是首购,那就会先申办基金账户,有了,基金账户才能够买卖基金。,系统分析员问:“申办基金账户”是谁负责办理的?,业务人员答:理财专员。理财专员会请投资人填写开户数据,然后把开户数据交由主管审,核。主管审核没问题之后,基金账户就开成了。,系统分析员决定将活动图分为两张,一张表达首购流程,另一张表达一般流程。系统分析员记下了两个重要的动作之后,继续如下的访谈:,37,实例,-,基金模拟项目,系统分析员问:基金账户跟一般的账户不同吗?,业务人员答:不一样的,我们称一般的提存款的账户为“综存账户”,它主要会记录提存交易和账户余额。基金账户是买卖基金的专用账户,主要记录基金交易、现值以及库存基金,等等。,系统分析员问:所以说,投资人只要开了基金账户就可以买卖基金,不一定需要开综存账户。,业务人员答:理论上是这样没错,不过公司还是会要求投资人开综存账户。这是因为投资人如果通过网上下单,公司会从投资人的综存账户里头转出申购款项,所以投资人不仅得开基金账户,还得开综存账户。,系统分析员问:所以,投资人首度申购基金时,是不是也会确认他是否拥有综存账户?,38,实例,-,基金模拟项目,业务人员答:是的,理财专员会询问投资人。如果投资人在本行没有开过综存账户的话,,确实是会在首购同时申办综存账户。,系统分析员问:谁负责申办综存账户?,业务人员答:理财专员会找一位银行员工来帮投资人申办综存账户。在申办综存账户时,也会请主管审核。,系统分析员问:审核综存账户和基金账户的主管是同一个吗?我的意思是说,主管有分什么基金主管或综存主管之类的吗?,39,实例,-,基金模拟项目,业务人员答:没有分,通通交给分行主管审核就可以了。,系统分析员展示并解释活动图给业务人员看,同时进行流程的确认,之间的模拟对话如下:,系统分析员问:请你看看首购流程还有什么遗漏的吗?,业务人员答:对了,银行会要求投资人填写风险容忍度测试表,用来了解投资人对投资风险的容忍度。,系统分析员问:通常会在什么时候填写?,业务人员答:理财专员忙着申办基金账户的同时,就会请投资人趁空档填写。,40,实例,-,基金模拟项目,41,实例,-,基金模拟项目,42,实例,-,基金模拟项目,43,实例,-,基金模拟项目,CIM-3,:定义系统范围,根据首购流程,系统分析员已先绘制出初步的系统用例图。接下来,系统分析员想跟业务人员确认首购流程中的其他部分,模拟对话如下:,系统分析员问:在首购流程的现行操作中,投资人需要填写纸本的风险容忍度测试表,系统需要保存这些纸本数据吗?,业务人员答:关于这个部分,公司未来想取消纸本的测试表,改让投资人直接看着计算机银幕勾选测试表。,系统分析员说:好的。,系统分析员问:在首购流程中,理财专员会怎么确认投资人是否已经在本行开设过综存账户?,业务人员答:理财专员会要求投资人提供综存账户的存折,然后通过公司的综存系统查询账户情况。,系统分析员问:所以,在公司现行的综存系统中,已经提供“查询综存账户”的功能了。,业务人员答:是的。不过,目前的操作其实很麻烦,理财专员必须登入综存系统,才能查看到综存账户的数据。可是,理财专员其实不需要完整的综存数据,因为不是要做提存款的交易嘛!理财专员只是想看到投资人提供的综存账户目前的使用状态是否正常,余额是否够支付申购款。,44,实例,-,基金模拟项目,系统分析员说:或许,我们可以让基金系统提供一项“查询综存账户使用状态”的服务供,理财专员使用?,业务人员答:这样最好了。,系统分析员问:在首购流程中,理财专员如果确认投资人未曾于本行开设过综存账户的话,理财专员会使用基金系统来帮投资人开设综存账户吗?,业务人员答:不会,开设综存账户是其他银行员工的工作,理财专员没有这样的权限。所以,通常理财专员会请银行员工过来,协助投资人开设综存账户。,系统分析员问:针对这个部分,有需要基金系统提供什么样的服务吗?,业务人员答:应该没有了。,根据一般流程的活动图,系统分析员已经先绘制出初步的系统用例图了。接下来,系统分析员想跟业务人员确认一般流程中的其他部分,模拟对话如下:,系统分析员问:在一般流程的现行操作中,客服每月会寄发投资对账单给投资人。关于这个部分,可以跟我解释的更清楚些,看看系统可以提供什么样的服务?,业务人员答:目前公司打印并邮寄纸本的投资对账单给投资人。以后,理财专员针对来申办网上下单功能的投资人,将询问投资人接受电子邮件投资对账单的意愿。所以,电子邮件和邮寄的需求并存。,45,实例,-,基金模拟项目,系统分析员问:对于打印及邮寄纸本投资对账单这部分,目前的现行操作是怎么做的?,业务人员答:公司有一套账务系统会定时印出投资对账单,客服会拿去邮寄。,系统分析员问:针对这个部分,有需要系统提供什么数据或服务给账务系统吗?,46,实例,-,基金模拟项目,47,实例,-,基金模拟项目,业务人员答:目前没有这个打算,基金系统只要处理电子邮件投资对账单就可以了。,系统分析员答:好的。,系统分析员打开定时启动者包下的系统用例图,新增了一个名为“电子邮件投资对账单”,系统用例。而且针对一般流程的活动图,系统分析员最后获得如图,10-6,的系统用例,在跟业务人员确认之后,开始分析定期定额流程的活动图。,根据定期定额流程的活动图,系统分析员已经先绘制出初步的系统用例图了。接下来,系统分析员想跟业务人员确认定期定额流程中的其他部分,模拟对话如下:,系统分析员问:在定期定额流程的现行操作中,公司会发送交易短信给投资人。关于这个部分,有需要电子邮件交易通知吗?,业务人员答:系统上线之后就改发送电子邮件,不再发送短信了。,系统分析员说:好的。,48,实例,-,基金模拟项目,49,实例,-,基金模拟项目,50,实例,-,基金模拟项目,CIM-3,的最终生成结果,如下所列:,投资人启动的系统用例,51,实例,-,基金模拟项目,系统用例名称,简 述,1),填写风险容忍度测试表,投资人到银行临柜使用系统填选风险容忍度测试表,2),网络申购单笔基金,投资人上网下单购买某档基金,3),网络申购定期定额基金,投资人上网申购定期定额基金,4),定期定额约定异动,投资人上网更改定期定额约定,52,实例,-,基金模拟项目,系统用例名称,简 述,1),填写风险容忍度测试表,投资人到银行临柜使用系统填选风险容忍度测试,2),网络申购单笔基金,投资人上网下单购买某档基金,3),网络申购定期定额基金,投资人上网申购定期定额基金,4),定期定额约定异动,投资人上网更改定期定额约定,53,实例,-,基金模拟项目,理财专员启动的系统用例,54,实例,-,基金模拟项目,PIM-1,:分析系统流程,系统分析员已经先编写了如下的用例叙述,随后开始访谈业务人员,以便获知更多的细节。,55,实例,-,基金模拟项目,系统分析员问:投资人申购单笔基金时,需要填写什么文件?或者需要携带什么证明文件吗?理财专员一般都怎么处理的?,业务人员答:首先,投资人必须携带存折和印鉴,综存账户中存有足够的申购款和手续费理财专员会请投资人填写基金申购书,然后从综存账户中扣款。最后,理财专员会开立申购收执联给投资人,整个手续就完成了。,系统分析员问:可以拿一份基金申购书和申购收执联给我做参考吗?,业务人员答:好的。你需要空白的窗体,还是我填上假数据给你参考。,系统分析员答:填有假数据的窗体最好。空白窗体有电子文件,可以一并给我吗?,业务人员答:有,pdf,文件。,根据上述访谈,系统分析员提出几个需要理清的问题,并且编写了部分的叙述内容,如下:,如何分类基金?,约定扣款账户一个或多个?,账户余额不足时,让投资人重新输入申购额,或者启动交易失败的例外流程?,扣款未成功时,是否启动交易失败的例外流程?,交易编号可有特殊的编码方式?,手续费的计算公式为何?,“,交易款项”是“申购金额”加上“手续费”吗?,申购金额可有最高及最低金额约束?,需要提供打印申购收执联的功能吗?,56,实例,-,基金模拟项目,主要流程,1),系统列出可申购基金清单,以及约定的扣款账户,2),投资人从中选定一档基金、扣款账户,键入申购金额,按下“确定”键,3),系统计算出手续费,4),系统连接综存系统,查询综存账户余额,确认余额是否足够支付交易款项,5),系统出现交易确认信息,供投资人做最后确认,6),投资人按下“最后确认”键,7),系统连接综存系统,扣交易款,交易成立,8),系统回传申购收执联,并且提供打印功能,供投资人选择打印与否,业务规则,1),交易款项申购金额手续费,2),手续费?,3),最高及最低申购金额?,4),交易编号的编码方式?,57,实例,-,基金模拟项目,非,UML,文档,基金申购书,pdf,文件、申购收执联,pdf,文件,其他,填了假数据的“基金申购书”和“申购收执联”纸本,58,实例,-,基金模拟项目,系统分析员继续下述访谈,以便理清疑点,并且搜集更多的细节,模拟对话如下:,系统分析员问:系统会列出基金清单,供投资人挑选。如果基金个数很多的话,我们会需要对这些基金做分类,银行有惯用的分类方式吗?,业务人员答:我们都是用基金公司来分类基金。,系统分析员问:系统先让投资人挑选某一家基金公司,然后系统才出现该基金公司名下的基金清单,供投资人从中挑选一档基金。这样可以吗?,业务人员答:好。,系统分析员问:约定扣款的账户只有一个,还是可以有很多个供投资人挑选?,业务人员答:投资人可以申请多个扣款账户,不过每一笔交易只能指定某一个扣款账户。,系统分析员说:了解。如果扣款账户的余额不足时,希望系统做什么处理,是让投资人重新输入申购金额,还是把这个状况当成交易失败。,业务人员答:余额不足时,系统出现提醒消息,让投资人重新输入申购金额就可以了。扣款失败,才算交易失败。,系统分析员问:如果交易成功的话,通常会给交易编号,银行有独特的编码方式吗?,业务人员答:有的。公司有自己的编码方式。,系统分析员问:所以,系统还是按照公司原有的编码方式生成交易编号,就可以了?,业务人员答:按照公司的编码方式。,系统分析员问:确认一下,交易款项是申购金额加手续费吗?还是有其他的费用。,业务人员答:没有,就这两项费用。,59,实例,-,基金模拟项目,系统分析员问:手续费怎么算?,业务人员答:申购金额乘上基金公司公告的管理费,银行有时还会给折扣。比方说,投资人申购一档,JF,东协基金,申购金额,100 000,元,该档基金的管理费为,3,,银行针对网络投资人给,6,折的折扣。所以,手续费就是,1 800,元,100 0003,0.6,。,系统分析员问:每笔申购金额有最高及最低的金额约束吗?,业务人员答:有。国内基金最低申购金额为一万元,境外基金最低申购金额为三万元。而且申购金额必须以万元为单位。原本申购金额无上限,不过通过网上下单的话,因为会从扣款,账户转出,所以有约束每笔转出金额最高不得超过,200,万元。也就是说,申购金额加上手续费,不得超过,200,万元。,系统分析员问:交易完成之后,需要提供打印功能,供投资人打印申购收执联吗?,业务人员答:这样最好了。,系统分析员将上述访谈内容,整理编写出用例叙述,并与业务人员讨论和确认。“,SUC001-,网络申购单笔基金”系统用例的叙述如下:,60,实例,-,基金模拟项目,用例名称,网络申购单笔基金,用例编号,SUC001,用例简述,投资人上网下单购买某档基金,主要流程,1),系统列出基金公司清单及名下的基金清单,以及约定的扣款账户,2),投资人从中选定一家基金公司及其名下的某一档基金,并且挑选某一个约定的扣款账,户,键入申购金额,按下“确定”键,3),系统计算出手续费,4),系统连接综存系统,查询综存账户余额,确认余额是否足够支付交易款项,5),系统出现交易确认信息,供投资人做最后确认,6),投资人按下“最后确认”键,7),系统连接综存系统,扣交易款,交易成立,8),系统回传申购收执联,并且提供打印功能,供投资人选择打印与否,61,实例,-,基金模拟项目,替代流程,2a),金额不符,系统出现申购额必须为万元倍数的信息,回到主要流程,2,,供投资人重新输,入申购数据,2b),金额过低,系统出现最低申购额的信息,回到主要流程,2,,供投资人重新输入申购数据,2c),金额过高,系统出现最高申购额的信息,回到主要流程,2,,供投资人重新输入申购数据,4a),余额不足,系统出现余额不足的信息,回到主要流程,2,,供投资人重新输入申购数据,例外流程,7a),扣款失败,系统出现交易失败的信息,该系统用例执行失败,业务规则,1),交易款项申购金额手续费,2),手续费申购金额,基金管理费,银行折扣,3),国内基金最低申购金额为,10 000,元,境外基金最低申购金额为,30 000,元,4),每笔交易款项(申购金额,+,手续费)不得超过,200,万元,5),系统按照公司原有的编码方式生成交易编号,62,实例,-,基金模拟项目,PIM-2,:分析业务规则,系统分析员经过了,PIM-1,之后,认为“定期定额申购”是很重要的业务对象,而且涉及许多重要的业务规则,所以决定为它绘制状态图,以便组织业务规则,同时也对定期定额申购有更深入的理解。,63,实例,-,基金模拟项目,1.,约定日一到,系统将自动扣款产生一笔定期定额申购,2.,连续,3,次扣款不成功,银行将自动停止继续扣款投资,3.,投资人可以更改扣款状况,从“正常扣款”或“暂停扣款”二择一,4.,正常扣款状况下,系统才会自动扣款,64,实例,-,基金模拟项目,65,实例,-,基金模拟项目,系统分析员跟业务人员确认之后,增加了下列两项事项,首次扣款若未成功,银行也会自动终止定期定额申购约定。,投资人随时可以终止定期定额申购约定。,66,实例,-,基金模拟项目,做最后的调整增加“初始设定”状态,执行交易数据的初始设定、计算交易金额和产生交易编号。,“,正常扣款”、“暂停扣款”和“终止扣款”三个状态内部都增加一项“设定状态”的入口动作。,67,实例,-,基金模拟项目,PIM-3,:定义静态结构,在,PIM-3,的过程中,系统分析员寻找操作绝对优先于寻找属性。因为属性随处可见,特别,PIM-1,搜集而来的窗体,里头多的是对象必须保存的属性。而寻找操作就没这么直接简单,系统分析员必须多动脑筋才能定义出操作,所以先别管属性了,记得优先找操作。,进行,PIM-3,时,系统分析员可以通过下列步骤,建立出类图:,1.,套用交易模式,并且经过调整之后,系统分析员可以获得初步的静态结构。,2.,分析,PIM-2,的状态图之后,系统分析员可以为类增加属性及操作。,3.,分析,PIM-1,搜集来的窗体,系统分析员可以为类增加更多的属性。,4.,经过,PIM-4,的序列图,系统分析员可以为类增加更多的操作,并且描述操作的方法。,68,实例,-,基金模拟项目,69,实例,-,基金模拟项目,交易模式通常不会适用于所有的情况,所以系统分析员套用之后,必须再进行调整,同一个定期定额申购底下,所有单期交易都是申购相同的基金,所以将原先的“基金,-,单期交易”改成“基金,-,定期定额申购”。,70,实例,-,基金模拟项目,71,实例,-,基金模拟项目,PIM-4,:定义操作及方法,系统分析员可参考下述步骤来绘制序列图:,1.,扮演启动者的执行者对象放置于序列图最左方;扮演支持者的执行者对象放至于序列图的最右方,2.,针对系统用例叙述里所记载每项流程步骤,判断执行时需要使用到哪些数据,且可指派拥有该数据的对象负责该项工作。,3.,试着执行序列图,以便调整流程,并且为操作加上参数。,4.,把绘制序列图时所找到的操作及属性,反馈给类图。,针对“,SUC001-,网络申购单笔基金”系统用例之主要流程,列出其步骤及相关对象,如下:,1.,系统列出基金公司清单及名下的基金清单,以及约定的扣款账户。,基金公司新增基金公司类,并新增与基金类之间的关联关系,以及其内部的“查询托,售基金清单”操作。,基金新增“查询基金名称”操作,以及“基金名称”及“基金代号”属性。,基金账户新增“查询扣款账号”操作,以及“扣款账号”属性。,2.,投资人从中选定一家基金公司及其名下的某一档基金,并且挑选某一个约定的扣款账户,键入申购金额,按下“确定”键。,基金账户新增“单笔申购基金”操作。,3.,系统计算出手续费。,单笔申购新增“计算手续费”操作。,银行分行新增“查询银行折扣”操作。,基金新增“查询基金管理费”操作。,72,实例,-,基金模拟项目,4.,系统连接综存系统,查询综存账户余额,确认余额是否足够支付交易款项。,基金账户新增“查询综存账户余额”操作。,综存系统新增“查询综存账户余额”操作。,5.,系统出现交易确认消息,供投资人做最后确认。,6.,投资人按下“最后确认”键。,基金账户新增“确认单笔申购”操作。,7.,系统连接综存系统,扣交易款,交易成立。,综存系统新增“扣款”操作。,单笔申购新增“设定申购日期”操作,使用“扣款”和“产生交易编号”操作。,8.,系统回传申购收执联,并且提供打印功能,供投资人选择打印与否。,前端提供打印功能,此序列图不处理。,现在,系统分析员可以试着执行一次序列图的流程,并且为操作加上参数。增加输入(,in,)出(,out,)参数如下:,1.,查询托售基金清单(,out,基金名称清单),2.,查询基金名称(,out,基金名称,基金代号),3.,查询扣款账号(,out,扣款账号),4.,单笔申购基金(,in,基金代号,申购金额),5.,计算手续费(,in,申购金额,out,手续费),6.,查询银行折扣(,out,银行折扣),7.,查询基金管理费(,out,基金管理费),73,实例,-,基金模拟项目,8.,查询综存账户余额(,out,综存账户余额),9.,查询综存账户余额(,in,扣款账号,out,综存账户余额),10.,确认单笔申购(,out,凭证号码),11.,扣款(),12.,扣款(,in,交易金额),13.,设定申购日期(),14.,产生交易编号(,out,凭证号码),74,实例,-,基金模拟项目,75,实例,-,基金模拟项目,76,
展开阅读全文