第18章-使用GRASP的对象设计示例.pptVIP

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第18章使用GRASP的对象设计示例

ObjectDesignExampleswithGRASP学习目标设计用例实现.应用GRASP为类分配职责应用UML阐述和思考对象设计用例实现与UP制品的关系用例文本指出了SSD中所示的系统操作系统操作可以成为输入到领域层交互图的控制器中的起始消息初学者容易忽略这个关键点领域层交互图阐述了对象如何交互以完成所需任务-用例实现系统操作与通信图系统操作与顺序图操作契约和用例实现可以根据用例文本或某人的领域知识来设计用例实现。但对复杂的系统操作,需要编写操作契约操作契约的实现如何设计makeNewSale如何设计enterItementerItem交互图,动态视图和enterItem设计有关的部分DCD,静态视图系统操作endSale的实现完成商品项目的输入获取销售总额在注解符号中表示方法系统操作makePayment的实现Register.makePayment的交互图谁应该负责获知已完成的销售在日志中记录已完成的销售计算余额NextGen迭代1最终的DCD初始领域对象及其后继领域对象的创建Monopoly迭代的用例实现(P251)自学图18-16Sale.getBalance的交互图图18-17反映了更多设计决策的更为完整的DCD系统初始化和“启动(startUP)”用例何时创建初始化的设计--准则:最后完成初始化的设计如何完成应用的启动--创建一个初始领域对象(initialdomainobject)。java应用中用的是main()方法“启动(startUP)”用例系统操作的解释--在一个交互图中,发送create()消息用以创建起始的领域对象进行初始化;(初始化完成后,控制返回GUI)。--(可选)如果这个起始的领域对象同时获得进程控制权,则在第二个交互图中,发送run()消息(或其他等价的消息)给这个起始对象。设计:store.create()创建Store、register,productCatalog和productSpecification对象;建立productCatalog与productSpecification间的关联;建立store与productCatalog间的关联;建立store与register间的关联;建立register与productCatalog间的关联。Store作为初始领域对象,负责以下有关的创建和初始化工作。图18-20初始领域对象及其后继领域对象的创建*图18-1制品关系、强调用例实现用例实现(UseCaseRealizations)用例实现描述如何按对象的协作将一个特定的用例实现为设计模型用例实现反映用例表达的需求与满足需求的对象设计之间的关系UML交互图是表示用例实现的一种通用语言用例实现(UseCaseRealizations)的UML图ProcessSale(fromUseCaseName)ProcessSaleuse-caserealizationrealize图18-2通信图和系统操作的处理图18-3顺序图和系统操作图关键点:将SSD中的系统操作作为领域层控制对象的起始消息操作:enterItem(itemID:ItemID,quantity:integer)交叉引用:用例:处理销售前置条件:有正在进行的销售后置条件:创建SalesLineItem的实例sli(创建实例)…… 操作契约CO2:enterItem图18-4满足契约后置条件的部分交互图操作:makeNewSale()交叉引用:用例:处理销售前置条件:无后置条件:-创建了Sale的实例s(创建实例).-s被关联到Register(形成关联).-s的属性被初始化(修改属性).:RegistermakeNewSale1:???()操作契约CO1:makeNewSale()系统操作makeNewSale的实现方案选择Register作为控制器类创建Sale的一个新的实例s建立s与Register的关联初始化s的属性(包括创建SalesLineItem的一个对象集)可供选择的控制器类代表整个系统的设备或子系统的控制器:Register,POSSystem代表处理或接

文档评论(0)

jiangwen666 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档