Rational Rose 学习笔记(一)UML简介

本章首先介绍UML的历史与现,以及面向对象编程概念,然后介绍如何使用UML 构造应用程序。主要包含以下四个部分:一,了解面向对象机制与可视模型。二,了解图形标注模型。三,了解UML 框图类型。四,用可视模型开发软件。

一  面向对象机制简介

    面向对象机制是结构化编程之外的另外一种观察应用程序的方式。利用面向对象方法,把应用程序分成许多小块(或对象),这些对象是相互独立的。然后可以组合这些对象,建立应用程序。可以把它看作是砌砖墙。第一部要建立或购买基本对象(各种砖块)。有了这些砖块后,就可以砌出砖墙了。在计算机领域中建立或购买基本对象后,就可以把对象集成来,创建新的应用程序。

    面向对象机制的一个主要好处是可以一次性的建立组件,然后反复的使用。就像砖块可以重复用来盖城墙、盖房子,面向对象的基本设计和代码可以重复用于会计系统、库存系统获订单处理系统。

    面向对象机制的基本原则:包装、继承与多态。

二 何谓可视化建模

    软件领域中的模型,类似于构建一个房子时所画出的蓝图。蓝图可以对我们的规划进行补充,模型可以帮助我们规划要见的系统。这就可以保证系统设计良好,要求得到满足,系统能在需求改变时站的住脚。

    那么到底建模是怎样的一个过程呢?在收集系统需求时,把用户的业务需求映射成开发小组能理解的要求。最终你要利用这些需求产生代码。通过将需求映射为代码,可以保证代码满足这些需求,代码也能方便的回溯成需求。而这个过程就成为建模。建模过程就是可以跟踪从业务需求、到要求、到模型、到代码的过程及其相反的过程,而不会在这个过程中迷路。

    了解了建模以后,来介绍什么是可视化建模。可视化建模将模型中的信息用标准图形元素直观的表示。这样就可以达到一个很好的目的,也就是拥护、开发人员、分析人员、测试人员、管理人员和其他涉及项目的人员之间的通信。利用可视化建模,我们可以在几个层次上显示系统如何工作。如用户和系统之间的交互,系统对象之间的交互,甚至系统之间的交互。

    建立了这个模型后,还有一个很重要的好处,就是有利于向各有关部门显示系统计划。

三 图形化标注系统

    可视化建模的概念我们基本了解了,但是我们要用哪种图形标注方法来表示系统的各个方面呢?这个标注方法应能向各有关方面传达意图,否则模型的强大用途就无法显现出来。目前最常用的图注方法有Booth,对象建模技术(OMT)和统一建模语言UML 。Rational Rose 支持这三种方法,但UML是大多数公司采用的标准。本书采用UML1.3版本。

四 UML框图

    利用UML可以开发几种不同的可视框图,表示系统的不同方面。Rational Rose 支持开发这些模型的大部分,包括:
1 Business Use Case框图
2 Use Case框图
3 Activity框图
4 Sequence框图
5 Collaboration框图
6 Class框图
7 Statechart框图
8 Component框图
9 Deployment框图
    这些模型框图表示系统的不同方面。例如,Collaboration框图显示对象建为完成某种系统功能所需求的交互。每个框图有一定的用途和使用对象。下面将分别介绍这几种框图的功能。

(一)Business Use Case框图
    Business Use Case框图表示的是整个机构提供的功能。这里只需要明白,Business Use Case框图描述的是整个机构提供的到底是什么功能?换句话说就是,公司是要干什么的?Business Use Case框图在业务建模活动期间大量用于设置系统情景和形成使用案例的基础。它与系统是否是自动化完成的无关(这点与Use Case框图相互区别)。它表示的是公司外部的用户或者其他公司(称为业务角色)与公司的执行过程(称为业务用例)之间的交互。
(二)Use Case框图
    Use Case框图显示使用案例(表示从用户角度对系统的要求,即系统功能)与角色(表示提供或接收系统信息的人或系统)间的交互。也就是说,这些框图表示了那个角色机动使用案例,并显示角色和市从使用案例接收到信息。实际上,Use Case框图可以演示系统的需求。
    那么业务用例和使用案例之间有没有什么关系呢?我们知道,业务用例表示的是公司的执行过程,而是用案例表示的是公司的系统功能,从现实的角度上可以理解。公司的执行过程可能要对应着很多个系统功能的组合。在UML中也是这样,一个业务用例可能要30多个使用案例来实现其过程。
    大部分信息可以从Use Case框图看到。这个框图显示系统的总体功能。用户、项目管理员、分析人员、开发人员、质量保证工程师和任何对系统感兴趣的人都可以浏览这个框图,了解系统的功能。
(三)Activity框图
    Activity框图演示了系统中的功能流,可以在业务模型中显示业务工作流;可以在收集需求时显示一个使用案例中的事务流。它侧重于活动发生的顺序。不用对每个工作流都创建Activity框图,但它们是强大的通信工具,特别是在大型复杂工作流中。
(四)Sequence框图
    Sequence框图显示使用案例中的功能流程。用户可以从这个框图看到业务过程的细节。分析人员从这个框图看到处理流程。开发人员看到需要开发的对象和这些对象的操作。质量保证工程师可以根据这个过程开发测试案例。Sequence框图对项目的所有人都有用。
(五)Collaboration框图
    Collaboration框图显示的信息与Sequence框图相同,但Collaboration框图用不同的方式显示这个信息,具有不同的作用。Sequence框图演示的是对象与角色随时间变化的交互,而Collaboration框图则不参照时间而显示对象与角色的交互。
    质量保证工程师和系统建筑师用Collaboration框图显示对象间处理过程的分布。假设,Collaboration框图是星型的,几个对象与一个中央对象通信,则系统建筑师可能认为系统对中央对象依赖太强,这种交互式很难在Sequence框图中看到的。
(六)Class框图
    Class框图显示系统中类与类之间的交互。开发人员用Class框图开发类。Rose之类的工具产生类的框架代码,然后开发人员用所选语言填充细节。分析人员用Class框图显示系统细节。建筑师也用Class框图显示系统设计。
(七)Statechart框图
    Statechart框图提供了建模对象各种状态的方式。如果说Class框图侧重于静态的描述类及其相互关系,那么Statechart框图则建模了系统的动态功能。Statechart框图不是对每个类创建,而是用于复杂的类。
(八)Component框图
    Component框图显示模型的物理视图,也显示系统中的软件组建及其相互关系。框图中有两种组件:执行组件和代码库。
    编译系统的人员要使用Component框图。Component框图显示组件应以什么顺序编译,还显示编译时会创建哪些运行组件。Component框图显示类与实现组件之间的映射。这些框图还启动代码生成。
(九)Deployment框图
    Deployment框图显示网络的物理布局和各种组件的位置。
五 可视化建模与软件开发过程
    传统的流水式开发过程存在开发周期长,不能满足用户需求变化等很多问题。Rational统一过程(RUP,Rational Unified Process)是一种重复性开发的实现方法。重复性开发就是一遍一遍来,在面向对象过程中,多次进行分析、设计、开发、测试和部署的子阶段。
    要在项目早期了解所有需求是不可能的。新事件不断出现,因此要采用重复规划。在项目中,我们要经历四个阶段:开始、细化、构造和交接。开始就是项目的开头,要收集信息和进行概念验证。开始阶段得出项目的行或不行的决策。细化阶段要细化使用案例和作出结构性决策。细化包括分析、设计、编码、和测试文件。而构造阶段则是进行大量编码。交接是系统向用户进行最后准备和部署的阶段。下面分别介绍这四个阶段在面向对象项目中的意义。
(一)开始阶段使用Rose
    开始阶段首先是业务模型。Rose可以建立Business Use Case模型,包括业务用例、业务角色和业务工人。下一阶段要确定角色和使用案例。Rose可以对这些使用案例和角色建档,可以创建显示其关系的框图。使用案例框图可以让用户验证这个框图综合显示了系统特性。
(二)细化阶段使用Rose
    细化阶段有几处可以使用Rational Rose。由于细化阶段要细化系统需求,因此可能要更新使用案例模型。Rational Rose可以创建活动框图,演示事件流程。细化处理流程时,可以利用Sequence和Collaboration框图,他们还有助于设计系统索要的对象。细化要设计系统的设计准备,以便开发人员能开始开发。这可以通过Rose创建类框图与Statechart框图实现。最后,细化阶段要确定许多系统组件。Rose可以创建组件框图,显示这些组成及其关系。
(三)构造阶段使用Rose
    和细化阶段一样,Rose在构造阶段创建上述框图。Rose可以根据对象设计创建组件。组建框图显示组件间的编译相关性。选择每个组件的语言后,可以产生框架代码。开发人员创建代码后,可以通过逆向转出工程代码让软件与模型同步。Rose比在构造阶段创建Deployment框图,描述部署中如何使用组件。
(四)交接阶段使用Rose
    Rose在交接阶段主要用于在软件产品完成时更新模型。特别的,交接阶段通常要更新Component框图和Deployment框图。目的是为了保证软件和模型的同步。

   
   
   

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值