软件设计与体系结构设计原则设计模式.pptx
11计算器第1页/共40页22计算器第2页/共40页33计算器第3页/共40页44Windows计算器 要求写一个要求写一个Windows的计算器,代码可否的计算器,代码可否复用?复用?第4页/共40页55Windows计算器Operation运算类第5页/共40页66Windows计算器Operation运算类第6页/共40页77Windows计算器客户端代码第7页/共40页88Windows计算器加一个开根号运算加一个开根号运算修改修改Operation类类第8页/共40页99Windows计算器维护薪资管理系统 技术人员月薪 市场销售人员底薪+提成 经理年薪+股份增加:兼职工作人员时薪第9页/共40页1010Windows计算器Operation运算类第10页/共40页1111Windows计算器加减乘除类第11页/共40页1212Windows计算器加减乘除类第12页/共40页1313Windows计算器如何让计算器知道希望用哪种计算方式呢?如何让计算器知道希望用哪种计算方式呢?第13页/共40页1414简单工厂模式简单运算工厂类第14页/共40页1515简单工厂模式简单运算工厂类第15页/共40页1616简单工厂模式客户端代码第16页/共40页1717要修改加法运算?要修改加法运算?简单工厂模式增加复杂运算?增加复杂运算?修改界面?修改界面?第17页/共40页1818简单工厂模式第18页/共40页1919UML概述UML的三位主要奠基人,被称为“三友”(three amigos),UnifiedG.Booch 布奇 Booch方法J.Rumbaugh 兰博 OMT方法I.Jacobson 雅格布森 OOSE方法第19页/共40页2020UML概述第20页/共40页2121UML概述UML 2.0UML 2.0UML 1.2UML 1.2UML 1.1UML 1.1UML1.0UML1.0UML 0.9UML 0.9Unified MethodUnified Method0.80.8UML 1.3UML 1.3UML 1.4UML 1.4199519951995文档版类文档版类文档版类文档版类文档版类文档版类199619961996精华相关精华相关精华相关精华相关精华相关精华相关199719971997年年年年年年1 11月最月最月最月最月最月最初提交给初提交给初提交给初提交给初提交给初提交给 OMGOMGOMG199719971997年年年年年年9 99月最后月最后月最后月最后月最后月最后提交给提交给提交给提交给提交给提交给OMGOMGOMG199819981998199919991999 200020002000年年年年年年(计划的较小修订计划的较小修订计划的较小修订计划的较小修订计划的较小修订计划的较小修订)200120012001年年年年年年计划的重要修订计划的重要修订计划的重要修订计划的重要修订计划的重要修订计划的重要修订文字上的修改文字上的修改文字上的修改文字上的修改文字上的修改文字上的修改没有显著的技没有显著的技没有显著的技没有显著的技没有显著的技没有显著的技术变化术变化术变化术变化术变化术变化第21页/共40页2222软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一建模语言 UML(Unified Modeling Language)的出现。在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。UML概述第22页/共40页2323UML概述UML(Unified Modeling Language)是软件界第一个统一的建模语言,该方法结合了Booch,OMT,和OOSE方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。第23页/共40页2424UML概述它是一种标准的表示,已成为国际软件界广泛承认的标准。它是第三代面向对象的开发方法,是一种基于面向对象的可视化的通用(General)建模语言。为不同领域的用户提供了统一的交流标准 UML图。UML应用领域很广泛,可用于软件开发建模的各个阶段,商业建模(Business Modeling),也可用于其它类型的系统。第24页/共40页2525UML概述特点1.统一标准统一标准2.面向对象面向对象3.可视化、表示能力强可视化、表示能力强4.独立于过程独立于过程5.易掌握、易用易掌握、易用第25页/共40页2626UML概述UML的定义包括UML语义和UML表示法两个部分。1.UML语义:描述基于UML的精确元模型(meta-model)定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的表达方法所造成的影响。此外UML还支持对元模型的扩展定义。第26页/共40页2727UML概述2.UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准.。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。第27页/共40页2828UML概述UML基本构造块第28页/共40页2929UML概述UML基本构造块基本构造块事物关系图结构事物行为事物分组事物辅助事物关联关系依赖关系泛化关系实现关系用例图类图对象图构件图部署图用例类接口协作主动类组件节点状态机交互机包注释顺序图协作图状态图活动图第29页/共40页3030UML类图第30页/共40页3131类第一层:类的名称 抽象类则为斜体第二层:类的特性字段和属性第三层:类的操作方法或行为+public -private#protected第31页/共40页3232接口图矩形表示法:第一层:interface接口名称第二层:接口方法实现接口实现接口第32页/共40页3333接口图棒棒糖表示法:接口名称 在圆圈旁边接口方法 在实现类中出现第33页/共40页3434继承第34页/共40页3535实现接口第35页/共40页3636关联关系(association)第36页/共40页3737聚合关系(aggregation)第37页/共40页3838组合/合成关系(composition)第38页/共40页3939依赖关系(dependency)第39页/共40页