基于uml的分析与设计

2024-09-17

基于uml的分析与设计(精选8篇)

基于uml的分析与设计 篇1

基于UML的图书管理系统的需求分析与设计

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

面向对象是一种的程序设计方法,或者说它是一种程序设计类型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。它可以有不同层次的理解:

(1)从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。

(2)从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。

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

面向对象的方法学包括了以下核心概念:

对象(object):即指现实世界中各种各样的实体。它可以指具体的事物也可以指抽象的事物。

类(class):类是具有相似内部状态和运动规律的实体的集合(或统称、抽象)。类的概念来自于人们认识自然、认识社会的过程。

消息(Message): 消息是指对象间相互联系和相互作用的方式。一个消息主要由5部分组成:发送消息的对象、接收消息的对象、消息传递办法、消息内容(参数)、反馈。

封装:对象间的相互联系和相互作用过程主要通过消息机制得以实现。对象之间并不需要过多的了解对方内部的具体状态或运动规律。面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。类是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。在类中定义的接收对方消息的方法称为类的接口。

继承:类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系,以及对属性和操作的共享,即子类可以沿用父类的某些特征。

重载:重载是指类的同名方法在给其传递不同的参数是可以有不同的运动规律。在对象间相互作用时,即使接收消息对象采用相同的接收办法,但消息内容的详细程度不同,接收消息对象内部的运动规律也可能不同。关于UML UML(Unified Modeling Language)是在Booch方法、OOSE方法和OMT方法的基础上演化而来的基于面向对象技术的标准建模语言。它统一了面向对象建模的基本概念、术语和图示符号,描述了建模过程中所必须遵循的基本步骤,提供了一整套描述软件系统模型的概念和图形表示法,可从不同的视角为系统建模。统一建模语言UML是一种语义丰富、通用、可视化的建模语言和事实上的国际工业标准,易于理解和交流。UML提供的丰富的视图从多个视角描述系统的不同侧面,可以有效运用于软件的建模、分析与设计。标准建模语言UML的定义包括UML语义和UML表示法两个部分。UML语义通过其元模型来严格地定义。UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法来建模提供标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。UML的主要内容通常用用例图、类图、对象图、状态图、活动图、构件图、配置图、顺序图、协作图和包图等l0种图来描述,它们从不同的角度和层次为系统建模提供支持,完全可以 描述系统的方方面面。

与传统的软件建模方法相比, UML 有如下一些特点:(1)UML 是一个可视化建模语言, 是一种图形化的面向对象的设计工具语言,而不是可视化程序设计语言,但用UML描述的模型可与各种编程语言直接相连,把UML 模型映射成编程语言。在不同程序中使用同样的UML 图表类型, 因为UML 具有任意程序的独立性,定义一个标准程序不是一个UML 的目标。

(2)UML 是一种可用于详细描述的语言,其所建立的模型是精确、无歧义和完整的。同时UML是一种文档化的语言,对其各建模元素可进行详细说明,并能生成所建模型的文档。标准建模语言UML支持面向对象的分析与设计,定义良好、易于表达、功能强大。它的最大用途是利用图形来描述真实世界各个对象的符合表示,让所有系统设计者在构建系统需求分析、对象模型化定义到对象设计的整个开发过程完全标准化。3 本课题的研究意义

一个图书馆的图书资料库在正常运转中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。图书馆作为一个信息资源的集散地,图书和用户借阅资料繁多,包含着很多的信息数据。以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用人工检查,对借阅者的借阅权限以及借阅天数等采用人工计算、手抄进行,数据信息处理工作量大,容易出错和丢失。因此,建立一个智能化、系统化、信息化的图书资料库是十分重要的。使用计算机软件对图书进行管理,是计算机应用的一部分。充分利用计算机的功能,实现对读者管理、书籍管理等自动化控制,将会使图书资料库的工作强度大大减弱,可以实现图书检索迅速、可靠性高、存储量大、寿命长、成本低,能最大限度地提高图书管理的效率,也是图书管理信息化、正规化管理的必然趋势。4 基于UML的图书管理系统的需求分析与设计过程

图书管理系统的开发和应用主要通过两个步骤来实现:首先是基于系统功能的需求分析,其次是系统模型的设计和实现。

4.1需求分析

需求分析是软件工程过程的一个重要阶段,其中一个主要任务是确定系统的功能需求,采用面向对象方法,基于UML的可视化系统需求分析,因为有用户的积极参与,既可以加快设计者对于问题的理解,又能够在系统描述方面减少语义差异,保证分析的正确性。需求分析的目标就是建立需求模型,即从功能需求出发建立用例模型, UML的用例视图从用户的需求中提取,以盒图的方式描述待开发的系统的功能需求。每个用例都指定了客户的需求即他们需要系统干什么。用例图为设计活动不仅记 录需求而且还提供了一种挖掘的信息, 它记录了需求到设计结果之间的映射关系,能够确保设计结果具有明确的根据或者说具有可维护性,基于UML的软件开发过程是以用例驱动的。

首先我们进行角色识别,角色识别的任务是找出所有可能与系统发生交互行为的外部实体、对象、系统。它们的行为不受系统控制,但是可以提供输入给系统。对于一所大学的图书管理系统,基本的功能是完成图书的借阅和相关信息的管理,服务的对象有本科生,研究生,教师,及其他学校的学生,还有社会人员,这些人可归结为一类即读者。而为帮助读者顺利完成借还书的可以是工作人员,可以是自动借还书机,他们可以归结为一类即图书管理人员。因此对于一个图书管理系统主要有两类角色,读者、图书管理员。

其次,在主要角色的基础上,可以识别出与角色相应的用例,从而得到系统的用例模型。与读者相关的过程包括:借书、还书、预定、图书信息检索、借阅查询(如查询本人借书记录、还书期限、是否超期)、个人相关信息查询及修改(如学号、姓名、性别、年级、专业、家庭住址、联系电话、出生日期、民族、政治面貌、身份证号等)。与图书管理员相关的过程包括:办理借书、办理还书、解除预定、图书订购、读者信息管理(增加/删除读者、修改读者权限及密码、借阅超期罚款)、图书信息管理(增加/删除数目、图书类别等相关信息的修改、流通情况)。系统管理(系统的登陆、退出、日志维护、系统更新)。以上分析中,与读者,图书管理员相关的过程构成了本系统的基本用例。

4.2 系统的整体结构

综上所述一个图书管理系统的整体结构可以分为三大模块:图书管理模块、读者管理模块、系统管理模块。

(1)图书管理模块包括与图书相关的一些过程,主要有图书的借出、图书的归还、预定、图书信息检索、图书订购、图书相关信息管理。

(2)读者管理模块主要包括与读者有联系相关的过程,主要有增加/删除读者、修改读者权限及密码、借阅信息查询、个人信息查询及修该、借阅超期和丢失罚款。

(3)系统管理模块包括系统的登陆、退出、系统维护、系统更新。综上我们画出系统的整体结构,如图一所示:

图书管理系统图书管理读者管理图一 图书管理系统的整体结构

系统管理 4.3 图书管理系统的用例图

从以上分析中我们不难得出系统的基本用例图,如图二所示:

借书/还书预定/解除预定图书检索图书信息管理图书订购借阅信息查询个人信息查询/修改读者信息管理 读者借阅超期罚款 图书管理员系统管理图二 系统的基本用例图

图书管理和图书管理是图书管理系统的重要组成部分,为此我们按照前文所述将图书管理模块和读者模块以及系统管理模块详细精化得出如下的用例图,如图

三、图

四、图五所示:

按年代查询图书借入借出管理出版社查询图书购入作者查询图书查询书名查询图书管理模糊查询图书管理员图书信息管理类别查询信息删除信息添加

图三 图书管理模块的用例图

信息修改增加/删除读者修改权限个人信息查询/修改图书管理员读者管理读者借阅信息查询读者办理挂失图四 读者管理用例图

超期/丢失罚款

登陆/退出软件更新系统管理系统更新 管理员系统维护硬件更新日志维护 图五 系统管理模块的用例图

4.4 图书管理系统的行为图

我们再进行动态建模分析。对于图书管理系统借书还书是两个重要的过程,我们先来分析一下借书、还书的一般过程,并由借书的一般过程画出其顺序图、协作图以及活动图。

(1)借书的过程:读者刷卡进入图书馆,或者先查询图书及个人借阅信息,或者直接去挑选图书,选择好图书后进入借书程序,管理员先检查读者的借书证件,查验能否借阅,比如:证件是否无效或书籍是否已经借满等,即检验其借书的合法性和有效性,如果是非法用户或借书数量范围外,则该读者不能借阅图书。如果满足借阅要求,则再获取所借书的标题以进行库内搜索,获取书目查询此书的数量,看是否还有此书,如果没有则阻止其他借书者可能进行的预订活动,将此书借出,根据书号将此书的借阅标志位取反以表示此书已借出,并将此书的书目减1。并为此读者记录借阅日期,以及归还日期,在归还日期内未能归还和续借的,并为其记录超借天数及罚款数额。

(2)还书过程:在返还图书的过程中,管理员首先获取读者的借阅信息和被归还的书籍的信息,如书标题信息,数量等,并一一审核每本书的归还日期是否超过应归还日期。在完成阶段,将此书的书号登记并设计标志位为已归还,以便读者网上预订和继续借阅,同时将此类图书的数量加1,如果读者超期或丢失所借书籍,则要进行赔偿处理。

所以我们不难画出借书一般过程的顺序图,如图六所示:

图书管理员读者信息图书信息修改图书借出刷卡进入并选书核对读者信息 图书扫描并消磁修改读者借阅信息图六 借书一般过程的顺序图

有顺序图可得到协作图,如图七所示。仔细分析借书过程的细节,可以画出如图八所示的活动图,它表示了复杂算法的过程,尤其是过程中的判断、并发和同步。

刷卡进入 读者挑选图书图书管理员 核对信息图书信息修改图书扫描 消磁读者借阅信息 修改读者信息图书借出

图七 借书一般过程的协作图

读者 管理系统N禁止入内刷卡是否为本馆服务对象Y输入卡号/密码选择图书N卡号密码正确?Y个人信息查询/修改Y借阅信息查询图书检索刷条形码显示读者相关信息能否借阅N确定借书NY刷图书条码更改改读者及图书的借阅信息退出是否借阅完毕YN图八 借书过程活动图

以上我们用多种语言机制分析了读者的主要相关事件流,下面我们绘制图书管理员使用系统的状态图分析图书管理员的主要事件流。从以上分析可知,图书管理员相关的过程包括:办理借书、办理还书、解除预定、图书订购、读者信息管理(增加/删除读者、修改读者权限及密码、借阅超期罚款)、图书信息管理(增加/删除数目、图书类别等相关信息的修改、流通情况)。由此我们可绘制如图九所示的图书管理员使用系统的状态图:

登陆关闭办理借书修改图书信息办理还书增加数目图书预留取消增加加读者解除预定删除读者查询数目存储信息修改读者权限查询读者信息图九图书管理员使用系统的状态图

4.5 图书管理系统的静态图

定义并描述了各个类后,我们可以根据实际情况引入包来管理类,本图书馆管理系统可以划分为四个包:用户管理:对系统用户进行管理,为用户提供信息服务接口,便于对系统进行操作。借阅管理包括借书处理,还书处理和罚款处理等。读者管理包括对读者图书等信息进行维护,主要有读者信息的增删,对图书更新资料进行维护。系统服务:包括系统登录检查,安全维护等。系统的包图如图十所示:

用户管理借阅管理读者及图书管理系统服务 图十 系统包图 4.6 图书管理系统的实现

经过系统分析和设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行系统。进而需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。测试结果将确认所完成的系统可以真正使用。参考文献

[1] 齐治昌.谭庆平.宁洪.软件工程.北京:高等教育出版社 [2] 张海藩.软件工程.北京:人民邮电出版社

[3] 董翔.基于UML的图书管理系统的开发和应用.科技情报开发与经济2008年第l8卷第l2期 [4] 吴开华.邢养晓.罗德撤

.数字图书馆元数据研究[J].中国图书馆学报,2002,(3).

[5] 刘治国.构建基于B/S结构的图书管理系统[J].信息技术,2005(3):72—73. [6] 管斌.袁国忠 译.用例驱动的UML对象建模应用-范例分析.北京:人民邮电出版社 结束语

本文以一个图书馆图书管理系统开发为背景,针对图书馆对图书资源进行有效利用和管理的功能需求,采用统一建模语言(UML)对图书资源进行面向对象的描述,通过利用统一建模语言UML中的各种图形,分析和设计图书管理系统,建起了图书管理的面向对象模型,探讨了基于UML的体系结构建模及其实现问题。由建模过程可以看出UML在体系结构建模方面存在很好的优势,不但从整体上正确描述了该图书管理系统的体系结构,并且可以充分利用UML面向对象的优势,从而实现整个软件系统面向对象的分析、设计与开发,大大缩短开发周期,最终使得项目成功完成,此管理系统节省了管理人员和读者的大量时间,有利于信息处理效率的提高。鉴于篇幅有限,本文只对主要部分和主要过程做了介绍,限于水平,欢迎各位读者对本文的缺点、错误提出批评。

基于uml的分析与设计 篇2

关键词:UML,电子商务系统,系统分析,系统设计,建模

1 引言

面向对象的开发方法已成为当今主流的软件开发方法, 并逐渐成熟, UML 作为一种通用的建模语言, 融入了软件工程领域的新思想、新方法、新技术, 在软件的开发不同阶段可以采用相同的一套概念和表示法, 在同一个模型中它们可以混合使用, 具有定义良好、易于表达、功能强大等优势。电子商务系统作为一个WEB应用系统, 它的分析、设计、实现和运行是一个极其复杂的过程, 因此应用UML技术进行电子商务系统的分析和设计, 可以快速构建一个安全、性能良好的电子商务系统。

2 UML概述

UML (Unified Modeling Language) 又称统一建模语言或标准建模语言, 是一个支持模型化和软件系统的图形化语言, 为软件开发的所有阶段提供模型化和可视化支持, 由类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、包图及部署图这些基本图型组成。

2.1 UML的三种模型

电子商务的系统建设过程中, 通过类模型、状态模型和交互模型完成系统的需求分析和系统设计, 这三种模型将一个系统划分成不同的视图, 不同的模型并不是完全独立的, 而是有着清晰的互连, 每一种模型都描述了系统的一个方面, 但也包含了对其他模型的引用。

类模型描述状态交互模型操作的数据结构, 标识与其他对象的关系、属性和操作。类模型提供了状态和交互模型的上下文。对象是我们划分世界的单元, 是模型的分子。在构建类模型的过程中, 目标是从真实世界中捕获那些对应用而言重要的概念。类图表达了类模型。

状态模型描述对象的控制结构, 描述了与时间和顺序相关的对象层面, 标记变化的事件, 界定事件上下文的状态, 以及事件和状态的组织。状态图表示状态模型。每幅状态图都显示了系统内允许的某个对象类状态和事件序列。状态图会引用其他的模型。状态图中的动作和事件都变成了类模型中对象上的操作。状态图之间的引用变成了交互模型中的交互。

交互模型专注于对象之间的信息互换, 并提供了系统的整体视图。状态和交互模型描述了行为的不同侧面, 它们两者配合才能完整描述行为。顺序图显示交互的对象和交互的时间顺序。活动图显示计算机的处理步骤之间的控制流。

2.2 UML的开发过程

UML的开发过程包括需求获得、系统分析、系统设计、实现和测试五个阶段。

需求获得的目的是尽可能完整、准确地捕捉系统的功能需求和其他要求, 其主要工作是识别用例。用例图表述系统参与者希望系统提供的功能, 通过确定系统边界、确定参与者、确定用例和确定参与者与用例的关系四个步骤建立用例图。

系统分析是找出描述问题域以及系统责任所需的类及对象, 定义这些对象的属性和操作, 以及它们之间静态和动态关系, 其主要工作是:识别对象、为对象分类、确定类的发生和操作、确定类之间的关系、确定对象之间的交互、确定对象状态变化等。

系统设计是有考虑技术问题和限制的条件下, 是扩展和细化系统分析阶段所建立的模型, 包括总体设计和详细设计两个阶段, 总体设计需定义包、包间的相关性和基本的通信规则;详细设计描述用户接口和数据库包中的类, 扩展和细化业务对象类的, 可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。

实现是对类进行编程的过程。测试是以用例定义的描述为依据, 验证开发的系统是否满足要求。分为类测试、类集成测试和系统测试, 类测试是类封装的操作和类的状态行为所驱动的, 类集成测试有两种不同的策略:基于执行线的测试 (thread-based testing) 和基于使用的测试 (use-based testing) , 系统测试是对所有类和主程序构成的整个系统的测试。

3 基于UML的电子商务系统分析设计

3.1 需求获得

台湾水果销售系统是一个B2C的电子商务平台, 网上客户通过WEB页面访问水果销售系统, 客户可以直接在主页浏览、查询各种水果信息, 一旦对某些水果感兴趣, 客户通过验证用户名和口令登录系统后, 在网上直接下订单, 并可查询订单的执行情况。供应商可以登录系统, 对自己所销售的水果进行管理, 处理客户所下的订单, 并进行相应的查询。系统管理员管理客户及供应商, 并对系统维护, 以保证台湾水果销售网的正常运行。

经分析确定该系统的角色有:客户、供应商、系统管理员。主要用例有:系统登录、注册用户、浏览商品、下订单、浏览订单、商品管理、订单管理、用户管理及系统维护。其用例图如图1所示。

用例图是一种用户和开发人员都能理解的方式描述系统的功能和行为, 帮助设计人员理清思路, 整理用户的需求。用例图完全从用户的角度出发理解系统, 并不考虑系统的具体设计和实现。它是需求分析之后各阶段的开发工作的基础。不仅在开发中保证了系统的所有功能的实现, 还可以被用于验证和检验所开发的系统, 从而影响到开发的各个阶段和UML 的各个模型。

3.2 系统分析

系统分析的主要任务是找出描述问题域以及系统责任所需的类及对象, 以及它们之间静态和动态关系。分析类是真实世界业务概念的映射, 代表了问题域中的简洁抽象, 可以使用边界类、控制类和实体类三种不同的构造型。用类模型描述系统的静态特征, 用状态模型及交互模型描述系统的动态特征。

经分析, 台湾水果网上销售系统中主要的类有系统用户、订单、水果、订单管理、登录控制、商品管理, 其中登录控制为边界类, 系统用户、水果、订单为实体类, 订单管理和商品管理为控制类, 它们之间的关系如图2所示。

行为图描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常, 状态图是对类图的补充。在实用上并不需要为所有的类画状态图, 仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系, 有利于识别并行活动。

交互模型是以消息完成对象之间的交互来描述系统的行为, 交互图表示了对象之间的动态交互关系, 可以用来说明一个场景, 即描述一个事务的历史过程, 着重体现对象间消息传递的时间顺序, 可通过顺序图和协作图建立交互模型。顺序图显示对象之间的动态合作关系, 它强调对象之间消息发送的顺序, 同时显示对象之间的交互;协作图描述对象间的协作关系, 协作图跟顺序图相似, 显示对象间的动态协作关系, 除显示信息交换外, 协作图还显示对象以及它们之间的关系;如果强调时间和顺序, 则使用顺序图;如果强调上下级关系, 则选择协作图。网上下订单的顺序图如图3所示。

3.3 系统设计

系统设计包括总体设计和详细设计两个阶段, 总体设计需定义包、包间的相关性和基本的通信规则, 按应用的层次可将包分为用户接口包、业务逻辑包和数据存取包, 用户接口包通过WEB界面为用户提供查询、操作的数据录入及相应结果的返回;业务处理包包括分析域中的全部特定域类, 实现业务过程的处理;数据存取包提供类和对象保存。

在本系统中, 业务逻辑处理如图4所示, 订单处理子系统实现网上订单的接收和管理;商品管理子系统实现网上所售各种水果的管理, 包括产品类别、定价等;结算处理子系统实现对订单的结算;订单查询子系统可实现订单的内容、订单执行状态等信息的查询。

详细设计描述用户接口和数据库包中的类, 扩展和细化业务对象类的, 可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。如图5所示, 订单类可细化为添加订单和查询订单类, 对于添加订单类具有客户名、订单日期、交货地点、订单水果品种及数量等属性, 并可通过建立连接、修改、关闭等事件与数据相连, 实现相关的业务操作。详细设计中类的细化使编程人员可以很容易设计数据库和程序代码。

4结束语

UML是一种表达力丰富的建模语言, 可应用于在电子商分析和设计的全过程, 利用UML技术可以构造一个科学准确的电子商务系统模型, 从而对降低系统的开发成本、提高劳动生产率、合理化配置资源都将起到积极的作用, 必将得到更广泛的应用。未来的研究工作将是探索如何从UML直接生成面向对象的Java代码, 发挥UML工具的最强大作用, 为电子商务系统的软件开发提供更大的支持。

参考文献

[1]徐宝文, 周毓明, 卢红敏.UML与软件建模[M].北京:清华大学出版社, 2006, (6) .

[2]Joseph Schmuller著, 李虎, 赵龙刚译.UML基础、案例与应用[M].北京:人民邮电出版社, 2007, (1) .

[3][美]Michael Blaha, James Rumbaugh著.Object-Oriented Modeling and Design with UML[M].北京:人民邮电出版社, 2006, (7) .

[4]徐天宇编著.电子商务系统规划与设计[M].北京:清华大学出版社, 2006, (5) .

基于UML的系统分析与设计 篇3

关键词:UML;系统分析;语言

中图分类号:TP311.52 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01

随着社会信息化程度的逐渐加快,软件的需求量变得越来越大,结构也变得越来越复杂,这无形中增加了软件开发的难度系数和复杂性。UML作为一种面向对象的建模方法,融入了软件工程领域的新方法、新技术、新思想,在软件不同的开发周期使用同一组概念和表示方法,并且在同一个模型中可以混合使用,具有功能强大、容易表达、适用度较高等优势。

一、统一建模语言

UML的简介。统一建模语言是OMG(Object Management Group)组织于1997年发布的。它是一种面向可视的、对象的且被广泛使用的建模工具。UML语言由元模型和图构成,图代表的是UML的语法,定义各种UML元素、框图、符号及使用方法。元模型是UML的语义,可以给出图的含义,所以UML是通过元模型描述的以图形表示方法为基础的一种建模语言。UML的特点如下:

(1)UML仅仅是一种标准的建模语言,它完全独立于开发过程;(2)UML是单一通用的建模语言;(3)UML擅长分布式、并行的系统的建模;(4)UML有许多新的概念,如扩展机制、模式等。

常见的UML模型图一般包括静态的用例图、动态的状态图和活动图的行为图。用例图包含类图、包图、对象图;状态图和行为图包含顺序图、协作图的交互图形以及构件图、配置图的实现图等5类10种模型。

二、UML在系统开发中的建模

(一)RUP

RUP(Rational Unified Process)是Rational軟件公司创造的一种面向对象且基于网络的软件工程方法。因为UML仅仅是一种建模语言而不是建模方法,本身独立于过程,因此在实际的开发中通常会将RUP和UML联系在一起,建立软件系统可视化模型,帮助人们提供管理软件复杂性的能力。RUP告诉我们如何通过可视化对软件系统建模,使建模变的直观、清晰,降低软件开发的风险系数,从而能更好的适应用户需求的经常性变动,控制整个系统的开发过程,维护系统完整性。

RUP软件生命周期在时间上一般可分为开始、细化、构建和移交4个阶段。开始阶段是为了系统建立案例,通过确定参与者、项目边界、用例及参与者与用例的关系这四个步骤确定用例图。此阶段主要完成用例图。细化阶段的目标是分析问题领域,在开始阶段的基础上,收集更详细的系统需求,建立健全的体系结构基础,制定项目计划,除去已知的高风险元素。此阶段主要包括计划,分析和结构设计。细化阶段需要完成初期评估,审查用例质量和风险调查。类图反应的是对象之间的抽象关系,如幻化、关联和聚合等,建立类图是细化阶段最重要的工作。生成类的三个步骤:(1)识别类;(2)确定类的属性和操作;(3)确定类之间的关系。

细化阶段完成的图主要有包图、类图、活动图、对象图、顺序图、状态图和协作图。在构建阶段中,所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详细测试。构建阶段后期,需要配置系统运行的软硬件环境,这其中硬件环境可用配置图来表示。移交阶段是将设计完成的软件产品交给用户,接受用户的测试,提交用户手册,进行用户培训等,确保软件对最终用户是可用的。移交阶段可能是跨越了几次迭代,软件需求规范及用UML表示的用例图、类图、组件图和配置图要及时更新,保证软件和模型同步。

(二)面向对象的UML的建模

面向对象的UML建模过程主要包含了解需求、分析、设计、实现、测试和配置。首先进行业务流程建模,主要是为了评估系统、理解需求及系统将要解决的问题。其次需求分析,主要是用例模型的定义,采集和评价系统的需求。在这个过程中需要了解各角色间的关系以便进行系统设计及实现时减少盲目性,这一过程要注意对象和类的定义以及领域分析。然后进行的是系统分析与设计,设计分为框架设计和详细设计。系统分析与设计的结果是产生一个对象模型,即设计模式。最后进行的是实现,可运用Rational Rose或其他软件提供的平台分析前面所设计的图,再转化为自己熟悉的高级语言,这样可以看到UML把图转换成系统的程序设计结构的框架,并且系统扩张时仅需更改前两步的设计图,改变程序的框架,从而彻底改变传统设计所带来的复杂性和潜在的危险性。在系统测试的时候也可运用UML将系统划分为多个单元,将每个单元作为一个整块,分别对它们进行测试,再将测试结果返回到设计实现中进行分析。可以看出在整个系统设计的全过程,运用UML减少了系统设计的复杂性与盲目性,提高了设计效率。

三、结束语

UML作为一种面向对象的标准化的统一建模语言在系统开发中是非常重要的,特别是对于联系复杂,结构庞大的系统来说,利用基于UML的可视化建模软件工具,按照RUP的要求方便的管理项目需求、使基于组件的框架、验证软件质量、控制版本更新,从而实现整个软件系统的面向对象分析、设计与迭代。

参考文献:

[1]Booch G,Rumbaugh J,Jacobson I.UML用户指南(第2版)[M].北京:人民邮电出版社,2006.

[2]刘芳.UML语言及实际中建模的应用[D].山东科技大学,2003.

[3]成茜.ERP人力资源管理系统在企业中的应用[J].企业导报,2013(07):215-216.

基于uml的分析与设计 篇4

班级:085姓名:邓玉龙学号:082301009

4摘要:针对目前常用的需求分析方法存在的弊端,提出了一种基于UML的信息系统需求分析模型,该模型提供了一个基于UML信息系统需求分析框架及其应用过程。实践表明,该模型对信息系统开发具有较好的适应性。

需求分析是软件开发的关键环节,需求分析结果的好坏直接决定软件开发的成败[11,如何选择一种高效的需求分析方法,直接影响待开发软件的质量。本文在简要介绍UML的基础上,针对常用需求分析算法存在的不足,提出了一种基于UML的信息系统需求分析模型,实践表明,该模型能有效提高软件开发的效率和待开发软件的质量。UML概述

UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视化,说明并构造系统模型并建立各种所需的文档,是一种定义良好、易于表达、功能强大且普遍适用的建模语言。UML对软件工程的发展做出了杰出的贡献13]。UML支持从需求分析开始的软件开发的全过程。‘UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。UML采用一整套成熟的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语 义差异,保障分析的正确性。

2常用需求分析方法及其不足

信息系统实质上是实际业务系统的一种计算机模型,因此,信息系统的开发实质上就是要建立业务模型与计算机模型系统之间的映射关系。一个综合性的信息系统要支持组织内各级多个部门的管理,结构复杂、规模庞大。因此,要想开发出一套高效的系统,首先要进 行系统的需求分析,根据需求过程中工作性质的不同,信息系统需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审四个阶段。但是,在实际需求分析过程中,由于信息系统所涉及的信息量非常庞大,以致在需求定义中常常忽略某个环节或环节间的必要联系,从而出现产品质量低下、开发周期漫长或遗漏关键功能等问题。目前比较常用的需求分析方法主要有数据流分析法、原型分析法和基于用例的分析法三种。

(1)数据流分析法(DFA)

数据流分析是建立系统模型的一种主要需求分析方法,它采用分解的策略,将软件系统抽象为一系列的逻辑加工单元,单元接收输入数据流,加工后使之变换成输出数据流,从而表示出软件系统的处理内容和任务。但是随着信息技术的发展和企业业务过程的日益庞大复杂,信息系统复杂多变,易出错,难维护。

(2)原型分析法

原型法是指在系统尚不完善时就呈现给用户,不断修改改善,在完善过程中逐渐了解需求,但原型法也存在如下缺陷⋯:①原型的设计和修改工作量大,增加了系统的开发成本;②由于用户不关-fi,或不理解原型的概念最初需求,并用UML活动图对以用户业务流程为核心的初始用户需求进行描述。

(3)用例模型的创建:分析步骤(2)所得活动图中每个活动的参与者,找出该活动中与之相对应的动作,二者形成一个用例。通过确定系统边界和分析活动的转移,删除多余的用例,合并相同的用例,填补遗漏的用例;采用活动图的泳道技术对用例进行集成,形成一个完整的用例模型。

(4)动态模型、静态模型的创建:分析步骤(2)所得活动图中每个活动所涉及到的对象及对象之间的关系,根据活动的改变而引起对象状态的变化和对象的交互,创建相应的对象图、状态图和交互图(顺序图、协作图);应用顺序图对步骤(2)所得活动图中的每个活动进行分析,发掘新的需求,完善描述初始用户需求的活动图;通过顺序图对步骤(3)所得用例模型中的每个用例进行处理,创建相应的类图。

3基于UML的信息系统需求分析模型的应用

基于UML的信息系统需求分析模型对MIS系统的开发具有较好的适应性,结合具体实践,本节以运动会信息管理系统的开发为例,说明该模型在MIS系统开发中的应用。

(1)捕获初始需求:通过大量调研,给出该系统的初始需求描述:运动会信息管理系统要实现运动员报名、各类人数统计、竞赛日程设定、初秩序册生成、检录和成绩处理、新秩序册生成、团体分统计、破纪录人数统计等功能。

(2)创建用例模型:通过对每个活动的参与者的分析,所获得运动会信息管理系统的整用例模型

基于uml的分析与设计 篇5

基于UML和HLA的装备维修保障体系中部分仿真过程建模,首先确定联邦目标,得出装备维修保障系统效能,确定仿真应用的`边界和范围,描述仿真应用中的对象及对象间交互.接着决定仿真应用中的联邦成员,开发联邦对象模型.通过运用程序设计语言实现编程,最后运行联邦,分析输出结果,实现仿真系统中的时间管理服务所有权管理服务.

作 者:石磊 刘佳 赵晓明 潘平俊 SHI Lei LIU Jia ZHAO Xiao-ming PAN Ping-jun 作者单位:石磊,赵晓明,潘平俊,SHI Lei,ZHAO Xiao-ming,PAN Ping-jun(空军工程大学电讯工程学院,陕西西安710077)

刘佳,LIU Jia(总参军代局西安地区代表室,陕西西安710077)

基于uml的分析与设计 篇6

1.课程设计目的………………………………………………………………(1)

2.课程设计基本要求……………………………………………...………….(1)

3.课程设计内容………………………………………..……………………..(2)

4.课程设计实现……………………………………………………..…..……………(3)

(1)语音信号的采集……………………………………………………..(5)

(2)语音信号的频谱分析………………………………………………..(6)

(3)设计滤波器和画出频率响应………………………………………..(6)

(4)用滤波器对信号进行滤波…………………………………………..(9)

(5)比较滤波前后语音信号的波形及其频谱…………………………..(9)

(6)回放语音信号………………………………………………………..(11)

(7)设计系统界面………………………………………………………..(13)

5、心得体会……………………………………………..……………………..(14)

基于uml的分析与设计 篇7

随着计算机网络技术的飞速发展,教学的形式发生了很大变化。教育教学改革的需要使得大家开始通过网络进行学习就显得非常重要。远程教学大家都在探索与研究,很多都采用传统工具进行设计与开发。UML语言是近几年兴起的统一建模语言,采用具有可视化、能够柔性实现分析、设计和开发系统的统一建模语言实现系统网上教学系统模型构建有着非常重要的意义。

2 UML简介

UML(Unified Modeling Language)是由Grady Booch、Ivar Jacobson和Jim Rumbangh共同提出的一种建模语言,属于第三代建模语言。它是一种用来建模和开发软件系统的图形化语言。它提供了软件开发的各个阶段的可视化建模支持,包括从需求分析到规格书写,以及系统开发和建立等。采用UML和可视化建模的目的在于能够通过图形化的表示使开发者捕捉到与系统相关的重要细节。下面通过实际开发网络教学系统的实例,介绍如何利用UML来分析、设计基于WEB的网上教学系统。

3 网上教学系统用例分析

要开发一个软件系统,首先要对软件系统的需求进行分析,要深入描述目标系统的功能和性能,确定软件设计的限制和软件同其他系统元素间的接口细节,定义软件的其他有效性需求。UML的用例图较详细和确切地描述了用户的功能需求,根据本系统的需求和职责范围,可以确定四个参与者:学生、教师、系统管理员和访客。对于每个参与者都要确定其业务活动,如参与教学活动、系统管理、浏览公开信息、参与课程建设的讨论等。根据具体功能需求,可以先画出系统的顶层用例图,从整体上把握系统的需求和目标,如图1所示。

为了更为深入地分析系统的需求和目标,用以指导设计,需要将以上用例细化为更小的用例,并据此画出系统第一层用例图。例如,由“参与教学活动”这个用例可以细化出“作业处理”,“公告发布”、“实时讨论”、“非实时答疑”、“学习资料处理”等五个用例。

4 系统静态建模

建立系统静态模型包括类图、对象图、包图、组件图、和配置图的建立,其中最重要的是确立系统的类图。在各种UML图中,只有类图很好地定义了应用程序所需的数据结构。因此,可以用类图为数据库中存放的数据结构建模,从而达到指导数据库设计的目的。对于这次所要开发的网络教学系统来说,可以在用户信息、逻辑关系、用户界面等方面抽象出以下几方面的类及类之间的联系。

以用户界面为例:用户必须通过用户界面来使用本系统,所以还可抽象出以下主要接口类:用户注册表单、课程注册表单、院系注册表单、信息发布表单、信息查询表单、作业提交表单、作业下载表单、公告发布表单、资料提交表单、资料下载表单等。

从本系统的整体角度看,以上属于各个方面的类之间也存在着各种关系,因此可画出系统类图,如图2所示。

5 动态模型

在建立好系统静态模型的基础上,接下来需要分析和设计系统的动态结构及建立相应的动态模型。UML在表现上,主要是建立系统的交互图和行为图,其中交互图包括顺序图和协作图,行为图包括状态图和活动图。

5.1 活动图

一般来讲,状态图描述了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。活动图描述的是满足用例要求所要进行的活动及活动间约束之间的约束关系。在实质上是一种流程图,只不过表现的是从一个活动到另一个活动的控制流,活动图描述活动的序列,并且支持对带条件的行为和并发行为的表达。图3给出了教学管理系统资源管理的活动图。

在本系统中需要管理的资源大致有4种:人员、课程、院系和诸如交流区等平常要用到的资源。这些资源的管理方法大同小异,因此只做一张活动图来表示对所有资源的管理,如图3所示。

以上只是本系统的资源管理的活动图,活动图仅仅是强调了从活动到活动的控制流,为了描述完成某个特定的功能而在系统对象之间的信息交换,还需要为系统作出顺序图。下面将给出本系统主要用例的顺序图来说明各种信息是怎样在本系统对象中传递的。

5.2 顺序图

顺序图很好地描述了系统对象之间动态的消息传递关系,它是强调消息的时间顺序的系统动态行为模型。可以把顺序图看成一个表,系统的对象在这个表中沿X轴排列,而消息则按照时间顺序沿Y轴排列。比如说,教师“处理作业”这一用例的主要交互事件有提交院系和身份、提交用户信息、验证用户信息、打开教师用户界面、上传作业要求、下载学生作业、提交作业成绩等,其顺序图如图4所示。

而学生“处理作业”这一用例的主要交互事件与教师“处理作业”的类似,有提交院系和身份、提交用户信息、验证用户信息、打开学生用户界面、下载作业要求、上传学生作业、查阅学生成绩等,在此不再绘制其顺序图。

6 实现模型

静态模型中提到了系统的静态行为包括组件图和配置图,它们在本质上表示了系统实现的一些特性,描述了软件系统结构、硬件体结构以及通信机制。组件是对建模元素物理实现的描述,组件图则是用依赖关系链接起来的组件的集合。又因为组件可带有接口,故组件图也可以描述组件之间的接口关系和调用关系。

6.1 系统组件图

本系统选择B/S运行模式。在这种模式下,客户端只需配备一个标准的、支持表格和表单的浏览器,而所有的业务逻辑都在服务器端执行。因此,从“系统”层面上讲,本系统主要由下列组件构成:

通过以上分析可绘制出本系统的“系统”级组件图,如图5所示。

由图5还可看出本系统所采用的B/S模式的主要组件大多位于服务器端。

6.2 系统配置图

配置主要用来描述构成物理系统的各个节点(节点指的是计算机等各种物理设备。)的分布和安装,以及运行于这些节点上的组件的配置情况。图6是本系统的配置图,可看出数据库服务器和WEB服务器配置在不同的节点上,数据库服务器向WEB服务器提供各种数据服务。用户使用客户机上的浏览器访问WEB服务器来获得各种教学应用服务。

7 结束语

基于uml的分析与设计 篇8

1.引言

面向对象分析与设计方法学,代替传统的面向过程的结构化分析与设计方法,已逐渐成为现代软件工程领域中的主流方法。特别是随着90年代末统一建模语言UML的广泛应用,结合UML的面向对象分析与设计方法在国内外学术界和产业界普遍受到重视,成为软件工程三个要素之一。

面向对象分析与设计是软件工程专业开设的一门重要的专业基础课程。该课程主要分为UML基础,面向对象的设计原则和面向对象的设计模式。而统一建模语言UML贯穿于软件开发过程的不同阶段,为软件开发人员建立整个系统的模型 告诉开发人员做什么和怎么做。在软件开发的不同阶段的侧重点又有不同:在需求分析阶段,系统分析师可以用UML来描述用户的业务模型,从而给系统设计师做进一步的设计。在系统设计阶段,系统架构师或系统设计师可以用UML来描述架构模型以便让程序设计师进行实现设计,在详细设计阶段程序设计师可以用UML来描述具体对象模型给编程者来具体实现。由此可以看出UML是用来清晰地描述模型的,它的作用是将计算机软件开发技术和面向对象的设计思想联合起来,对软件生产工业产生了极大的影响。因此,统一建模语言UML课程的重要性显而易见。面向对象设计原则是设计模式的灵魂,它描述了对象设计和职责分配的基本原则。面向对象设计模式是在面向对象设计中针对重复发生的问题的描述和解决办法的统称。综上所述,该课程的主要内容涵盖了软件开发过程中的各个阶段,以及面向对象设计原则和处理常见问题的方法,对软件工程专业的学生是极其重要的。

2.“讲授—案例—互动—实践—考评”五段课堂教学新模式

该教学模式通过“讲授”让学生系统掌握整个知识体系,运用“案例”激起好奇心和引发应用和创新的动力,引导学生自主学习“扩展”知识面和建构自己的新知识,在项目“实践”中综合应用强化创造,最后通过综合“考评”合理评定出学生的成绩。加强工程化的教学内容建设,在课堂教学系统地传授知识的基础上,注重工程性的课程案例和循序渐进的课程项目实践的有机结合,为学生自主性和研究性的扩展学习搭建优良的网络教学环境。

1)“系统讲授”让学生系统地掌握整个知识体系。教学内容强调工程化,适应软件开发技术发展快的特点,不断跟踪国际最新标准和最新技术,及时更新教学内容,反映基于构件、模型驱动和面向服务等现代软件开发技术的最新发展趋势。课堂教学采用启发式教学,指导学生阅读经典学术论文并进行综述、评介和讨论,撰写读书笔记,培养学生阅读、概括、评价、撰写和表达等基本科研能力。

2)“案例教学”让学生置身于模拟的真实环境中,學习如何进行具体实践和问题解决,引发学生研究性学习和创新的动力。案例分为基础-扩展-提高等3个阶段。基础阶段针对UML和OOAD方法等基本内容,着重于单项练习和简单系统设计;扩展阶段着重于架构设计和设计模式、框架设计和复用等现代技术,将基础阶段的简单系统扩展为基于构件和框架复用、支持持久框架的Web系统;提高阶段则结合专题讲座,了解最新技术发展趋势。

3)“网络加自主的互动方式” 创造多元化的教学环境,将课堂上的教学与课堂外的师生互动无缝的进行集成。当今互联网环境为我们提供了便捷、丰富的交互手段,借助其以整合不同的教学要素来提升整体的教学效果,这也符合以学生为中心的教学理念。基于以上的认识,在教学过程中,可以依托网络教学平台提供丰富的互动方式,在网络上共享学习资源、在线讨论、即时沟通,达到了充分调动学生学习热情的目的。在交互的过程中,通过开放性的问题驱动学生自主选择感兴趣的方向做深入的学习和研究,充分地释放学生的个性和创造力。整体而言,课下教学组织在网络加自主的互动方式支持下有力的支持并拓展了传统的课堂教学,不仅对教学效果有明显的提升,而且对培养学生的主动性、协作能力乃至钻研精神和创新意识都有着潜在的不可忽视的帮助。

4) “项目实践”培养学生运用知识、解决问题和团作协作的能力。学生参照课程案例、文档模板、实践指南和参考资料,结合有助教指导的课内上机、课外自由上机和有助教在线指导的网上辅导教室等多种教学手段,以3-5人的小组为单位的团队方式完成一个课程项目,项目题目和需求是在教师指导下由学生自主确定,以鼓励创新。项目进度和课堂教学及课程案例基本同步,循序渐进。

5)“综合考评”从知识、创新、应用等多方面进行评价,根据每节课、每次作业、项目的每阶段评审和考试来综合考核成绩。成绩一般由课堂表现、每周作业、读书笔记、项目阶段审核和项目答辩、期末考试等部分组成。

本课程充分利用信息技术,课堂教学采用多媒体信息技术手段,基于Web的网络教学平台提供论坛、答疑、作业、问卷调查等课程互动功能,网上辅导可提供无时空限制的即时学习、小组讨论和辅导帮助等功能。

课堂教学实施方面,研究启发式、交互式等多种形式的教学方式。建立网络教学平台,同学生充分沟通,不断学习、改革和实践。摈弃了过去只注重书本内容的教授,引进了实际工作的案例。大量的案例分析,促使学生从实际出发,从现实的角度看待问题、分析问题。对项目工程的亲身实践,使得学生把所学转化为所用,并在所用中不断充实。

3.教学内容顺序及对应的学时安排如表1

除本课程的课程项目实践外,还可鼓励学生参加其他实践活动,如大学生学生创新项目的申报,可进一步强化5段式教学新模式中的 “实践”,培养学生解决实际问题的能力和创新能力。

4.课程的重点、难点及解决思路

本课程的设计符合UML最新国际标准,覆盖了国际软件工程知识体系的相关知识点,分析和设计并重,原理和案例兼顾。课程内容的重点主要有UML可视化建模技术、领域建模和面向对象系统分析方法、面向对象系统设计方法、设计模式、框架设计和复用等方面。课程内容的难点主要有对UML的深入理解和运用、领域对象识别和关系分析、架构因素分析和架构设计、分析类与设计元素的区别和联系、设计模式的深入理解和运用等。解决办法主要是通过分阶段的综合性课程案例、循序渐进的工程性课程项目实践等加强实践性教学环节,让学生在实践中学习和领悟。 另外,本课程由于工程性和实践性很强、相关技术发展快、涉及面广,在课程体系建设、教学建设和实施等方面都存在挑战。

5.实践教学的设计思想

循序渐进、手段多样的工程性课程项目实践。学生参照课程案例、文档模板、实践指南和参考资料,结合有助教指导的课内上机、课外自由上机和有助教在线指导的网上辅导教室等多种教学手段,以3-5人的小组为单位的团队方式完成一个课程项目,鼓励创新。进度与课堂教学和课程案例基本同步,循序渐进。

进一步搭建网络教学平台,将部分学生的优秀作品在平台中展示。学生利用课外时间以团队方式完成多个实际软件项目的开发,实验进度和课堂教学基本同步。项目题目和需求是在教师指导下由学生自主确定,以鼓励创新。通过实践,学生能把所学转化为所用,并在所用中不断充实,同时也加强了软件工程规范的训练,培养了学生的团队精神和沟通能力。

6.结束语

通过本课程的教学,使学生掌握面向对象技术原理、面向对象的软件系统分析和设计方法、软件设计模式等,能结合UML和工具进行面向对象的软件系统分析和设计,并具有软件开发实践和项目组织的初步经验、创新意识、团队精神。

上一篇:会计和财务管理下一篇:《神笔马良》优秀教学设计