第九章-面向对象软件工程-简课件

上传人:无*** 文档编号:241655845 上传时间:2024-07-13 格式:PPT 页数:45 大小:262.50KB
返回 下载 相关 举报
第九章-面向对象软件工程-简课件_第1页
第1页 / 共45页
第九章-面向对象软件工程-简课件_第2页
第2页 / 共45页
第九章-面向对象软件工程-简课件_第3页
第3页 / 共45页
点击查看更多>>
资源描述
第九章面向对象软件工程第九章面向对象软件工程第二部分第二部分 现代软件工程现代软件工程软件工程的主要发展过程软件工程的主要发展过程1.601.60S S末末 提出提出SESE的思想和概念,出现的思想和概念,出现SPSP等;等;2.702.70S S 出现出现SASA、SDSD,程序设计方法学等;程序设计方法学等;3.803.80S CASES CASE等成为热点等成为热点,出现并流行出现并流行OOOO技术;技术;4.904.90S S OOOO等技术等技术成为热点和主流。成为热点和主流。OO技术基本思想技术基本思想:尽可能模拟人类习惯的思维方:尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。它不是从功能上和算世界解决问题的方法与过程。它不是从功能上和算法上考虑、而是从系统的组成上来分解问题。法上考虑、而是从系统的组成上来分解问题。传统软件开发方法存在的问题传统软件开发方法存在的问题1数据与功能(处理)分离数据与功能(处理)分离2软件可复用性差软件可复用性差(采用自顶向下分解方法)(采用自顶向下分解方法)3软件可维护性差(软件可维护性差(程序难以阅读程序难以阅读)4开发出的软件不能满足用户要求开发出的软件不能满足用户要求5不能满足大型软件系统开发的需要不能满足大型软件系统开发的需要面向对象技术的优点面向对象技术的优点1 与人类习惯的思维方式一致与人类习惯的思维方式一致2 稳定性好稳定性好3 软件可复用性好软件可复用性好4 较易开发大型软件产品较易开发大型软件产品5 可维护性好可维护性好面向对象软件工程面向对象软件工程(OOSE):OOA、OOD、OOP、OOT等等实例分析:个人图书管理系统实例分析:个人图书管理系统系统的需求描述需求描述:该系统应该能够将书籍的基本信息按计算机类、该系统应该能够将书籍的基本信息按计算机类、非计算机类分别建档,实现按书名、作者、类非计算机类分别建档,实现按书名、作者、类别、出版社等关键字的组合查询功能别、出版社等关键字的组合查询功能面向对象分析任务:面向对象分析任务:建立概念模型概念模型反映问题域静态关系建立动态模型动态模型反映系统行为建立概念模型(问题域建模)建立概念模型(问题域建模)目的:帮助理解问题域的各种概念、各种名词、以及它们之间的各种关系。方法:找到代表事物与概念的“对象对象”发现类发现类 确定类之间的关联确定类之间的关联 为类添加职责为类添加职责第一步:发现类第一步:发现类1、找到备选类:将需求描述中的所有名词及名词短语列出,得到备选类列表:系统系统 书籍书籍 基本信息基本信息 计算机类计算机类 非计算机类非计算机类 书名书名 作者作者 类别类别 出版社出版社 关键字关键字 2、决定侯选类、决定侯选类对备选类进行筛选,得到侯选类列表:书籍书籍 计算机类书籍计算机类书籍 非计算机类书籍非计算机类书籍借阅记录借阅记录 借阅记录列表借阅记录列表 书籍列表书籍列表第二步:确定类之间的关联第二步:确定类之间的关联1 1、确定类之间的层次关系、确定类之间的层次关系2 2、采用、采用UMLUML中的类图表示中的类图表示最初的最初的概念模型概念模型:书籍列表借阅记录书籍非计算机类书籍计算机类书籍借阅记录列表类和实例类和实例类(类(class)是所有有共同特征和信息结)是所有有共同特征和信息结构的对象集合构的对象集合一个对象是类的一个实例一个对象是类的一个实例类定义了对象的属性和操作类定义了对象的属性和操作实例定义了每一个对象的状态实例定义了每一个对象的状态类的类的关系关系关联(有向性)关联(有向性)泛化(即继承泛化(即继承)聚合(整体聚合(整体/部分)部分)依赖(从属依赖(从属)3、加上关联描述的概念模型、加上关联描述的概念模型对于较大的系统,可以将一些关联度大的部分对于较大的系统,可以将一些关联度大的部分类合成一个包,以便更好地抽象系统类合成一个包,以便更好地抽象系统书籍列表借阅记录书籍非计算机类书籍计算机类书籍借阅记录列表0*010*111第三步:为类添加职责第三步:为类添加职责类所维护的知识(成员变量属性)类能够执行的语句(成员方法)书籍列表新增()修改()查询()统计()借阅记录书号借阅人借阅时间书籍书号书名类别作者出版社定价非计算机类书籍计算机类书籍借阅记录列表打印()0*010*111三、三、UML(统一建模语言)统一建模语言)面向对象的分析与设计是从建模开始的,面向对象的分析与设计是从建模开始的,故建模语言一直是面向对象方法的一个故建模语言一直是面向对象方法的一个研究焦点。研究焦点。二十世纪二十世纪8080年代以来,相继出现了多种年代以来,相继出现了多种面向对象的建模语言,由于用户很难判面向对象的建模语言,由于用户很难判断和区别这些语言各自的优缺点和相互断和区别这些语言各自的优缺点和相互间的差别,故难以找到一种恰当的适合间的差别,故难以找到一种恰当的适合自己需要的建模语言。自己需要的建模语言。二十世纪二十世纪9090年代中期,三位世界著名的面向对年代中期,三位世界著名的面向对象技术专家象技术专家G.G.BoochBooch、J.J.RumbaughRumbaugh和和I.JacobsonI.Jacobson通力合作,在他们自己提出的通力合作,在他们自己提出的BoochBooch方法、方法、OMTOMT方法和方法和OOSEOOSE方法等三种方法的方法等三种方法的基础上,推出基础上,推出统一建模语言统一建模语言UML(Unified UML(Unified ModelingModeling Language)Language)。UMLUML结合了结合了BoochBooch,OMT,OMT,和和JacobsonJacobson方法的优方法的优点,统一了符号体系,并从其它的点,统一了符号体系,并从其它的软件工程软件工程方方法和工程实践中吸收了许多经过实际检验的概法和工程实践中吸收了许多经过实际检验的概念和技术。念和技术。UMLUML推出后迅速得到工业界和学术推出后迅速得到工业界和学术界的广泛支持,界的广泛支持,OMGOMG在在19971997年年1111月批准将月批准将UMLUML作为作为面向对象技术的标准建模语言面向对象技术的标准建模语言,成为,成为2020多多年来年来面向对象技术发展史上的重大里程碑。面向对象技术发展史上的重大里程碑。1997.11.17 1997.11.17 UMLUML被被OMGOMG接纳为标准接纳为标准 1997.9 1997.9 公布公布 UML1.1UML1.1 工业化工业化 1997.11997.1公布公布 UML1.0UML1.0 标准化标准化 1996.61996.6和和1996.10 1996.10 UML0.9&0.91UML0.9&0.91 OOPSLA95 Unified Method 0.8OOPSLA95 Unified Method 0.8 统统 一一 Booch93 OMT-2Booch93 OMT-2 分散的分散的 各部分各部分 其它方法其它方法 Booch91 OMT-1 OOSEBooch91 OMT-1 OOSEUML表示法表示法可视化图形建可视化图形建模语言模语言 采用图形表示法采用图形表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。UML提供了五类9种基本模型视图,用于支持从需求分析开始的软件开发全过程。UML的的9种基本模型图种基本模型图Use CaseDiagramsUse CaseDiagramsUse Case图图ScenarioDiagramsScenarioDiagrams协作图协作图StateDiagramsStateDiagrams组件图组件图ComponentDiagramsComponentDiagrams配置图配置图StateDiagramsStateDiagrams对象图对象图ScenarioDiagramsScenarioDiagrams状态图状态图Use CaseDiagramsUse CaseDiagrams时序图时序图StateDiagramsStateDiagrams类图类图活动图活动图模型库模型库UML的的9种基本模型图种基本模型图分成五大类:第一类:用例图用例图第二类:静态图静态图(类图、对象图)第三类:行为图行为图(状态图、活动图)第四类:交互图交互图(时序图、协作图)第五类:实现图实现图(组件图、配置图)UML的模型元素及表示的模型元素及表示类类对象对象状态状态结点结点包包构件构件关联关联泛化泛化聚合聚合依赖依赖9种模型图可以分为五类:种模型图可以分为五类:第一类是第一类是用例图用例图,从用户角度描述系统的功能,并,从用户角度描述系统的功能,并指出各功能的操作者。即展示系统外部的各类执行指出各功能的操作者。即展示系统外部的各类执行者与系统提供的各种用例之间的关系。者与系统提供的各种用例之间的关系。用例乘客乘客传感器传感器拖动装置拖动装置例如:电例如:电梯系统梯系统动作者动作者例:运输业务管理系统用例图例:运输业务管理系统用例图 电梯系统需求模型:电梯系统需求模型:UML用例图用例图第二类是第二类是静态图静态图,包括包括类图类图类图类图和和对象图对象图对象图对象图。其中。其中类图用于定义系统中的类的静态结构,包括描述类图用于定义系统中的类的静态结构,包括描述类之间的联系以及类的内部结构,即类的属性和类之间的联系以及类的内部结构,即类的属性和操作。对象图所使用的表示符号与类图几乎完全操作。对象图所使用的表示符号与类图几乎完全相同。一个对象图是类图的一个实例。相同。一个对象图是类图的一个实例。类名类名属性属性操作名操作名对象名:类名对象名:类名作者名字:String年龄:Integer计算机名字:String内存:Integer小影:作者名字=“王小影”年龄=3 2小影的家用PC:计算机名字=“Dell486”内存 =64小影的家用PC:计算机 名字=“Compaq X”内存 =3 2对象图类图图书系统静态模型:图书系统静态模型:UML类图类图书籍列表新增()修改()查询()统计()借阅记录书号借阅人借阅时间书籍书号书名类别作者出版社定价非计算机类书籍计算机类书籍借阅记录列表打印()0*010*111人人事事管管理理 行为图行为图第三类是第三类是行为图行为图,描述系统的动态组成,描述系统的动态组成对象间的交互关系。对象间的交互关系。状态图状态图:对类的一种补充描述,描:对类的一种补充描述,描述一类对象的所有可能的状态及其转移述一类对象的所有可能的状态及其转移关系。关系。活动图活动图:它描述为满足用例要求所它描述为满足用例要求所要进行的活动以及活动间的约束关系。要进行的活动以及活动间的约束关系。电梯系统的状态图电梯系统的状态图向第一层下降在第一层上升状态下降状态空闲状态超时 上升(楼层)上升(楼层)到达(楼层)到达(楼层)下降(楼层)运输业务系统需求模型运输业务系统需求模型运输业务系统需求模型运输业务系统需求模型 :UMLUML活动图活动图电梯系统电梯系统动态模型动态模型交互图交互图第四类是第四类是交互图交互图,描述对象之间的交互关,描述对象之间的交互关系。一种称之为系。一种称之为时序图时序图,它强调对象之间,它强调对象之间消息发送的顺序,同时也显示对象之间的消息发送的顺序,同时也显示对象之间的交互过程。另一种是交互过程。另一种是协作图协作图,它着重描述,它着重描述对象间的协作关系。二者很相似,如果强对象间的协作关系。二者很相似,如果强调时间和顺序,应当使用时序图;如果强调时间和顺序,应当使用时序图;如果强调通信关系,则可以选择协作图。调通信关系,则可以选择协作图。时序图时序图一个时序图显示了在一个时间序列中对一个时序图显示了在一个时间序列中对象的相互作用的安排象的相互作用的安排时序图时序图:Student注册流程注册流程 注册管理注册管理 课程课程1:填入信息填入信息2:提交提交3:增加课程增加课程(编号,名称编号,名称)4:打开课程打开课程?5:打开明细打开明细?6:增加增加(编号编号)7:增加增加(明细明细)课程明细课程明细 协作图协作图一个协作图显示了对象及其与其他对象一个协作图显示了对象及其与其他对象的链接间的相互作用的链接间的相互作用协作图协作图:Registrarcourse form:CourseFormtheManager:CurriculumManageraCourse:Course1:设置课程信息设置课程信息2:处理处理3:增加课程增加课程4:新课程新课程实现图实现图第五类是第五类是实现图实现图,包括,包括组件图组件图和和配置图配置图。组件图描述代码组件的物理结构以及各组件图描述代码组件的物理结构以及各组件之间的依赖关系。配置图定义系统组件之间的依赖关系。配置图定义系统中软硬件的物理体系结构。中软硬件的物理体系结构。组件图组件图组件图描述了软件部件之间的组织结构组件图描述了软件部件之间的组织结构和所属和所属组件可能是组件可能是源代码部件源代码部件实时部件实时部件可执行部件可执行部件组件图组件图CourseCourseOfferingStudentProfessorCourse.dllPeople.dllCourse课程课程User用户用户Register.exeBilling.exeBillingSystem支付系统支付系统配置图配置图配置图显示了实时处理单元和软件处理配置图显示了实时处理单元和软件处理的结构的结构配置图形象化地描述了企业各构件的物配置图形象化地描述了企业各构件的物理配置理配置配置图配置图Registration 注册处注册处Database数据库数据库Library图书馆图书馆Dorm宿舍宿舍Main Building主楼主楼UML工具软件工具软件SybasePowerDesigner-一个高端数据建模工具。ERWin-一个高端数据建模工具。RationalRoseEnterprise-一个高端UML工具,恰如其分的数据库建模支持。VisioProfessional-一个价格低廉的绘图工具,可用来生成数据模型、UML图等。企业版还支持针对各种数据库的双向工程能力。小结:小结:UML设计步骤设计步骤采用面向对象技术分析和设计系统时,采用面向对象技术分析和设计系统时,第一步第一步是描述需求;是描述需求;第二步第二步是根据需求建立系统的静态模是根据需求建立系统的静态模 型,以构造系统的结构;型,以构造系统的结构;第三步第三步是描述系统的行为。是描述系统的行为。其中第一步与第二步属其中第一步与第二步属静态建模静态建模,可用,可用UMLUML静静态视图中的用例图、类图、对象图、组件图和态视图中的用例图、类图、对象图、组件图和配置图表示;第三步属配置图表示;第三步属动态建模动态建模,可用,可用UMLUML动动态视图中的状态图、时序图、协作图和活动图态视图中的状态图、时序图、协作图和活动图表示。表示。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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