面向对象开发基础与对象分析
面向对象开发基础和对象分析
1
主要内容
1 面向对象系统开发环境
➢ 1.1 信息系统分析与设计核心概念 ▲ ➢ 1.2 信息系统分析与设计步骤 ▲ ➢ 1.3 系统开发的类型及系统分析员角色 ➢ 1.4 系统开发方法的演变
2 面向对象导论
➢ 2.1 面向对象基本概念 ▲ ➢ 2.2 系统建模
2
1.1 信息系统分析与设计核心概念
10
2.1 面向对象基本概念(续二)
➢ 抽象(Abstract): 得到类和对象的方式,聚集于有关 的方面而忽略其他细节。
➢ 封装(Encapsulation): 将数据和行为隐藏在一个公 共的接口之后。
➢ 消息(Message): 从一个对象到另一个对象的信息传 递。
11
2.1 面向对象基本概念(续三)
➢ 如何有效地进行系统分析与设计?
分析
设计
充分应用和发挥分析与设计系统建模辅助工具
内含
返回
OOSAD的优点 OOAD的优点
15
注1.1:分析
分析
开发人员寻求从他们自己的角度来理解问题
没有考虑技术问题
确认需求的可靠性
面向对象分析
按优先次序排列需求 生成并评估备选方案 与管理人员评审推荐方案
面向对象系统分析
面向对象的系统分析和设计是指面向对象概念基础上的 分析与设计
例子
为 Susan Franks 创建 一份订单,订购一套舒 适的办公桌椅
`
系统的面向对象的方法 (从用户的实际顺时针 方向开始)
办公桌 #19874 将您自己添加至订单
产品对象:办公桌 编号:19874
这是新订单 134 的详细资料
新订单对象 编号:134 日期:03/04/2003
3
1.1 信息系统分析与设计核心概念(续)
➢ 统一建模语言(Unified Modeling Language, UML): 是 一种被广泛接受的表达面向对象系统设计的标准。
➢ 系统(System): 一组胜于业务运行的相互关联的过程, 为了某个目标而一直工作,并具有可识别的边界。
4
1.2 信息系统分析与设计步骤
安乐椅 编号:76532 请将您自己添加至订单
返回
客户对象:
Susan Franks 编号:386
西雅图,WA
客户 Susan Franks , 请将您自己作为一个客
户添加至订单
产品订单: 安乐椅
序列号:76532 18
注1.3.1:面向对象系统分析与设计例
领域概念
返回
Plane tailNumber
➢ 继承(Inheritance): 用来使更特殊的类包含更一般的 类的属性和操作的一种机制。
➢ 多态(Polymorphic): 实现相同接口的不同类或构件。
回顾OO概念: 对象、类 || 关联、聚合、组合 || 抽象、封装、消息 || 继承、多态
12
2.2 系统建模
➢ 系统建模(System Modeling): 创建一个系统的抽象。
来自TPS
管理信息系统
服务器
决策支持系统
20%20%
20% 20%20%
上个月的销售...
如果… 会怎样? 6
1.3 系统开发的类型及系统分析员角色(续)
分析
技术 管理
SA的四种技能
人际交往
典型招聘OOSA的广告
7
1.4 系统开发方法的演变
20世纪50、60年代 20世纪60年代后期
开发=编程 基于输入输出的方法
系统
用UML描述 系统模型
事务处理系统
抽象
POS 事务数据
服务器
13
思考: 假设你是一位SA
➢ 请解释一下如何理解OOSAD? ➢ 请描述一下系统分析与设计的主要步骤? ➢ 面向对象重要概念有哪些,如何理解?
14
注1:面向对象系统分析与设计概念
➢ 分析与设计的前提
充分了解组织目标、结构和过程 充分利用信息技术知识
领域概念 的可视化
-在面向对象编程 语言中的表示
public class Plane { private String tailNumber;
public List getFlightHistory() {...} }
19
注1.4:OOSAD的优点
返回
最大的优点在于创建更具模块 化的方法 - 帮助传递信息并降 低复杂性
的对象。
9
2.1 面向对象基本概念(续一)
➢ 关联(Association): 类的实例(或对象)之间的一种 关系或链接。
➢ 聚合(Aggregation): 对聚合体和它的部分之间的关系 建模的一种关联,其中聚合体称为整体。聚合是关系的 一种更强形式,没有部分,聚合体就没有意义。
➢ 组合(Composition): 聚合的一种更强的形式。没有 部分,聚合体就没有意义。没有聚合体,部分也没有意 义。
提供单个统一的方法
优点:在生命周期的每个阶 段使用相同的对象模块
➢ 面向对象系统分析与设计(Object-Oriented System Analysis and Design, OOSAD): 开发信息系统的一 种开发方法,开发和维护一个信息系统的过程。
➢ 系统分析员(System Analyst, SA): 对信息系统的分 析和设计负有最多责任的组织角色,是软件开发的核心 人物。
回答:要解决问题,必须完成哪些工作?
返回
16
注1.2:设计
设计
设计应用程序体系结构 设计用户界面
面向对象系统设计
设计并集成数据库 用于设计详细资料的原型 设计并集成系统控件 设计阶段规定系统如何满足需求规范中提到的系统分析阶
段确定的需求
返回
回答:应该使用那些技术?应如何解决问题?
17
注1.3:内含理解
立项 系统
是什么
怎么做
第一步 项目管理与计划
第二步 系统分析
第三步 系统设计
确定 项目
项目计划与 进度安排
界定 需求
逻辑 设计
描述需 求模型
给出总体设 计备选方案
任务
物理 设计
第四步 系统实现与运转
编码 测试 安装
维护
5
1.3 系统开发的类型及系统分析员角色
不同类型的信息系统
事务处理系统
POS 事务数据
20世纪70、80年代
系统开发生命周期方法 SDLC
结构化分析与设计方法
面向数据的方法
20世纪90年代 21世纪初
面向对象的方法
敏捷方法
…
关键成分
迭代和增量式开发方法
实现
8
统一软件开发过程方法(RUP)
2.1 面向对象基本概念
➢ 对象(Object): 封装了特性和行为的一个实体。 ➢ 类(Class): 一组共享相同的属性、操作、关系和语义