当前位置:首页 » 软件设计 » 面向对象设计

面向对象设计

发布时间: 2020-11-23 19:54:36

A. 面向对象分析与设计面向对象设计包括哪些内容

一、总述
面向对象分析的输入是用户的功能需求,输出是简单的、理性化的分析模型,此阶段的工作更多侧重于如何理解软件的功能需求;
面向对象设计的输入是面向对象分析的结果,蔬菜水果最终的、细化后的设计模型,此阶段的工作更多侧重于如何得到一个合适的、完整的解决方案。
二、主要区别
(1)
在侧重点上,面向对象分析侧重于理解问题,描述软件要做什么,而面向对象设计侧重于理解解决方案,描述软件要如何做。
(2)
面向对象分析一般只考虑理想饿设计,不关心技术和实现层面的细节,而面向对象设计需要得到更具体、更详尽,更接近于真实的代码的设计方案。
(3)
在设计结果的描方式上,面向对象分析阶段侧重于描述对象的行为,而面向对象设计阶段侧重于描述对象的属性和方法。
(4)
面向对象分析只关注功能性需求,而面向对象设计既关注功能性需求,也关注非功能性需求。
(5)
面向对象分析产生的系统模型通常规模较小,而面向对象设计产生的系统模型规模较大,内容也比较详尽、完整。
三、分析设计工具(RationalRose
+
UML)
1、需求分析阶段
常借助于“用例图”、“顺序图”对功能模型进行建模;
用例描述,一般包括:用例名称,系统范围,用户目标,前置条件,执行过程,扩展情况,后置条件。
顺序图着眼于整个系统。
2、面向对象分析阶段(包含需求分析阶段的用例建模)
常借助于“类图、对象图”,“顺序图、协作图”,“状态图”进行静态模型建模和动态模型建模。
这里的类图主要指通过用例分析得到的实体类、控制类和边界类。
顺序图也着眼于各个分析类对象间的协作。
3、面向对象设计阶段
常借助于“类图”,“顺序图、协作图”,“状态图”来细化各个类以及对象间的协作、关系的可见性;
这里的类图,要具体到属性、方法,类之间的关系依赖(继承、组合、聚合)
这里的顺序图要具体到各个类的实例之间的消息传递、函数调用。
面向对象设计阶段常借助一些设计模式达到软件的可扩展行,应对软件的可预测到的变化。

B. 为什么说类图是面向对象设计的好工具

面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术 发展到一定阶段后的产物。
⑴对象。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
⑵对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中
⑶类。
具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
⑷类的结构。
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。
①一般--具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②整体--部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。
⑸消息和方法。
对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
类中操作的实现过程叫做方法,一个方法有方法名、返回值、参数、方法体。

C. 面向对象设计语言的三要素是什么

是封装 继承 多态

封装主要是指类可以隐蔽某些类中的变量 而是通过函数访问和改变

继承..就是子类可以继承父类的方法(函数)和变量

多态..是和调用虚函数有关的..

D. 面向对象设计中对象啥意思

分2层概念
现实生活中对象指的是客观世界的实体。可以是可见的有形对象,如人,汽车,房屋;也可以是抽象的逻辑对象,如银行帐户,生日。
程序中对象就是一组变量和相关方法的集合,其中变量表明对象的状态。方法表明对象所具有的行为。
比如人
状态有
name
gender
age
phone
number
行为有
eat
sleep
study
change
number
class
person
{
int
name
,gender,
age
,phone
number
}
就是个类

E. 面向对象分析与设计的意义是什么

在创建一个应用软件系统前,必须进行充分的分析,即明确所要解决的问题是什么。例如,开发一个图书信息管理系统软件,这个系统要实现什么样的功能?这就是一个分析问题。
设计强调的是问题的逻辑解决方案,即系统怎样才能达到要求。例如,图书信息管理系统如何实现远程查询?设计最终可以用硬件或软件方法来实现。
面向对象的分析与设计的精髓是按照对象的观点考虑问题域和逻辑解决方案。分析旨在发现并描述问题域中的对象。例如,在图书馆信息系统中,这些对象包括图书、借阅者、图书管理员等。
设计的重点在于定义逻辑软件对象,这些对象(具有属性和方法)最终能够用面向对象程序设计语言实现,即编写它们的类。

F. 面向对象程序设计的优点是什么

1、维护简单
面向对象程序设计的一个特征就是模块化。实体可以被表示为类以及同一名字空间中具有相同功能的类,可以在名字空间中添加一个类而不影响该名字空间的其他成员。这种特征为程序的维护提供了便捷性。


2、可扩充性
如果有一个具有某一种功能的类,就可以扩充这个类,创建一个具有扩充功能的类。


3、代码重用
功能是被封装在类中的,类是作为一个独立实体而存在的,因此可以很简单的提供类库,使代码得以重复使用。

(6)面向对象设计扩展阅读

面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。模型是用来反映现实世界中事物特征的。任何一个模型都不可能反映客观事物的一切具体特征,只能对事物特征和变化规律的一种抽象,且在它所涉及的范围内更普遍、更集中、更深刻地描述客体的特征。通过建立模型而达到的抽象是人们对客体认识的深化。

G. 什么是面向对象的系统分析和设计

什么是面向对象的系统分析和设计?面向对象的系统分析和设计的主要目的和应完成的主要工作是什么?系统分析和设计应遵循的原则是什么?
解答答:面向对象的系统分析和设计是将面向对象的方法运用到软件工程的分析设计阶段。面向对象的系统分析和设计的主要目的是完成对某个特定应用论域(application
domain)的分析和系统的建模。应完成的主要工作是描述系统中的对象、对象的属性和操作、对象的动态特性、对象间的构造关系和通信关系等,从而建立系统的静态结构和动态活动模型。系统分析和设计应遵循的原则是:(1)
系统开发是面向客户的,应从客户的角度考虑。(2)
诸如系统开发生命周期之类的产品更新换代机构应该在所有的信息系统开发项目中建立起来。(3)
信息系统开发的过程并不是一个顺序的过程,它允许步骤的重叠和倒转等。(4)
如果系统的成功可能性受到很大限制时,应取消整个项目。(5)
文档材料是系统开发生命周期中重要的可递交成果,应加以重视。

H. 面向对象设计原则有哪些

SRP单一职来责原则
就一个类而言源,应该专注于做一件事和仅有一个引起它变化的原因。
OCP开放--封闭原则
对于扩展开放,对于修改封闭。
LSP里氏替换原则
子(继承)类能在程序中代替父类(C#:基类,Java:超类)。
DIP 依赖倒置原则
抽象不依赖于细节,细节应该依赖抽象。(面向抽象编程,C#为面向接口编程)。
ISP接口隔离原则
接口属于用户类。(接口面用用户类,不用想着和自身层次、方法相关)
REP重用发布等价原则
重用的粒度就是发布的粒度。(?这个没有具体的认识)
CCP共同封闭原则
对于需求的响应,一个包中的所以类,有一个共同的响应(改变),而对于包外是不造成影响。
CRP 共同重用原则
包中的所有类共同重用,就是要重用就全部重用。
ADP 无环依赖原则
依赖关系不要存在环。
ADP 稳定依赖原则
朝着稳定的方向进行依赖。
SAP稳定抽象原则
包的抽象程度应该和稳定程序一致。

I. 什么是面向对象的程序设计 能通俗得说明吗

所谓面向对象的程序设计,就是把面向对象的思想应用到软件工程中,并指导开发维护软件。 对象是由数据和容许的操作组成的封装体,所谓面向对象,就是基于对象的概念,以对象为中心,类和继承为构造机制,认识了解刻画客观世界以及开发出相应的软件系统。
你学习过C语言没有,C语言就是面向过程的。
JAVA就是面向对象的。
C++兼容了C,但是基本上编程思想是面向对象的。
对象,例:一辆车就是一个对象。车中的那些组成零件也是对象。
C++中定义一个对象来表示车就很容易。
class car
{
private:
//定义一些车的属性
//价格。车名。型号。重量。
};
你学下C++或JAVA就很容易明白了。
面向对象,说白了就是把现实中的事务看成一个对象,在写程序时,把你要写的事务与现实中的事务联系起来。
如:写一个学生管理系统的项目。
你会有很多对象。学生。老师。学课。教学楼。宿舍。
如果你学C++,当你多用几次class之后,你就明白了。

J.  面向对象的设计方法

本次系统建设与开发严格按照软件工程的思想和技术要求,进行了项目的需求分析、系统的设计、编码、测试和维护。其中,利用计算机辅助设计工具(CASE)进行系统的设计和分析,利用统一建模语言(UML)进行了数据建模,尤其引入了面向对象的空间数据管理模型——GeoDatabase,对遥感综合调查所涉及的地理空间实体进行了对象化包装,定义了符合空间对象特点的数据结构和方法,实现了用户界面中的地理实体与数据库中实体的属性和空间数据之间的有机联系,在此基础上构造了提交查询所需的数据库结构。

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837