ch03_交互图.ppt

ch03_交互图

建模工具允许自动映射到类 责任分配? 每天凌晨4:30,农夫Jones都要起床,到牛栏去挤奶 怎样用OO方法表达这个挤奶过程? 面向过程的奶牛挤奶 定义函数Milk() --float Milk(struct cow,float amount); 挤奶(使奶离开奶牛)的过程: 面向过程的问题 “挤奶”操作是孤立的 没有对挤奶农夫的需求 Milk()必须告诉那头牛来挤奶 Milk()直接访问结构的内部 Milk()和结构形成耦合 面向对象的挤奶 涉及的实体 农夫、奶牛 涉及的关系 农夫是奶牛的主人 农夫挤奶牛的奶? 但这样行得通吗? 牛奶在奶牛那里,不在农夫那里! Farmer.Milk不得不访问Cow内部的行为 Farmer.Milk要调用Cow的哪些操作? 另一种责任分配方法 另一种方法-把Milk()放在Cow中 为了挤奶,Farmer调用Cow.milk()操作 所有的“结构”信息(数据)隐藏在Cow中 在OO模型中,Farmer不是直接从Cow中取奶,而是请求Cow自己挤奶 考虑 谁知道奶牛有奶? 谁知道在请求挤奶时是否有奶可挤? 如果农夫请求挤3升但奶牛只有2升可以提供。谁来决定应该提供2,1还是0升? 信息专家——奶牛 基于责任分配原则 系统顺序图 什么是系统顺序图 系统顺序图(SSD)是阐述与所讨论系统相关的输入和输出事件而快速、简单创建的制品(顺序图)。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档