Chapter 01-UML导论

上传人:仙*** 文档编号:243038390 上传时间:2024-09-14 格式:PPT 页数:51 大小:1.13MB
返回 下载 相关 举报
Chapter 01-UML导论_第1页
第1页 / 共51页
Chapter 01-UML导论_第2页
第2页 / 共51页
Chapter 01-UML导论_第3页
第3页 / 共51页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,*,第1章:,UML,导论,By,王传栋,南京邮电大学计算机学院软件工程系,Chdwang,课件下载:,ftp:/10.20.79.1,统一建模语言,统一建模语言(,Unified Modeling Language,,,简称,UML,),,一种通用的可视建模语言,用于说明、可视化、构造并文档化软件系统的体系结构。,常用工具软件,IBM Rational Rose,Microsoft Visio,StarUml(, By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,模型与建模,软件危机:,开发过程中出现的一系列问题,最终导致项目产品的开发失败,软件开发成本和进度难以控制,经常出现经费超预算、完成期限一再拖延的现象;,用户对“已完成的”软件系统不满意;,软件产品的质量不过关;,软件产品难以维护;,缺乏完整规范的文档资料,软件测试不充分;,软件成本过高;,软件生产率过低。,3,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,软件模型,软件项目的失败引发了对软件开发方法的研究,缺乏管理、简单的软件开发过程是项目失败的一个可能的原因,如何约束和管理软件的开发过程?,过程模型,提出了改进软件开发过程的建议,描述了软件开发涉及的阶段和阶段的执行次序,阶段产物,一个阶段结束的成果,并作为下一阶段开始的标志,4,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,软件模型,简单的过程模型,需求分析后,直接进入代码编写阶段,仅适用于简单的项目开发,5,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,软件模型,稍复杂的过程模型,增加一个阶段,通过,结构图,来刻画软件的总体功能和模块划分,并强调模块之间的调用关系。,模型(,结构图,),软件设计的中心,阐述系统体系结构,忽略底层实现细节,有助于处理重大软件开发中的复杂性,6,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,软件模型,其他更为复杂的过程模型,瀑布模型,演化模型,螺旋模型,增量(迭代)模型,软件的生命周期,7,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,分析阶段,开发人员寻求从他们自己的角度来理解问题,没有考虑技术问题,确认需求的可靠性,按优先次序排列需求,生成并评估备选方案,与管理人员评审推荐方案,回答:要解决问题,必须完成哪些工作?,8,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,分析模型,分析模型,需求分析阶段的产物,面向应用领域,描述用户的需求,包括应用数据和处理数据的业务过程,并以此需求为标准,验收开发完成的软件产品。,奠定设计工作的基础,但不涉及待开发系统的任何特性,力求捕捉现实世界的业务特性,工具:,ER,图,表达,数据模型,数据流图,表达,功能模型,状态转换图,表达,行为模型,9,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,分析模型,分析模型结构,核心是数据字典,它描述软件使用或产生的所有数据对象。,“,ER,图” ,用于数据建模;“数据对象描述”描述“,ER,图”中出现的对象属性。,“数据流图”,用于功能建模;“处理规格说明”描述“数据流图”中的每个功能,“状态转换图” 用于行为建模;“控制规格说明”描述“状态转换图”中的软件控制信息。,10,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,设计阶段,设计应用程序体系结构,设计用户界面,设计并集成数据库,用于设计详细资料的原型,设计并集成系统控件,如何满足需求,设计阶段规定系统:如何满足需求规范中所确定的分析需求,回答:应该使用那些技术?应如何解决问题?,11,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,设计模型,创建支持分析模型中规定的特性和要求的结构。,设计模型,体系结构设计,:确定软件的主要结构元素(构件)之间的关系。,数据设计,:把分析阶段创建的信息域模型转变成软件实现所需要的数据结构。,接口设计,:描述软件内部、软件与协同系统之间、软件与用户之间的通信方式。接口意味着信息流(数据流和控制流)。,过程设计,:把软件体系结构中的结构元素,变换成对软件构件的过程性描述。,12,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,分析模型与设计模型的关系,软件设计必须依据软件需求来进行:,分析模型的每个元素都为设计模型提供最基本的输入信息,。,数据模型定义的,数据对象和关系,,以及,数据字典,和,数据对象描述,中给出的详细数据内容,为数据设计奠定了坚实的基础;,功能模型定义的,子系统交互,,导出软件的模块框架;,功能模型为接口设计提供了所必须的信息;,行为模型中的,处理规格说明,、,控制规格说明,和,状态转换图,为过程设计提供了基础。,13,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,分析模型与设计模型的关系,根据数据模型、功能模型和行为模型表示的软件需求,设计者采用适当的方法完成数据设计、体系结构设计、接口设计和过程设计。,14,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,分析模型与设计模型的关系,设计的实质,执行一个对分析模型的翻译过程,是对分析模型包含信息的重新阐述,传统的结构化思想,两种模型采用完全不同的语言和表示法,问题:,易出错,费时耗力,信息过渡不完全,15,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,分析模型与设计模型的关系,面向对象的软件过程,分析和设计采用相同的模型和建模概念,以消除分析模型和设计模型之间的差别。,分析模型:表达系统的结构和功能,设计模型:突出系统的底层细节,但也能识别出分析模型表达的系统结构。,分析与设计两个阶段之间实现“无缝”的过渡。,模型的表达工具,UML,16,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,方法学,一种指导软件系统开发的策略或方法,正确的,错误的,指导软件开发,定义有助于系统开发的若干模型,模型抽象的描述系统的特定方面,不会过早地涉及底层细节,定义描述模型、形成文档的一组规范表示方法,定义软件开发中包含的各种不同的活动,并制定执行这些活动的次序,活动和次序共同定义为一个,开发过程模型,。,17,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,方法学,结构化的方法学,也称为生命周期方法学或结构化范型,以,结构化分析、结构化设计、结构程序设计和结构化测试,等技术来完成软件开发的各项任务,使用适当的软件工具或软件工程环境来支持结构化技术的运用,常用的过程模型,瀑布模型,演化模型,螺旋模型,增量(迭代)模型,18,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,方法学,面向对象方法学,“对象类继承消息机制”,以对象来融合数据及数据上操作行为,通过分析系统内对象的交互来描述或建模系统,以类的形式来组织对象,数据做为静态属性反映对象的状态,数据之上的操作反映对象的动态行为,以继承关系,组织一种层次结构(父类和子类),以消息传递实现对象的交互联系,常用模型,统一过程,喷泉模型,19,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,面向对象的系统分析,OOA,建立准确而简洁的软件系统的对象模型,依照,用户对真实世界中,对象和概念,的理解,发现和分析对象的,内部构成和外部关系,准确而简明的,问题域模型,(,Domain Model,),确定实体之间的相应特性、相互作用和关系,优点:,现实世界到计算机分析的自然对应关系,20,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,面向对象的系统设计,OOD,:根据已建立的系统对象模型,运用面向对象技术,进行软件设计,程序是以相互,协作的对象集,合组织的,OOD,是为了适,应,OOA,阶段,的结果,定义类的职责、,操作、属性和,关系,OOP:,编程实现,21,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,面向对象的系统分析设计优点,实际问题与实现的对象与实际问题之间紧密配合,促进重用对象,由于可重用对象,从而减少错误和维护问题,重用对象还加速设计和开发过程,要求符合人类的认知原理(因为这是自然的思维方式),强化数据封装,这有助于解决一些与数据有关的开发和维护问题,降低软件开发的复杂性,辅助生成可修改且具有恢复能力的软件系统,22,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,统一建模语言,UML,的概念范围,UML,定义了一套建模语言,UML,是一种对软件系统进行规约、构造、可视化和文档化的语言,UML,也致力于并发分布式系统和实时系统的建模,UML,的概念模型分为静态结构,动态行为,实现构造模型组织和扩展机制等部分,UML,的概念和模型划分为视图、图和模型,23,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,模型,在软件开发的各个阶段,站在不同的抽象层次上,利用不同的,UML,模型对系统进行刻画,不同的模型由不同的视图和模型元素来刻画,24,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,模型,模型是对现实的简化,,为系统提供蓝图,模型可能包含详细的计划,好的模型所包含的,元素具有广泛的抽象,有助于如实或根据实际需要,视觉化系统,模型允许指定,系统的结构或行为,模型提供引导,构建系统的模板,模型记录了,已经作出的决定,25,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,创建模型的原理,选择创建什么样的模型,对如何解决问题和如何形成解决方案具有深刻影响,单个模型是无法满足要求的,完美的系统是通过一系列近乎独立的模型,以最合理的方式组合实现的,每一种模型可以在不同的精度级别上表示,最佳模型与现实世界是紧密相连的,26,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,模型元素,UML,构成,27,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,事物(,thing),,也称元素,模型中最具代表性成分的抽象,结构事物(,Structural Thing),类(,class),接口(,interface),协作(,collaboration),用例(,use case),主动类(,active class),构件(,component),节点(,node),28,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,事物(,thing),,也称元素,模型中最具代表性成分的抽象,行为事物(,Behavioral Thing),交互(,interaction),状态机(,state machine),分组事物(,Group Thing),包(,package),注释事物(,Annotational Thing),注释(,note),29,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,关系(,relationship),关联(,association),泛化(,generalization),实现(,realization),依赖(,dependence),30,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图(,diagram),UML,定义了9种不同类型的图,用例图:演示系统与用户的交互,对象图:演示对象和链接,顺序图:展示系统与其环境之间的交互,描述系统行为 的简单而直观的方法,协作图:表示特定环境和交互中一系列关联的对象,类图 :演示系统的逻辑结构,状态图:演示对象行为,活动图:是状态图的变更或特例,构件图:演示软件的物理结构,部署图:展示软件与硬件配置间的对应关系,31,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,公共机制,规范说明(,specification),元素语义的文字描述,用来描述细节,修饰(,adornment),对标准的表示符号增加细节描述,通用划分(,common division),类和对象,接口和实现,扩展机制(,extensibility mechanism),版型(,stereotype):,根据已有的元素修订新元素,标记值(,tagged value):,模型元素附加的命名信息,约束(,constraint):,语言文字描述的语义机制,32,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,视图,用例视图,定义系统的功能需求和外部行为,是用例驱动软件开发的中心,设计视图,定义支持功能需求的逻辑结构,即实现系统功能的细节,主要由类、类所持有的数据、类的行为以及类之间的交互说明等构成,实现视图,描述构造系统的物理构件,如可执行文件、代码库和数据等与配置管理和系统集成有关的信息。,33,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,视图,进程视图,说明系统中并发执行和同步情况,部署视图,描述物理构件,如何在系统运,行的实际环境,中分布,注:两者描述系统的非功能性需求,如容错性、性能等。,34,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,借阅者用例图,35,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,类图,36,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,图书状态图,37,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,借阅者状态图,38,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,借阅者活动图,39,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,图书管理员的活动图,40,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,借阅者查找图书顺序图,41,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,借阅者查找图书协作图,与顺序图等价,42,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,系统构件图,43,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,图例,系统部署图,44,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,视图与图的关系,5视图与9种图,45,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,设计模型和代码,模型与代码的关系,46,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,用例驱动的软件开发过程,过程模型,47,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,习题 1.1,一种可能的过程模型,48,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,习题 1.2,一种可能的过程模型,49,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,习题 1.3,正如题干指出,必须区分以下点,使用,UML,符号描述软件系统,使用,UML,符号支持开发过程,UML,以及类似的符号和语言,已演变为支持开发,若不参照在开发过程中的使用,这些符号就无法理解,因此结合各种符号的典型使用,可以帮助学习,UML。,另一方面,图的含义也不取决于它们在设计过程中的使用。图文档化软件系统的某个特性,而不是软件系统的开发过程。在软件开发过程中,重要的是,UML,符号的理解,而不是,UML,符号的使用。,UML,在设计过程中的作用是协助设计者得出 “结构合理”的设计。如同编程语言一样,了解语言的语法并不意味着程序员能够写出简洁、可维护性好且高效的程序,因为这不是语言本身的特性,问题在于语言能否得到最好的运用。对,UML,等设计语言也是如此,它只是高水平设计的一个工具。,50,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,习题 1.4,略,51,Copyright By Chd.Wang,E-Mail:Chdwang,njupt,.,edu,.,cn,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!