软件工程概论总结第六章

第六章  面向对象基础 

面向对象方法概述

面向对象=对象+类+继承+通信

面向对象的软件工程方法  1.面向对象分析 2.面向对象设计 3.面向对象编程 4.面向对象测试 5.面向对象维护

面向对象基本概念

对象

 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。

  类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。

封装

 封装是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。

继承

  继承是指子类可以自动拥有父类的全部属性和服务。

消息

  消息是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等信息。

关联

  关联是对象属相之间的静态联系,它通过对象的属性来表现对象之间的依赖关系。

聚合

  聚合是对象之间的组成关系,即一个(或一些)对象是另一个对象的组成或部分。

多态性

  多态性是指父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为。

软件建模概念

系统、模型和视图

(1)系统是为特定目的而设计的由相互关联的若干部分组成的集合,其中各个组成部分又可以看作是一个更简单的系统,称为子系统。

(2)模型是对系统的抽象表示

(3)视图是从某一个侧面对系统模型的关注

软件建模的重要性

在软件系统开发过程中,建立模型的一个重要原因在于描述系统的复杂性。另一个主要原因是便于交流。最后,模型还为以后的软件维护和升级提供了文档。

统一建模语言UML

UML是一种可视化的,可用于详细描述,文档化,可构造的语言。

UML由视图,图,模型元素和公共机制等部分组成。

1.视图

用例视图、设计视图、进程视图、实现视图和分布视图。

(1)用例视图描述系统应该具有的功能集,它从系统外部用户的角度出发,实现对系统的抽象表示。

(2)设计视图用来揭示系统功能的内部设计和协作情况。

(3)进程视图描述系统的并发工作状况,它包含形成系统并发与同步机制的线程和进程,主要提供给系统开发商和集成商使用。

(4)实现视图由一些独立的构件和文件组成,显示实现模块及其之间的依赖关系。

(5)分布视图主要描述系统的物理构架,显示系统硬件拓扑结构的特点,提供给开发人员、集成人员和测试人员。

2.图

用例图、类图、状态图、顺序图、协作图、活动图、组件图、分布图

(1)用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。

(2)类图描述系统的静态结构,表示系统中的类以及类与类之间的关系。

(3)对象图描述了一组对象以及它们之间的关系,表示类的对象实例。

(4)状态图表示一个状态机,强调对象行为的事件顺序。

(5)顺序图和协作图均表示一组对象事件的动态协作关系,其中顺序图放映对象之间发送消息的时间顺序,协作图反映收发消息的对象的结构组织。

(6)活动图反映系统从一个活动到另一个活动的流程,强调对象间的控制流程。

(7)组件图描述组件以及它们之间的关系,表示系统的静态实现视图。

(8)分布图反映了系统中软件和硬件的物理架构,表示系统运行时的处理结点以及结点中组件的配置。

3.模型元素

4.语义规则

(1)命名:为事物、关系和图起名;

(2)范围:给一个名称以特定含义的语境;

(3)可见性:如何使一个名字被外部识别和使用,它包括public、protected、private三种可见性,分别用“+”、“#”和“-”表示;

(4)完整性:事物如何正确地、一致地相互联系;

(5)可执行性:运行或模拟动态模型的含义是什么。

5.公共机制

(1)说明:UML不只是一个图形语言,它还规定了对于每一个UML图形的文字说明的语法和语义。

(2)修饰:说明其他方面的细节特征

(3)通用划分:型—实例、接口—实现。

(4)扩展机制:扩展UML或使其用户化,便于完成软件系统的开发。

6.扩展机制

约束、标记值和构造型

原文地址:https://www.cnblogs.com/gting/p/4274933.html