网站大量收购独家精品文档,联系QQ:2885784924

实用软件工程第7章 类和对象的设计.ppt

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

第7章 类和对象的设计 用面向对象的方法对软件系统进行分析设计,首先要做的就是找出系统中的类和对象,对它们各自的属性和操作进行分析和设计。 7.1 建立类和对象的模型 7.2 寻找系统中的类 7.3 确定类或对象之间 7.4 设计类的属性 7.5 设计类的职责 7.6 小结 7.1 建立类和对象的模型 7.1.1 什么是模型 模型就是为了理解事务而对事务作出的一种抽象,通常是用一组图示符号和组织这些符号的规则来定义和描述问题域中的术语和概念。 信息系统的模型常见的有形式化和图示化两种。形式化描述方法非常精确、严谨,易于系统以后的实现,但难以掌握和理解,模型可读性差,往往只有专业人员才会使用,因而难于推广。图形化方法用一组图示符号和组织这些符号的规则来定义和描述问题域中的术语和概念,模型直观、自然,易于描述系统的层次结构、功能组成,且简单易学,通常还有工具软件支持,因而成为信息系统的主要描述工具,尽管这种方法的精确性和严谨性较差,但实际应用很广泛。 7.1.2 建模的目的 构造模型通常的目的是: (1) 在着手解决一个复杂问题之前,建立与检测解决方案。 (2) 对复杂问题进行适度简化。 (3) 加强视觉效果。 (4) 客户和其他相关人员进行交流。 7.1.3 面向对象分析设计模型的一般形式 一个系统的特征包括两个方面,即静态特征和动态特征。静态模型描述系统的数据结构,主要表现为类或对象包含的属性、行为,以及类或对象相互之间的继承和关联关系;动态模型描述系统的控制结构,主要表现为对象为完成某一功能而相互合作以及它们动作执行的先后顺序。 7.1.3.1 表示类和对象的图形符号 图7.1是类和对象的表示符号,类和对象都用矩形框表示,类或对象名、每个属性、每个操作(行为)都各占一格。 的符号 7.1.3.2 表示类之间关系 继承、聚集(组成)、关联等关系表示符号分别如图7.3、图7.4、图7.5所示。 两类对象之间的二元关联关系分为三种基本类型,即一对一(1:1),一对多(1:M)和多对多(M:N)分别用数字1:1、1:0..*和0..* :0..*标识在表示关联关系的横线下。 7.1.3.3 表示对象的行为以及相互合作的符号 所有的对象都具有自己的生命周期(或称为运行周期)。生命周期中的阶段也就是对象的状态。系统运行过程中各对象之间总是在相互作用,某一对象受到其它对象的触发(如发送消息要求服务),就会发生状态的改变。 状态图总是针对某个特定的对象而言的,描述该对象响应一系列事件触发发生的状态转变。状态图中定义的状态有初始状态、最终状态、中间状态、复合状态。 我们常用时序图来描述几个对象的交互作用。表示符号如图7.9所示。 设计一个优秀的面向对象软件系统至少要遵循以下原则: (1) 模块化与系统分解 (2) 抽象 (3) 信息隐蔽 (4) 模块间弱耦合和模块内强内聚 (5) 可重用 7.2 寻找系统中的类 7.2.1 列出需求说明中的名词 软件系统中的很多类或对象都是待解决问题中有意义的事物的抽象,关键是抓住需求说明中的名词,重点考虑如下四个方面: (1) 自然物理对象 (2) 概念实体 (3) 人或组织的角色 (4) 发生的事件 提取名词作为初选出的类时,应注意以下原则: (1)选择一个最有意义的词。 (2)修饰语也常常是发现类属性的线索。 (3)被动语态写成的句子,通常有隐含的主语。 (4) 对类的种类进行建模。 (5) 从属性值抽象出类。 7.2.2 筛选出候选类 对列出的名词作个初步筛选。方法如下: (1) 去除重复的概念,保留一个最确切的名称。 (2) 去除无关的概念,只保留与问题密切相关的概念。 (3) 去除笼统的概念,用明确具体的名称代替它们。 (4) 去除属性。 (5) 去除操作。 (6) 去除实现细节性的名词。 7.3 确定类或对象之间的关系 7.3.1 找出关联关系 分析关联关系能促使分析员考虑问题的边缘情况,有助于发现那些尚未被发现的类。 (1) 从动词短语初步找出关联 (2) 筛选出必要的关联 (3)划分主题 7.3.2 组成关系 组成关系是一种特殊的关联关系。组成关系实际上描述的是所谓“……的一部分”、“组成”或者“……包含……”这样一类关系,即部分与整体之间的关系。 7.3.3 继承关系 有两种方式可以发现和建立继承关系: (1) 自底向上。 当子类具有

文档评论(0)

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

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

1亿VIP精品文档

相关文档