第5章 面向对象方法与UML
UML面向对象分析、建模与设计课件第五章 类图
类——操作
操作是一个可以由类的对象请求以影响其行为的服务的实现,也即 是对一个对象所做的事情的抽象,并且由这个类的所有对象共享。
操作是类的行为特征或动态特征。 操作的语法格式为:
可见性OPT 操作名 ⌊(参数列表)⌋OPT ⌊:返回类型⌋OPT ⌊{特性}⌋OPT
操作名:操作的标识符。在描述操作时,操作名是必须的,其他部 分可选。
Student
+monitor 1
1..*
自关联
类图中的关系——关联关系
关联名称:放在关联路径的旁边,但远离关联端。 角色:放在靠近关联端的部分,表示该关联端连接的类在这一关联
关系中担任的角色。角色名上也可使用可见性修饰符号。 多重性:放在靠近关联端的部分,表示在关联关系中源端的一个对
象可以与目标类的多少个对象之间有关联。 导航性:一个布尔值,用来说明运行时刻是否可能穿越一个关联。 限定符:是二元关联上的属性组成的列表的插槽,其中的属性值用
/WorksForCompany
Department * +department 1 WorksForDepartment
* Person
类图中的关系——泛化关系
泛化关系定义为一个较普通的元素与一个较特殊的元素之间的类元 关系。其中描述一般的元素称为父,描述特殊的元素称为子。
通过泛化对应的继承机制使子类共享父类的属性和操作,小了模型 的规模,同时也防止了模型的更新所导致的定义不一致的意外。
法了,此时称之为N元关联。
类图中的关系——关联关系
class Logical View
ClassA
AssociationName
+rolename 0..*
uml和面向对象方法的关系
uml和面向对象方法的关系
面向对象方法是一种编程范式,它将现实世界中的事物看作对象,并通过对象之间的交互来实现程序的功能。
而UML(统一建模语言)则是描述面向对象方法的一种图形化标准语言,它可以帮助我们更好地理解和设计面向对象程序。
因此,UML和面向对象方法是密切相关的,它们之间存在着紧密的关系。
具体来说,UML提供了一系列的图形化表示方式,如类图、用例图、时序图等,用于描述面向对象方法中的各种概念、关系和行为。
通过使用UML,我们可以更加清晰地看到系统的结构和功能,从而更好地进行设计、开发和维护。
除此之外,UML还提供了一些规范和约束,如类的继承、接口的实现等,这些规范和约束与面向对象方法的核心概念密切相关。
因此,学习和掌握UML也是学习和掌握面向对象方法的重要部分。
总之,UML和面向对象方法是相互依存、相互促进的关系。
通过使用UML来描述和设计面向对象程序,我们可以更好地理解和应用面向对象方法,从而提高程序的可靠性、可维护性和可扩展性。
- 1 -。
面向对象的方法与UML
状态图能够清晰地表示出对象在不同状态下的行为,以及对象如何响 应外部事件或消息。
分析和设计复杂系统
对于复杂的系统,状态图可以帮助开发人员理解和分析系统的行为, 从而更好地进行系统设计。
测试和验证
状态图可以作为测试和验证系统行为的依据,通过比较实际行为与预 期行为的一致性来验证系统的正确性。
随着云计算、大数据等技术的发展,面向对 象方法和UML也需要不断适应新的应用场景 和技术趋势,例如分布式系统、微服务架构 等。
未来可能会出现更加智能化的建模工 具,能够自动或半自动地生成UML模 型,减少手动建模的工作量。
面向对象方法和UML的培训和教育也将更 加重要,帮助开发人员掌握正确的建模方 法和工具,提高开发效率和软件质量。
条件判断
在某些情况下,状态迁 移可能需要根据特定条 件进行判断。条件判断 可以用一个菱形表示, 菱形内部标注判断条件 ,箭头从菱形指向满足
条件后的目标状态。
动作执行
在状态迁移过程中,可 能需要执行某些动作或 操作。这些动作可以在 箭头上方或下方标注, 表示在状态迁移过程中
需要执行的操作。
活动图概念及作用
要点二
扩展关系
表示一个用例(基础用例)在特定条 件下可以被另一个用例(扩展用例) 扩展或修改。在UML中,使用带箭头 的虚线表示,箭头指向基础用例,并 在箭头上标注《extend》。
要点三
泛化关系
表示一般与特殊的关系,即一个较通 用的用例(父用例)可以被特化出更 具体的用例(子用例)。在UML中, 使用带空心三角形的实线表示,三角 形指向父用例。
PART 01
面向对象方法概述
面向对象思想
封装
将数据和操作封装在一起,形成 “对象”,隐藏内部实现细节,
面向对象方法学与UML课件
依赖关系
面向对象方法学与UML
关联关系
• 关联(association)是一种结构关系,它描述了两 个或多个类的实例之间的连接关系,是一种特殊 的依赖。
• 关联分为普通关联、限定关联、关联类,以及聚 合与复合。
面向对象方法学与UML
关联关系——普通关联
• 普通关联是最常见的关联关系,只要类与类之间 存在连接关系就可以用普通关联表示。普通关联 又分为二元关联和多元关联。
面向对象方法学与UML
4.2 面向对象的开发方法
面向对象软件开发方法的特征 ➢方法的唯一性 即方法是对软件开发过程所有阶段进行综合 考虑而得到的。 ➢从生存期的一个阶段到下一个阶段的高度连 续性 即生存期后一阶段的成果只是在前一阶段成 果的补充和修改。 把面向对象分析(OOA)、面向对象设计 (OOD)和面向对象程序设计(OOP)集成到生 存期的相应阶段。
面向对象方法学与UML
消息通信(Message Communication)
• 消息是一个对象与另一个对象的通信单元,是要求 某个对象执行类中定义的某个操作的规格说明。
• 发送给一个对象的消息定义了一个方法名和一个参 数表(可能是空的),并指定某一个对象。
• 一个对象接收到消息,则调用消息中指定的方法, 并将形式参数与参数表中相应的值结合起来。
• 但在某些情况下,需要对关联关系的语义做详细的定义、 存储和访问,为此可以建立关联类(association class),用来描述关联的属性。
• 关联中的每个链与关联类的一个实例相联系。关联类通过 一条虚线与关联连接。
面向对象方法学与UML
关联关系——聚合
• 聚合(Aggregation)也称为聚集,是一种特殊 的关联。它描述了整体和部分之间的结构关系。
软件工程 第5章--UML
UML的定义
UML定义有两个主要组成部分:语义和表示法。 语义用自然语言描述,表示法定义了UML的可 视化标准表示符号,这决定了UML是一种可视 化的建模语言。 在语义上,模型是元模型的实例。UML定义给 出了语法结构的精确定义。 使用UML时,要从不同的角度观察系统,为此 定义了概念“视图(View)‖。视图是对系统的模 型在某方面的投影,注重于系统的某个方面。
独立于过程
系统建模语言,独立于开发过程。
9
容易掌握使用 概念明确,建模表示法简洁明了,图形结 构清晰,容易掌握使用。 着重学习三个方面的主要内容: (1) UML的基本模型元素 (2) 组织模型元素的规则 (3) UML语言的公共机制 与程序设计语言的关系 用Java,C++ 等编程语言可实现一个系统。 一些CASE工具可以根据 UML所建立的系 统模型来产生Java、C++ 等代码框架。
31
UML事物 — 注释事物
11) Note(注释)
依附于一个元素或一组元素之上,对其进
行约束或解释的简单符号。没有语义影响。
See policy8-5-96.doc for details about these algorithms.
CashAccount presentValue()
32
15
UML定义 9 种图,表达UML中的 5 种视图,各 视图在静态和动态方面表示系统模型。
结构 视图 静态 方面
动态 方面
行为 视图 同左
实现 视图 构件图
环境 视图 部署图
同左
用例 视图 用例图
同左
类图 对象图
顺序图 同左 顺序图 合作图 (注重 合作图 状态图 进程、 状态图 活动图 线程) 活动图
(完整版)软件工程 第五章 面向对象的需求分析
第五章面向对象的需求分析面向对象的需求分析方法的核心是利用面向对象的概念和方法为软件需求建造模型。
它包含面向对象风格的图形语言机制和用于指导需求分析的面向对象方法学。
面向对象的思想最初起源于 20世纪 60年代中期的仿真程序设计语言Simula67。
20世纪80年代初出现的Smalltalk 语言及其程序设计环境对面向对象技术的推广应用起到了显著的促进作用。
20世纪90年代中后期诞生并迅速成熟的UML(Unified Modeling Language,统一建模语言)是面向对象技术发展的一个重要里程碑。
UML 统一了面向对象建模的基本概念、术语和表示方法,不仅为面向对象的软件开发过程提供了丰富的表达手段,而且也为软件开发人员提供了互相交流、分享经验的共用语言。
本章首先介绍面向对象的主要概念和思想。
在概述了UML的全貌之后,以“家庭保安系统”为实例,介绍与需求分析相关的部分 UML语言机制以及基于UML的面向对象的需求分析方法和过程。
第一节面向对象的概念与思想一、面向对象的概念关于“面向对象”,有许多不同的看法。
Coad和 Yourdon给出了一个定义:“面向对象 = 对象 + 类 + 继承 + 消息通信”。
如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。
一个面向对象的程序的每一成分应是对象,计算是通过新的对象的建立和对象之间的消息通信来执行的。
1.对象(object)一般意义来讲,对象是现实世界中存在的一个事物。
可以是物理的,如一个家具或桌子,如图 5-1-1所示,可以是概念上的,如一个开发项目。
对象是构成现实世界的一个独立的单位,具有自己的静态特征(用数据描述)和动态特征(行为或具有的功能)。
例如:人的特征:姓名、性别、年龄等,行为:衣、食、住、行等。
图 5-1-1 对象的定义(1)对象、属性、操作、消息定义对象可以定义为系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。
软件工程:理论与实践(第2版)
读书笔记
如果是初学者,不建议阅读此书,干巴巴得容易让人丧失兴趣,建议阅读《构建之法》。
目录分析
第1章软件与软 件工程
第2章软件过程
1.1软件 1.2软件危机 1.3软件工程 1.4软件开发方法 1.5软件工程工具 1.6 “小型网上书店系统”案例介绍 习题
2.1软件过程概述 2.2软件生命周期 2.3软件开发模型 2.4软件开发模型实例 习题
软件工程:理论与实践(第2 版)
读书笔记模板
01 思维导图
03 读书笔记 05 作者介绍
目录
02 内容摘要 04 目录分析 06 精彩摘录
思维导图
本书关键字分析思维导图
第版
内容
第章
面向对象
过程
实例
面向对象
软件
软件
工程 软件
案例
理论
习题
过程
系统
实验
ห้องสมุดไป่ตู้
书店
工程
内容摘要
本书按照典型的软件开发过程来组织内容,旨在培养读者具备软件工程思想及实际软件开发的能力。本书共 分为12章,内容涉及软件与软件工程、软件过程、可行性研究与项目开发计划、结构化分析、结构化设计、面向 对象方法与UML、面向对象分析、软件体系结构与设计模式、面向对象设计、软件实现、软件测试、软件维护与 软件工程管理。本书理论与实践相结合,内容翔实,可操作性强。本书是高等院校计算机科学、软件工程及相关 专业“软件工程”课程的理想教材。
第6部分软件维护与软件工程管 理
12.1软件维护 12.2软件估算 12.3软件开发进度计划 12.4软件开发人员组织 12.5软件开发风险管理 12.6软件质量保证 12.7软件配置管理概述 12.8软件工程标准与软件文档 12.9软件过程能力成熟度模型
面向对象系统分析与设计-UML基础-用例图
27
参与者
参与者(Actor)是指处于系统边界之外的,与系 统发生交互作用的外部用户、设备或其他系统。在系 统的实际运作中,一个实际用户可能对应系统的多个 参与者。不同的用户也可以只对应于一个参与者,从 而代表同一参与者的不同实例。在处理参与者时,重 要的是角色,而不是人的职务等属性。
28
关系
用例除了与参与者有联系以外,用例之 间还存在着一定的关系。参与者之间还存有 关系。关系类型包括:
25
用例图的图形符号
图形符号
名称
用例
角色(参与者)
网上商店客户
关联关系
描述
26
用例
用例(Use Case)是对系统的用户需求(主要是功能 需求)的描述。用例也称案例,用况等。
(1)用例是指一个或多个参与者为达到某个目的与 要设计的系统进行的典型交互作用。
(2)用例表达了系统的功能,即系统提供的服务。
面向对象系统 分析与设计方法
——UML基础
主要内容
面向对象的主要概念 UML相关概念 UML模型 UML的扩展
2
面向对象基本概念——对象
1.定义: 对象(Object)是系统中一个用来描述客观事物的实
体。 2.特征:
对象具有自己的静态特征和动态特征。 其中:
静态特征是对象自身所要维护的信息,称为属 性,可用值来描述;
23
用例图
用例图(Use Case Diagrams)是显示一组用例、 参与者,以及它们之间关系的图。用于描述系统的 功能集。用例图是其它模型的核心和基础。
但是,用例图只能静态地描述系统功能,为了 描述系统的行为,可以使用活动图、顺序图等。
24
用例图
用例图(Use Case Diagrams)是显示一组用例、参与者 ,以及它们之间关系的图。用例图用来描述用户的功能需 求。用例图一般由参与者和用例构成。
面向对象方法与UML
用例之间的泛化关系描述用例的一般与特 殊关系,不同的子用例代表了父用例的不 同实现。
5.3 静态建模机制
• 5.3.2 类图和对象图 类图使用类和对象描述系统的结构,展示了系统中类的
静态结构,即类与类之间的相互关系。类之间有多种联系方 式,如关联(相互连接)、依赖(一个类依赖于或使用另一 个类)、泛化(一个类是另一个类的特殊情况)。一个系统 有多幅类图,一个类也可以出现在几幅类图中。
5.2 统一建模语言UML
• 5.2.1 UML简述
统一建模语言(Unified Modeling Language,UML)是一种通用的可视化建 模语言,可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。它由 信息系统和面向对象领域的三位著名的方法学家Grady Booch、James Rumbaugh 和Ivar Jacobson提出的。它记录了与被构建系统的有关的决策和理解,可用于对 系统的理解、设计、浏览、配置、维护以及控制系统的信息。这种建模语言已经得 到了广泛的支持和应用,并且已被ISO组织发布为国际标准。 UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示 UML用来捕获系统静态结构和动态行为的信息 UML是独立于过程的,它适用于各种软件开发方法、软件生命周期的各个阶段、
5.3 静态建模机制
• 类与类之间的关系有关联、依赖、泛化和实现等。
1)关联(Association)表达模型元素间的一种语义关系, 对具有共同的结构特性、行为特性、关系和语义的链的描述。 UML中使用一条直线表示关联关系,直线两端上的数字表示 重数。关联关系还分为二元关联、多元关联、受限关联、聚 集和组合等。
对象图是类图的实例,它展示了系统在某一时刻的快照。 对象图使用与类图相同的符号,只是在对象名下面加上下划 线。
软件工程(习题与参考答案)
第1章概述(习题与参考答案)[判断题]1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。
(×)2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数计算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。
(√)6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。
(×)[选择题]1. ()因素促使计算机系统越来越复杂。
(D)A. 计算机内存和存储容量上的巨大增长B. 外部输入/输出选项的更加多样性C. 计算机体系结构方面的深刻变化D. 以上所有选项2. 下面的()不再是现代软件工程师关注的问题。
(A)A. 为什么计算机硬件的成本这么高?B. 为什么软件需要很长时间才能完成?C. 为什么开发一个软件的成本这么高?D. 为什么不能在产品发布前去除软件错误?3. 软件会逐渐退化而不会磨损,其原因在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在使用之后C. 不断的变更使组件接口之间引起错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其原因在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法使用C. 软件在不使用其他组件的情况下很容易构造出来D. 商业组件在很多应用领域中可以得到5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面爆发B. 当前先进的软件工程方法已经解决了软件危机的问题C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的基本目标是()。
(B)A. 消除软件固有的复杂性B. 开发高质量的软件C. 努力发挥开发人员的创造性潜能D. 更好地维护正在使用的软件产品7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
系统设计与分析教程uml习题答案
系统设计与分析教程uml习题答案UML概述1. 请指出UML的三个主要的特性。
1)UML是⼀种语⾔2)UML是⽤来建模的3)UML是统⼀的标准2. 请指出三种以上现实⽣活中的常⽤模型,并说明它们分别在各⾃的领域中发挥了什么样的作⽤。
1)电路图:电⼦产品设计、⽣产、维修2)园区沙盘:直观、⽴体化地展⽰园区的景观、布局3)地图:导航、指路等3. 请简要说明建模的意义和建模的原则。
建议能够帮助我们按照实际情况或按我们需要的样式对系统进⾏可视化;提供⼀种详细说明系统的结构或⾏为的⽅法;给出⼀个指导系统构造的模板;对我们所做出的决策进⾏⽂档化在建模时应遵循以下原则:选择要创建什么模型对如何动⼿解决问题和如何形成解决⽅案有着意义深远的影响;每⼀种模型可以在不同的精度级别上表⽰;最好的模型是与现实相联系的;单个模型是不充分的。
对每个重要的系统最好⽤⼀组⼏乎独⽴的模型去处理4. 请说明蓝图和草图的区别,并简单描述其适⽤的场景。
蓝图⼀般是指采⽤C ASE⼯具绘制的、正式的、规范的UML模型;⽽草图则通常是指⼿⼯绘制的、规范度较低的在纸张的UML模型。
对于局部的、重要性不⾼的、共享范围较⼩的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性⾼的、⾼度共享的,在草图的基础上⽤C ASE⼯具绘制成为正式的蓝图,并将其纳⼊统⼀的模型管理中5. 说明UML适⽤的建模领域,以及其作⽤和主要的参与⼈员。
业务建模,⽤来加强对业务领域的了解,以领域专家为主,需求分析⼈员是主⼒,系统分析员、架构师可参与。
需求模型,⽤来加强需求了解,便于技术决策,以需求分析⼈员为主,系统分析员是主⼒,领域专家提供指导,架构师和资深开发⼈员参与。
设计模型:包括⾼层设计模型和详细设计模型。
⾼层设计模型以架构师为主,系统分析员从需求⽅⾯提供⽀持,资深开发⼈员从技术实现⽅⾯提供⽀持。
详细设计模型则以资深开发⼈员为主,架构师提供指导。
实现模型:架构师、资深开发⼈员(设计⼈员);以资深开发⼈员(设计⼈员)为主,架构师提供总体指导。
软件工程实用教程 (5)
【学习目标】
1.理解面向对象方法的基本概念 2.了解面向对象方法的特点与优点 3.初步掌握面向对象分析的各种模型及视图 4.掌握面向对象需求分析的过程与步骤
【教学方法】案例教学法
第五章 面向对象的需求分析
【教学重点】本章的学习重点在于正确理解面向对象方法
的基本概念:对象、类、封装、继承、多态性、消息、关
5.3.2 用例 用例是可以被执行者感受到的、系统的一个完整 的功能。用例具有下述特征: ●用例代表某些用户可见的功能,实现一个具体的 用户目标; ●用例总是被执行者启动,并向执行者提供可识别 的值; ●用例可大可小,但它必须是完整的; ●用例在以后开发过程中,可以进行独立的功能检 测。
5.3.3 用例之间的关系 用例之间主要有“关联”、“包含”和“扩展” 三种关系。下面分别给予说明。 1. 关联关系 关联(association):用单向箭头表示角色启动用例, 每个用例都有角色启动,除包含和扩展用例。无 论用例和角色是否存在双向数据交流,关联总是 由角色指向用例 。
5.2.2 封装继承和多态
封装:封装(Encapsulation)是面向对象方法的 一个重要原则,它把对象的属性和服务结合成一个 独立的系统单位,并尽可能隐藏对象的内部细节。 封装是一种信息隐藏技术,用户只能见到对象封装 界面上的信息,对象内部对用户来说是隐蔽的。 继承:继承(Inheritance)是指从一个类的定义中 可以派生出另一个类的定义,被派生出的类(子类) 可以自动拥有父类的全部属性和服务。 多态:多态性(Polymorphism)是指同名的方法 或操作在不同类型的对象中有各自相应的实现。
5.3 用例模型
1
执行者
主 要 内 容
UML系统建模基础教程课后习题答案
UML 系统建模基础教程课后答案第一章面向对象设计与UML1.填空题(1)UML(2)封装继承多态(3)继承(4)瀑布模型喷泉模型基于组件的开发模型XP 开发模型2. 选择题(1)C(2)A B C D(3)A B C D(4)A B C(5)A1.试述对象和类的关系。
(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性和相同行为的对象。
第二章UML 通用知识点综述(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通用划分2. 选择题(1)D(2)C(3)A(4)A B(5)D(6)1)在UML 中面向对象的事物有哪几种?在UML 中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。
(7)2)请说出构件的种类。
构件种类有:源代码构件、二进制构件和可执行构件。
(8)3)请说出试图有哪些种类。
在UML 中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。
(9)4)请说出视图和图的关系。
视图和图是包含和被包含的关系。
在每一种视图中都包含一种或多种图。
(10)5)请简述UML 的通用机制。
UML 提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML 在各种图中添加适当的描述信息,从而完善UML 的语义表达。
通常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML 建模。
UML 提供的这些通用机制,贯穿于整个建模过程的方方面面。
前面我们提到,UML 的通用机制包括规格说明、修饰和通用划分三个方面。
第三章Rational 统一过程(11)1 )角色活动产物工作流(12)2 )逻辑视图过程视图物理视图开发视图用例视图(13)3)设计开发验证(14)4 )二维(15)5)周期迭代过程里程碑(16) A B C D(17) A C D(18) A C D(19) A B C(20) A B C D(21)1 )请描述迭代过程有几个阶段。
UML建模工具中的五大视图
UML建模工具中的五大视图本节和大家一起学习一下UML建模工具方面的知识,本节主要包括面向对象建模概念和UML中的五大视图等内容,相信通过本节的介绍你对UML建模工具有一定的认识。
下面让我们一起来学习UML建模工具吧。
UML建模工具1.面向对象建模建模把复杂得问题分解为易于理解的小元素,以达到问题的求解模型帮助你具体化和指出系统的不同方面,模型也显示不同的部分如何彼此相关并有助于它们的工作形象化。
UML定义了软件工程领域中的不同模型。
下面给出模型和它们的描述:.类模型描述其静态结构,状态模型表示对象的动态行为,用例模型解释用户的要求,交互模型描述消息流,实现模型包含工作单元,部署模型包含属于进程分配的细节。
提供一种简单的、准备使用的、表现为可视的建模语言,是独立于过程的,是独立于语言的2.UML建模工具的五大视图:UML定义了软件工程领域中的不同模型。
下面给出模型和它们的描述:.类模型描述其静态结构,状态模型表示对象的动态行为,用例模型描述用户的要求,交互模型描述消息流,实现模型描述工作单元,部署模型属于进程分配的细节。
◆用户视图–表示系统的目的和目标◆结构视图–表示系统的静态或空闲的状态◆行为视图–表示系统的动态状态或状态的变动◆实现视图–表示系统的逻辑元素的分布◆环境视图–表示系统物理元素的分布3.用户视图系统的用户视图由用例图组成,用例图包含执行者、用例、及它们的关系,用例图表示了系统对外部实体提供的功能,用例图由执行者和用例组成(执行者对系统做什么的)执行者主要可分为四类:主要执行者–直接与系统交互的人,次要执行者–涉及到系统维护的人,外部硬件–运行应用的非计算机的系统部分,其他系统–为其工作需要与你系统交互的外部系统4.结构视图UML建模工具中结构视图代表系统的静态方面,包含类图(描述不同的类和它们的关联,描述系统中声明的类)和对象图(描述不同的对象和它们彼此间的链接)。
类:用来描述具有特征的现实世界的实体。
自考_软件工程复习资料
第一章1软件生产率、软件质和量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这一现象称为软件危机2软件工程定义:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品工程,或以此为研究对象的学科3软件开发的本质概括为:不同抽象层术语之间的“映射",以及不同抽象层处理逻辑之间的“映射" 两大类技术:过程方向、过程途径。
基本途径:系统建模4所谓模型,是待建系统的任意抽象,其中包括所有的基本能力、特性或其他一些方面,而没有任何冗余的细节。
进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述5系统模型分为软件模型、概念模型软件模型分为设计模型、部署模型、实现模型第二章软件需求与软件需求规约6一个需求是有关一个“要与构造”的陈述,描述了待开发产品、系统功能上的能力、性能或者其他性质7需求性质:必要的、无歧义的、可测的、可跟踪的、可测量的8需求分类:功能需求、非功能需求(性能、外部接口、设计约束、质量属性需求)9功能需求规约了系统或系统构建必须执行的功能功能需求是整个需求的主体10接口需求分为:用户接口、硬件接口、软件接口、通信接口、内存约束、运行、地点需求11质量属性:可靠性存活性可维护性用户友好性12需求发现技术:自悟交谈观察小组会提炼13需求规约定义,是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统概念模型性质:重要性和稳定性程度可修改的完整的一致的14需求规约的作用:需求规约是软件开发组和用户之间一份事实上的技术合同书,是产品功能及其环境的体现对于项目的其余大多数工作,需求规约是一个管理控制点对于产品/系统的设计,需求规约是一个正式的、受控的起始点需求规约是创建产品验收测试计划和用户指南的基础,是基于需求规约一般还会产生另外两个文档(初始测试计划和用户系统操作描述)第三章结构化方法15需求工作挑战: 问题空间理解人与人之间的通信需求的变化性16好的需求技术具备特征:提供方便的通信机制鼓励需求分析人员使用问题空间的术语思考问题,编写文档提供定义系统边界的方法提供支持抽象的基本机制为需求分析人员提供多重可供选择的方案提供天特定的技术化、适应需求变化17结构化方法:结构化分析方法结构化设计方案机构化程序设计方法18数据流加工数据存储数据源和数据潭19需求分析的首要任务是建立系统功能模型工具:数据流图DFD图是一种描述数据变化的图形工具20建模过程:建立系统环境图,确定系统语境自顶向下逐步求精,建立系统层次数据流图定义数据字典描述加工(结构化自然语言判定表判定树)21需求阶段的主要任务是完整地定义问题,确定系统的功能和能力22需求验证验证需求规格说明书的每一单一需求是否满足5个性质(必要性无歧义性可测性可跟踪型可测量性),需求沿着我难过规格说明属否满足4个性质(重要性和稳定性程度可修改型完整性一致性) 23结构化设计的主要任务是在需求分析的基础上,定义满足需求所需要的结构,即针对给定的问题,给出该问题的软件解决方案,确定“怎么做”的问题24结构化设计分为总体设计(目标,建立系统的模块结构)和详细设计25模块指软件中具有特定标识的独立成分模块调用指模块之间的一种使用关系26总体设计阶段的基本任务是把系统的功能需求分配到一个特定的软件体系结构中工具(Yourdon模块结构图层次图HIPO图) 步骤:将系统的DFD图转化为初始的模块结构图,再基于高内聚低耦合的原则,通过模块化,将初始的模块结构图转化为最终的、可供详细设计使用的模块结构图MSD27模块化模块是执行一个特殊任务的一个过程以及相关的数据结构.由两部分组成:接口、模块体28耦合:不同模块之间相互依赖程度的度量(强到弱内容耦合(直接操作修改另一模块数据)、公共耦合(共用一个全局数据项)、控制耦合(控制信号)、标记耦合(A向BC传递一个公共参数)、数据耦合(通过参数传递数据))29内聚:一个模块内部成分之间的相互关联程度的度量(偶然内聚、逻辑内聚(逻辑相关的功能放一块)、时间内聚(同一时间内执行)、过程内聚(特定次序执行)、通信内聚(操作同一数据集)、顺序内聚(一个成分的输出为另一个成分的输入)、功能内聚)30启发式规则:1改进软件结构,提高模块独立性2力求模块规模适中3力求深度宽度扇入扇出适中4尽力使模块的作用域在其控制域之内5尽力降低模块接口的复杂度6力求模块功能可以预测31详细设计的目标是将总体设计阶段所产生的系统高层结构映射为以这些术语所表达的低层结构,也是系统的最终结构32详细设计工具:程序流程图N-S图PAD图PDL伪码33所谓模块化,是指按照高内聚低耦合的设计原则,形成一个相互独立又有较少联系的模块结构的过程,使每个模块具有相对独立的功能/过程34逐步求精是指把要解决问题的过程分解为多个步骤或阶段,每一步是对上一步结果的精化,以接近问题的揭发.是人类解决复杂问题的基本途径之一35变换性数据流图:具有较明显的输入部分和变换部分之间的界面、变换部分和输出部分之间的数据流图36事物型数据流图:数据到达一个加工T,该加工根据输入数据的值在气候的若干动作序列中选一个来执行第四章面向对象方法UML37 UML是一种可视化语言,可用于规约系统的制品、构造系统的制品、建立系统制品文档38 事物之间的相互依赖饿相互作用,构成了显存的各式各样的系统39 UML 8个术语类与对象、接口、协作、用况、主动类、构件、制品和节点4个关系术语关联、泛化、实现和依赖40类是一组具有相同属性、操作、关系语义的对象的描述41引入可见性的目的是为了支持信息隐蔽这一软件设计原则.所谓信息隐蔽是指在每个模块中所包含的信息不允许其他不需要这些信息的模块访问42类在建模中的主要用途:模型化问题域中的概念建立系统的职责分布模型模型化建模中使用的基本类型43接口只可以被其他的类目使用,而其本身不能访问其他类目。
自考《软件工程》
软件工程普通是指计算机系统中的程序及其文档。
是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件的工程,或者以此为研究对象的学科。
随着计算机的广泛应用,软件生产率、软件质量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这一现象称为“软件危机”。
软件开辟的本质:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”。
软件开辟的基本途径是问题建模。
常用的建模手段有:结构化方法、面向对象方法以及诸多面向数据结构方法等。
所谓模型,简单的说,是待建系统的任意抽象,是特定意图下所确定的角度和抽象层次上对物理系统的描述。
在软件开辟中,软件系统模型大体上可分为两类:概念模型和软件模型。
一是过程方向,即求解软件的开辟逻辑;二是过程途径,即求解软件的开辟手段。
是产品/系统设计、实现以及验证的基本信息源之一,是任何软件工程项目的基础。
规约了系统或者系统构件必须执行的功能,是整个需求的主体。
分为性能需求、外部接口需求、设计约束和质量属性需求。
性能需求规约了一个系统或者系统构件在性能方面必须具有的一些特征;外部接口需求规约了系统或者系统构件必须与之交互的用户、硬件、软件或者数据库元素;设计约束限制了软件系统或者软件系统构件的设计方案的范围;质量属性规约了软件产品所具有的一个性质必须达到其质量方面一个所期望的水平。
是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个软件产品/系统的概念模型。
需求具有如下 5 个基本性质:①必要的,该需求是用户所要求的;②无歧义的,该需求只能用一种方式解释;③可测的,该需求是可进行测试的;④可跟踪的,该需求可从一个开辟阶段跟踪到另一个阶段;⑤可测量的该需求是可测量的。
需求规约满足以下 4 个基本性质:①重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级;②可修改的:在无非多地影响其他需求的前提下,可以容易地修改一个单一需求;③完整的:没有被遗漏的需求;④一致的:不存在互斥的需求。
面向对象分析与设计UML实验报告
(此文档为word格式,下载后您可任意编辑修改!)《面向对象分析与设计UML》实验报告实验及作业一一、实验目的了解软件工程等基础知识,为后续的统一建模语言UML知识的学习做好准备工作。
二、实验设备与环境装有Visio、RationalRose的计算机。
三、实验内容1、复习阐述“软件工程开发模型”的相关概念,并分析各种模型的优缺点,写成实验报告。
2、熟悉UML软件设计工具Visio、Rational Rose的安装及环境四、实验过程及结果经过上网搜索相关信息进行了解软件工程开发模型的相关概念与优缺点一,什么是软件工程概念模型模型就是抽象,就是有意识地忽略事物的某些特征。
抽象带来的好处是能够反映模型中元素之间的关系,清晰把握大局。
概念模型是模型的一种,简单说就是抽象程度极高的一种模型。
软件工程概念模型是对软件工程领域进行抽象描述的模型,它能够使我们对软件工程有一个完整把握。
二,软件工程开发模型的种类以及优缺点瀑布模型由W.Royce于1970年首先提出。
根据软件工程生存周期各个阶段的任务,瀑布模型从可行性研究开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。
瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻两个阶段具有因果关系,紧密联系。
一个阶段的失误将蔓延到以后的各个阶段。
为了保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。
评审过程发现错误和疏漏后,应该及时反馈到前面的有关阶段修正错误或弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段。
瀑布模型如图1.1所示。
瀑布模型有许多优点,如可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证等。
但瀑布模型也存在缺点,其主要表现在:①在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。
第05章面向对象分析
经过初步筛选后,剩下的类与对象有:
手表、按钮、显示屏、电池、时间。
2 按钮 1 简单手表 1 1 时间
1 显示屏
1
1 电池
1
图5-8 电子表元素的UML类图
三、定义属性和方法
问题域中的事物的特征可以区分为静态特征和动态特征, 静态特征可以通过一组数据来表示,而动态特征则可以通过一 系列操作来表达。面向对象方法用对象来抽象问题域中的事物, 相应的对象属性和服务则与事物的静态特征和动态特征相对应。
第5章
面向对象分析
教学目的、要求,重点、难点
目的要求:使学生了解面向对象的分析过程,需求 陈述的书写,掌握建立对象模型、动态模型、功能 模型方法和步骤。 教学重点:建立对象模型、动态模型、功能模型的 方法和步骤。 教学难点:建立对象模型、动态模型、功能模型的 方法和步骤 讲授内容:面向对象的分析过程,需求陈述的书写, 建立对象模型、动态模型、功能模型方法和步骤。
电子表
构造对象模型的第一 步是标出来自问题域的相 关对象类。对象包括物理 实体和概念,所有类在应 用中都必须有意义,在问 题陈述中,并非所有类都 是明显给出的。有些是隐 含在问题域或一般知识中 的。
读时间
设置时间 手表用户 更换电池 手表修理工 图5-6 电子表的UML用例图
二、发现对象的方法 类-&-对象是在问题域中客观存在的,系统分 析员的任务,就是通过分析找出这些类-&-对象。 1、找出侯选的类-&-对象 客观事物可以分为五类: 1)可感知的物理实体;(飞机,汽车,书…) 2)人或组织的角色;(医生,教师,雇主,计算机系) 3)应该记忆的事件;(飞行,演出,交通事故…) 4)两个或多个对象的相互作用,通常具有交易或接触 的性质;(购买,纳税,结婚…) 5)需要说明的概念;(政策,保险政策,版税法…) 在分析所面临的问题时,可以参照上述五类事物, 找出在当前问题域中的侯选类-&-对象。
智慧树知到《面向对象与UML》章节测试答案
智慧树知到《面向对象与UML》章节测试答案绪论1、UML是面向对象的软件建模语言,可应用到软件开发全过程。
A:对B:错正确答案:对2、面向对象是当今主流的软件开发思想。
()A:对B:错正确答案:对3、下列哪些工具可以用来进行UML建模?()A: Rational RoseB: Enterprise Architect (EA)C: Microsoft Office VisioD:StarUML正确答案: Rational Rose, Enterprise Architect (EA), Microsoft Office Visio,StarUML 4、本课程的主讲教师是烟台大学计算机与控制工程学院的哪位老师?()A: 螃蟹B: 郭艳燕C: 机器猫D: 哈利波特正确答案:郭艳燕5、我们要从本课程中学到哪些知识?()A:面向对象的基础知识B:UML软件建模C:面向对象的设计原则D:面向对象编程语言正确答案:面向对象的基础知识,UML软件建模,面向对象的设计原则第一章1、以下对软件建模描述正确的是()A:要正确建模,模型必须准确反映软件系统的真实情况。
B:每个模型可以有多种表达方式,从不同角度来刻画系统。
C:模型是对现实世界的简化,但不能掩盖重要的细节。
D:描述同一个系统的多个模型只能相对孤立,不能完全孤立,完全孤立的模型是不完整的E:越庞大复杂的系统,建模的重要性越大。
正确答案:要正确建模,模型必须准确反映软件系统的真实情况。
,每个模型可以有多种表达方式,从不同角度来刻画系统。
,模型是对现实世界的简化,但不能掩盖重要的细节。
,描述同一个系统的多个模型只能相对孤立,不能完全孤立,完全孤立的模型是不完整的,越庞大复杂的系统,建模的重要性越大。
2、模型的实质是什么?()A:便于交流B:对现实的简化C:可视化D:对现实的复杂化正确答案:对现实的简化3、对软件模型而言,下面说法错误的是( )A:是人员交流的媒介B:是软件的中间形态C:是软件升级和维护的依据D:是软件的标准文档正确答案:是软件的标准文档4、以下关于模型的说法错误的是( )A:模型是对现实的简化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构事物
• 结构事物是UML模型的静态部分,主要用来 描述概念的或物理的元素,包括类、主动类、 接口、对象、用例、参与者、协作、构件和 节点等。
(1)类(class)── 类用带有类名、属性和操作 的矩形框来表示。
结构事物
(2)主动类(active class)── 主动类的实例 应具有一个或多个进程或线程,能够启动控制活 动。
• 当实体之间是多对多的关系时,利用交互对象可 将其简化为两个一对多的关系。
• 例如,在大学课程注册系统中,学生和课程之间 的关系是多对多的关系,可设置一个“选课”交 互对象来简化它们之间的关系。
类与封装
• 类。可以将现实生活中的对象经过抽象,映射为程序中
的对象。对象在程序中是通过一种抽象数据类型来描述的 ,这种抽象数据类型称为类(Class)。 • 为了让计算机创建对象,必须先提供对象的定义,也就是 先定义对象所属的类。例如,可以将学生对象所属的类定 义为Student。类的图形表示如图所示。
类与封装
• 封装。面向对象的封装特性与其抽象特性密切相关。封
装是一种信息隐蔽技术,就是利用抽象数据类型将数据和 基于数据的操作封装在一起。用户只能看到对象的封装界 面信息,对象的内部细节对用户是隐蔽的。
• 封装的定义是:
(1) 清楚的边界,所有对象的内部信息被限定在这个边界内; (2) 接口,即对象向外界提供的方法,外界可以通过这些方法 与对象进行交互; (3) 受保护的内部实现,即软件对象功能的实现细节,实现细 节不能从类外访问。
对象
• 对象与后面讲的类具有几乎完全相同的表示形式 ,主要差别是对象的名字下面要加一条下划线。 对象名有下列三种表示格式:
(1) 第一种格式是对象名在前,类名在后,中间用冒号连接 。形如: 对象名:类名 (2) 第二种格式形如: :类名 这种格式用于尚未给对象命名的情况,注意,类名前的冒 号不能省略。 (3) 第三种格式形如: 对象名
• 例如,一个面向对象系统中通常有“管理器”对象,它履 行协调系统资源的角色。一个窗口系统中通常有“窗口管 理器”对象,它扮演协调鼠标器按钮和其他窗口操作的角 色。特别地,一个实际的物理对象可能同时承担几个角色 。 • 例如,一个退休教师同时扮演退休者和教师的角色。
对象
(3) 事件(Events)── 一个事件是某种活动 的一次“出现”。
多态
• 根据为请求提供服务的对象不同可以得到不同 的行为,这种现象称为多态。 • 在运行时对类进行实例化,并调用与实例化对 象相应的方法,称为动态绑定、后期绑定或运 行时绑定。相应地,如果方法的调用是在编译 时确定的,则称为是静态绑定、前期绑定或编 译时绑定。 • 通过在子类中覆盖父类的方法实现多态。
UML的基本模型
UML符号为开发者或开发工具使用这些图形符号 这些图形符号和文字所表达的是应用级的模型,
和文本语法为例。
UML模型由事物、关系和图组成
。
UML的基本模型
5.3 UML的事物
• 事物是对模型中最具代表性成分的抽象,在UML中,可以 分为结构事物、行为事物、分组事物和注释事物4类。
• 例如“鼠标”事件。一个事件对象通常是一个数 据实体,它管理“出现”的重要信息。事件对象 的操作主要用于对数据的存取。 • 如“鼠标”事件对象有诸如光标坐标、左右键、 单击,双击等信息。
对象
(4) 交互(Interactions)── 交互表示了在两个对 象之间的关系,这种类型的对象类似于在数据库 设计时所涉及的“关系”实体。
表示系统的逻辑模型或实现模型。UML还提供了语言 的扩展机制,用户可以根据需要增加定义自己的构 造型、标记值和约束等。 (4)独立于过程
UML是系统建模的语言,不依赖特定的开发过程。
UML的特点
(5) 容易掌握使用 UML概念明确,建模表示法简洁明了,图形结构
清晰,容易掌握使用。
(6)与编程语言的关系 支持UML的一些CASE工具(如Rose)可以根据 UML所建立的系统模型自动产生Java、C++ 等代码框 架。
(1)交互(interaction)── 交互由在特定的上下文环 境中共同完成一定任务的一组对象之间传递的消息组成。 如图所示。交互涉及的元素包括消息、动作序列(由一个 消息所引起的行为)和链(对象间的连接)。
对象之间的交互
行为事物
(2)状态机(state machine)── 描述了一个 对象或一个交互在生存周期内响应事件所经历的 状态序列,单个类或者一组类之间协作的行为都 可以用状态机来描述。 状态机涉及到状态、变迁和活动,其中状态用圆 角矩形来表示。
继承
• 继承。继承是一种联结类的层次模型,为类的重用提供
了方便,它提供了明确表述不同类之间共性的方法。 • 我们将公共类称为超类(superclass)、父类(father class)、祖先(ancestor)或基类(base class),而 从其继承的类称为子类(subclasses)、后代(deslendane )或导出类(derived class)。
技术的标准建模语言
• 1998、2000、2001、2003、2005年分别发布了UML1.2、UML1.3、 UML1.4、 UML1.5、 UML2.0
• 2011年发布了UML2.4,UML2.4.1
• 2013年发布了UML2.5
UML的产生和发展
UML的特点
(1)统一标准
UML不仅统一了Booch、OMT和OOSE等方法中的基
结构事物
(6)参与者(actor)── 也称角 色,是指与系统有信息交互关系的 人、软件系统或硬件设备,在图形 上用简化的小木头人表示。 (7)协作(collaboration)── 用例仅描述要实现的行为,不描述 这些行为的实现。这种实现用协作 描述。 协作定义交互,描述一组角色实体 和其他实体如何通过协同工作来完 成一个功能或行为。类可以参与几 个协作。
第5章 面向对象方法与UML
• • • • • • 面向对象的概念与开发方法 UML简介 UML的事物 UML的关系 UML的图 使用和扩展UML
5.1 面向对象的概念与开发方法
• 现实世界就是由各种对象组成的,如建筑物、人 、汽车、动物、植物等。 • 复杂的对象可以由简单的对象组成。 • 在研究对象时主要考虑对象的属性和行为,有些 不同的对象会呈现相同或相似的属性和行为,如 轿车、卡车、面包车。 • 通常将属性及行为相同或相似的对象归为一类。 • 类可以看成是对象的抽象,代表了此类对象所具 有的共有属性和行为。
UML的产生和发展
UML(Unified Modeling Language)的概念于1996年由面向对象方法领域 的三位著名专家Grady Booch,James Rumbaugh和Ivar Jacobson提出 的。 • 1996年6月和10月分别发布了UML0.9, UML0.91
• 1997年1月,UML1.0被提交给对象管理组织OMG • 1997年9月,提交UML1.1,1997年11月被OMG采纳作为基于面向对象
5.1 面向对象的概念与开发方法
• Coad和Yourdon给出了“面向对象”的一 个定义: 面向对象=对象+类+继承+消息通信 • 如果一个系统是使用这样4个概念设计和实 现的,则可认为这个系统是面向对象的。
对象
• 对象是包含现实世界物体特征的抽象实体,它反映了系统 为之保存信息和(或)与它交互的能力。 • 例如,Student对象的数据可能有姓名、性别、出生日期 、家庭住址、电话号码等,其操作可能是对这些数据值的 赋值及更改。
对象
• 对象有两个层次的概念:
(1) 现实生活中对象指的是客观世界的实体。可以 是可见的有形对象,如人、学生、汽车、房屋等; 也可以是抽象的逻辑对象,如银行帐号,生日。 (2) 程序中对象就是一组变量和相关方法的集合, 其中变量表明对象的状态,方法表明对象所具有的 行为。
对象
• 可以将程序中的对象分为5类:物理对象,角 色,事件,交互,规格说明。
过程如下:
标识系统的用户和他们的整体责任 构造需求模型
构造分析模型
5.2 UML简介
• 面向对象的建模语言很多,目前使用最广 泛的是统一建模语言(UML,Unified Modeling Language); • 它将Booch、Rumbaugh和Jacobson等各自独 立的OOA和OOD方法中最优秀的特色组合成 一个统一的方法。
面向对象软件开发方法的特征 方法的唯一性 即方法是对软件开发过程所有阶段进行综合 考虑而得到的。 从生存期的一个阶段到下一个阶段的高度连 续性,即生存期后一阶段的成果只是在前一 阶段成果的补充和修改。 将面向对象分析(OOA)、面向对象设计(OOD) 和面向对象程序设计(OOP)集成到生存期的相 应阶段。
本概念,还吸取了面向对象技术领域中其他流派的
长处,其中也包括非OO方法的影响。已经成为OMG的 标准。 (2)面向对象 UML支持面向对象技术的主要概念,它提供了一
批基本的表示模型元素的图形和方法,能简洁明了
地表达面向对象的各种概念和模型元素。
UML的特点
(3)可视化,表达能力强大
UML是一种图形化语言,用UML的模型图形能清晰地
面向对象的开发方法
Rumbaugh方法
Rumbaugh和他的同事提出的对象模型化技术 (OMT)用于分析、系统设计和对象级设计。分析 活动建立三个模型:
对象模型(描述对象、类、层次和关系); 动态模型(描述对象和系统的行为); 功能模型(类似于高层的DFD,描述穿越系统的 信息流)。
面向对象的开发方法
消息通信
• 消息是一个对象与另一个对象的通信单元,是要 求某个对象执行类中定义的某个操作的规格说明。 • 发送给一个对象的消息定义了一个方法名和一个 参数表(可能是空的),并指定某一个对象。 • 一个对象接收到消息,则调用消息中指定的方法, 并将形式参数与参数表中相应的值结合起来。