- 1、本文档共203页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章_面向对象的概念和记号
教材 叶俊民,《软件工程》. 清华大学出版社,2006 。 参考书 (美)拉曼, UML和模式应用(原书第3版) ,机械工业出版社 Grady Booch、James Rumbaugh以及Ivar Jacobson, UML用户指南,机械工业出版社 蔡敏 徐慧慧 黄炳强, UML基础与Rose建模教程,人民邮电出版社 普里斯特,面向对象设计UML实践(第2版),清华大学出版社 课程学习安排 课程安排:40课时授课+8课时讨论+16课时上机 课堂内学习:课外自学(包括上机操作)=1:3 考核:课程试验40% +平时成绩10%+笔试(闭卷)50% 课程试验包括上课报告+上机验收+实验报告 上机课题要求 试验由小组完成,每组4-5人 每组自由选择试验选题,要求开发一个应用系统,请注意选题的规模。 课题文档(A4纸质+电子版):按面向对象的软件工程文档标准完成,主要:需求分析文档、总体设计文档、详细设计文档、源程序、测试用例与分析结论。 最后3次课由学生介绍自己的系统,每组学生要做好ppt课堂汇报15分钟,并回答老师提问。 软件工程的定义 1968年 NATO 计算机科学会议 软件危机?根源?解决途径?软件工程 “概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。” 软件工程的目标 软件工程的目标是明确的,就是研制、开发与生产出具有良好软件质量和费用合算的产品。 采用工程化方法和途径来开发与维护软件。 应该开发和使用更好的软件工具。 采取必要的管理措施。 结构化方法的问题 软件不能满足用户的最终需求。 软件维护困难。 软件可复用性较差。 开发效率低下。 面向对象解决的问题 将处理问题的数据模型和处理模型合二为一。 从系统分析平滑过渡到设计。 第8章 面向对象的概念和记号 面向对象的特点 抽象性:对象的数据抽象和行为抽象; 封装性:信息隐蔽(两个视图); 共享性: 同一类中所有实例共享数据结构和行为特征; 同一应用中所有实例通过继承共享数据结构和行为特征; 不同应用中所有实例通过复用共享数据结构和行为特征 2. 类之间的关系 类之间的关系通常有关联、泛化(继承)、依赖和细化等4种关系。 (1)关联 关联表示两个类的对象之间存在某种语义上的联系。 关联分为普通关联、限定关联和关联类。 普通关联是最常见的关联关系,只要类与类之间存在连接关系就可以用普通关联表示。普通关联的图示符号是连接两个类之间的直线。 关联一般是双向的,在一个方向上为关联起一个名字,在另一个方向上为关联起另一个名字,如果关联清晰的话,也可不起名字。 在表示关联的直线两端可以写上重数(multiplicity),重数表示该类有多少个对象与对方的一个对象相连接。重数的表示方法通常有: 0..1: 表示0到1个对象; 0..*或*: 表示0到多个对象; 1+或1..*:表示1到多个对象; 1..15: 表示1到15个对象; 3: 表示3个对象。 如果图中未明确标出关联的重数,则默认重数是1。 在任何关联中,都会涉及到关联对象所扮演的角色(即起的作用),显式标明角色名有助于理解类图。 如果没有显式标出角色名,则意味着用类名同时作为角色名。 限定关联通常用在一对多或多对多的关联关系中,可以把模型中的重数从一对多变成一对一,或将多对多简化成多对一。 在类图中把限定词放在关联关系末端的一个小方框内。 为了说明关联的性质,我们还可以增加一些附加信息。这样可以引入关联类来记录这些信息。 关联中的每个连接与关联类的一个对象相联系。关联类通过一条虚线与关联连接。 (2)聚集 聚集是关联的特例。聚集所表示的类之间的关系是整体与部分的关系。 在需求陈述中,我们常常会使用的“包含”、“组成”、“分为……部分”等字句,这往往意味着存在聚集关系。 如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚集(Aggregation)。 聚集和共享聚集的图示符号是在表示关联关系的直线末端紧挨着整体类的地方画一个空心菱形。 如果部分类完全隶属于整体类,部分类需要与整体类共存,一旦整体类不存在了,则部分类也会随之消失,或失去存在价值,则称该聚集称为组合聚集(composition),简称为“组成”。 (3)泛化(generalization) 泛化关系就是通常所说的继承关系,它是通用元素和具体元素之间的一种分类关系。具体元素完全拥有通用元素的信息,并且还可以附加一些其他信息。 用一端为空心三角形的连线表示泛化关系,三角形的
文档评论(0)