编辑: xiong447385 | 2016-07-05 |
uml.org.cn 学习目标 ? 理解与掌握面向对象的概念与方法 ? 使用UML ? 完成面向对象的分析与设计工作 ? 了解OO的设计原则及一些典型的设计模式 北京火龙果软件工程技术中心 www.uml.org.cn 课程结构 OOAD概述 UML 需求 与初始分析 分析阶段 的静态建模 分析阶段 的动态建模 OO设计 原则与模式 设计阶段 的静态建模 概念介绍 分析阶段 设计阶段 设计阶段 的动态建模 系统设计 北京火龙果软件工程技术中心 www.uml.org.cn 课程目标 ? 理解面向对象程序设计的概念 ? 描述面向对象程序设计的特点 ? 列举在迭代、递增软件生命周期中的主要阶段及工作流 ? 列举UML的基本图形与元素 ? 了解如何收集与整理需求 ? 标注对象模型与类 ? 定义类的行为,使用多态与其它设计技术 ? 标注与分析动态模型 ? 定义类的属性、操作与关系
2 北京火龙果软件工程技术中心 www.uml.org.cn 课程目标 ? 理解OO的设计原则 ? 掌握一些基本的设计模式 ? 了解如何定义与划分系统 ? UML软件工程组织 Evolve by case Module 1:OOAD概述 北京火龙果软件工程技术中心 www.uml.org.cn 学习目标 ? 描述面向对象的概念 ? 描述面向对象的分析阶段与设计阶段的差别 ? 描述软件开发的一些传统方式 ? 解释迭代、递增的项目开发生命周期 ? 标注并列举系统开发过程中各阶段所涉及的工作流 北京火龙果软件工程技术中心 www.uml.org.cn 什么是面向对象? ? 面向对象( Object-Orientation ,简称OO)是一种系统建模技 术?面向对象编程( Object-Orientation Programming,简称OOP) 是按照OO的方法学来开发程序的过程 ? 通过分析系统内对象的交互来描述或建模一个系统 ? 交互的对象最终以类的形式组织 ? OO的方法由三部分组成 ― 过程 ― 标识 ― 规则
3 北京火龙果软件工程技术中心 www.uml.org.cn 对象 ? 是一个客观存在的、唯一的实体 ? 是面向对象编程过程中分析与解决问题的出发点与基础 ? 拥有自己的标识、数据与行为 ? 可以简单或复杂 ? 可以抽象或具体 ? 在OOP中是一个类的动态实例 ? 如Student――id,name,age(attributes) ――setName,getName,countScore(methods) ――new Student() 北京火龙果软件工程技术中心 www.uml.org.cn 类?类是对象的模板 ? 对象通过类实例化产生 ? 一个类可以创建多个对象 class1 obj1 obj3 obj2 北京火龙果软件工程技术中心 www.uml.org.cn OOAD ? OOAD是根据OO的方法学,对软件系统进行分析和设 计的过程 ―― OOA 分析阶段 ―― OOD 设计阶段 北京火龙果软件工程技术中心 www.uml.org.cn 定义OOA阶段 ? 分析阶段主要解决以下问题 ―― 建立针对业务问题域的清晰视图 ―― 列出系统必须要完成的核心任务 ―― 针对问题域建立公共词汇表 ―― 列出针对此问题域的最佳解决方案 ? 此阶段要解决的核心问题是 What to do?
4 北京火龙果软件工程技术中心 www.uml.org.cn 定义OOD阶段 ? 设计阶段主要解决以下问题 ―― 如何解决具体的业务问题 ―― 引入系统工作所需的支持元素 ―― 定义系统的实现策略 ? 此阶段要解决的核心问题是 How to do? 北京火龙果软件工程技术中心 www.uml.org.cn OOP的主要特征 ? 抽象(abstract) ? 封装(encapsulation) ? 继承(inheritance) ? 多态(polymorphism) ? 关联(association) ? 聚合(aggregation) ? 组合(composition) ? 内聚与耦合(cohesion &