1 / 36

1.2 UML 概念、历史简介

1.2 UML 概念、历史简介. 徐迎晓 xuyingxiao@126.com 复旦大学软件学院. outline. UML 概念 What is a Model 面向对象 总结. outline. UML 概念 What is a Model 面向对象 总结. UML 概念. UML —— Unified Modeling Language. Modeling 用于表达现实的简化视图,以便于面向对象软件系统的设计与实现. outline. UML 概念 What is a Model 面向对象 总结. . . .

Download Presentation

1.2 UML 概念、历史简介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1.2 UML概念、历史简介 徐迎晓 xuyingxiao@126.com 复旦大学软件学院

  2. outline • UML 概念 • What is a Model • 面向对象 • 总结

  3. outline • UML 概念 • What is a Model • 面向对象 • 总结

  4. UML概念 • UML—— Unified Modeling Language. • Modeling • 用于表达现实的简化视图,以便于面向对象软件系统的设计与实现

  5. outline • UML 概念 • What is a Model • 面向对象 • 总结

  6.  

  7. 早期软件开发过程 • Software Development • 项目管理、需求分析、质量保证、维护等 • 设计、实现 • 通常的过程

  8. 需求说明: • 软件要做什么, 非正式描述,与未来的用户一起准备,正式合同的基础, • 常作为软件开发的起点 • 形式 • 非正式的大纲informal outline • 高度详细和结构化的功能说明 • 程序员非正式的理解 • 原型系统(与未来用户一起开发) • 适合于simple program, single programmer • 数据和子程序结构在程序员脑子中

  9. 更复杂的过程

  10. Structure chart: • 系统结构特定方面的抽象视图 • 整个程序功能分解为多个子程序(subroutine)以及子程序之间的调用关系 • 这种功能的文档称为模型(Model)

  11. 模型的作用 • 整个系统太复杂,难以一下子抓住,通过模型简洁地描述系统某个方面an abstract view of important aspects of the system • 交流。(项目组成员之间,与客户) • 将系统体系结构归档

  12. Architecting a dog house Can be built by one person Requires Minimal modeling Simple process Simple tools

  13. Architecting a house Built most efficiently and timely by a team Requires Modeling Well-defined process Power tools

  14. Architecting a high rise

  15. Early architecture Progress - Limited knowledge of theory

  16. Modern architecture Progress - Advances in materials - Advances in analysis

  17. Modeling a house

  18. 模型的分类 • 分类:根据从何种角度来理解和描述系统的结构 • Structured Methods:包括结构化分析,结构化设计等 • 通常用data flow diagram描述数据如何经过各个处理流程 • 适于关系数据库设计(大量数据,数据的处理可由数据之外的函数处理) • Object-oriented Methods: 将数据和函数统一 • 建议迭代、增量(iterative, incremental)开发 • Example: UML

  19. 模型和语言 • Language • UML主要是遵循精确语法的图形语言 • 模型Model+表示法Notation • Model: 表示系统的结构 • 设计系统时可以在高层进行讨论, • 而不用太早进入代码的细节 • Notation: 以图表将模型文档化

  20. UML概念 • Unified • 组合了当前最好的面向对象软件建模方法 • Grady Booch, James Rumbaugh, and Ivor Jacobson,UML三位主要贡献者 • 1. OMT (James Rumbaugh) • 2. The Booch method (Grady Booch) • 3. OOSE (Ivar Jacobson)

  21. outline • UML 概念 • What is a Model • 面向对象 • 总结

  22. 面向对象大师简介 Grady Booch Ivar Jacobson James Rumbaugh

  23. James Rumbaugh

  24. UML Version 2.1.1. Present UML 2.0 Mar. 2003 UML 1.5 Sep. 2001 UML 1.4 ’98~’99 UML 1.2,1.3 OMG Vote, Oct ‘97 UML 1.1 Submission to OMG, Sept ‘97 Submission to OMG, Jan ´97 UML 1.0 Beta version OOPSLA ´96 UML 0.9 WWW - June ´96 WWW Spec only Documentation Set Unified Method 0.8 OOPSLA ´95 Other methods OOSE/ Objectory Booch OMT

  25. 面向对象的历史 • 1960年 - 70年代 • COBOL, FORTRAN, C • 结构化分析和设计技术 • 1980年 - 1990年前 • Smalltalk, Ada, C++, Visual Basic • 早期面向对象生成(代码)方法 • 1990年中晚期 • Java • UML • Unified Process

  26. 分析模型Analysis models • 描述应用领域 • 设计模型Design models • 描述软件系统(如Structure chart) • 面向对象技术分析模型和设计模型之间使用相同的模型和建模概念,解决从分析阶段到设计阶段的过渡问题,防止不一致

  27. outline • UML 概念 • What is a Model • 面向对象 • 总结

  28. 总结 • UML是一种语言 • 遵循特定的规则 • 允许创建各种模型 • 并不告诉设计者需要创建哪些模型 • 并不提供开发过程 • UML是可视化语言 • UML是图形化语言 • 图形便于交流(一幅图抵上千文字) • UML是用于构造系统或理解系统的语言 • UML既支持正向工程,又支持反向工程

  29. 总结 • UML是文档化语言 • 将所建造的系统记录下来 • 便于新程序员跟进 • 开发产品新版本时很有用处

  30. 结构建模: • 类图 • 对象图 • 行为建模 • 用例图 • 交互图(顺序图、协作图) • 活动图 • 状态图 • 体系结构建模 • 构件图 • 实施图

  31. Structure Modeling • class diagram • object diagram • Behavior Modeling • use case diagram • interaction diagram(Sequence diagram/collaboration diagram) • activity diagram • statechart diagram • Architecture Modeling • component diagram • deployment diagram

More Related