You are on page 1of 48

系统分析与设计

--上升到面向对象
--上升到面向对象

1
浙江大学软件学院

议程
系统分析设计方法演变
面向对象的优点
UML的统一
UML?
UML分析(建模)过程

2
浙江大学软件学院

系统(软件)
系统(软件)-现实业务映射到计算机

 硬件
 系统软件
 工作角色
 控制
 系统用户
 相关文档

3
浙江大学软件学院

系统分析师应具备的能力

 分析
• 理解业务
• 解决问题技巧
 技术
• UML
 管理
• 变更
• 风险
• 资源
 沟通
• 协调
• 交流

4
浙江大学软件学院

系统分析方法演变

5
浙江大学软件学院

系统分析方法演变
没有方法

6
浙江大学软件学院

系统分析方法演变
功能分解

7
浙江大学软件学院

系统分析方法演变
数据流法(结果化方法)

8
浙江大学软件学院

系统分析方法演变
信息建模法(ERD)

9
浙江大学软件学院

系统分析方法演变
用例驱动的面向对象方法

10
浙江大学软件学院

走向面向对象是必然

11
浙江大学软件学院

扬弃,
扬弃,不是否定

12
浙江大学软件学院

面向对象的优点
复用
 通过继承、关联、封装等手段
沟通
 开发人员、用户、管理人员
应变
 弹性应对需求变化
市场
 应付市场的变化
士气
 员工的士气

13
浙江大学软件学院

复用
硬件逼软件发展

14
浙江大学软件学院

复用

为什么用复用
 软件开发组越大,组
中每个成员的生产率
就越低。
Philippe kahn,Borand
公司创始人

15
浙江大学软件学院

复用
通过泛化和关联

16
浙江大学软件学院

复用
泛化形成框架

子类通过继承拥有超类的特征

17
浙江大学软件学院

复用
聚合形成生长

整体对象通过组装拥有分对象的特征
18
浙江大学软件学院

复用
封装
 隐藏内部实现,只保留接口,使得复用的可能
性和应变能力大大增加

19
浙江大学软件学院

沟通
机器语言
 0,1
汇编语言
 寄存器,内存
高级语言
 有意义的变

OO语言
量,函数

 提供描述现实
事物的能力

20
浙江大学软件学院

沟通

21
浙江大学软件学院

应变能力

面向对象分析
以稳定的问题
领域结构来封
装易变的部
分,以此形成
具有灵活性的
系统结构,使
得系统能够顺
应需求的变动。
减少变化引起的整理波动

22
浙江大学软件学院

市场
产品演化能力
软件变更的能力
抢占市场

23
浙江大学软件学院

市场
产品演化能力

为了促销…等需求,发布同一软件的不同应用版本

24
浙江大学软件学院

市场
软件变更能力

25
浙江大学软件学院

26

迭代增量开发,使你的产品
迅速推向市场
强占市场
市场
浙江大学软件学院

士气(1)
士气(

对技术十分敏感的行业

27
浙江大学软件学院

士气(2)
士气(

不是看你给我多少钱,而是看我能不能从中学到什么

28
浙江大学软件学院

士气(3)
士气(

大家会对未来充满信心,因为正在使用最新的技术

29
浙江大学软件学院

UML的统一
的统一(1)
UML的统一(1)
Jim Object Modeling
Rumbaugh Technique,简称OMT
Grady Booch 宏过程(Macro Process)和
微过程(Micro Process)
Ivar Jacobson Object-oriented software
engineering
Fusion Fusion
… …

90年代初,有一定影响的OOAD方法有50多种

30
浙江大学软件学院

UML的统一
的统一(2)
UML的统一(2)
没有统一的公式符合很难想象数学的发展。

31
浙江大学软件学院

UML的统一
的统一(3)
UML的统一(3)
没有五线谱,作曲家如何能精确表达自己
的灵感?

32
浙江大学软件学院

UML的统一
的统一(4)
UML的统一(4)
科学的一个普遍问题是,必须对被观测的
对象和情况,建立一种有意义的分类方
法,以便人们理解这些观测结果,也有助
于科学理论的持续发展
» Grady Booch

33
浙江大学软件学院

UML的统一
的统一(5)
UML的统一(5)

34
浙江大学软件学院

UML的统一
的统一(6)
UML的统一(6)

致力于并推动 UML 发展的一些重要公司有


 Hewlett – Packard
 Microsoft
 Oracle
 IBM
 Unisys

35
浙江大学软件学院

UML?(1)
你应该使用UML吗?一个字:是!旧的面
向对象符号正在快速地消逝。他们还会残
留在UML稳固前出版的书上面,但新的书、
文章等等会全部以UML作为符合。如果你
正在使用旧的符合,你就应该在1998年间
转到UML。如果你正要开始使用建模符
合,你就直接学习UML。
» Martin Fowler,1997

36
浙江大学软件学院

UML? (2)
元素
 用例
 类图


结构建模
对象图
 构建图
 部署图
 包图
 组合结构图
 序列图

行为建模
通信图
 状态图
 活动图
 交互概述图
 时间图
37
浙江大学软件学院

UML? (3)

“一图胜过千言万语”

38
浙江大学软件学院

UML分析
UML分析(
分析(建模)过程(1)
建模)过程(1)

直接编码?RUP?XP?SCRUM? DSDM?FDD?

39
浙江大学软件学院

UML分析
UML分析(
分析(建模)过程(2)
建模)过程(2)

利用UML20%就可以
为80%的问题建模

--《UML用户指南》

40
浙江大学软件学院

UML分析
UML分析(
分析(建模)过程(3)
建模)过程(3)

41
浙江大学软件学院

UML分析
UML分析(
分析(建模)过程(4)
建模)过程(4)

42
浙江大学软件学院

UML分析
UML分析(
分析(建模)
建模)过程

重要的是技能-传球、过人、抢断、射门

43
浙江大学软件学院

适用性

小项目使用吗?
网站项目适用吗?
只要有“卖”和
“制造”这些技

遗留项目适用吗?
术都适用

人机交互少的项目适用吗?
….

44
浙江大学软件学院

UML工具
UML工具
 http://www.umlchina.com/Tools/umltools.pdf

45
浙江大学软件学院

参考用书

46
浙江大学软件学院

用UML画图很容易,但知道要画什么是困难的

摆脱符合烦恼 全心面对问题

47
浙江大学软件学院

路在脚下

48

You might also like