面向对象的分析和设计课件.pptxVIP

面向对象的分析和设计课件.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
摘要:银行计划推出一种自动取款机系统,该系统包括自动取款机、中央计算机、分行计算机及柜员终端,以及银行内部的管理工具。自动取款机的软件开发由银行总行进行。ATM和中央计算机是由银行总行投资购买的,而分行负责提供分行计算机和柜员终端。分类与对象:-按照是否能感知(如飞机、汽车);-按照关系(如服务、任务等);-按照用途(如工资支付、开新账户等);-按照特征(如功能、特点等);-按照存储(如账户、交易等);-按照操作(如调用/操作);-按照类型(如硬件/软件等)。总

;;;;;;;;;;;;;;;;;;;;;;图7.1所示的自动取款机(ATM)系统,讲述面向对象分析和面向对象设计时使用的一个实例。 某银行拟开发一个自动取款机系统,它是一个由自动取款机、中央计算机、分行计算机及柜员终端组成的网络系统。ATM和中央计算机由总行投资购买。总行拥有多台ATM,分别设在全市各主要街道上。分行负责提供分行计算机和柜员终端。柜员终端设在分行营业厅及分行下属的各个储蓄所内。该系统的软件开发成本由各个分行分摊。; 图7.1 ATM系统;银行柜员使用柜员终端处理储户提交的储蓄事务。 储户可以用现金或支票向自己拥有的某个账户内存款或开新账户。 储户也可以从自己的账户中取款。通常,一个储户可能拥有多个账户。 柜员负责把储户提交的存款或取款事务输进柜员终端,接收储户交来的现金或支票,或付给储户现金。 柜员终端与相应的分行计算机通信,分行计算机具体处理针对某个账户的事务并且维护账户。;拥有银行账户的储户有权申请领取现金兑换卡。使用现金兑换卡可以通过ATM访问自己的账户。目前仅限于用现金兑换卡在ATM上提取现金(即取款),或查询有关自己账户的信息(例如,某个指定账户上的余额)。将来可能还要求使用ATM办理转账、存款等事务。; 1. 找出候选的类与对象 对象是对问题域中有意义的事物的抽象,它们既可能是物理实体,也可能是抽象概念。具体地说,大多数客观事物可分为下述5类:;(1) 可感知的物理实体,例如,飞机、汽车、书、房屋等等。 (2) 人或组织的角色,例如,医生、教师、雇主、雇员、计算机系、财务处等等。 (3) 应该记忆的事件,例如,飞行、演出、访问、交通事故等等。 (4) 两个或多个对象的相互作用,通常具有交易或接触的性质,例如,购买、纳税、结婚等等。 (5) 需要说明的概念,例如,政策、保险政策、版权法等等。 ;2. 筛选出正确的类与对象 依据下列标准,删除不正确或不必要的类与对象: (1) 冗余 如果两个类表达了同样的信息,则应该保留在此问题域中最富于描述力的名称。 以ATM系统为例,上面用非正式分析法得出其中储户与用户,现金兑换卡与磁卡及副本分别描述了相同的两类信息,因此,应该去掉“用户”、“磁卡”、“副本”等冗余的类,仅保留“储户”和“现金兑换卡”这两个类。;(2) 无关 仅需要把与本问题密切相关的类与对象放进目标系统中。有些类在其他问题中可能很重要,但与当前要解决的问题无关,同样也应该把它们删掉。 以ATM系统为例,这个系统并不处理分摊软件开发成本的问题,而且ATM和柜员终端放置的地点与本软件的关系也不大。因此,应该去掉候选类“成本”、“市”、“街道”、“营业厅”和“储蓄所”。;(3) 笼统 通常把笼统的或模糊的类去掉。 以ATM系统为例,“银行”实际指总行或分行,“访问”在这里实际指事务,“信息”的具体内容在需求陈述中随后就指明了。此外还有一些笼统含糊的名词。总之,在本例中应该去掉“银行”、“网络”、“系统”、“软件”、“信息”、“访问”等候选类。;(4) 属性 在需求陈述中有些名词实际上描述的是其他对象的属性,应该把这些名词从候选类与对象中去掉。当然,如果某个性质具有很强的独立性,则应把它作为类而不是作为属性。 在ATM系统的例子中,“现金”、“支票”、“取款额”、“账单”、“余额”、“分行代码”、“卡号”、“密码”、“类型”等,实际上都应该作为属性对待。;(5) 操作 在需求陈述中有时可能使用一些既可作为名词,又可作为动词的词,应该慎重考虑它们在本问题中的含义,以便正确地决定把它们作为类还是作为类中定义的操作。 例如,谈到电话时通常把“拨号”当作动词,当构造电话模型时确实应该把它作为一个操作,而不是一个类。但是,在开发电话的自动记账系统时,“拨号”需要有自己的属性(例如日期、时间、受话地点等),因此应该把它作为一个类。总之,本身具有属性需独立存在的操作,应该作为类与对象。;(6) 实现 在分析阶段不应该过早地考虑怎样实现目标系统。因此,应该去掉仅和实现有关的候选的类与对象。 在ATM系统的例子中,“事务日志”无非是对一系列事务的记录,它的确切表示方式是面向对象设计的议题;“通信链路”在逻辑上是一种联系,在系统实现时它是关联类的物理实现。总之,应该暂时去掉 “事务日志”和“通信链路”这两个类,在设计或实现时再考虑它们。;在ATM系统的例子中,经过初步筛选,剩下下列类与对象:ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡。;3. 初步确定关联 在需求陈述中使用的描述性动词或动词词组,通常表示关联关系。 以ATM系统为例,经过分析初步确定出下列关联:;(1) 直接提取动词短语得出的关联 ATM、中央计算机、分行计算机及柜员终端组成网络。 总行拥有多台ATM。

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地山东
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档