基于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.。