The oo Development Process Be consistency of terminology and of the problem and the solution were described in same terms: classes, objects methods attributes and behaviors Be consistency of perspective Static views dynamic views -Restrictions
The OO Development Process •Be consistency of – terminology –and of the problem and the solution were described in same terms : classes, objects methods, attributes, and behaviors. •Be consistency of perspective –Static views –Dynamic views –Restrictions
面向对象技术的优点 减弱“语义断层”,更好的刻画问题域,减 少了映射误差 稳定性好,控制变化性(客观世界中,实体 结构相对稳定) 便于复用 可维护性好,易于理解、测试、调试等 消除或减少了软件开发各个阶段的鸿沟 O0A→00D→0OP
面向对象技术的优点 • 减弱“语义断层”,更好的刻画问题域,减 少了映射误差 • 稳定性好,控制变化性(客观世界中,实体 结构相对稳定) • 便于复用 • 可维护性好,易于理解、测试、调试等。 • 消除或减少了软件开发各个阶段的鸿沟 – OOA→OOD→OOP
Tendency for Change when Using Oo Paradigm (Jacobson et al. 1995) Characteristic of software Probability for product/project change Objects derived from the application Low Long-lived information structures LOW Passive objects attribute Medium Sequences of behavior Medium Interface with the outside world High Functionality High
Tendency for Change when Using OO Paradigm (Jacobson et al. 1995) Characteristic of software product/project Probability for change Objects derived from the application Low Long-lived information structures Low Passive object’s attribute Medium Sequences of behavior Medium Interface with the outside world High Functionality High
面向对象技术的一些概念 抽象性 Abstraction 对象 Object 类 Class 消息 Message 面向对象技术 继承性 Inheritance 封装性 Encapsulation 多态性 Polymorphism 重载 Overloading
面向对象技术的一些概念 • 抽象性 Abstraction • 对象 Object • 类 Class • 消息 Message • 继承性 Inheritance • 封装性 Encapsulation • 多态性 Polymorphism • 重载 Overloading 面向对象技术