1、1.2 UML概念、历史简介xx复旦大学软件学院1谢谢欣赏2019-7-8outlineUML 概念What is a Model面向对象总结2谢谢欣赏2019-7-8outlineUML 概念What is a Model面向对象总结3谢谢欣赏2019-7-8UML概念UML Unified Modeling Language.Modelingl用于表达现实的简化视图,以便于面向对象软件系统的设计与实现4谢谢欣赏2019-7-8outlineUML 概念What is a Model面向对象总结5谢谢欣赏2019-7-86谢谢欣赏2019-7-87谢谢欣赏2019-7-88谢谢欣赏2019-
2、7-8早期软件开发过程早期软件开发过程 Software Developmentl项目管理、需求分析、质量保证、维护等设计、实现l 通常的过程通常的过程 9谢谢欣赏2019-7-8需求说明:l软件要做什么,非正式描述,与未来的用户一起准备,正式合同的基础,l常作为软件开发的起点形式l非正式的大纲informal outlinel高度详细和结构化的功能说明l程序员非正式的理解l原型系统(与未来用户一起开发)适合于simple program,single programmerl数据和子程序结构在程序员脑子中10谢谢欣赏2019-7-8更复杂的过程更复杂的过程 11谢谢欣赏2019-7-8Stru
3、cture chart:l系统结构特定方面的抽象视图l整个程序功能分解为多个子程序(subroutine)以及子程序之间的调用关系l这种功能的文档称为模型(Model)12谢谢欣赏2019-7-8模型的作用模型的作用整个系统太复杂,难以一下子抓住,通过模型简洁地描述系统某个方面an abstract view of important aspects of the system交流。(项目组成员之间,与客户)将系统体系结构归档13谢谢欣赏2019-7-8Architecting a dog house Can be built by one personRequiresMinimal mode
4、lingSimple processSimple tools14谢谢欣赏2019-7-8Architecting a houseBuilt most efficiently and timely by a teamRequiresModelingWell-defined processPower tools15谢谢欣赏2019-7-8Architecting a high rise16谢谢欣赏2019-7-8Early architectureProgress -Limited knowledge of theory17谢谢欣赏2019-7-8Modern architectureProgre
5、ss -Advances in materials -Advances in analysis18谢谢欣赏2019-7-8Modeling a house19谢谢欣赏2019-7-8模型的分类分类:根据从何种角度来理解和描述系统的结构lStructured Methods:包括结构化分析,结构化设计等l通常用data flow diagram描述数据如何经过各个处理流程l适于关系数据库设计(大量数据,数据的处理可由数据之外的函数处理)lObject-oriented Methods:将数据和函数统一l建议迭代、增量(iterative,incremental)开发lExample:UML20谢
6、谢欣赏2019-7-8模型和语言LanguagelUML主要是遵循精确语法的图形语言l模型Model+表示法Notation Model:表示系统的结构l设计系统时可以在高层进行讨论,l而不用太早进入代码的细节Notation:以图表将模型文档化 21谢谢欣赏2019-7-822谢谢欣赏2019-7-8UML概念Unifiedl组合了当前最好的面向对象软件建模方法lGrady Booch,James Rumbaugh,and Ivor Jacobson,UML三位主要贡献者l1.OMT(James Rumbaugh)l2.The Booch method(Grady Booch)l3.OOSE
7、(Ivar Jacobson)23谢谢欣赏2019-7-8outlineUML 概念What is a Model面向对象总结24谢谢欣赏2019-7-8Grady Booch Ivar Jacobson James Rumbaugh25谢谢欣赏2019-7-8James Rumbaugh26谢谢欣赏2019-7-8UMLBoochUnified Method 0.8UML 1.0OMTOOSE/ObjectoryUML 0.9OOPSLA 95WWW-June 96 Beta version OOPSLA 96Submission to OMG,Jan 97Documentation Set
8、WWW Spec onlyOther methodsUML 1.1Submission to OMG,Sept 97OMG Vote,Oct 97UML 1.4Sep.2001UML 1.2,1.39899Mar.2003UML 1.5PresentUML 2.0Version 2.1.1.27谢谢欣赏2019-7-8面向对象的历史1960年-70年代lCOBOL,FORTRAN,Cl结构化分析和设计技术1980年-1990年前lSmalltalk,Ada,C+,Visual Basicl早期面向对象生成(代码)方法1990年中晚期lJavalUMLlUnified Process 28谢谢欣
9、赏2019-7-8分析模型分析模型Analysis modelsl描述应用领域描述应用领域设计模型设计模型 Design modelsl描述软件系统(如描述软件系统(如Structure chart)面向对象技术分析模型和设计模型之间面向对象技术分析模型和设计模型之间使用相同的模型和建模概念,解决从分使用相同的模型和建模概念,解决从分析阶段到设计阶段的过渡问题,防止不析阶段到设计阶段的过渡问题,防止不一致一致29谢谢欣赏2019-7-8outlineUML 概念What is a Model面向对象总结30谢谢欣赏2019-7-8总结UML是一种语言l遵循特定的规则l允许创建各种模型l并不告诉
10、设计者需要创建哪些模型l并不提供开发过程UML是可视化语言lUML是图形化语言l图形便于交流(一幅图抵上千文字)UML是用于构造系统或理解系统的语言lUML既支持正向工程,又支持反向工程31谢谢欣赏2019-7-8总结UML是文档化语言l将所建造的系统记录下来l便于新程序员跟进l开发产品新版本时很有用处32谢谢欣赏2019-7-8结构建模:l类图l对象图行为建模l用例图l交互图(顺序图、协作图)l活动图l状态图体系结构建模l构件图l实施图33谢谢欣赏2019-7-8Structure Modelinglclass diagramlobject diagramBehavior Modelingluse case diagramlinteraction diagram(Sequence diagram/collaboration diagram)lactivity diagramlstatechart diagramArchitecture Modelinglcomponent diagramldeployment diagram34谢谢欣赏2019-7-835谢谢欣赏2019-7-836谢谢欣赏2019-7-8