软件工程(三)面向对象方法与UML

面向对象

面向对象的定义

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

面向对象方法的优点

1.与人类习惯的思维方法一致

2.稳定性好

3.可重用性好

4.较易开发大型软件产品

5.可维护性好

概念

对象

在应用领域中有意义的、与所要解决 的问题有关系的任何事物都可以作为对象, 它既可以是具体的物理实体的抽象,也可以 是人为的概念,或者是任何有明确边界和意 义的东西,对象是对问题域中某个实体的 抽象,设立某个对象就反映了软件系统具有保存有关它的信息并且与它进行交互的能力

类是对具有相同属性和行为的一个或多个对象的描述

实例

实例就是由某个特定的类所描述的一个具体的对象

消息

消息就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明

方法

方法就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法

属性

属性就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象

封装

封装就是把某个事物包起来,使外界不知道该事物的具体内容。把数据和实现操作的代码集中起来放在对象内部

继承

继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制

多态性

多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象

重载 

函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;

运算符重载是指同一个运算符可以施加于不同类型的操作数上面。当参数特征不同或被操作数的类型不同时,实现函数的算法或运算符的语义是不相同的

UML

所用工具

645c0fb2b05646219c6a6b150c619640.png

UML定义 

UML是一个通用的可视化建模语言,是用于对软件进行描述、可视化处理、构造和建立软件系统的文档。 

是一种基于面向对象的可视化的通用的标准建模语言,不是一种方法,独立于过程

UML的合并方法

结合了Booch,OMT,和OOSE方法

建立模型

8cee548294634fb2bd1e732bbe658ef4.png

UML的理解

UML是一种语言

•遵循特定的规则

•允许创建各种模型

•并不告诉设计者需要创建哪些模型

•并不提供开发过程

UML是可视化语言

•UMI是图形化语言

•图形便于交流(一幅图抵上千文字) 

UMI是用于构造系统或理解系統的语言

•UML既支持正向工程,又支持反向工程

UML是文档化语言

•将所建造的系统记录下来

•便于新程序员跟进

•开发产品新版本时很有用

UML的特点

1.统一的标准

2.面向对象。UML是支持面向对象软件开发的建模语言。

3.可视化、表现能力强

4.独立于过程,UML不依赖于特定的软件开发过程。

5.概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。

UML组成

•构造块

•关系

•UML规则

•UML公共机制

•UI扩展机制

•UMI体系结构与图

UML的关联以及模块表示

 

UML的视图

0c7e2a03ab34494c86a05f0636074851.png

UML九种图及其功能

用例图:需求捕获,测试依据

类图:类以及类之间的相互关系

对象图:对象以及对象之间的相互关系

构件图:构件及其相互依赖关系

部署图:构件在各节点上的部署

顺序图:强调时间顺序的交互图

协作图:强调对象协作的交互图

状态图:类所经历的各种状态

活动图:对工作流程建模

UML的开发过程(用图描述)

3ebf045a7aef4348b3b31152dd926578.png

参与者的定义

参与者(Actor)是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象

每个参与者可以参与一个或多个用例,每个用例也可以有一个或多个参与者

在用例图中使用一个人形图标来表示参与者,参与者的名字写在人形图标下面

参与者的类别

第一类参与者是真实的人,即用户,是最常见的参与者,几乎存在于每一个系统中。

第二类参与者是其他的系统。这类位于程序边界之外的系统也是参与者。

第三类参与者是一些可以运行的进程。如时间, 当经过一定的时间触发系统中的某个事件时,时间就成了参与者。

参与者的确定 

  • 使用系统主要功能的人是谁(即主要角色)
  • 需要借助于系统完成日常工作的人是谁
  • 谁来维护和管理系统(次要角色),保证系统正常工作
  • 系统控制的硬件设备有哪些
  • 系统需要与哪些其它系统进行交互?(其它系统包括计算机系统,也包括该系统将要使用的计算机中的其它应用软件。其它系统也分成二类,一类是启动该系统的系统,另一类是该系统要使用的系统。)
  • 对系统产生的结果感兴趣的人或事是哪些?

注意:直接或间接的与系统交互的任何人和物都是参与者。参与者总是处于系统外部,因此他们可以处于人的控制之外。

用例

概念

用例是参与者可以感受到的系统服务或功能单元

特点

  1. 用例必须由某一个参与者触发激活后才能执行,即每个用例至少涉及一个参与者。
  2. 用例表明的也是一个类,而不是某个具体实例。
  3. 用例描述的是它代表的功能的各个方面,包含了用例执行期间可能发生的各种情况。
  4. 用例是一个完整的描述。若其被分解成多个小用例,则仅当所有的小用例完成后才代表整个用例的完成。

识别

任何用例都不能在缺少参与者的情况下独立存在。同样,任何参与者也必须要有与之关联的用例。所以识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。

当找到参与者之后可以根据参与者确定系统的用例,主要是看各参与者如何使用系统,需要系统提供什么样的服务。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值