`
tntxia
  • 浏览: 1506728 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

OOAD与UML

 
阅读更多

学习目标:

 

理解与掌握面向对象的概念与方法

  • 使用UML
  • 完成面向对象的分析与设计工作
  • 了解OO的设计原则及一些典型的设计模式

什么是面向对象?

 

面向对象(Object-Orientation,简称OO)是一种系统建模技术

面向对象编程是(Object-Orientation Programming,简称OOP)是按照OO的方法学来开发程序的过程

通过分析系统内对象的交互来描述或建模一个系统

交互的对象最终以类的形式组织

OO的方法由三部分组成

 

  1. 过程
  2. 标识
  3. 规则

在软件工程早期,主流是结构化编程。编程时首先开发标准代码块,然后将代码复制粘贴到编写的每个应用程序中,尽管这样做可以在一定程度上减少新应用程序的开发时间,但如果代码需要改变,则开发人员需要在复制代码的每个地方进行修改。

随着软件复杂度的不断提高及对软件开发周期越来越短的要求,传统的结构化编程方式已不能适应现在的环境,面向对象编程方式应运而生。通过面向对象的方法,应用程序被分成许多小块(对象),这些对象彼此独立,然后可以通过组合这些对象,建立应用程序,如同建造一座房屋(应用程序),我们可以先把基本的砖块(对象)准备好,那么建造过程中我们只需要按要求把这些砖块搭建起来就可以了。

 

对象:

 

一个客观存在的、唯一的实体

是面向对象编程过程中分析与解决问题的出发点与基础

拥有自己的标识、数据与行为

可以简单或复杂

可以抽象或具体

在OOP中的一个类的动态实例

如Student----------id,name,age(attributes)

               ----------setName,getName,countScore(methods)

               ----------new Student()

 

类:

 

类是对象的模板

对象通过类实例化产生

一个类可以创建多个对象

 

OOAD是根据OO的方法学,对软件进行分析和设计的过程

 

---- OOA 分析阶段

---- OOD 设计阶段

 

面向对象的分析与设计主要分为两个阶段,其中第一个阶段称之面向对象分析(OOA)阶段,其任务在于弄清用户需要软件解决什么具体问题,是一个研究问题域的过程;第二个阶段称之为面向对象设计(OOD)阶段,用以决定软件的总体结构(例如整个系统包括多少个子系统,每个子系统又包括多少模块等等),以及每个模块的内部逻辑,包括模块的控制结构与数据结构等,是一个解决系统实现所需细节的过程。

 

定义OOA阶段

 

分析阶段主要以下问题

 

      ---- 建立针对业务问题域的清晰视图

      ---- 列出系统必须要完成的核心任务

      ---- 针对问题域建立公共词汇表

      ---- 列出针对此问题域的最佳解决方案

 

此阶段要解决的核心问题是“What to do”

 

设计阶段主要解决以下问题

      ---- 如何解决具体的业务问题

      ---- 引入系统工作所需的支持元素

      ---- 定义系统的实现策略

 

此阶段要解决的核心问题是“How to do”

 

OOP的主要特征

 

抽象(Abstract)

封装(Encapsulation)

继承(Inheritance)

多态(Polymorphism)

聚合(Aggression)

内聚与耦合(Cohesion & Coupling)

 

面向对象的编程语言很多,如Java、C++、C#等,虽然第一种语言都有其自己的语法,但所有的面向对象的编程语言都有一些共同的特点,如最基本的封装、继承、多态,除此还有抽象、关联、内聚、耦合等特征。以下将逐一讨论。

 

抽象:

 

忽略掉一个对象或实体的细节而只关注其本质特征的过程

简化功能与格式

帮助用户与对象交互

 

抽象指忽略掉一个对象或实体的细节而只关注其本质特征的过程,如从一级对象中抽象出其类模板,或者从一组类中抽象出公共特征得到父类或父接口,通过抽象可以简化用户与对象交互的过程与格式,并且使系统保留一定的灵活性,为将来系统的扩展留有余地。

 

封装

隐藏数据和实现

提供公共方法供用户调用功能。

对象的两种视图

     --- 外部视图:对象能做的工作

     --- 内部视图:对象如何完成工作

 

电视机:调节音量

 

 

 

0
2
分享到:
评论

相关推荐

    北京圣思园OOAD与UML教学视频(14集)

    教程名称:北京圣思园OOAD与UML教学视频(14集)课程目录:【】002_UML简介【】003_用例图【】004_类图1【】005_类图2【】006_对象图【】007_组件图【】008_部署图【】009_时序图【】010_协作图【】011_类图3【】012...

    OOAD与UMLpdf文件

    **OOAD(面向对象分析与设计)与UML(统一建模语言)是软件开发领域中的核心概念,它们在现代软件工程中起着至关重要的作用。面向对象编程思想的引入,使得复杂系统的构建变得更加模块化、可维护和可扩展。UML作为...

    OOAD与UML资料和笔记.zip

    **OOAD(面向对象分析与设计)与UML(统一建模语言)是软件开发领域中的核心概念,尤其在大型复杂系统的设计与实现中扮演着重要角色。** **面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)**是一...

    OOAD与UML学习资料

    ### OOAD与UML核心知识点解析 #### 面向对象概念与方法的理解与掌握 面向对象(Object-Oriented,简称OO)是一种强大的系统建模技术,它以对象为核心,将现实世界中的实体抽象为类,从而进行系统的设计与编程。...

    OOAD与UML(ppt)

    **OOAD(面向对象分析与设计)与UML(统一建模语言)是软件开发领域中的核心概念,尤其在大型复杂系统的设计与实现过程中扮演着重要角色。** 面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)是一...

    OOAD与UML笔记

    UML基础介绍1.UML的定义统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素、构建模块、分析过程并可通过文档说明系统中的重要细节2.OOADOOAD是根据OO的方法学,对软件系统进行分析和设计...

    OOAD 与 UML 简介.ppt

    第1章 OOAD 和UML 简介 第2章 用例图 第3章 类图 第4章 动态模型 第5章 案例分析

    Ooad_uml 与xml 串讲

    Ooad_uml 与xml 串讲 Ooad_uml 与xml 串讲 Ooad_uml 与xml 串讲

    OOAD and UML

    # OOAD(面向对象分析与设计)与UML(统一建模语言) 面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件开发过程中的一种方法,它强调以对象为中心来理解和表达系统的需求,通过分析和...

    OOAD&&UML(中文).pdf

    ### OOAD与UML知识点详解 #### 一、软件开发的复杂性 软件开发是一项复杂的工程活动,涉及多个层面的问题。这些复杂性主要包括但不限于以下几个方面: - **需求模糊性**:用户往往很难清晰准确地表达自己的需求。...

    OOAD+UML学习笔记

    对OOAD和UML指导思想的基本概述,欢迎大家下载学习,也希望各位继续完善

    UML和OOAD快速入门-第5章

    第5章-- UML和OOAD快速入门

    OOAD & UML.rar

    **UML(统一建模语言)是面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)的重要工具,用于软件开发中的可视化建模。本资料“OOAD & UML.rar”包含英文PPT,提供了丰富的学习资源,旨在帮助理解和...

    面向对象分析与UML建模

    “2OOAD与UML”可能是本书或者课程的名称,它将深入讲解面向对象分析和设计的原理,以及如何使用UML进行建模。"其他资料(必看).rar"可能包含补充材料,如案例研究、练习题或工具指南。"视频链接.txt"可能提供了一些...

    OOAD+UML 学习笔记

    ### OOAD+UML 学习笔记 #### 面向对象的基本概念 面向对象(Object-Oriented Analysis and Design, OOAD)是一种软件工程方法论,它将面向对象的思想应用于软件开发过程中,以提高软件的灵活性、可复用性和可维护...

    OOAD_WITH_UML_Question_Bank

    在《OOAD_WITH_UML_Question_Bank》这一题目中,主要涉及的是面向对象分析与设计(OOAD)以及统一建模语言(UML)的基础概念与应用。通过一系列的选择题、填空题和判断题等形式,对OOAD与UML的基本概念进行了考察。...

    OOAD & UML

    通过以上内容的介绍,我们可以看到面向对象分析与设计(OOAD)及统一建模语言(UML)在软件开发过程中的重要作用。它们不仅能够帮助开发者更好地理解问题域,还能指导他们设计出高质量的软件系统。

    OOAD面向对象编程

    ### OOAD与UML **OOAD**(面向对象分析与设计)是一种系统化的方法,用于分析、设计和实现基于对象的软件系统。它包括两个主要阶段:**OOA**(面向对象分析)和**OOD**(面向对象设计)。OOA专注于理解问题域,识别...

Global site tag (gtag.js) - Google Analytics