基于UML的软件设计和建模_第1页
基于UML的软件设计和建模_第2页
基于UML的软件设计和建模_第3页
基于UML的软件设计和建模_第4页
基于UML的软件设计和建模_第5页
已阅读5页,还剩52页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于UML的

软件设计和建模

本课内容:基于UML的

软件设计和建模

•参考书:

-[1]《UML基础与Rose建模案例》

•作者:吴建郑潮汪杰

•出版者:人民邮电出版社

-[2]《UML与软件建模》

•徐宝文

•清华大学出版社

•学习方法:理论学习+设计实践(工具使用)

2012-6-262

Agenda

•软件产品开发和软件建模

•什么是UML

•UML模型详角军

2012-6-263

软件产品开发和软件建模

•为什么要建模

-软件是产品而非“程序”

•对它的要求和所有其他工业产品是一样的

-使用者和制造者分离

-质量要求、文档、维护

•软件产品的生产和其他工业产品的生产也是一样的

-生产:团队、工具的使用(Compiler,..),技术复用

-如何满足?先设计,再生产!工》建模!

-模型是对现实世界的简化。

•在成熟的工业生产领域,建模的方法得到了广泛的

应用

-例如:电子工业,软件研发……

2012-6-264

,

回

5

P2

X2

2CK

*

CJO.

I27^o

BGt

30GM

"I

.),调试,定型,生产。

-电路图就是模型,是现实世界的简化(图.•.)

•再看看我们现在软件是怎么做的.一

2012-6-265

软件产品开发和软件建模

•我们现在怎么做软件..・

-先写一个系统分析报告

-简单的设计报告(一些孤立的文字和图形)

-开始编码,调试,测试,发行。在大多数情况

下,这时的工作已经和前两步工作脱钩了。

•相当于不画电路图直接用集成电路、

晶体管、电阻、电容做收音机电路。

2012-6-266

软件产品开发和软件建模

•我们现在怎么做软件..・

•相当于不画电路图直接用集成电路、

晶体管、电阻、电容做收音机电路。

-这在电子工业是不可想象的:怎么维修、怎

么在原有产品基础上发展更先进的产品。

-对于软件工业,这些问题一样是存在的。

•怎么办?.一

2012-6-267

软件产品开发和软件建模

•怎么办?多年来,软件工程试图解决这

一问题,但成效不大

-原因:

•缺少工具,只停留在理论上,用一张纸、一只笔

进行软件工程管理不易为软件人员接受

・没有标准,无法进行有效的交流

•现在,我们有了一.

-软件建模标准:UML

23一软件工程工具,如:ROSE

Agenda

•软件产品开发和软件建模

•什么是UML

•UML模型详解

2012-6-269

•UML:统一建模语言(Unified

•UML是用于描绘软件蓝图的标

-(蓝图?…这就是一张蓝图一>)

•它可用于对软件密集型系统史

-说明(specify)

-建造(construct)和

-建档(document)

•这也是对软件系统进行建模的四个目的

2012-6-2610

什么是UML?

•解释:

-UML是语言:

•语言意味着有标准的表达规则

-UML是蓝图

-UML是由图形符号表达的建模语言

1..n..1

AnimalownedbyPerson

+Name:string4-Name:string

+Owner:Person♦•Addressstring

♦■City:string

♦State:string

5△1-ZipCode:string

DogBird♦-Phone:string

2012-6-26<-lnDogDaysProgram:boolean+VVingSpan:float11

什么是UML?

•Why'unified'?

-从以前的建模语言发展而来

・统一了Booch、Rumbaugh和Jacobson

-软件开发周期

•从需求分析到工程实现

-不同的应用

•从嵌入式实时系统到管理决策系统

2012-6-2612

什么是UML?

•Why'unified'?

-实现语言和平台

•UML对于编程语言和平台是独立的

•支持纯面向对象语言(比如java,C#j

•对混合型语言同样有效(比如C++)

-软件开发方法

•支持面向对象软件流程

•同样支持其他的软件工程开发方法

2012-6-2613

什么是UML?

•使用UML进行软件建模的原则

-准确的原则:模型必须准确地反映软件系统

的真实情况。

-分层的原则:在建模的过程中,必须有不同

的模型,以不同的抽象程度,反映系统的不

同侧面。

-分治的原则:不可能单独用一个模型来反映

整个系统的任何侧面。

-标准的原则:建模方法必须在某种程度上是

通用的。

2012-6-2614

Window

-origin:point

-size:point

•使用进彳+open():void

UML+close():void

-准确的原则:+display():void

+setjposition(pos:point):void

•模型必须淮

一在前面机述的软件开发万法中,实际上已经讲

classWindow系统分析报告和软

(

public:见范而有效的建模

voidopen();出品产生了分离.

voidclose();系统的真实情况,

voiddisplay();

voidset_position(pointpos);介值

private:发的整个周期内,

pointorigin;

pointsize;保持一致。

);15

什么是UML

•使用UML进行软件建模的融

--------------------------R的过霜必须

工口

1.62%/A磔

0>§L

(fromUseCases)

0自°E

同侧面。例如:

•可以用一类模

•用另一类模型描绘系统的内部逻辑关系(见图--)。伤

2012-6-2616

什么是UML?

•使用UML进行软件建模的原则

-分治的原则:不可能单独用一个模型来

反映整个系统的任何侧面。

•软件系统是复杂的,

-对于软件模型的任意一个侧面,不可能用一

个模型来反映所有内容,

•需要把问题分解为不同的子模型,分别处

理

•这些模型相对独立,但又互相联系,综合

如2626起来构成了此侧面的一个完整的模型。

什么是UML?

•使用UML进行软件建模的原则

-标准的原则:建模方法必须在某种程度上是通

用的。

•建模的基本目的:交流

-一个开发队伍内部的开发人员之间需要交流

如果各开发队伍和开发人员在建模的时候采用同样的方法

18

2°⑵新符号(图…),交流才会高效地进行

Agenda

•软件产品开发和软件建模

•什么是UML

•UML模型详解

2012-6-2619

UML模型详解

UML模型的分类

•静态结构(Staticstructure):

-描述模型的组成元素及其之间的关系

•用例图“UseCaseDiagram(国标:用况图)

•类图“ClassDiagram

•对象图“ObjectDiagram

•组件图“ComponentDiagram

•部署图“DeploymentDiagram

•动态行为(Dynamicbehavior):

-描述模型元素的生命周期和他们之间的相互协作的方式

•序歹U图一SequenceDiagram

•协作图“CollaborationDiagram

•状态图・・StatechartDiagram

•活动图"ActivityDiagram

•Oneisnottrulycompletewithouttheother.

2012-6-2620

UML模型详解

UML的结构

•组成元素(buildingblocks)

•公共机制(Commonmechanism)

-Specifications

-Adornments

-etc.

•模型架构(Architecture)

一4+1viewofsystemarchitecture

2012-6-2621

UML模型详解

组成元素BuildingBlocks

•事物"Things

•关系“Relationship

•图“Diagrams

2012-6-2622

UML模型详解

事物“Things

•结构事物一StructureThings

-类、接口、协作、用例、活动类、组件和节点

•行为事物一BehaviorThings

-交互、状态机

•组织事物一GroupingThings

-UML模型中负责分组的部分一包(package)

•辅助事物一AnnotationThings

-也称注释事务一注释(Annotation)

2012-6-2623

UML模型详解

事物一Things

•结构事物一StructureThings

-类

•类是具有相同的属性、方法、语义和相同关

系的一组对象的集合。----------

Student

的name

4MH

•getName。

•setName。

•getNo。

•setNo

2012-6-26。24

UML模型详解

事物--Things

•结构事物一StructureThings

-接口

•描述类或组件的对外的、可见的操作

DBInterface

2012-6-2625

UML模型详解

事物一Things

•结构事物一StructureThings

-用例

•用例定义了系统执行的一组操作,对特定用

户产生可以观察的结果

查询课程

2012-6-2626

UML模型详解

事物一Things

•结构事物一StructureThings

-组件

•物理上可替换的,实现了一个或多个

接口的系:

deCarta地

图组件

2012-6-2627

UML模型详解

事物一Things

•结构事物一StructureThings

-节点

•节点是一个物理元素,它在运行时存在,代

表一个可计算的资源

数据库

服务器,

2012-6-2628

UML模型详解

事物一Things

•行为事物一BehaviorThings

-交互

•在UML图中,交互的消息通常画成带箭头的

直线----------------------

instanceObiectlObiect2

synchronousMessage()

asynchronousMessageQ

------------------------------>

2012-6-2629

UML模型详解

事物一Things

•行为事物一BehaviorThings

-交互

■状态机是对象的一个或多个状态的集合。用圆角矩

形表示

end

2012-6-2630

UML模型详解

事物一Things

•组织事物一GroupingThings

-包package

一依赖Import&export

2012-6-2631

UML模型详解

事物一Things

•辅助事物-AnnotationThings

-注释-模型中的解释部分

学生通过列~>

表或搜索功

能查询课程

查询课程

2012-6-2632

UML模型详解

UML中的关系

•关联关系Association

•依赖关系Dependency

•泛化关系Generalization

•实现关系Realization

2012-6-2633

UML模型详解

UML中的关系

关联关系Association

-关联是一种结构化的关系,只一种对象和另一

种对象有联系

-关联用一条实线表示

-关联可以有方向,表示该关联在某个方向上被

使用;单向关联、双向关联

学生______________大学

2012-6-2634

UML模型详解

UML中的关系

•依赖关系Dependency

-对于两个对象X、Y,如果X发生变化,引起对

另一个对象Y的变化,则称丫依赖于X。

-依赖用一条带箭头的虚线表示

TV

^>currChannel

channel

•change(c:channel)

,urnon()

加urno桁

2012-6-2635

UML模型详解

UML中的关系

•泛化关系—GeneraIization

-描述一般事物与特殊事物之间的关系

-对于类,可以理解为继承关系

-多态

2012-6-2636

UML模型详解

UML中的关系

•实现关系—ReaIization

-描述'规格说明'及其实现之间的关系

•常用来规定接口和实现它的类或组件之间的

关系

keyboard

«Abstract»

Typewrite^>brandName

^>numberOfKeys

•keydown。

•keydown。

2012-6-2637

UML模型详解

UML中的图Diagrams

・UML中的图有9种,主要分为两类

-静态图

•用例图Usecase、类图Class、对象图object、

组件图Component、部署图DepIoyment

~动态图

•时序图Sequence、协作图CoIIaboration

•状态图Statechart、活动图Activity

■注:这九种图的简单讲解

http://www.dotnetcoders.com/web/1earning/umI/

2012-6-2638

UML模型详解

UML青争态图

•用例图UseCaseDiagram

一参与者Actor

一用例UseCase

-关联Association

2012-6-2639

UML模型详解

UML青争态图

•类图ClassDiagram

-类Class

•关联A

Animal_________"nownedbyPerson

■组合♦•Name,stringfName:string

*OwnerPerson<-Address:string

聚合+City:string

/State:string

A

-依赖令ZipCodestring

___________DogBird*Phone:string

•泛化'♦•InDogDaysProgram;boolean♦•VMngSpan:float

-实现ReaIization

2012-6-2640

UML模型详解

UML青争态图

•对象图ObjectDiagram

一对象Object

-关联Association

2012-6-2641

UML模型详解

UML青争态图

•组件图ComponentDiagram

一组件Component

一依赖Dependency

BaseDB.csSiteConfig.es

(Source)(Source)

AA

MyWebComps.dll

(Assembly)

2012-6-2642

UML模型详解

UML青争态图

•部署图Deployment

一组件Component

-节点Node

-关联Association

Server

SiteConfig

2012-6-2643

UML模型详解

UML动态图

•时序图

一Object

1:0:ectl]1:01>:<42-

-ActorActorl

।II

-LifelineMessage11

Message

-Activation

I

(激活)

一Message

2012-6-2644

UML模型详解

UML动态图

•协作图CollaborationDiagram

一Object

-Actor

-Message

2012-6-2645

UML模型详解

UML动态图

•状态图

-状态机State

-转移Transition

-起始状态InitialState

-结束状态FinalState

2012-6-2646

UML模型详解

UML动态图

•活动图ActivityDi

-活动状态Activity

-转移Transition

-分区Swimline

-起始状态InitialS

-结束状态FinalSt

一同步标记Synchr(

2012-6-2647

UML模型详解

UML的结构

•组成元素(buildingblocks)

•公共机缶U(Commonmechanism)

•模型架构(Architecture)

2012-6-2648

UML模型详解

公共机制(Commonmechanism)

・UML具有四种公共机制:

一规范说明Specifications

一修饰Adornments

一通用分界CommonDivisions

一扩展机制ExtensibilityMechanisms

•UMLmodelshastwodimensions:

-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论