基于UML的面向对象建模方法

基于UML的面向对象建模方法姓名: 赵付轩学号: 10041156专业: 信号与信息处理学院: 信息科学与技术学院基于UML的面向对象建模方法摘要:本文介绍了一种基于UML(统一建模语言)的网上报名系统。

首先对UML语言进行了简单说明,其次根据UML建模过程对网上报名系统进行了需求分析,构建了用例图、类图两个模型,最后根据该模型开发了大学英语四六级考试报名系统,该系统具有可操作性强、扩展性好、效率高的优点。

关键词:UML;网上报名;面向对象目录1 引言 (1)1.1 UML概述 (1)2 面向对象原理 (1)2.1 基本概念 (1)2.2 基本特征 (2)3 运用UML进行系统建模 (2)3.1 UML建模机制、步骤 (2)4 网上报名系统的UML建模 (3)4.1 需求分析 (3)4.2 分析与设计 (4)4.2.l 静态建模 (4)4.2.2 动态建模 (5)5 结语 (6)参考文献 (6)1 引言面向对象方法已经成为软件开发的主要方法,面向对象的分析方法以对象作为分析问题,解决问题的核心,并对问题空间进行直接映射,使计算机实现的对象与真实世界具有一一对应关系,符合人类认识规律,有效地解决了需求分析模型和软件设计模型的不匹配现象。

由于采用了数据抽象和封装技术,面向对象的程序设计降低了各模块间的耦合,可实现较高的代码利用率。

基于UML建模技术可以进行面向对象的分析、设计、编程、测试以及面向对象的软件过程,它以统一建模语言作为分析工具,利用面向对象的思想对问题域进行建模。

本文针对建模的方法和技术进行了讨论,并结合实例加以说明。

1.1 UML概述统一建模语言是用来对软件密集系统进行可视化建模的一种语言。

它是面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。

UML具有庞大的体系结构和丰富的内容。

不仅融合了Booch、OMT、OOSE方法的核心内容,同时也吸取了其他面向对象方法中的优势。

在原有的面向对象概念和理论方法的基础上,创造和构建了许多全新的方法论,为采用面向对象方法进行工程分析与设计奠定了良好的基础,并提供了充分的理论依据和方法。

UML独立于开发过程,不仅可以与规范化的CASE工具配合使用,也可以在其他面向对象的开发过程中应用。

同时,UML语言独立于程序设计语言,用UML建立的软件系统模型可以采用多种面向对象开发语言进行实现。

2 面向对象原理2.1 基本概念概括地说,面向对象就是把问题抽象为对象,设置属性(数据),指定事件或处理方式以达到目的,并强调从问题域的概念到软件程序和界面的直接映射。

(1)对象:事物的抽象对象可以被定义为一个封装了状态和行为的实体,或者说是数据结构和操作。

所有对象都是类的实例。

(2)类:是具有相同特点的对象的集合,或者说,类是可用于产生对象的模版。

(3)消息:消息是对象通信的方式,也是获得功能的方式。

对象收到发给它的消息后,或者执行一个内部操作,或者再去调用其他对象的操作。

2.2 基本特征(1)封装:把数据结构同操作数据的过程衔接在一起,构成具有类的类型对象。

对象具有明确的功能,并有接口与其他对象相互调用,而对象的内部代码和数据是受保护的,别的对象不能访问。

这样,每一个对象就像一个部件一样,在任何可调用的程序中起作用,而其功能不变。

(2)继承:是面向对象编程的一个重要机制,编程者可以在原有的类基础上建立新类,实现代码的重复利用,提高开发效率。

类可以以一种层次结构来安排。

在这个层次结构中,子类可以从比它高的超类中继承得到状态和方法。

(3)多态性:描述的是如下现象。

如果几个子类都重新定义了超类的某个函数,当消息被发送到一个子类对象时,在执行时该消息会由于子类确定的不同而被解释为不同的操作。

一个给定的类可以从不止一个超类中继承,称之为多继承。

如果采用动态联编,继承就导致了多态性。

多态性具有灵活、抽象、行为共享、代码共享等优势。

3 运用UML进行系统建模3.1 UML建模机制、步骤UML是一种建立在现代抽象模型理论上的表示法体系结构,用户借助UML提供的视见元素构件可以设计和表达出复杂的面向对象软件的体系结构。

UML通过其模型元素的扩充机制来支持建立在域分析基础上的模型元素到视见元素的映射关系,并采用面向对象的机制来表达其本身的语法和语义。

UML建模机制可以归为静态建模和动态建模两大类。

从应用的角度看,采用面向对象技术设计系统时,建模主要有4个步骤:首先是描述需求;其次根据需求建立系统的静态模型,构造系统的静态结构;第3步是描述系统的动态行为,反映系统对象之间的动态关系;第4步是实现图,主要用于显示系统中各个功能部件之间的依赖关系和调用关系。

(1)类图:类图的目的是识别组成新系统的对象并进行分类。

在类图中,还要识别每个需要记录对象的属性或特征和操作,同时需要体现类之间的关系,因此类图描述了系统的静态模型。

(2)用例图:用例图使用参与者、用例及其关系描述实体功能。

用例图的目的是识别新系统的使用或用例,即识别如何使用系统。

(3)顺序图和协作图:顺序图和协作图都称交互图,用于参与元素间捕获协作和交互模式,它们都显示了对象之间的交互信息,但各自的侧重点有所不同。

顺序图通过使用类或对象交互的临时焦点描述系统的动态行为,它以图形化的方式强调信息间的顺序。

(4)状态图:状态图通过状态和转换,描述实体的动态行为,以及组成实体的元素的状态条件、响应和动作。

每一个对象类都含有一个状态图表,它描述了每个对象的状态和行为。

状态图、协作图和顺序图三者一起共同描述了系统的动态模型。

在系统的静态和动态模型以及功能模型中,功能模型是系统的核心,它驱动着其他两个模型的开发。

因此,可以采用如下建模过程:首先是系统需求;随后,分析与设计,建立系统的用例图;接着,建立系统的静态结构模型,并将系统的功能需求分解到各个对象类,确定各个对象类的责任;然后,建立系统的动态行为模型。

下面以一网上报名系统的面相对象分析为例,介绍运用UML进行面向对象的分析过程。

4 网上报名系统的UML建模为了对在软件系统开发中应用UML有一个直观清晰的了解,考虑了一个非常简单、理想化的软件开发周期,包括3个阶段:需求、分析和设计、实现。

通过以一个网上报名系统为例来描述UML的建模过程。

4.1 需求分析需求分析是系统设计的第一步.是整个系统成功实现的基础。

只有真正做好需求分析。

才能真正了解客户的需要。

才能指导好下一步的工作.整个软件的实施是建立在需求所分析出的各项功能上的。

需求模型用UML用例图进行描述。

用例图主要由参与者和用例组成,参与者就是用户相对于系统而言所扮演的角色,参与者总是期望使用系统所提供的功能.一个用例就是参与者对系统的一次使用。

本系统的用例图如图1所示。

系统的参与者有2个:考生和管理员。

报名考生需注册后才能开始填写报名信息.对于校内学生系统会自动提取出该学生的基本信息.考生只需在线选择报考的类别与等级就可以实现网上报名:管理员可以对考生基本信息、报名信息和成绩进行管理。

系统首先检查用户权限.如果是系统管理员.则可以录入成绩和查询所有考生成绩;若为考生,则只能查询本人的成绩。

网上报名系统用例图如图4-1所示。

图4-1 网上报名系统用例图4.2 分析与设计该系统的分析与设计模型包括静态模型和动态模型。

4.2.l 静态建模根据问题描述及用例.通过词法分析.抽取出系统的对象,进而画出实体类图,用以表示系统静态模型,通过分析网上报名系统,可以确定用户类、管理员类、考生类、监考老师类、报名类、考试类、考点类、成绩类等。

基类可以派生出若干个子类.父类和子类之间可以存在聚合、组合、泛懈化等关系,在本系统中.用户类是管理员类、考生类和监考老师类的泛化.考点类由考试类聚合而成。

系统部分实体类图如图2所示。

这里隐藏了类的属性和操作.用三角形符号表示父类一子类泛化联系。

菱形表示聚合联系。

连线代表一般联系。

网上报名系统类图如图4-2所示。

图4-2 网上报名系统类图4.2.2 动态建模建立静态模型后.为了表达系统的动态特征.需建立系统的动态模型。

动态模型可用顺序图表示。

顺序图描述了几个对象之间的动态合作关系.其重要性在于它非常直观地展示了对象之问传递消息的时间顺序.即在系统过程中某一时刻所发生的事情.因此它对于分析需要清楚表达顺序的过程十分有用。

4.3 网上报名系统的实现系统采用B/S和C/S相结合的体系结构.以Windows Server 2000作为服务器端操作系统。

系统的实现充分利用前台开发工具的面向对象编程特性(如继承、封装等)进行面向对象编程工作。

前台编程工具采用ASENET 2005,数据库服务器采用SOL Server 2005。

具体编程不再细述。

系统报名信息管理界面如图4-3所示。

图4-3 网上报名系统信息管理界面5 结语统一建模语言UML作为面向对象建模领域的事实上的工业标准,在软件系统的设计过程中有着其他现有工具不可比拟的优越性。

在这次项目管理信息系统的设计过程中.它被应用在了描述系统模块结构、静态类结构和系统行为等各个方面,对以后的系统实现过程起到了很好的指导作用。

通过支持UML的工具提供的自动代码生成工具,可以将用UML设计的部分成果直接转化成编程语言的代码框架,大大降低实现此编码过程中的工作量。

参考文献[1]SINAN Si Alhir.UML高级应用[MJ.韩宏志译.北京:清华大学出版社,2003.[2]LARMAN Craig.UML模式应用:面向对象分析与设计导论[M].姚淑珍,李虎译.北京:机械工业出版社,2002.[3]刘字翔.面向对象程序设计浅析[J].山西广播电视大学学报,2005.[4]Grady Booch.UML用户指南[M].邵维忠译.北京:机械工业出版社,2000.[5]冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社,2003.[6]马浩海,邵维忠。

麻志毅.UML 2.0评述[J].计算机科学,2004.[7]黄贤英.UML建模过程及在需求分析中的应用[J].计算机工程,2002.[8]正学龙,陈平.一种UML序列图到层次状态图合成方法[J].计算机应用,2004.[9]李云全,刘淑芬,申自浩.基于UML的系统建模[J].河南理工大学学报,2007.[10]申凯,王娟.统一建模语言UML的研究[J].软件导刊,2007.[11]白桂梅.结构化与面向对象分析方法之间关系的研究[J].电子技术,2009.[12]徐国庆,张彦铎,王海晖等.基于UML的工作流与正向工程实现研究[J].现代电子技术,2007.。

合集下载

UML面向对象分析、建模与设计课件第五章 类图

UML面向对象分析、建模与设计课件第五章 类图
即可变、只增与冻结。
类——操作
操作是一个可以由类的对象请求以影响其行为的服务的实现,也即 是对一个对象所做的事情的抽象,并且由这个类的所有对象共享。
操作是类的行为特征或动态特征。 操作的语法格式为:
可见性OPT 操作名 ⌊(参数列表)⌋OPT ⌊:返回类型⌋OPT ⌊{特性}⌋OPT
操作名:操作的标识符。在描述操作时,操作名是必须的,其他部 分可选。
Student
+monitor 1
1..*
自关联
类图中的关系——关联关系
关联名称:放在关联路径的旁边,但远离关联端。 角色:放在靠近关联端的部分,表示该关联端连接的类在这一关联
关系中担任的角色。角色名上也可使用可见性修饰符号。 多重性:放在靠近关联端的部分,表示在关联关系中源端的一个对
象可以与目标类的多少个对象之间有关联。 导航性:一个布尔值,用来说明运行时刻是否可能穿越一个关联。 限定符:是二元关联上的属性组成的列表的插槽,其中的属性值用
/WorksForCompany
Department * +department 1 WorksForDepartment
* Person
类图中的关系——泛化关系
泛化关系定义为一个较普通的元素与一个较特殊的元素之间的类元 关系。其中描述一般的元素称为父,描述特殊的元素称为子。
通过泛化对应的继承机制使子类共享父类的属性和操作,小了模型 的规模,同时也防止了模型的更新所导致的定义不一致的意外。
法了,此时称之为N元关联。
类图中的关系——关联关系
class Logical View
ClassA
AssociationName
+rolename 0..*

面向对象设计之3_基于UML的图书管理系统的分析与设计

面向对象设计之3_基于UML的图书管理系统的分析与设计

基于UML的图书管理系统的需求分析与设计摘要:本文对面向对象的概念、UML产生的背景及其基本内容进行了阐述,在对图书馆图书管理系统进行功能描述和需求分析的基础上,结合软件工程和面向对象需求分析,设计了基于UML的用例图、包图和顺序图,状态图等语言机制的图书馆图书管理系统模型。

关键词:UML;建模语言;面向对象;需求分析;图书管理系统1关于面向对象面向对象是一种的程序设计方法,或者说它是一种程序设计类型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。

它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。

这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。

它可以有不同层次的理解:(1)从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。

因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。

这样建立起来的系统才能符合现实世界的本来面目。

(2)从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。

它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。

(3)从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。

这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。

面向对象的软件开发过程中的需求分析与建模研究

面向对象的软件开发过程中的需求分析与建模研究

面向对象的软件开发过程中的需求分析与建模研究第一章引言随着信息技术的快速发展,软件已逐渐成为了现代社会不可或缺的组成部分。

而软件开发过程中的需求分析与建模是确保软件开发质量的重要步骤,因此在面向对象的软件开发中,需求分析与建模研究具有重要的意义和价值。

本文将从面向对象的软件开发出发,介绍需求分析和建模的概念、方法和工具,并重点探讨基于面向对象的软件开发过程中的需求分析与建模研究。

第二章面向对象的软件开发面向对象的软件开发是一种软件开发方法,它以对象为中心,实现了软件的高内聚、低耦合和易维护性,具有较高的开发效率和软件重用性。

在面向对象的软件开发中,需求分析和建模是其中的关键环节。

基于面向对象的软件开发过程主要包括以下几个阶段:1.需求分析阶段。

在该阶段中,需求分析人员将收集和分析用户和系统需求,以确定软件开发的需求和目标。

2.设计阶段。

在设计阶段中,设计人员将根据需求分析阶段的结果,设计面向对象的软件系统架构和对象模型。

3.编码和测试阶段。

在这个阶段中,开发人员将根据设计人员的指示开发代码和进行测试,以确保软件能够按要求正确运行。

4.部署和维护阶段。

在这个阶段中,开发人员将软件部署到用户环境中,并进行维护和修复错误。

在整个软件开发过程中,需求分析和建模是相互关联、相互作用的关键环节。

第三章需求分析与建模基础知识3.1 需求分析需求分析是软件开发的首要任务,它是确保软件开发符合用户需求的前提条件。

需求分析包括两个方面,即功能需求和非功能需求。

1.功能需求功能需求是软件开发中最基本的需求,它是用户对软件功能的具体要求。

在软件开发中,功能需求可以通过用例图、活动图、状态图和顺序图等方法进行描述和分析。

2.非功能需求非功能需求是软件开发中的另一个重要因素,它主要描述软件的性能、可靠性、安全性、可维护性和可移植性等方面的要求。

常用方法包括场景模型、质量属性树和系统特征模型等。

3.2 需求建模需求建模是将需求分析的结果转换为相应的模型,以便于软件设计和开发人员的理解和使用。

图书馆管理系统uml建模

图书馆管理系统uml建模

基于UML的图书馆管理系统建模设计一、摘要面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、设计和实现方面都有着很大的区别.UML是OOA和OOD的常用工具。

使用UML来构建软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。

这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。

当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量.使用面向对象的工具来构建系统,就应该使用面向对象的软件工程方法。

然而,我们经常会发现,在实际的开发过程中,很多开发人员虽然能够理解UML的所有图形,却仍然不能得心应手的使用UML来构建整个项目,其很大的原因,是仍然在使用原有的软件工程方法,而不清楚如何使用UML来建立系统的这些模型,不清楚分析和设计的区别,以及他们之间的转化.应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。

应用软件的制造过程,按照UML的方法,就是建立这一系列模型的过程。

关于这个图书馆系统,基本的需求比较简单,就是允许学生可以在图书馆借阅和归还图书,另外,也可以通过网络或者图书馆的终端来查阅和预订书。

当然,图书馆管理员也可以对图书进行管理.为了简化系统,我们没有把图书馆中的人员作细分。

本文只是对使用UML的过程做一个探讨,着眼于使用UML进行建模的过程,说明各个层次的模型之间的区别和联系,展示系统演进的过程,而不会深入UML的细节方面.对于更加复杂的系统,其分析和设计的方法是相通的,可以举一反三。

二、图书馆管理系统可行性分析随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求.图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案.在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2000数据库,使得本系统可以方便的和其他子系统进行数据交换。

面向对象方法与UML

面向对象方法与UML
3. 泛化关系
用例之间的泛化关系描述用例的一般与特 殊关系,不同的子用例代表了父用例的不 同实现。
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中使用一条直线表示关联关系,直线两端上的数字表示 重数。关联关系还分为二元关联、多元关联、受限关联、聚 集和组合等。
对象图是类图的实例,它展示了系统在某一时刻的快照。 对象图使用与类图相同的符号,只是在对象名下面加上下划 线。

《UML面向对象需求分析与建模教程--基于uml2.5标准》

《UML面向对象需求分析与建模教程--基于uml2.5标准》

需求模型
分析模型
设计模型
实施模型
测试模型
体系结构设计
构件图,部署图
根据文档进行单元测试,集成测试, 单元测试采用类图,集成测试用实现图和交互 确认测试 图,确认测试采用用例图
-37-
2.4 下一步发展方向
• (1) 组件化
• 软件生产如果象硬件生产一样能够快速高 效的生产出来,而且质量有保证,那软件 生产将会彻底摆脱软件危机的困扰。那软 件的目标之一就是软件的组件化,希望软 件系统的模块象组件一样可按需要生产、 组装、调试、维护。
对象技术的发展历史
Simula 基本思想
1967 1972
C++ 商业化
1980s 1990
UML 统一方法学
1995 2011+
Smalltalk 实用化
Java 编程方法的成熟
构件、 服务、 云计算???
-16-
2.2 面向对象方法基本概念与特征
• 对象:对象是要研究的任何事物。从一本书到图书馆,单 个整数到庞大的数据库、极其复杂的自动化工厂、航天飞 机都可看作对象,它不仅能表示有形的实体,也能表示无 形的(抽象的)规则、计划或事件。对象由数据(描述事 物的属性)和作用于数据的操作(体现事物的行为)构成 一独立整体。 • 类:类是对象的模板。即类是对一组有相同数据和相同操 作的对象的定义,一个类所包含的方法和数据描述一组对 象的共同属性和行为。类是在对象之上的抽象,对象则是 类的具体化,是类的实例。类可有其子类,也可有其父类, 形成类层次结构。 • 消息:消息是对象之间进行通信的一种规格说明。一般它 由三部分组成:接收消息的对象、消息名及实际变元。
例:Windows95有1000万行代码 Windows2000有5000万行代码

第2章 面向对象技术与UML-郭


在结构化方法中,现实世界被映射为功能(函数)的集合。
结构化方法的特点: 结构化程序设计:程序 = 算法 + 数据结构 从算法的角度进行建模,大量精力都集中在控制流程和 算法的分解上(功能分解)。 缺点:需求变动、维护困难
2.1 面向对象技术概述

面向对象方 法的引入: 软件复杂性 的增长, 使软件开发 越来越困难。 面向对象的 方法按照人 类的自然思 维的方式, 面对客观世 界建立软件 模型。
对象的标识(名字)

每一个对象都有一个唯一的标识, 即使其状态有可 能与其它对象一样。
no1 no2 no3
对象的状态(数据属性)

一个对象的状态是它反映于现实世界的一系列 属性:

基本描述 载客人数 它与其它对象的关系 任一时刻的历史状态
飞机类型 飞机驾驶员 所属的航空公司
可能的状态: 停泊 班机 747 飞行 着陆
继承的描述
子类可以继承父类的全部属性与操作,并 可以添加或重新定义所继承的方法。 如果是重新定义,称为覆盖。
注意:覆盖和重载是不同的。

覆盖的例子

重载的例子
public class A{ String name; public String getValues(){ return “Name is”+name; } } public class B extends A{ String address; public String getValues(){ return “address is”+address; } }
6. 多态性


定义:同一操作作用于不同的对象,可以有 不同的解释,产生不同的执行结果。 例子: 动物叫

基于面向对象UML模型分析

基于面向对象UML模型分析作者:张海飞来源:《武汉科技报·科教论坛》2013年第11期【摘要】面向对象的方法一般都是经过对对象的分析、抽象,建立对象之间的关系,只是每一种方法都有其应用背景和侧重点。

UML语言是一个复杂、庞大的系统建模语言。

其目标是希望能够解决整个面向对象软件开发过程中的可视化建模。

在软件工程具体实践中,不论是在系统需求阶段,还是在对象的分析与设计、软件的实现与测试阶段,都需要有一种能提供清晰的表达方法和完善的工具,便于建立起相应的软件模型。

UML具备这种特性。

【关键词】面向对象;UML;元模型面向对象技术(OO)是一种非常实用的软件开发技术,是为了增强软件系统的稳定性、可重用性和可修改性开发出来的一款软件工具,具有方法的连续性、唯一性的特性,并把面向对象分析和设计、编程集成到软件存活周期的对应阶段。

UML是元模型层的表述语言,它的实例包括模型层,也能够直接对应OO语言中的类、类型、消息、继承、聚集和接口。

模型限制了对象的属性、操作和聚集。

采用表示法系统对其所表达的层次叫模型层。

一个系统常常是多个模型的聚集、相互结合和通信的组合。

需要一种手段组成各个模型,因此把属性、结合、操作、通信进一步抽象为行为元素和结构元素来表达模型,并且提供表达系统的机制,这一层称为元(Meta)模型层。

UML表示法的最上层是元-元模型层。

为了和OMG组的元对象设施(MOF)提供的元-元模型一致,UML的元模型体系结构直接从MOF的元模型生成。

用户通过UML提供的表示法构造自己系统的元模型,尤其是以图形表示模型元素时,但其语法解释不准确。

因此UML提供形式化语言OCL(对象约束语言)以一阶谓词逻辑模型描述各种约束。

事实上,UML是软件工程中形式化规格说明语言研究的派生。

因为,只有形式规格说明描述的软件体系结构在其各开发阶段中才能保证语义的一致性。

UML在给出自身的语义说明时对于每个包都给出三个层次的说明,即抽象的语法、良构的规则和语义。

学习uml很简单---1.UML概述


UML 语言包含的三方面内容
• UML 基本图素:它是构成 UML 模型图的基本元素。 例如类、对象、包、接口、组件等。 • UML 模型图:它由 UML 基本图素按照 UML 建模规 则构成。例如用例图、类图、对象图等。 • UML 建模规则: UML 模型图必须按特定的规则有机 地组合而成 , 从而构成一个有机的、完整的 UML 模 型图( well-formed UML diagram )。
单一继承与多重继承
• 如果一个子类只有唯一一个父类,这个继承称为单一 继承。 • 如果一个子类有一个以上的父类,这种继承称为多重 继承。
消息
• 消息 (message) 传递是对象间通信的手段,一个对 象通过向另一个对象发送消息来请求其服务。 • 一个消息通常包括接收对象名、调用的操作名和适当 的参数(如果有必要的话)。 • 消息只告诉接收对象需要完成什么操作,但并不指示 接收者怎样完成操作。消息完全由接收者解释,接收 者独立决定采用什么方法完成所需的操作。
UML 在建模中的作用
• 使用 UML 可以对现实问题和需要开发的系统进行可 视化描述,这样可以帮助用户和项目组成员理解系 统,方便相互之间的交流。 • 使用 UML 可以描述一个系统的结构和行为。 • 不同的 UML 模型图可以作为项目不同阶段的软件开 发文档。 • 使用 UML 可以方便地进行交流和沟通,减少了不同 建模系统之间转换的成本。
UML 发展历史
Rational 三剑客
• Grady Booch 提出的 Booch 方法——面向对象设 计 (Object-Oriented Design) 方面 • Ivar Jacobson 提出的面向对象软件工程 (ObjectOriented Software Engineering) • James Rumbaugh 提出的对象模型技术 (ObjectModeling Technique, OMT)—— 面向对象分析 (Object-Oriented Analysis, OOA) 方面

简答题

1. 简述面向对象软件开发方法的优点。

答:●把软件系统看成是各种对象的集合,这更接近人类的思维方式。

●软件需求的变动往往是功能的变动,而功能的执行者——对象一般不会有大的变换。

这使得按照对象设计出来的系统结构比较稳定。

●对象包括属性(数据)和行为(方法),对象把数据和方法的具体实现方式一起封装起来,这使得方法和与之相关的数据不再分离,提高了每个子系统的相对独立性,从而提高了软件的可维护性。

●支持封装,抽象,继承和多态,提高了软件的可重用性,可维护性和可扩展性。

2. 基于UML的面向对象系统开发方法包括哪几步?答:基于UML的面向对象系统开发方法也可以分为如下步骤:(1)系统需求分析—用用户能懂的语言描述用户需求;(2)系统分析—用开发人员的语言描述用户需求,获得类图和对象图,作为构造系统的分析模型;(3)系统设计—用编程语言或接近编程语言的语言来更精确地描述类图和对象图,为后面能将类图和对象图映射到编码实现的系统做好准备。

(4)系统实现—用源代码、脚本语言、二进制代码、可执行子程序或组件实现系统。

3. 简述面向对象技术的三大机制。

答:(1)封装性所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。

(2)继承性如果在一个已定义的类上,增加一些特殊属性或操作,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,而且具有新的特性,因此可看作前一个类的特例,是对前一个类的继承。

前一个类称为父类,新产生的类叫做子类。

通过继承关系可形成一种类层次结构,叫做继承结构。

(3)多态性在类层次结构的不同类中,可用相同的函数名实现功能不同的函数。

4. 简述OOA模型的层次结构。

答:OOA模型采用五层次结构,它们分别是:(1)对象-类层划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档