软件工程——面向对象技术

简介: 软件工程——面向对象技术

什么是面向对象?


· Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承+通信”

· 如果一个软件系统是使用这样4个概念设计和实现的,则我们认为这个软件系统是面向对象的。

· 面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。


· 面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。


面向对象的三大模型


一、对象模型化技术OMT


· 对象模型化技术把分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型。


· 这个模型化的过程是一个迭代过程。


1、关联


· 在OMT中,类与类之间的关系叫做关联。


关联形式:


(1)聚合,代表整体与部分的关系,这是一种特殊形式的关联。


(2)限定,用以对关联的含义做某种约束。


(3)角色,用来说明关联的一端,由于多数关联具有两个端点,因而涉及到两个角色。


2、类和对象的关系:



二、动态模型


· 动态模型着重于系统的控制逻辑。

· 它包括两个图,一是状态图,一是事件追踪图

(1)状态图

· 状态图是一个状态和事件的网络,侧重于描述每一类对象的动态行为。



动态模型由多个状态图组成


· 各个状态图并发地执行,并可以独立地改变状态


(2)事件追踪图


事件


· 一个事件发生在某一个时刻


· 每个事件都是单独发生的


· 我们建立事件类,并给每个事件一个名字,以指明共同结构和行为


· 事件从一个对象向另一个对象传送信息。


事件追踪图


· 事件追踪图


· 事件追踪图侧重于说明发生于系统执行过程中的一个特定“场景”


· 场景也叫做脚本,是完成系统某个功能的一个事件序列


(3)状态图与事件追踪图的关系


· 状态图叙述一个对象的个体行为,事件追踪图则则给出多个对象所表现出来的集体行为。


· 例如,一个事件追踪图指出某一对象在接受一个事件之后发出另一事件,同一行为在此对象的状态图中也应当有所表示。


三、功能模型


· 功能模型表明,通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。


· 功能模型由多个数据流图组成,它们指明从外部输入,通过操作和内部存储,知道外部输出,这整个的数据流情况。


· 功能模型中所有的数据流图往往形成一个层次结构。


· 在这个层次结构中,一个数据流图中的过程可以由下一层的数据流图做进一步的说明。


· 数据流图中允许加入控制流,但这样做将与动态模型重复,不提倡夹带控制流。



四、基于三大模型的分析过程


· 功能模型着重于系统内部数据的传送和处理。

       功能模型定义“做什么”

       动态模型定义“何时做”

       对象模型定义“对谁做”

目录
相关文章
|
6月前
|
测试技术 监控 程序员
软件体系结构 - 净室软件工程
软件体系结构 - 净室软件工程
154 1
|
6月前
|
监控 数据可视化 数据建模
软件工程之设计分析(2)
软件工程之设计分析(2)
63 0
软件工程之设计分析(2)
|
6月前
|
敏捷开发 开发框架 测试技术
软件体系结构 - 软件工程(1)
【4月更文挑战第1天】软件体系结构 - 软件工程(1)
94 0
|
4月前
|
监控
软件复用问题之软件工程中事中缓释,如何解决
软件复用问题之软件工程中事中缓释,如何解决
|
6月前
|
项目管理
软件体系结构 - 软件工程(2)
【4月更文挑战第2天】软件体系结构 - 软件工程(2)
37 0
|
6月前
|
设计模式 关系型数据库 UED
软件工程之设计分析(1)
软件工程之设计分析(1)
106 0
|
测试技术
48【软件工程】面向对象开发全面总结
面向对象开发(OOP)是一种重要的编程范式,它将现实世界中的事物抽象成程序中的对象,通过对象之间的交互实现系统的功能。本文将全面介绍面向对象开发的含义、原则、基本原则、方法等方面的内容,帮助读者更好地理解和应用面向对象开发方法,提高代码的可维护性、可扩展性和可重用性。
184 0
|
算法
【软件工程】——软件设计
【软件工程】——软件设计
121 0
【软件工程】——软件设计
|
设计模式 存储 关系型数据库
浅析软件工程中的一些常见设计原则(上)
老子说:有道无术,术尚可求也。有术无道,止于术。如果说设计模式是“术”,那么设计原则就是“道”。今天,我们一起来聊聊软件工程中一些常用的设计原则。
|
程序员 测试技术 数据处理
浅谈《软件工程》常用的几种软件开发方法
浅谈《软件工程》常用的几种软件开发方法