软件工程-ATM举例.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 ATM 举例
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,采用,OMT,方法对,银行网络系统,ATM(Auto Trade Machine),进行分析和设计。,一、问题的陈述,银行网络系统包括人工出纳和分行共享的自动出纳机;各分理处用自己的计算机处理业务(保存账户、处理事务等);各分理处与出纳站通过网络通信;出纳站录入账户和事务数据;自动出纳机与分行计算机通信;自动出纳机与用户接口,接受现金卡;发放现金;打印收据;分行计算机与拨款分理处结账。,要求系统正确处理同一账户的并发访问;网络费用平均摊派给各分理处。图给出了银行网络系统的示意图。,银行网络系统,ATM(Auto Trade Machine),退出,下页,末页,案例一,银行网络系统,ATM(Auto Trade Machine),自动出纳机,自动出纳机,自动出纳机,出纳站,分理处,计算机,分理处,计算机,出纳站,账户,账户,图,1,银行网络系统的示意图,用户,分行计算机,退出,下页,末页,案例一,二、,类的识别方法,常用的识别类的方法有:名词识别法、系统实体识别法、使用重用、从用例中识别类等。,、名词识别法,识别问题域中的实体,实体的描述通常用名词、名词短语、名词性代词的形式出现。,用指定语言对系统进行描述;,从系统描述中标识名词、名词短语、名词性代词;,识别确定(取、舍)类。,退出,上页,首页,下页,末页,、系统实体识别法,不关心系统的运作流程及实体之间的通信状态,而只考虑系统中的人员、组织、地点、表格、报告等实体,经过分析将他们识别为类(或对象)。,被标识的实体有:系统需要存储、分析、处理的,信息实体,、系统内部需要处理的,设备,、与系统交互的,外部系统,、系统相关,人员,、系统的,组织,实体。,在确定类时,常使用两类技术:,分解技术,将整体类和组合类分解。可控制单个类的规模。,抽象技术,根据一些类的相似性建立抽象类,并建立抽象类与这些类之间的继承关系。,抽象类实现了系统内部的重用,很好地控制了复杂性,并为所有子类定义了一个公共的界面,使设计局部化,提高系统的可修改性和可维护性。,三、建立对象模型,根据下述原则进一步确定类:,去掉冗余类,(一)确定类,采用名词识别法:检查问题陈述中的所有名词,得到初始类:,软件银行网络分行计算机系统分行出纳站,分理处分理处计算机自动出纳机出纳员帐户数据帐户,现金卡事务数据用户顾客收据,记录保管,事务,费用 安全措施访问现金,退出,上页,首页,下页,末页,去掉不相干的类,删除模糊的类,删除那些性质独立性不强的,而应该是类“属性”的候选类,所描述的操作不适宜作为对象类,(二)为每个建模实体准备数据词典,描述模板,对类进行精确描述,如系统中类的范围、成员、方法的限制等。,(三)确定关联,两个或多个类之间的相互依赖关系就是关联,实现关联的方式有多种。,关联通常用描述性动词和动词词组表示。,关联通常由以下方面确定:,、银行网络系统问题陈述中抽取,可能,的关联(动词词组),、隐含的动词词组,、基于问题域的知识,、去掉不必要和不正确的关联,三、建立对象模型,退出,上页,首页,下页,末页,银行网络系统问题陈述中的关联,网络包括出纳站和自动出纳机,行共享自动出纳机,分理处提供分理处计算机,分理处计算机保存账户,分理处计算机处理账户支付事务,分理处拥有出纳站,出纳站与分行计算机通信,(三)确定关联,退出,上页,首页,下页,末页,出纳员为账户录入事务,自动出纳机接受现金卡,自动出纳机与用户接口,自动出纳机发放现金,自动出纳机打印收据,系统处理并发访问,分理处提供软件,费用分摊给分理处,、基于问题域的知识,分理处雇佣的出纳员,现金卡访问帐户,、隐含的动词词组,分行由分理处组成,分理处拥有账户,分行拥有分行计算机,系统提供记录保管,系统提供安全,顾客有现金卡,(三)确定关联,退出,上页,首页,下页,末页,、去掉不必要和不正确的关联,使用下列标准去掉不必要和不正确的关联:,(,1,),若某个类已被删除,,那么与它有关的关联也必须删除或者用其他类来重新表述。在示例中,删除了“,银行网络,”,相关的关联也要删除。,(),不相干的关联或实现阶段的关联,。删除所有问题域之外的关联或涉及实现结构中的关联,如“系统处理并发访问”就是一种实现的概念。,(),动作,。关联应描述应用域的,结构性质,而,不是瞬时事件,,因此应删除“,自动出纳机接受现金卡,”,“自动出纳机与用户接口”等。,(),派生关联,,省略那些可以用其他关联来定义的关联。因为这种关联是,冗,余的。,银行网络系统的初步对象图如图所示,其中含有关联。,退出,上页,首页,下页,末页,图初始对象图,建立对象模型,图,2,银行网络系统的初始对象类图,分行,分理处,帐户,顾客,分行计算机,自动出纳机,远程事务,分理处计算机,出纳员,现金卡,出纳站,出纳事务,通,信,通,信,所有,所,有,所,有,雇佣,涉及,涉及,访问,授权,有,有,保管,组成,录入,录入,录入,退出,上页,首页,下页,末页,1,1.*,1.*,1.*,1.*,1.*,1.*,1.*,1.*,1,1.*,(四)确定类属性,属性通常用修饰性的名词词组来表示。属性一般不可能在问题陈述中完全表述出来,,应分析应用领域,,并考虑最主要的属性。,只考虑与具体应用直接相关的属性,,不要考虑那些超出问题范围的属性;找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。,按下列标准删除不必要的和不正确的属性:,(,1,),限定词,:若属性值固定下来后,能减少关联的重数,则可考虑把该属性重新表述为一个限定词。如银行码、站代码及雇员号等是限定词,不作为属性。,(,2,)内部值,:若属性描述了对象的非公开的内部状态,则应从对象模型中删除该属性。,(,3,),细化,:在分析阶段应忽略那些不可能对大多数操作有影响的属性。,图给出了银行网络系统对象模型的部分属性。,退出,上页,首页,下页,末页,确定类属性,退出,上页,首页,下页,末页,图,3,银行网络系统的部分属性,自动出纳机,分发现金,远程事务,种类,日期,时间,数量,顾客,名字,地址,现金卡,密码,雇员号,站代码,分理处,名字,账户号,卡片码,银行码,分理处计算机,账户,余额、类型,贷款限定,出纳员,名字,出纳事务,出纳站,银行码,分行,分行计算机,银行码,站代码,(五)使用继承来细化类,使用继承来共享公共结构,以此来重新组织类:,、自底而上,将现有类的共性一般化为父类。,找出具有相同属性、关联、操作的类,来发现继承,例如:“出纳事务”和“远程事务”其属性与主要操作是是类似的,则将它们的共性一般化,得到父类“事务”。,、自顶而下,将现有类细化为更具体的子类。,若假设的具体化与现有的类发生冲突,则说明该类结构不恰当,当同一关联名多次出现,,,且意义也相同时,应尽量具体化为相联系的类。例如“事务”从“出纳站”和“自动出纳机”进入,“录入站”就是“出纳站”和“自动出纳机”的一般化。,图,4,给出了加入继承后银行网络系统的对象模型。,退出,上页,首页,下页,末页,从,一般,类发现,特殊,类,公司职员,股东,姓名,身分证号码,股份,职员,工资,公司职员,姓名,身分证号码,股份,工资,?,?,从,特殊,类发现,一般,类,公司职员,股东,姓名,身分证号码,股份,职员,工资,股东,姓名,身分证号码,股份,职员,姓名,身分证号码,工资,?,图,4,使用继承来细化类,退出,上页,首页,下页,末页,图,4,银行网络系统的对象模型,银行码,出纳站,录入站,远程事务,账户,余额、类型,贷款限定,顾客,名字,地址,出纳员,名字,现金卡,密码,事务,种类,日期,时间,数量,分行计算机,银行码,站代码,银行码,分行,自动出纳机,分发现金,出纳事务,雇,员,号,站,代,码,分理处,名字,账户号,卡片码,银行码,分理处计算机,(六)完善对象模型,在软件开发的全过程中,需要不断地完善对象模型。可以从以下几方面考虑:,、检查是否有缺少的对象,如果一个类中,存在毫无关系的属性和操作,则应该分解这个类。,一般化体系不清楚,可分离为两个类。,存在名称及目的相同的,冗,余关联,则通过一般化创建一个父类,并组织关联。,、查找多余的类,若类中缺少属性、操作和关联,删除该类。,、查找缺少的关联,、系统的改进,退出,上页,首页,下页,末页,现金卡有多个独立的特性,分解为,卡片权限,和,现金卡,。卡片权限是银行用来鉴别用户访问权限的卡片,表示一个或多个用户帐户的访问权限;各个卡片权限对象中可能具有好几个现金卡,每张都带有安全码、卡片码,它们附在现金卡上,表示银行的卡片权限。,为了“事务”与“账户”之间的传输描述具有一般性,增加“更新”。因为一般在每个账户中,一个“事务”包括一个或多个“更新”,一个“更新”是对账户的一个动作,它们是取款、存款、查询之一。即,事务由若干更新组成,,更多涉及到账户。,由于“分理处”与“分理处计算机”之间的区别不影响分析,可将“分理处计算机”并入“分理处”。同理,将“分行计算机”并入“分行”。,图,5,完善对象模型,退出,上页,首页,下页,末页,图,5,修改后的对象模型,录入站,远程事务,现金卡,银行名、卡片码,安全号,出纳员事务,出纳员,名字,出纳站,分行,银行码,站代码,账户,余额、类型,贷款限定,顾客,名字,地址,自动出纳机,分发现金,事务,种类、日期、时间、数量,卡片权限,密码、限制,更新,数量、类型,雇,员,号,站,代,码,分理处,名字,账户号,卡片码,录入,组成,拥有,拥有,雇用,访问,标识,发行,被录入,开始,涉及,维持,有,有,四、建立动态模型,动态分析从寻找外部可见的模拟和响应事件开始,确定各对象的可能事件的顺序,在分析阶段不考虑算法的执行,它是实现模型的一部分。通常动态模型有:,事件跟踪表,、,状态图,。,建立动态模型的步骤分为步:,、准备典型的对话脚本,脚本是事件序列,每当系统中的对象与外部用户发生互换信息时,就产生一个事件,所互换的信息值就是该事件的参数。对于各事件,应确定触发事件的动作对象和该事件的参数。,包括“,正常脚本,”、“,例外脚本,”,,退出,上页,首页,下页,末页,自动出纳机与用户交互的正常的脚本如下所示:,自动出纳机请求用户插入卡片;用户插入现金卡。,自动出纳机接受卡片并读出它的卡号。,自动出纳机要求密码,用户键入密码“,4011”,。,自动出纳机与分行确认卡号和密码;分理处检查它并通知承兑的自动出纳机。,自动出纳机要求选择事务类型(取款、存款、转户及查询),用户选择取款。,自动出纳机要求现金数量;用户输入¥,100,。,自动出纳机要求分行处理事务;分行把要求转给分理处,确认事务成功。,自动出纳机分发现金并且要求用户取现金;用户取现金。,自动出纳机提示用户是否想继续;用户指出不继续。,自动出纳机打印收据,退出卡,并请求用户取出它们;用户拿走收据和卡。,自动出纳机请求用户插入。,自动出纳机与用户交互的例外的脚本如下所示:,自动出纳机请求用户插入卡;用户插入现金卡。,自动出纳机接受卡并读它的卡号。,自动出纳机要求密码;用户键入:,9999,:。,自动出纳机与分行确认卡号和密码,在咨询分理处后拒绝它。,自动出纳机指示密码错并要求重新键入;用户键入:,4011,,分行确认成功。,自动出纳机请求用户选择事务类型;用户选择取款。,自动出纳机请求键入现金数量;用户改变选择并键入“,CANCEL”,(,取消)。,退出,上页,首页,下页,末页,自动出纳机退出卡并且请求用户拿走卡;用户取出卡。,自动出纳机请求用户插入卡。,、确定事件,根据脚本确定所有的外部事件,事件包括:发送者、接收者、外设信号、输入、中断、转换和动作等。使用脚本可以发现正常事件,但不要遗漏条件和异常事件。,、画出事件跟踪表,把脚本表示成一个事件跟踪表,即不同对象间的事件排序表,图给出了银行网络系统的事件跟踪表。图,7,给出了事件流图,它给出类之间的所有事件。事件流图是对象图的一个动态对照,对象图中路径反映了可能的信息流,而事件流图反映了可能的控制流。,退出,上页,首页,下页,末页,图,7,系统的事件图,自动出纳机的事件流图,退出,上页,首页,下页,末页,图,7,银行网络系统的事件图,用户,分理处,自动出纳机,分行,确认卡及银行,处理银行事务,分理处事务成功、失败,分理处账户正确,事务成功、事务失败、账户正确、不正确账户、密码、银行代码,插入卡,输入密码,类型,取现金,取卡,不,显示主屏可读卡,要求密码、类型、数量,取消,信息,分发现金,要求继续,不正确账户信息,确认账户,处理事务,、构造状态图,对各对象类建立状态图,反映对象接收和发送的事件,每个脚本或事件跟踪表都对应于状态图中一条路径。,1),从影响建模的类的事件跟踪表入手,选择一条路径,该路径描述了一种典型的交互并且只考虑那些影响单个对象的事件,把这些事件放入一条路径,路径的弧用跟踪表上某列上的输入输出事件来标识,两个事件之间的间隔就是一个状态,给每个状态起名字,名字是有意义的,这张初始图就是事件和状态的一个序列。,2),从图中找循环,如果事件序列无限地重复,则构成一个循环。可能使用有限的事件序列取代循环。,3),把其他脚本合并到状态图中,在各脚本中先找到一点,它是以前脚本的分歧点,这个点对应于图中一个现有状态。将新事件序列并入到现有状态中作为一条可选路径。,例如某事务正在处理时,要求取消该事务,有时当用户可能无法迅速响应并且必须收回某些资源时,就会出现这种情况,为,重要的类建立状态图,退出,上页,首页,下页,末页,“,自动出纳机,”,类的状态图,开始,do/,显示屏,检查,do/,要求密码,插入卡,可读,输入,密码,核对,do/,确认帐户,帐户,正确,选择,do/,要求类型,输入,类型,输数据,do/,要求数量,不可读,do/,不可读卡信息,密码错,取消,取,卡,片,取消,do/,取消信息,帐户错误,do/,帐户错误信息,帐户,错,失败,do/,失败信息,等,5,秒,取,消,输,入,事,务,事务,do/,处理事务,发现金,do/,分发现金,事务,成功,继续否,do/,请求继续,取现金,结束,do/,打印收据,卡片退出,do/,退出卡,取卡片,终止,插入,卡,不可读,取消,继续,取消,事,务,失,败,图,9,分行类的状态图,退出,末页,图,9 “,分行”类的状态图,do:,处理,分理处事务,do:,确认,分理处代码,do:,确认,卡,正确代码,分理处,事务成功事务成功,处理事务,确认账户,错误代码错的分理处代码,错的分理处账户 错的账户,错的分理处密码 错的密码,分理处账户 账户,分理处,事务失败事务失败,上页,首页,下页,do:,更新,账户,do:,确认,卡片号,do:,确认,密码,有效,成功分,理处,事务成功,处理分理处事务,确认分理处与卡片,无效错的分理处账户,无效错的分理处密码,有效 分理处账户,失败分,理处,事务失败,图,10 “,分理处”类的状态图,五、,建立功能模型,功能模型描述了值之间的依赖关系,通常用分层的数据流图描述。数据流图有助于表示功能依赖关系,其中的处理对应于状态图的活动和动作,数据流对应于对象图中的对象或属性。,建立功能模型的步骤是:,、确定输入、输出值,先列出输入、输出值,输入输出值是系统与外部世界之间的事件的参数。,退出,上页,首页,下页,末页,图,11,自动出纳机的输入输出值,现金卡,用户,自动出纳机,银行码,卡片码,账户类型,事务类型,密码,现金,收据,信息,图,12,自动出纳机顶层数据流图,自动出纳机顶层数据流图,2,、建立数据流图,退出,上页,首页,下页,末页,数据流图说明输出值是怎样从输入值得来的,数据流图通常按层次组织。最顶层由单个处理组成,也可由收集输入、计算值及生成结果的一个综合处理构成。图给出自动出纳机顶层数据流图。,现金卡,用户,读,输入,执行事务,产生输出,账户,结算,银行码,卡码,密码,数量,事务类型,现金,收据,信息,账户类型,图,13,自动出纳机“执行事务”数据流图,“执行事务”加工的分解,退出,上页,首页,下页,末页,图,13,自动出纳机“执行事务”数据流图,更新账户,选择账户,确认密码,选择卡,选择分理处,分行,银行码,银行码,卡码,无效卡,码,不,正确密码,卡,授权密码,密码,账户类型,账户,不,正确账户,无效事务,现金、收据,数量、事务类型,账户,不正确的银行码,3,、描述处理,退出,上页,首页,当数据流图已细化到一定程度后,对各处理进行描述,描述方法用,自然语言、伪码及判定树,等,描述可以是说明的或过程的。,说明性描述确定了输入、输出值之间的关系。说明性描述优于过程性描述,因为它隐含实现的考虑。过程性描述确定一个算法来实现处理功能,算法只是用来确定处理干什么。过程性描述实现起来较为容易。,下面给出“更新账户”处理的描述:,IF,取款数目超过当前账户结算,,退出事务,不发现金,IF,取款数目不超过当前账户结算,,记账并分发要求的现金,IF,事务是存款,,建立账户并无现金分发,IF,事务是状态请求,,无现金分发,在任何情况,收据显示自动出纳机编号、日期、时间、账户编号,,事务类型,数量(若有)以及新的结算。,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




软件工程-ATM举例.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13119424.html