当前位置:文档之家› 使用UML和Rational Rose建立系统模型

使用UML和Rational Rose建立系统模型

毕业论文

设计课题:使用UML和Rational Rose建立系统模型毕业院系:信息工程学院

毕业生姓名:

指导老师:

毕业设计任务书

一.题目:

1. 课题:使用UML和Rational Rose设计一个应用系统(图书馆管理系统)模型

二.课题来源及选题依据:

本课题来自于导师孙荣胜。

UML是面向对象技术领域内占主导地位的标准建模语言。UML是信息技术行业的蓝图,是详细描述系统结构的方法。利用这个蓝图,我们建立和维护系统就越来越容易,保证系统能适应需求的改变。Rational Rose是分析和设计面向对象软件系统的强大的可视化工具,可以用来先建模系统在编写代码,从而一开始就保证系统结构合理。

三.本设计(论文及其它)应达到的要求:

本课题要求用统一建模语言(UML)和Rational Rose设计面向对象应用程序的模型主要任务为:

1.对图书管理系统用UML和Rose进行项目需求分析、结构规划,用Rose创建活动框图,演示事件流程,处理流程时要利用Sequence和Collaboration框图,此外还要创建组件框图。

2.用Rose创建Sequence,Collaboration,Class,Component与Deployment框图,产生框架代码,创建代码后,通过逆向转出工程代码让软件与模型同步。

3.撰写毕业设计说明书。

4.英文文献的阅读和翻译。

四.接受任务学生:

五.开始及完成日期:

六.指导老师:

摘要

供系统功能的信息;有些较详细,包括实现系统时要建立的特定类和组件;还有一些介于中间,从高层角度提供设计细节。

UML(统一建模语言)事实上是面向对象建模语言的工业标准。他包含了许多和软件系统模型结构相匹配的子语言。UML语言被作为一种综合性并有内在特色的语言在发展,延伸到许多特色领域中。

可视化建模和Rational Rose在软件开发过程的几个阶段很有用。在项目开始阶段,Rose可以产生业务模型使用案例模型。在细化与构造阶段,Rose可以开发活动框图,显示事件流程。Sequence框图和Collaboration框图显示要开发的对象,及其相互间的交互。Rose开发的类框图显示对象间的相互关系。组件框图显示系统组件间的相关性,并可以产生系统的框架代码。

本论文介绍了一部分UML语言的特色,并系统的分析了如何用Rational Rose和UML建立一个图书馆管理系统的Rose模型。

关键字:面向对象建模,UML,Rational Rose,类框图,对象交互框图

Abstract

UML is composed of a group of different diagrams,they provide the different point of view to the system design. Some are superior, provide the information of system functional; others are particular, consists of special classes and module which are established when implement the system. Also some are between the two, they provide the design specific from the superior point of view.

The Unified Modeling Language (UML) is the de facto industrial standard of an object-oriented modeling language. It consists of several sub languages which are suited to model structural and behavioral aspects of a software system. The UML was developed as a general-purpose language together with intrinsic features to extend the UML towards problem domain-specific profiles.

Visual modeling and Rational Rose is very useful in the software exploitation process. In the beginning, Rose can produce Use Case model. In conformation, Rose can empolder activity diagram. Sequence and Collaboration diagram show the objects to be empoldered and the alternation between them. The class diagrams show correlation between objects. The module diagrams show the relativity between the modules in system, and it can produce some system code from model.

The paper illustrates the language features of the UML and its adaptation mechanisms. It systemic analyzes how to build a Rose model of library system by Rational Rose and UML.

Keywords: object-oriented model, UML, Rational Rose, class diagram, interaction diagram

目录

一.题目------------------------------------------------------------------ 1

二.摘要 ------------------------------------------------------------------ 2三.目录------------------------------------------------------------------ 4四.内容------------------------------------------------------------------ 6

第一章综述

§1.1 UML背景 ------------------------------------------------------- 6

§1.2系统模型设计概要 ------------------------------------------------ 6

第二章统一建模语言UML概述

§2.1 UML简介 ------------------------------------------------------- 7 §2.1.1 UML的架构 ----------------------------------------------- 7

§2.1.2 UML的模型、视图、图与系统架构建模 ----------------------- 8

§2.1.3标准建模语言UML的主要特点------------------------------- 8§2.2 UML与面向对象的软件分析与设计(OOA&D) ------------------------ 9

§2.3标准建模语言UML的应用领域------------------------------------ 10

第三章Rational Rose概述

§3.1 Rational Rose 的基本内容----------------------------------------- 10

§3.2什么是建模----------------------------------------------------- 11 §3.2.1用Rational Rose如何实现建模------------------------------- 11

§3.2.2 Rational Rose的解决方案------------------------------------ 11 §3.3 Rational Rose的界面及Rose 模型的四个视图------------------------ 11

第四章图书管理系统Rose模型设计过程

§4.1 系统设置---平台和开发工具的选择-------------------------------- 13 §4.2 模型总体设计--------------------------------------------------- 14 §4.2.1创建系统的Use Case 视图----------------------------------- 14

§4.2.2创建系统的Logical 视图------------------------------------ 15

§4.2.3在Logical视图中创建类、包和Class框图---------------------- 26

§4.2.4创建系统的Component视图---------------------------------- 30

§4.2.5创建系统的Deployment视图--------------------------------- 32

第五章用Rational Rose生成系统框架代码

§5.1 生成框架代码的基本步骤----------------------------------------- 33

§5.2 生成什么------------------------------------------------------- 34

§5.3 由Rational Rose生成的部分框架代码------------------------------- 34

§5.4 用Rational Rose逆向转出工程代码简介----------------------------- 42

第六章结束语---------------------------------------------------------- 43

五. 致谢 ------------------------------------------------------------------ 44

六. 英文翻译 -------------------------------------------------------------- 45

七. 参考文献 -------------------------------------------------------------- 52

第一章综述

1.1 UML背景

在这个面向对象应用程序开发不断变化的时代,在合理时间内开发和管理高质量应用程序变得越来越困难。业务发展越来越快,更加要求企业在市场中具有竞争力和维持力,“传统”系统开发方法已经力不从心。系统应以“Internet速度”开发。速度的加快也要求有更加灵活的系统。

过去,用户可以向数据处理中心发送请求,两年之后才进行改变。现在,用户向IT 部门发送改变请求,要求两周内就完成。为了面对这种挑战,制定出每个公司都能使用的通用对象模型语言,统一建模语言(UML)被及时推出。UML是信息技术行业的蓝图,是详细描述系统结构的方法。利用这个蓝图,我们建立和维护系统就越来越容易,保证系统能适应需求的改变。

在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。采用UML作为统一的建模语言是完全必要的:首先,过去数十种面向对象的建模语言都是相互独立的,而UML可以消除一些潜在的不必要的差异,以免用户混淆;其次,通过统一语义和符号表示,能够稳定面向对象技术市场,使项目根植于一个成熟的标准建模语言,从而可以大大拓宽所研制与开发的软件系统的适用范围,并大大提高其灵活程度。

1.2 系统模型设计概要

本毕业设计是使用UML和Rational Rose2001对一个图书馆管理系统进行系统设计,Rose软件是用UML快速开发应用程序的工具之一。它支持Use Case框图、Activity 框图、Sequence框图、Collaboration框图、Statechart框图、Component框图和Deployment 框图。通过正向和逆向转出工程代码的特性,可以支持C++、Java、Visual Basic和XML DTD的代码生成和逆向转出工程代码。

论文讲述了用UML和Rose 对图书馆管理系统如何进行项目需求分析、结构规划和生成部分框架代码,生成Rose模型,并简单介绍了如何用Rational Rose逆向转出工程代码。

UML的应用贯穿在系统开发的五个阶段,它们是:

1.需求分析。UML的用例视图可以表示客户的需求。通过用例建模,可以对外部的角色以及它们所需要的系统功能建模,角色和用例是用它们之间的关系、通信建模的。每个用例都指定了客户的需求:他或她需求系统干什么。不仅要对软件系统,对商业过程也要进行需求分析。

2.分析。分析阶段主要考虑所要解决的问题,可用UML 的逻辑视图和动态视图来描述:类图描述系统的静态结构,协作图、状态图、序列图、活动图和状态图描述系统的动态特征。在分析阶段,只为问题领域的类建模——不定义软件系统的解决方案的细节(如用户接口的类、数据库等)。

3.设计。在设计阶段,把分析阶段的结果扩展成技术解决方案。加入新的类来提供技术基础结构——用户接口,数据库操作等。分析阶段的领域问题类被嵌入在这个技术基础结构中。设计阶段的结果是构造阶段的详细的规格说明。

4.构造。在构造(或程序设计阶段),把设计阶段的类转换成某种面向对象程序设计语言的代码。在对UML 表示的分析和设计模型进行转换时,最好不要直接把模型转化成代码。因为在早期阶段,模型是理解系统并对系统进行结构化的手段。

5.测试。对系统的测试通常分为单元测试、集成测试、系统测试和接受测试几个不同级别。单元测试是对几个类或一组类的测试,通常由程序员进行:集成测试集成组件和类,确认它们之间是否恰当地协作;系统测试把系统当作一个“黑箱”,验证系统是否具有用户所要求的所有功能;接受测试由客户完成,与系统测试类似,验证系统是否满足所有的需求。不同的测试小组使用不同的UML 图作为他们工作的基础:单元测试使用类图和类的规格说明,集成测试典型地使用组件图和协作图,而系统测试实现用例图来确认系统的行为符合这些图中的定义。

第二章统一建模语言UML概述

2.1 UML简介

UML(统一建模语言Unified Modeling Language)是一种建模语言,是第三代用来为面向对象开发系统的产品进行说明、可视化和编制文档的方法。它是由信息系统(IS,Information System)和面向对象领域的三位著名的方法学家:Grady Booch,James Rumbaugh和Ivar Jacobson(称为“三个好朋友”,the Three Amigos)提出的。这种建模语言得到了“UML 伙伴联盟”的应用与反馈,并得到工业界的广泛支持,由OMG组织(Object Management Group)采纳作为业界标准。UML取代目前软件业众多的分析和设计方法(Booch,Coad,Jacobson,Odell,Rumbaugh,Wirfs-Brock 等)成为一种标准,这是软件界的第一次有了一个统一的建模语言。

UML 是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。它:

不是一种可视化的程序设计语言,而是一种可视化的建模语言;

不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准;

不是过程,也不是方法,但允许任何一种过程和方法使用它。

UML 的目标是:

易于使用,表达能力强,进行可视化建模;

与具体的实现无关,可应用于任何语言平台和工具平台;

与具体的过程无关,可应用于任何软件开发的过程;

简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改;

为面向对象的设计与开发中涌现出的高级概念(例如协作、框架、模式和组件);

提供支持,强调在软件开发中,对架构、框架、模式和组件的重用;

与最好的软件工程实践经验集成;

可升级具有广阔的适用性和可用性;

有利于面对对象工具的市场成长。

2.1.1 UML 的架构

UML 是由图和元模型组成的。图是UML 的语法,而元模型则给出的图的意思,是UML 的语义。UML 的语义是定义在一个四层(或四个抽象级)建模概念框架中的,这四层分别是:

代表要定义的所有事物;

元模型(metamodel)层,组成了UML 的基本元素,包括面向对象和面向组件的概念。这一层的每个概念都是元元模型中“事物”概念的实例(通过版类化);

模型(model)层,组成了UML 的模型,这一层中的每个概念都是元模型层中概念的一个实例(通过版类化),这一层的模型通常叫做类模型(class model)或类型模型(type model);

用户模型(user model)层,这层中的所有元素都是 UML 模型的例子。这一层中的每个概念都是模型层的一个实例(通过分类),也是元模型层的一个实例(通过版类化)。这一层的模型通常叫做对象模型(object model)或实例模型(instance model)。

2.1.2UML的模型、视图、图与系统架构建模

UML 是用来描述模型的,它用模型来描述系统的结构或静态特征、以及行为或动态特征。它从不同的视角为系统的架构建模,形成系统的不同视图(view),包括: 用例视图(use case view)强调从用户的角度看到的或需要的系统功能,这种视图也叫做用户模型视图(user model view)或想定视图(scenario view);

逻辑视图(logical view)展现系统的静态或结构组成及特征,也称为结构模型视图(structural model view)或静态视图(static view);

并发视图(concurrent view)体现了系统的动态或行为特征,也称为行为模型视图(behavioral model view)、过程视图(process view)协作视图(collaborative)动态视图(dynamic view);

组件视图(component view)体现了系统实现的结构和行为特征,也称为实现模型视图(implementation model view)和开发视图(development view);

展开视图(deployment view)体现了系统实现环境的结构和行为特征,也称为环境模型视图(implementation model view)或物理视图(physical view);

在必要的时候还可以定义其它架构视图。

每一种UML 的视图都是由一个或多个图(diagram)组成的,一个图就是系统架构在某个侧面的表示,它与其它图是一致的,所有的图一起组成了系统的完整视图UML 提供了九种不同的图,可以分成两大类,一类是静态图,包括用例图、类图、对象图、组件图、配置图;另一类是动态图,包括序列图,协作图,状态图和活动图。也可以根据它们在不同架构视图的应用,把它们分成:

在用户模型视图:用例图(Use case diagram)描述系统的功能;

在结构模型视图:类图(Class diagram)描述系统的静态结构,对象图(Object diagram)描述系统在某个时刻的静态结构;

在行为模型视图:序列图(Sequence diagram)按时间顺序描述系统元素间的交互;协作图(Collaboration diagram)按照时间和空间的顺序描述系统元素间的交互和它们之间的关系;状态图(State diagram)描述了系统元素的状态条件和响应;活动图(Activity diagram)描述了了系统元素的活动;

在实现模型视图:组件图(Component diagram),描述了实现系统的元素的组织;

在环境模型视图:展开图(Deployment diagram),描述了环境元素的配置,并把实现系统的元素映射到配置上。

2.1.3标准建模语言UML的主要特点

标准建模语言UML的主要特点可以归结为三点:

(2) UML还吸取了面向对象技术领域中其他流派的长处,其中也包括非OO方法的影

响。UML符号表示考虑了各种方法的图形表示,删掉了大量易引起混乱的、多余的和极少使用的符号,也添加了一些新符号。因此,在UML中汇入了面向对象领域中很多人的思想。这些思想并不是UML的开发者们发明的,而是开发者们依据最优秀的OO方法和丰富的计算机科学实践经验综合提炼而成的。

(3) UML在演变过程中还提出了一些新的概念。在UML标准中新加了模板(Stereo types)、职责(Responsibilities)、扩展机制(Extensibility mechanisms)、线程(Threads)、过程(Processes)、分布式(Distribution)、并发(Concurrency)、模式(Patterns) 、合作(Collaborations)、活动图(Activity diagram)等新概念,并清晰地区分类型(Type)、类(Class)和实例(Instance)、细化(Refinement)、接口(Interfaces)和组件(Components)等概念。

2.2 UML与面向对象的软件分析与设计(OOA&D)

每一位软件设计方法学家都有许多有关软件质量的理论,他们会讨论软件危机、软件质量低下、以及良好的设计的重要性。那么UML对提高软件的质量有什么帮助吗?

2.2.1 标准的表示方法

UML 是一种建模语言,是一种标准的表示,而不是一种方法(或方法学)。方法是一种把人的思考和行动结构化的明确方式,方法需要定义软件开发的步骤、告诉人们做什么如何做,什么时候做,以及为什么要这么做。而UML 只定义了一些图以及它们的意义,它的思想是与方法无关。因此,我们会看到人们将用各种方法来使用UML,而无论方法如何变化,它们的基础是UML 的图,这就是UML 的最终用途——为不同领域的人们提供统一的交流标准。

我们知道软件开发的难点在于一个项目的参与包括领域专家,软件设计开发人员、客户以及用户,他们之间交流的难题成为软件开发的最大难题。UML 的重要性在于,表示方法的标准化有效地促进了不同背景人们的交流,有效地促进软件设计、开发和测试人员的相互理解,无论分析、设计和开发人员采取何种不同的方法或过程,他们提交的设计产品都是用UML 来描述的,这有利地促进了相互的理解。

2.2.2 与软件开发的成功经验集成

UML 尽可能地结合了世界范围内面向对象项目的成功经验,因而它的价值在于它体现了世界上面向对象方法实践的最好经验,并以建模语言的形式把它们打包,以适应开发大型复杂系统的要求。

在众多成功的软件设计与实现的经验中,最突出的两条,一是注重系统架构的开发,一是注重过程的迭代和递增性。尽管UML 本身没有对过程有任何定义,但UML 对任何使用它的方法(或过程)提出的要求是:支持用例驱动(use-case driven)、以架构为中心(architecture-centric)以及递增(incremental)和迭代(iterative)地开发。

注重架构意味着不仅要编写出大量的类和算法,还要设计出这些类和算法之间简单而有效地协作。所有高质量的软件中似乎大量是这类的协作,而近年出现的软件设计模式也正在为这些协作起名和分类,使它们更易于重用。最好的架构就是:“概念集成(conceptual integrity)”,它驱动整个项目注重开发模式并力图使它们简单。

迭代和递增的开发过程反映了项目开发的节奏。不成功的项目没有进度节奏,因为它们总是机会主义的,在工作中是被动的。成功的项目有自己的进度节奏,反映在它们有一个定期的版本发布过程,注重于对系统架构进行持续的改进。

2.3 标准建模语言UML的应用领域

UML 的目标是用面向对象的方式描述任何类型的系统。最直接的是用UML 为软件系统创建模型,但UML 也可用来描述其它非计算机软件的系统,或者是商业机构或过程。以下是UML 常见的应用:

信息系统(Information System)向用户提供信息的储存、检索、转换和提交。处理存放在关系或对象数据库中大量具有复杂关系的数据;

技术系统(Technical System)处理和控制技术设备,如电信设备、军事系统或工业过程。它们必须处理设计的特殊接口,标准软件很少。技术系统通常是实时系统;

嵌入式实时系统(Embedded Real-Time System)在嵌入到其它设备如移动电话、汽车、家电上的硬件上执行的系统。通常是通过低级程序设计进行的,需要实时支持;

分布式系统(Distributed System)分布在一组机器上运行的系统,数据很容易从一个机器传送到另一台机器上。需要同步通信机制来确保数据完整性,通常是建立在对象机制上的,如CORBA,COM/DCOM,或Java Beans/RMI 上;系统软件(System Software )定义了其它软件使用的技术基础设施。操作系统、数据库和在硬件上完成底层操作的用户接口等,同时提供一般接口供其它软件使用;

商业系统(Business System)描述目标、资源(人、计算机等),规则(法规、商业策略、政策等),和商业中的实际工作(商业过程)。

要强调的是,通常大多数系统都不是单纯属于上面的某一种系统,而是一种或多种的结合。例如,现在许多信息系统都有分布式和实时的需要。

商业工程是面向对象建模应用的一个新的领域,引起了人们极大的兴趣。面向对象建模非常适合为公司的商业过程建模。运用商业过程再工程(Business Process Reengineering,BPR)或全质量管理(Total Quality Management ,TQM )等技术,可以对公司的商业过程进行分析、改进和实现。使用面向对象建模语言为过程建模和编制文档,使过程易于使用。

UML 具有描述以上这些类型的系统的能力。

第三章Rational Rose概述

3.1 Rational Rose 的基本内容

Rational Rose是业界领先的基于UML的可视化建模工具,是分析和设计面向对象软件系统的强大的可视化工具,可以用来先建模系统再编写代码,从而一开始就保证系统结构合理。利用模型可以更方便地捕获设计缺陷,从而以较低的成本修正这些缺陷。

Rational Rose支持业务模型,帮助了解系统的业务,有助于系统分析,可以先设计使用案例和Use Case框图,显示系统的功能。也可以用Interaction框图显示对象之间如何配合,提供所需功能。Class框图可以显示系统中的对象及其相互关系。Component 框图可以演示系统类如何映射到实现组件。最后,Deployment框图可以显示系统的网络设计。

Rose模型是系统的图形,包括所有UML框图、角色、使用案例、对象、类、组件和部署节点。他详细描述系统的内容和工作方法,开发人员可以用模型作为所建系统的蓝图。Rational ROSE包括了一体化建模语言(UML),OOSE及OMT。其中一体化建模语言(UML)由Rational公司三位世界级面向对象技术专家Grady Booch,Ivar Jacobson 和Jim Rumbaugh通过对早期面向对象研究和设计方法的进一步扩展而得来的,为可视化建模软件奠定了坚实的理论基础。

3.2 什么是建模?

建模是使你逐层深入解决问题的方法:

确认应用系统的功能需求并为事务处理原则建模

对抽象的对象映射需求,辨认和提供设计模版并创建惯用的模版

分辨和设计对象或划分三层模型的服务

对软件的组成部分映射成对象并设计组件在网络上如何分布

以上工作写入白版文档,建模允许处理发生变化,通过建立抽象概念,设计者就可以有效地处理大型工程和复杂结构。建模建立起应用程序的客户和编程人员之间生动的联系。

3.2.1 用Rational ROSE实现建模

创建模型是帮助设计者实现任何复杂的工程项目的有力工具,在软件工程中,它能够把模型与实际应用紧密地联系起来。通过模型与代码之间的映射,可以直接为不同的程序开发环境生成系统结构的框架,通过建立模型和代码间的映射,可以确保代码改进时模型也随之更新了,而且通过模型与代码间的自动连接,建模工具可以确保良好的设计实施。

在应用开发的任何阶段进入建模工作都是有意义的,无可否认的是,在设计最初阶段,应将精力主要用于处理有关应用系统用途、为实现用途应采用何种编程环境,而不是考虑程序的细节,如在屏幕上的什么位置放置按钮等。

在项目开发的中期引入建模也是非常有意义的,Rational Rose既支持正向建模,同时也支持反向建模。Rose通过建立模型使开发人员把握程序开发的方向,准确完成需求分析中所要求的任务。

3.2.2 Rational Rose的解决方案

Rational Rose产品为大型软件工程提供了可塑性和柔韧性极强的解决方案:

强有力的浏览器,用于查看模型和查找可重用的组件;

可定制的目标库或编码指南的代码生成机制;

既支持目标语言中的标准类型又支持用户自定义的数据类型;

保证模型与代码之间转化的一致性;

通过OLE连接,Rational Rose图表可动态连接到Microsoft Word中;

能够与Rational Visual Test、SQA Suite和SoDA文档工具无缝集成,完成软件生命 周期中的全部辅助软件工程工作;

强有力的正/反向建模工作;

缩短开发周期;

降低维护成本;

3.3 Rational Rose 的界面及Rose 模型的四个视图

Rational Rose 是个菜单驱动应用程序,用工具栏帮助使用常用特性。Rose 支持八种不同类型的UML框图:User Case框图、Activity框图、Sequence框图、Collaboration 框图、Class、Statechart框图、Component框图和Deployment框图。

除了工具栏和菜单外,Rose还有相关的弹出菜单,可以右键单击项目访问。例如,右键单击Class框图中的类打开一个菜单。选项又增加类的属性或操作、浏览和编辑类规范、产生类的代码和浏览产生的代码。有疑问时可以右键单击项目,得到相关的菜单选项。

屏幕组件:

Rose界面的五大部分是浏览器、文档窗口、工具栏、框图窗口和日志。

浏览器用于在模型中迅速漫游。

文档窗口用于查看或更新模型元素的文档。

工具栏用于迅速访问常用命令。

框图窗口用于显示和编辑一个或几个UML框图。

日志用于查看错误消息和报告各个命令的结果。

Rose模型的四个视图是:Use Case视图、Logical视图、Component视图和Deployment视图。

Use Case视图包括系统中的所有角色、使用案例和Use Case框图,还可能包括一些Sequence或Collaboration框图。Use Case视图是系统中与实现无关的视图。Use Case 视图关注系统功能的高层形状,而不关注系统的具体实现方法。

Logical视图,其关注系统如何实现使用案例中提出的功能。它提供系统的详细图形,描述组件间如何关联。除了这些外,Logical视图还包括需要的特定类、Class 框图和Statechart框图。利用这些细节元素,开发人员可以构造系统的详细设计。

Component视图包含模型代码库、可执行文件、运行库和其他组件的信息。组件是代码的实际模块。在Rose中,组件和Component框图在Component视图中显示。系统的Component视图可以显示代码模块间的关系。

Deployment视图关注系统的实际部署,可能与系统的逻辑结构有所不同。Deployment视图还要处理其他问题,如容错、网络带宽、故障恢复和响应时间。

第四章图书管理系统Rose模型设计过程

3.1 系统设置-----平台和开发工具的选择

(一)系统开发环境

操作系统:WINDOWS 98

硬件:PC 机

开发软件:UML, Rational Rose, Java

(二)开发工具的选择

Rational Rose可以和任何一种面向对象的应用程序结构组合使用,通过Rational Rose系列产品可得到各类主要编程语言和快速应用开发工具的直接支持:

a.模型和代码的高度一致

Rose可以真正实现正向、逆向和双向工程。在正向工程中Rose可以为模型产生相应的代码,在逆向工程中Rose可以从用户原来的软件系统导出该系统的模型,而在双向工程中Rose可以真正实现模型和代码之间的循环工程,从而保证模型与代码的高度一致,并通过保护开关使得用户在双向工程中不会丢失或覆盖用户已经开发出的任何代码。

b.多语言的支持Rose本身能够支持的语言包括:C++、Visual C++、Java、Smalltalk、Ada,以及4GL语言:Visual Basic、PowerBuilder和Forte,也能够为CORBA 应用产生接口定义语言IDL和为数据库应用产生数据库描述语言DDL。Rose能够提供对CORBA 2.2的支持。

c.对团队开发的强有力的支持

Rose提供了两种方式来支持团队开发:一种是采用SCM(软件配置管理)的团队开发方式;另一种是没有SCM情况下的团队开发方式。这两种方式为用户提供了极大的灵活性,用户可以根据开发的规模和开发人员数目以及资金情况等选择其一进行团队开发。

d.支持建模语言UML

Rational麾下拥有三位面向对象大师:Grady Booch、James Rumbaugh、Ivar Jacobson,由他们共同创造的UML(统一建模语言)统一了面向对象的建模方法,消除了对象建模的差别。1997年11月,UML被美国OO行业的对象管理小组(OMG)批准为面向对象开发的行业标准语言,并得到了微软、Oracle、IBM、HP等大厂商的支持和认证。微软的存储库就用UML作为构件描述语言。作为面向对象开发的行业标准语言,UML 是唯一可以在UNIX上和NT上共用的标准语言。

e.支持模型的Internet发布

Rose的Internet Web Publisher能够创建一个基于Web的Rose模型的HTML版本,使得其他人员能够通过标准的浏览器如:Netscape Navigator或IE来浏览该模型。

f.使用简单且定制灵活的文档生成

Rose本身提供了方便的直接产生模型文档的功能,但是如果能够利用Rational文档生成工具SoDA提供的模型文档模板就可以轻松自如地自动产生OOA和OOD阶段所需的各种重要文档。值得注意的是不管是Rose自身还是SoDA所产生的文档均为Word文档,并且在Rose中可以直接启动SoDA,而SoDA与MS Word是完全无缝集成的。

g.数据库应用的解决方案

利用Rose能够进行数据库的建模,并且Rose能够为ANSI、Oracle、SQL Server、Sybase、Watcom等支持标准DDL的数据库自动生成数据描述语言DDL。Rose与ErWin之间也能够紧密集成,并且能够相互导出另一方的模型。另外,Rose还能够实现Oracle 8的正

?从Oracle 8的关系Schema中产生对象模型,并可以进一步扩展该对象模型以使用Oracle 8的对象能力

?可视化已有的关系数据库

?方便已有商业对象的发现和合成

?保护在已有关系数据库领域的投资,同时尽享对象建模和开发带给应用的所有好处。

Rose本身能够支持的语言包括:C++、Visual C++、Java、Smalltalk、Ada,以及4GL 语言:Visual Basic、PowerBuilder和Forte,也能够为CORBA 应用产生接口定义语言IDL和为数据库应用产生数据库描述语言DDL。Rose能够提供对CORBA 2.2的支持。

3.2 模型总体设计

3.2.1 创建系统的Use Case 视图

Use Case框图显示系统中的使用案例与角色及其相互关系,角色是与所建系统交互的对象(人或物),使用案例是系统提供的高级功能模块,演示了人们如何使用案例。首先创建主Use Case框图,显示系统的总体视图。

下图是本次毕业设计的图书馆管理系统的Use Case 框图,所建系统的需求组成所有使用案例和角色设置。这个框图中有系统角色、系统用例和它们之间的关系。

Borrower Return of item

图1.1

图1.1中有两个系统角色:借阅者和图书管理员,四个系统使用案例:借阅图书、归还图书、预约图书和取消预约。较好的描述了系统的使用功能:借阅者通过图书管理员可以借阅书刊、归还书刊、预约书刊和取消预约,所有这些操作要通过图书管理员来完成,也就是说图书管理员是本系统的直接使用者。

本系统的系统角色Borrower可以是一个人,也可以是其他的图书馆,能够对图书进行借阅和预约。

书管理员来维护的,他可以增加书籍、删除或更新书籍、增加条款、删除条款、增加新的借阅者、删除或更新借阅者。

这个使用案例用到了其他的一些使用案例:Add Title案例、Remove or Update Title 案例、Add Item案例、Remove Item案例、Add Borrower案例和Remove or Update Borrower 案例。

Remove or Update Borrower

图1.2

3.2.2 创建系统的Logical 视图

首先在Logical视图中创建Sequence框图和Collaboration框图,也就是Interaction 框图。Interaction框图一步一步显示使用案例的流程。包括:流中需要什么对象;对象相互发送什么消息;什么角色启动流;消息按什么顺序发送。图1.3是系统添加新用户的Sequence 框图。

在添加的时候要查找是否数据库中有该用户的信息,如果没有的话则进行添加,用户信息有四个字段:用户姓名、用户地址、邮政编码、国家地区。添加后对所添加的信息进行存储。

: Librarian

:

BorrowerFrame

:

BorrowerInf...

Check if

already exists

图1.3

增加书目条款信息的Sequence 框图如图1.4:

开始时进行查找,按书名查找,然后点击OK按钮可以对图书信息进行更新,更新后将信息返回到图书信息库中,同时书目条款信息中的图书基本信息将和图书信息库保持一致。

如果要添加书目条款信息,可以点击添加按钮,然后对条款信息添加,完成后保存信息。同时要在图书信息库中添加相关条款信息,对信息更新。

: Librarian

:

FindTitleDialog

: Title :

UpdateTitle...

: Title : Item

图1.4

增加书目的Sequence 框图如图1.5:

在增加书目之前首先要检查书库中是否有要增加的这本书,若没有就在库中添加,同时创建条款信息和书目名称并保存。

第一步要点击添加按钮,然后查找书目名称和检索号,没有找到即可添加,创建一个新的名称和条款信息,填写并保存。

: TitleFrame : Title : Item

: Librarian

Check

if already

exist

Create

Title and

item

objects

Store

items and

title

图1.5

借阅书籍的Sequence 框图如图1.6:

要借阅图书由图书管理员点击查找标题按钮,进入借阅条款界面,之后再进行查找,找到书籍之后将书的名称返还给借阅者,也可以直接点击查找按钮。若要查看该书的详细信息则点击OK按钮,系统将标题信息返还,可以查看各条款信息。

图书管理员同时可以查看借阅者的信息,点击查找借阅者信息按钮,进入借阅条款界面,之后再进行查找,也可以直接进行查找,进入查询借阅者信息界面,按姓名查找,找到后将信息返还,对其中的各条信息进行选择,如果该用户要借阅图书则点击OK按钮,图书即被借出,同时信息被保存。系统将更新这本书的信息,将其状态置为已借出,并更新用户的信息,在其已借书目当中增加该本书。

: Librarian

: Title

: FindBorrowe... : BorrowerInf...

: Item : Loan

: LendItemFrame

: FindTitleDialog

图1.6

相关主题
文本预览
相关文档 最新文档