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

2015版第06章发现对象,定义对象类方案.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件建模与分析 2015.9-2015.10 吉林省优秀课程 长春工业大学精品课程:软件建模与分析 CCUTSE 2012 * 计算机科学与技术专业与软件工程专业 第二部分:分析篇 概念: 对象(object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和施加于这组属性的一组操作构成。 类(class)是具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,它由一个类名、一组属性和一组操作构成。 类和对象的关系——集合与成员,对象是类的实例 在一般-特殊结构中,特殊类的对象实例在逻辑上也都是其一般类的对象实例。 不直接创建对象实例的类称为抽象类(abstract class) 学生 本科生 研究生 例: 6.1 对象和类的概念及其运用 主动对象(active object)——至少有一个操作不需要接收消息就能主动执行的对象,用于描述具有主动行为的事物 主动对象的类叫做主动类(active class) 被动对象(passive object) ——每个操作都必须在消息的驱动下才能执行的对象 主动操作(active operation) ——主动对象中至少有一个不需要接收消息就能主动执行的操作。(用于定义进程或线程的程序单位) 被动对象的操作:函数、过程、例程等 类的语义 OO方法中的类在不同的语境下有两种不同的语义: 1. 一个类代表由它的全部对象实例所构成的群体 日常语言表达中的例子: “公司里有管理人员、技术人员和市场人员” “马路上汽车很多” 在OO模型中: 每个类都是由它的全部对象实例所构成的集合 类代表了它的全部对象实例。 2. 一个类代表属于该类的任意一个对象实例 从大量的个体中抽象出一个概念,再运用这个概念时就可以代表其中的任何一个个体,例如: “学生有一个学号,属于一个班级,要上课” 在OO系统模型中定义了一个类,它就可以代表它的任何一个对象实例,例如: 汽车与发动机之间的聚合关系,表示任何一辆汽车都有一台发动机,任何一台发动机都可以装在0—1辆汽车上 在类的抽象层次建模 对象是现实中存在的,是面向对象方法中的核心概念,但是面向对象系统建模时,要在类的抽象层次上建立系统模型。 哈利波特、金秀贤、孙俪、朱亚文。。。。。。 在类的抽象层次建模 理由: (1)充分性:模型中一个类描述了它的全部对象实例 (2)必要性:个别对象实例不能代表其他对象实例 (3)符合人类的思维方式:在概念层次上表达描述事物规律 (4)与OOPL保持良好的对应 (5)避免建模概念复杂化 (6)消除抽象层次上的混乱 如何运用类和对象的概念 从对象出发认识问题域 将问题域中的事物抽象为对象; 将具有共同特征的对象抽象为类 用类以及它们之间的关系构成整个系统模型; 归纳 演绎 在模型中用类表示属于该类的任何对象 在类的规约中说明这个类将创建哪些对象实例 在程序中用类定义它的全部对象 编程时静态声明类的对象 运行时动态创建类的对象 明星资讯系统开发 类 名 压缩方式 类 名 属性名:类型名 ······ 操作名() ······ 展开方式 主动类 《active》 类 名 ······ ······ 衍型(stereotype) 用关键字或者 用图标表示 类名 ······ ······ UML2 主动类表示法 《主动》 类 名 ······ ······ 6.2 表示法 在模型中用类符号来表示一个类 它代表了属于该类的全部对象实例 对象名:类名 压缩方式 属性名=值 ······ UML的对象表示法: 细节方式 对象名:类名 匿名对象 :类名 压缩方式 属性名=值 ······ 细节方式 :类名 用所谓“匿名对象”代表类的任何一个对象实例,然而这恰恰是类的作用。 6.3 发现对象 研究问题域 亲临现场深入调查研究 直接观察并向用户及相关的业务人员进行调查和交流,考察问题域中各种各样的事物、它们的特征及相互关系 听取问题域专家的见解 领域专家——包括技术人员、管理者、老职员和富有经验的工人等 阅读相关材料 阅读各种与问题域有关的材料,学习相关行业和领域的基本知识 借鉴以往的系统 查阅以往在该问题域中开发过的同类系统的分析文档 ,吸取经验,发现可以复用的类 正确地运用抽象原则 对什么进行抽象——问题域 当前目标——系统责任 忽略与系统责任无关的事物 只注意与之有关的事物 ,抽象为系统中的对象 例如:学校的教师、学生、教务员 和 警卫 忽略与系统责任无关的事物特征 只注意与之有关的特征,抽象为对象的属性或操作 例如:教师的专业、职称 和 身高、体重 判断事物是否与系统责任有关: 一是看该

文档评论(0)

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

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

1亿VIP精品文档

相关文档