软件工程之面向对象

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:17   1284   0

【前言】

面向对象的软件开发是一种新的软件工程方法,所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。

【面向对象】

1.定义:

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

2.对象:

是面向对象开发模式的基本成份。对象由属性和方法组成,每个对象都存在一定的状态和内部标识,对象将它自身的属性集操作“包装”起来,成为封装。

3.类:

一组具有相同数据结构和相同操作的对象的集合。比如车可以分为汽车,轿车,火车,都是车这就是类

4.继承:

是使用已存在的定义做为基础建立新定义的技术。比如你爸是皇帝,你也是,子承父业。

5.多态性:

是指相同的操作、函数、过程作用于不同的对象上并获得不同的结果,即相同操作的消息发送给不同的对象时,每个对象将根据自己所属类中所定义的操作去执行,从而产生不同的结果。

比如水果类的颜色,每个水果的颜色不同,这就是多态。颜色就是接口。

主要特点:

1.按照人类习惯的思维方法,对软件开发过程所有阶段进行综合考虑

2.软件生存周期各阶段所使用的方法、技术具有高度的连续性

3.软件开发各阶段有机集成,有利于系统的稳定性

4.具有良好的重用性

【开发过程】

面向对象的开发过程中,生存期的各个阶段所开发出来额“部件”都是类。在面向对象生存期的各个阶段对各个类的信心进行细化,类成为分析设计和实现的基本单元。

1.论域分析

开发问题论域的模型。

考察问题论域内一个较宽的范围,分析覆盖的范围应比直接要解决的问题更多。

建立大致的系统实现环境。

2.应用分析

应用分析则根据特定应用的需求进行论域分析。应用分析细化在论域分析阶段所开发出来的信息,把注意力集中于当前要解决的问题。

3.求精和维护

这是一个在软件生存期中最花费时间的部分。

传统的维护活动时针应用的,而求精过程是针对类,针对把类集成在一起的结构。

我们可以标识抽象的抽象,使得集成结构通过一般化增加新的层次。

【面向对象分析】

(OOA)是运用面向对象的方法进行需求分析,它是面向对象方法从编程领域向分析领域延伸的产物,充分体现了面向对象的概念与原则。

一、需求分析中的问题

1.明确问题域和系统责任的困难

问题域是指被开发系统的应用领域,即拟建立系统进行处理的业务范围。系统责任即所开发系统应该具备的职能。

2.需求的不断变化

需求的变化是需求分析过程中遇到的一个严峻问题,应变能力的强弱是衡量一种分析方法优劣的重要标准。

3.充分交流问题

4.考虑复用要求

二、OOA的特点

一个好的分析方法,应该能够有效地解决上述软件需求分析中的问题,OOA在解决这些问题上具有较强的能力。

1.有利于对问题域及系统责任的理解

2.对需求变化有较强的适应性

3.有利于人员之间的交流

4.支持软件复用

三、基本任务

OOA是软件开发过程中的问题定义阶段,目标是完成对所求解问题的分析,确定系统是“做什么”的,并建立系统的需求分析模型。

运用面向对象的方法,对问题域和系统责任进行分析和理解,找出描述它们的类和对象,定义其属性和操作,以及它们的结构,包括静态联系和动态联系,最终获得一个符合用户需求,并能够反映问题域和系统责任的OOA模型。

【面向对象设计】

(OOD)是面向对象方法的核心阶段。OOA建立的是应用领域面向对象的模型,而OOD建立的则是软件系统的模型。与OOA的模型相比较,OOD模型的抽象层次较低,因为他包含了与具体实现有关的细节,但是建模的原则和方法是相同的。

一、设计准则

1.抽象

抽象是指强调实体的本质、内在的属性,而忽略了一些无关紧要的属性,

2.信息隐蔽

信息隐蔽在面向对象的方法中的具体体现是封装性,封装性是保证软件部件具有优良的模块性的基础。

3.弱耦合

按照抽象与封装性,弱耦合是指子系统之间的联系应该尽量地少。子系统应具有良好的接口,子系统通过接口与系统的其他部分联系。

4.强内聚

它是指子系统内部由一些关系密切的类构成,除了少数的通信类外,子系统中的类应该具有该子系统中的其他类协作,构成具有强内聚性的子系统。

5.可重用

二、基本任务

面向对象的设计是面向对象方法在软件设计阶段应用于扩展的结果,是将OOA所创建的分析模型转换为设计模型,解决系统“如何做”的问题。

面向对象设计的主要目标是提高生产率,提高软件质量和可维护性。

【面向对象模型化技术OMT技术】

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

定义:

功能模型定义“做什么”

动态模型定义“何时做”

对象模型定义”对谁做“。

对象模型 :

是三个模型中最关键的一个,它的作用是描述系统的静态结构,包括类和对象。在OMT中,类与类之间的关系叫关联,关联,有聚合,限定,角色。

动态模型:

系统的控制逻辑,包括两个图状态图和事件追踪图。

状态图:

一个状态和事件的网络,描述动态行为。

功能模型:

功能模型表明,通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么序执行。功能模型由多个数据流图组成,它们指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况。

功能模型中所有的数据流图往往形成一个层次结构。在这个层次结构中,一个数据流图中的过程可以由下一层的数据流图做进一步的说明。数据流图中允许加入控制流,但这样做将与动态模型重复,不提倡夹带控制流。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP