360 likes | 493 Views
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 面向对象 总结. . . .
E N D
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 • 面向对象 • 总结
早期软件开发过程 • Software Development • 项目管理、需求分析、质量保证、维护等 • 设计、实现 • 通常的过程
需求说明: • 软件要做什么, 非正式描述,与未来的用户一起准备,正式合同的基础, • 常作为软件开发的起点 • 形式 • 非正式的大纲informal outline • 高度详细和结构化的功能说明 • 程序员非正式的理解 • 原型系统(与未来用户一起开发) • 适合于simple program, single programmer • 数据和子程序结构在程序员脑子中
Structure chart: • 系统结构特定方面的抽象视图 • 整个程序功能分解为多个子程序(subroutine)以及子程序之间的调用关系 • 这种功能的文档称为模型(Model)
模型的作用 • 整个系统太复杂,难以一下子抓住,通过模型简洁地描述系统某个方面an abstract view of important aspects of the system • 交流。(项目组成员之间,与客户) • 将系统体系结构归档
Architecting a dog house Can be built by one person Requires Minimal modeling Simple process Simple tools
Architecting a house Built most efficiently and timely by a team Requires Modeling Well-defined process Power tools
Early architecture Progress - Limited knowledge of theory
Modern architecture Progress - Advances in materials - Advances in analysis
模型的分类 • 分类:根据从何种角度来理解和描述系统的结构 • Structured Methods:包括结构化分析,结构化设计等 • 通常用data flow diagram描述数据如何经过各个处理流程 • 适于关系数据库设计(大量数据,数据的处理可由数据之外的函数处理) • Object-oriented Methods: 将数据和函数统一 • 建议迭代、增量(iterative, incremental)开发 • Example: UML
模型和语言 • Language • UML主要是遵循精确语法的图形语言 • 模型Model+表示法Notation • Model: 表示系统的结构 • 设计系统时可以在高层进行讨论, • 而不用太早进入代码的细节 • Notation: 以图表将模型文档化
UML概念 • Unified • 组合了当前最好的面向对象软件建模方法 • Grady Booch, James Rumbaugh, and Ivor Jacobson,UML三位主要贡献者 • 1. OMT (James Rumbaugh) • 2. The Booch method (Grady Booch) • 3. OOSE (Ivar Jacobson)
outline • UML 概念 • What is a Model • 面向对象 • 总结
面向对象大师简介 Grady Booch Ivar Jacobson James Rumbaugh
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
面向对象的历史 • 1960年 - 70年代 • COBOL, FORTRAN, C • 结构化分析和设计技术 • 1980年 - 1990年前 • Smalltalk, Ada, C++, Visual Basic • 早期面向对象生成(代码)方法 • 1990年中晚期 • Java • UML • Unified Process
分析模型Analysis models • 描述应用领域 • 设计模型Design models • 描述软件系统(如Structure chart) • 面向对象技术分析模型和设计模型之间使用相同的模型和建模概念,解决从分析阶段到设计阶段的过渡问题,防止不一致
outline • UML 概念 • What is a Model • 面向对象 • 总结
总结 • UML是一种语言 • 遵循特定的规则 • 允许创建各种模型 • 并不告诉设计者需要创建哪些模型 • 并不提供开发过程 • UML是可视化语言 • UML是图形化语言 • 图形便于交流(一幅图抵上千文字) • UML是用于构造系统或理解系统的语言 • UML既支持正向工程,又支持反向工程
总结 • UML是文档化语言 • 将所建造的系统记录下来 • 便于新程序员跟进 • 开发产品新版本时很有用处
结构建模: • 类图 • 对象图 • 行为建模 • 用例图 • 交互图(顺序图、协作图) • 活动图 • 状态图 • 体系结构建模 • 构件图 • 实施图
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