面向对象技术与UML

经典的软件工程思想将软件开发分成以下五个阶段:

需求分析(Requirements Capture)阶段

系统分析与设计(System Analysis and Design)阶段

系统实现(Implementation)阶段

测试(Testing)阶段

维护(Maintenance)阶段

 

UMLUnified Modeling Language 统一建模语言,是一种面向对象的标准建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模(建模是通过将用户的业务需求映射为代码,保证代码满足这些需求,并能方便地回溯需求的过程),它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。

 

UML的定义包括UML语义和UML表示法两个部分。

可用下列5类图来定义:

1、用例图(Use Case Diagram,从用户角度描述系统功能,并指出各功能的操作者。

2、静态图(Static diagram,包括类图、对象图和包图。

3、行为图(Behavior diagram,描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。

4、交互图(Interactive diagram,描述对象间的交互关系,包括时序图和合作图。

5、实现图(Implementation diagram,包括组件图和配置图。

 

UML的组成

由视图(View)、图(Diagram)、模型元素(Model Element)和通用机制(General Mechanism)等几个部分组成。

 

UML的建模机制

静态建模机制和动态建模机制

静态建模机制包括用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、包(Package)、组件图(Component Diagram)和配置图(Deployment Diagram)

动态建模机制包括消息(Message)、状态图(State Diagram)、时序图(Sequence Diagram)、协作图(Collaboration Diagram)和活动图(Activity Diagram)

 

面向对象技术的基本观点:

1)客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。

2)具有相同数据和操作的对象可归纳成类,对象是类的一个实例。

3)类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。

4)对象之间的联系通过消息传递来维系。

 

面向对象的核心元素

1)对象

对象可以是具体的、有形的物,也可以是无形的事物或概念

对象是问题域或实现域中某些事物的一个抽象

对象是一个封装数据对象和操作行为的实体

系统中的对象在软件生命周期中各个阶段可能有不同的表示形式

2)封装

封装是面向对象方法的一个重要原则。

其两具含义是:结合性和信息隐蔽性

3)消息

消息是向对象发出的服务请求。

一个消息包含消息名、接受对象的标志、服务标志、输入信息、回答信息等。

消息传递机制。

4)

类是一组具有相同数据结构和相同操作的对象的集合

类是对象的抽象

客观世界实际存在的都是对象,而不是类

5)继承

继承性是面向对象程序设计语言不同于其他语言的最主要特点

继承是指子类可以自动拥有父类的全部属性和操作的机制

父类(超类)

子类(派生类)

继承性又分为单继承和多重继承两类

6)多态性

同一个操作作用于不同的对象,可以有不同的解释,产生不同的执行结果

分类:编译时的多态性与运行时的多态性

7)结构与连接

一般/特殊结构

整体/部分结构

实例连接

消息连接

 

面向对象的开发语言

1)面向对象的建模语言

2)面向对象的程序设计语言

 

面向对象分析的层次

       对象模型通常由五个层次组成:

1、类与对象层

2、属性层

3、服务层

4、结构层

5、主题层

 

面向对象分析的基本过程

1、发现对象,从对象中抽象出类的定义

2、识别对象的内部特征

3、识别对象的外部关系。

4、划分主题,建立主题图。

5、定义用例,建立交互图。

6、建立详细说明。

7、原型开发。

 

面向对象分析的基本原则

抽象原则

分类原则

聚合原则

关联原则

消息通信原则

 

类图的主要构成成分

属性

方法

一般/特殊结构

整体/部分结构

实例连接

消息连接

 

类图分为三个层次

对象层    特征层    关系层

 

对象之间的通信

1、一般/特殊结构

均形成层次或网络

 

2、整体/部分结构

 

3、实例连接

用于表达对象之间的静态联系

4、消息连接

定义:两个对象之间存在的由于通信需要而形成的关系

表示方法:使用箭头从发送消息的对象指向接收消息的对象

 

面向对象的高层设计

1、高层设计的结构模型

 

2、高层设计的准则

弱耦合

强内聚

减少通信开销

良好的可扩充性

 

3、问题域子系统的设计

复用已有的设计

把与问题论域相关的类关联,建立类的层次结构。

创建一般化类

改进系统性能

加入较低层的构件

 

4、人机交互子系统的设计

及户分类

描述人及其任务的脚本

设计命令层

设计与用户的详细交互

继续进行原型设计

设计人机交互类

 

5、任务管理子系统的设计

为任务定名,并简要说明这个任务

定义各个任务如何协调工作,指出它是事件驱动还是时钟驱动

定义各个任务之间如何通信,任务将从哪里取值,任务执行得到的结果将送往何方。

 

6、数据管理子系统的设计

常用的数据管理方法有:

1)文件管理

2)关系数据库管理系统

3)面向对象数据库管理系统

 

面向对象的类设计

1、类设计的目标:

把类设计成可复用的“插接相容性”部件

把类设计成健壮的部件

把类设计成可集成的部件

 

2、类的设计准则

1)类公共接口的单独成员应该是类的操作符

2)A的实例不应该直接发送消息给类B的成员

3)操作符是公共的,当且仅当类实例的用户可用

4)属于类的每个操作符要么访问、要么修改类的某个数据

5)类必须尽可能少地依赖其他类

6)两个类之间的互相作用应该是显式的

7)继承结构的父类应该是目标概念的抽象模型

 

Rational Rose 中的视图

1、Use Case View  用例视图

2、Logical View   逻辑视图

3、Component View 组件视图

4、Deployment View 配置视图

 

使用Rational Rose 建模

1、创建模型

2、保存模型

3、导出与导入模型

4、发布模型

5、使用控制单元

6、使用模型集成器

7、使用注释

8、Rose模型元素中增加文件与URL

9、使用包

10、    增加与删除图

 

UML的构成

1、视图

2、

3、模型元素

4、通用机制

 

视图

1)用例视图

用途:描述系统应该具备的功能,即被称为参与者的外部用户所能观察到的功能。

用例视图是几个视图的核心,它的内容直接驱动其他视图的开发。

 

2)逻辑视图

    用途:描述用例视图中提出的系统功能的实现。

    逻辑视图既描述系统的静态结构,也描述系统内部的动态协作关系

    使用者:主要是设计人员和开发人员

    组成:静态结构在类图和对象图中进行描述;动态模型在状态图、时序图、协作图以及法动图中进行描述。

 

3)组件视图

用途:描述系统的实现模块以及它们之间的依赖关系

组成:组件图

使用者:主要是开发人员

 

4)并发视图

    用途:考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。

   使用者:主要是开发人员和系统集成人员

   组成:状态图、协作图和活动图

 

5)配置视图

用途:显示系统的物理部署,并描述位于节点实例上的运行组件实例的部署情况。

组成:配置图。

使用者:开发人员、系统集成人员和测试人员

 

图:

1、用例图

2、类图

3、对象图

4、状态图

5、时序图

6、协作图

7、活动图

8、组件图

9、配置图

 

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值