OOAD 与传统设计分析相比优点 在实现的结果和实际问题之间存在一种很接近的 匹配关系 对象的重用加速了设计和开发的过程 符合人类认知的方式,因为这是我们自然的思考 方式 加强数据封装 有助于处理软件开发的复杂性 为维护中的系统提供优秀的可修改性、可扩展性、 模块化的软件系统
为什么要建模
建模是为了让我们更好地理解将要开发的系统。
复杂的软件系统
软件可能是人类制造出来的最复杂的实体
大师说:"没有不变 的需求,世上的软 件都改动过3次以上, 唯一一个只改动过 两次的软件的拥有 者已经死了,死在 去修改需求的路上。 "
软件开发的复杂性 软件开发的复杂性是软件设计与开发者的体 验。具体有:
很难精确把握用户的需求,开发过程中用户需 求总是不断变化,用户理解的软件研发与真实 研发的实际情况不同。 很难发现大型应用项目隐蔽着的复杂性。 人类本身处理复杂现象的能力有限。 很难预估 最终输出的执行效果及其是否能满足用户的期 望。 难以预测软件开发过程中可能遇到的问题。
import java.awt.Graphics; public class HelloUml extends java.applet.Applet{ public void paint(Graphics g){ g.drawString(“Hello Uml!”,10,10); } }
类HelloUml
WIndow Event
open() 语言意味着有标准的表达规则 close()
UML是蓝图
WIndow
º ¯ ·»
move() diaplay() handleEvent() × ª ¹ Á
UML是由图形符号表达的建模语言 例如,这是UML的一个模型图(图...) open() consoleWindow DialogBox close() 其上的图形符号是遵循给定的标准的 move() 例如:类: (图...)