UML系统分析与设计---绪论(一)谭煌教材《UML系统分析与设计教程》作者:翼振燕出版社:人民邮电出版社课程内容统一建模语言UML面向对象分析与设计的方法(RUP)实践为什么需要UML?面向过程还是面向对象我对面向对象编程的目标从来就不是复用。相反,对我来说,对象提供了一种处理复杂性问题的方式。这个问题可以追溯到亚里士多德:您把这个世界视为过程还是对象?在面向对象星期运动之前,编程以过程为中心,例如结构化设计方法。然而,系统已经达到了超越其粗粒能力的复杂性几点。有了对象,我们能够通过提升抽象级别来构建更大的,更复杂的系统—我认为,这才是面向对象编程运动的真正胜利。------GradyBooch于2004年IBMDeveloperWorksLive比掌握具体的技术更重要的是掌握认识论所采用的方法和分析过程!为什么需要UML?面向过程方法特点世界是由一个个相互关联的小系统组成的每个小系统都有名且的开始和明确的结束,开始和结束之间有着严谨的因果关系。分析过程描绘过程,定义因果关系通过结构化的设计方法,将过程细化,形成可以控制的,范围较小的部分为什么需要UML?传统的商业分析过程为什么需要UML?计算机通过数据记录这个过程的变迁。过程中每一步都会产生、修改或读取一部分数据。每一个环节完成后,数据将顺着过程链传递到下一部分。当我们最终结果在数据中被反映出来,即达到预期状态的时候,我们认为这个过程结束了。为什么需要UML?困难---当需求越来越复杂的时候系统越来越庞大,功能点越来越多,一份数据经常被多个过程共享,这些过程对同一份数据的创建和读取要求越来越趋于复杂和多样,经常出现相矛盾的数据需求,分析和设计将变得越来越困难。UC矩阵是解决这个问题的好办法为什么需要UML?UC矩阵没有从根本上解决这个问题本质问题出在认识论上.将世界视为过程的这个方法本身蕴含着一个前提假设,即这个过程是稳定的,这样我们才有分析的基础,所有的工作都依赖于对这个过程的步步分析。同时,这种步步分析的过程分析方法还导致另一个结果,即过程中的每一步都是预设好的,有着严谨的因果关系。我们的这个世界从来都不是一成不变的!为什么需要UML?面向过程的困难为什么需要UML?表现:当需求经常发生改变时,面向过程方法会显得束手无策。原因:构成一个系统的因素太多,要把所有的因素都考虑到,把所有因素的因果关系都分析清楚,再把这个过程模拟出来实在是太困难了。但这并不表示面向过程是不正确的!解决方法:分解为什么需要UML?面向对象方法将世界看作一个个相互独立的对象,相互之间并无因果关系,只有在外部力量的驱动下,对象之间才会依据某种规律相互传递信息。这些交互构成了这个生动世界的一个“过程”。在没有外力的情况下,对象则保持着“静止”的状态。封装、聚合、继承、接口、多态对象间的交互为什么需要UML?当对象们被按规则组合起来以后,就能够表达预期的功能。现实世界就是这样组成的,平时看上去每个对象都互无关系,然而当他们按上图所示规则组织起来后,踩下刹车,汽车便乖乖停住。为什么需要UML?面向对象特点每个对象都只与有限的其他对象有关系每个对象不再需要从整个系统的角度来分析需要关心的只是与它有关系的那几个对象是的我们在分析对象的时候需要考虑的信息大大减少,从而简化了我们所面对的复杂程度。为什么需要UML?面向对象与面向过程方法的不同不再把世界看作是一个紧密关联的系统,而是看成一些相互独立的小对象,这些零件依据某种规则组织起来,完成一个特定的功能。过程并非这个世界的本源,过程是由通过特定规则组织起来的一些对象“表现”出来的。分析设计从过程分析变成了对象获取,从数据结构变成了对象结构。为什么需要UML?面向对象的困难对象是怎么被抽象出来的?(why)对象怎么组合才正好满足现实世界的需求,怎么判断组合的好和差?(how)给出一个对象组合,怎样才能理解其表达的含义?(what)为什么需要UML?我们需要什么一种把现实世界映射到对象世界的方法一种从对象世界描述现实世界的方法一种验证对象世界行为是否正确反映了现实世界的方法UML及其背后所代表的面向对象分析设计方法能帮我们解决上述问题。为什么需要UML?UML带来了什么什么是UMLUML是一种建模用的语言(不是编程语言),定义了一些建立模型所需要的、表达某种特定含义的基本元素(元模型);还定义了这些元素互相之间关系的规则(视图)。为什么需要UML?统一语言UML提供了一套在软件开发过程中的标准化语言。可视化为什么需要UML?从现实世界到业务模型建立模型:通过对客观事物建立一种抽象的方法,用来表征事物并获得对事物本身的理解,再把这种理解概念化,并将这些逻辑概念组织起来,形成对所观察的对象的内容结构和工作原理的便于理解的表达。人、事、物和规则人是一切的中心,人要做事,做事就会使用到物并产生物,同时做事需要遵循一定的规则。人驱动系统,事体现过程,物记录结果,规则是控制。为什么需要UML?UML怎样为现实世界建模参与者—人用例---事业务场景用例场景业务对象模型---物规则为什么需要UML?从业务模型到概念模型UML通过概念化过程来建立适合计算机理解和实现的模型,这个模型称为分析模型。原始需求分析模型计算机实现分析模型向上映射了原始需求,计算机的可执行代码可以通过分析模型追溯到元素需求;同时,分析模型向下为计算机实现规定了一种高层次的抽象,这种抽象是一种指导,也是一种约束,计算机实现过程非常容易遵循这种指导和约束来完成可执行代码的设计工作。为什么需要UML?UML中绘制分析模型的元素:边界类---事实体类---物、人控制类---规则为什么需要UML?从概念模型到设计模型为什么需要UML?面向对象的困难解决了吗统一过程RUPRUP是什么UML并不是一个方法,而是一种语言。归纳和集成了软件开发活动中的最佳实践定义了软件开发过程中最重要的阶段和工作定义了参与软件开发过程的各种角色和他们的职责定义了软件生产过程中产生的弓箭,并提供了模板采用演进式软件生命周期(迭代)将工作、角色和成果串在一起统一过程RUPRUP与UML设计工具Rationalrose2003作业举例说明面向过程分析方式与面向对象分析方式的差异。请简述UML和RUP是什么;他们有什么关系。KEEPOOINMIND!