软件工程第六章详细设计gyp.ppt

  1. 1、本文档共484页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程第六章详细设计gyp资料

2. 抽象 类实际上是一种抽象数据类型,它对外开放的公共接口构成了类的规格说明(协议),这种接口规定了外界可以使用的合法操作符,利用这些操作符可以对类的实例中包含的数据进行操作。 3. 信息隐蔽 在面向对象方法中,信息隐蔽通过对象的封装性实现:类结构分离了类的接口与类的实现,从而支持了信息隐蔽。 4. 弱耦合 弱的耦合可以提高软件模块的独立性,避免某一部分模块发生变化对其它模块有较大的影响。 一般来说,对象间的耦合有两大类: A.交互耦合:对象间的耦合通过信息连接来实现。应使交互耦合尽量松散。 B.继承偶合:与交互耦合相反,应该提高继承耦合的程度。因为通过继承关系结合起来的基类和派生类,结合得越紧密越好。 5. 强内聚 面向对象设计中存在三种内聚: A.服务内聚:一个服务应该完成一个且完成一个功能。 B.类内聚:一个类应该只有一个用途,它的属性和服务应该是高内聚的。 C.一般—特殊内聚:即基类—派生类的内聚。 6. 可重用 使用已经存在的类(包括开发环境提供的类库,及以往开发相似系统时创建的类),可以提高软件重用性,提高软件生产率。 人们在面向对象方法中也积累了一些经验,总结出几条启发规则: 1. 设计结果应该清晰易懂; 1)用词一致; 2)使用已有的协议; 3)减少消息模式的数目; 4)避免模糊的定义。 11.2 启发规则 在ATM实例中,经过初步筛选,剩下的类与对象为: ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、帐户、事务、现金兑换卡。 10.3.2 确定关联 1. 初步确定关联 1)直接提取动词短语得出的关联 总行 拥有 ATM 储户 拥有 帐户 分行计算机 维护 帐户 …… …… …… 2)需求陈述中隐含的关联 分行 组成 总行 分行 保管 帐户 …… …… …… 3)根据问题域知识得出的关联 现金兑换卡 访问 帐户 分行 雇用 柜员 …… …… …… 2. 筛选 根据下述标准删除候选关联: 1)已删去的类之间的关联 如“系统”、“成本”等类已经删除,所以也应该删除的关联: 系统 维护 事务日志 分行 分摊 软件成本 2)与问题无关的或应在实现阶段考虑的关联 如应删除的关联: 系统 处理 并发访问 3)瞬时事件 关联不应是一个瞬时事件,如应该删除: ATM 读取 现金兑换卡 4)三元关联 三个或三个以上对象之间的关联,可分解为二元关联: “柜员输入针对帐户的事务”可分解为: “柜员 输入 事务” 、 “事务 修改 帐户” 5)派生关联 去掉可以用其它关联定义的冗余关联,如“分行计算机 维护 帐户”,可用 “分行 保管 帐户”、“事务 修改 帐户”代替。 3. 进一步完善 1)正名 选择含义更明确的名字。 2)分解 必要时分解类与对象,如“事务”分解为: “远程事务”、“柜员事务”。 3)补充 发现遗漏的关联及时补上。 4)标明重数 10.3.3 划分主题 。 10.3.4 确定属性 1. 分析 需求陈述不能得到所有属性,须借

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档