软件工程——6.面向对象分析.ppt
《软件工程——6.面向对象分析.ppt》由会员分享,可在线阅读,更多相关《软件工程——6.面向对象分析.ppt(103页珍藏版)》请在沃文网上搜索。
1、软件工程软件工程SoftwareEngineering(An Introduction)软件工程软件工程软件工程软件工程第第6-10章章面向对象方法面向对象方法可行性可行性研究研究需求导出需求导出和分析和分析软件原型软件原型可行性报告可行性报告系统模型系统模型系统描系统描述和文述和文档编写档编写需求有需求有效性验效性验证证需求规格说明文档需求规格说明文档相关概念回顾相关概念回顾需求分析的核心:建模需求分析的核心:建模相关概念回顾相关概念回顾建立软件模型是分析活动的焦点。建立软件模型是分析活动的焦点。建立软件模型是分析活动的关键。建立软件模型是分析活动的关键。需求分析的核心在于建立分析模型。需求
2、分析的核心在于建立分析模型。软件工程中,软件整个开发过程需要建模,软件工程中,软件整个开发过程需要建模,软件开发过程的各个阶段也需要建模。软件开发过程的各个阶段也需要建模。不同的软件开发方法,即软件开发范型,最不同的软件开发方法,即软件开发范型,最集中表现在它们模型的区别。所以,软件开集中表现在它们模型的区别。所以,软件开发过程的一系列模型的建立标准、描述形式、发过程的一系列模型的建立标准、描述形式、应用规范等,是一种软件开发方法(范型)应用规范等,是一种软件开发方法(范型)最核心的研究内容。最核心的研究内容。相关概念回顾相关概念回顾分析阶段中常用的模型(逻辑模型)分析阶段中常用的模型(逻辑模
3、型)实体关系图实体关系图数据流图、数据流定义、数据字典、数据流图、数据流定义、数据字典、结结构化英语、事件列表、状态转换图、构化英语、事件列表、状态转换图、用例图、时序图、协作图、类图、状态用例图、时序图、协作图、类图、状态图、图、Jackson实体结构图、实体结构图、SSD图、图、Jackson进程模型、进程模型、层次方框图层次方框图、Warnier图图、IPO/HIPO、等等相关概念回顾相关概念回顾使用的方法不同,建立的模型也不相同。使用的方法不同,建立的模型也不相同。但是,但是,一般必须建立以下几类模型一般必须建立以下几类模型:数据模型、功能模型、行为模型数据模型、功能模型、行为模型静态
4、模型、动态模型静态模型、动态模型所建立的模型必须是从抽象到精化的一所建立的模型必须是从抽象到精化的一个逐层分解个逐层分解在需求分析阶段,创建的模型,要着重在需求分析阶段,创建的模型,要着重于描述系统要做什么,而不是如何去做于描述系统要做什么,而不是如何去做(不应涉及软件实现细节)(不应涉及软件实现细节)相关概念回顾相关概念回顾Data ModelBehavioralModelFunctionalModelAnalysis modeling and Model相关概念回顾相关概念回顾常用的分析常用的分析/建模方法建模方法面向数据流的结构化分析方法面向数据流的结构化分析方法 (SA)(SA)面向数
5、据结构的面向数据结构的JacksonJackson方法方法 (JSD)(JSD)面向数据结构的结构化数据系统开发方面向数据结构的结构化数据系统开发方法法(DSSD)面向对象的分析方法面向对象的分析方法 (OOA)(OOA)建立动态模型的状态迁移图或建立动态模型的状态迁移图或Petri网网等等形式化方法形式化方法面向构件的面向构件的其它其它E-R方法方法面向对象方法开发软件面向对象方法开发软件通常建立的三种形式的模型通常建立的三种形式的模型 描述系统数据结构的描述系统数据结构的对象模型对象模型 描述系统控制结构的描述系统控制结构的动态模型动态模型 描述系统功能的描述系统功能的功能模型功能模型 面
6、向对象面向对象(的软件开发的软件开发)方法方法第第6-10章章面向对象方法面向对象方法面向对象模型面向对象模型属性、操作、协作者属性、操作、协作者类对象类对象对象对象-关关模型模型系模型系模型对象对象-行为模型行为模型使用使用实例实例功能模型功能模型行为模型行为模型数据模型数据模型(静态)(静态)(静态)(静态)(动态)(动态)CRCCRC索引卡片索引卡片面向对象方法开发软件面向对象方法开发软件通常建立的三种形式的模型通常建立的三种形式的模型 三种模型从三个不同但由密切相关的三种模型从三个不同但由密切相关的角度模拟目标系统。角度模拟目标系统。对象模型是最重要、最基本、最核心对象模型是最重要、最
7、基本、最核心的。对模拟客观世界实体的对象以及对象的。对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静彼此之间的关系的映射,描述了系统的静态结构。态结构。面向对象面向对象(的软件开发的软件开发)方法方法第第6-10章章面向对象方法面向对象方法第六章第六章面向对象的需求分析面向对象的需求分析面向对象的需求分析方法的核心是利用面向面向对象的需求分析方法的核心是利用面向对象的概念和方法为软件需求建造模型。它对象的概念和方法为软件需求建造模型。它包含面向对象风格的图形语言机制以及用于包含面向对象风格的图形语言机制以及用于指导需求分析的面向对象方法学。指导需求分析的面向对象方法学。面向
8、对象的思想最初起源于面向对象的思想最初起源于1960年代中期的年代中期的仿真程序设计语言仿真程序设计语言Simula67。1980年代初出年代初出现的现的Smalltalk语言及其程序设计环境对面向语言及其程序设计环境对面向对象技术的推广应用起到了显著的促进作用。对象技术的推广应用起到了显著的促进作用。第六章第六章面向对象的需求分析面向对象的需求分析1990年代中后期诞生并迅速成熟的年代中后期诞生并迅速成熟的UML(统一建模语言,统一建模语言,UnifiedModelingLanguage)是面向对象技术发展的一个重要是面向对象技术发展的一个重要里程碑。里程碑。UML统一了面向对象建模的基本统
9、一了面向对象建模的基本概念、术语和表示方法,不仅为面向对象的概念、术语和表示方法,不仅为面向对象的软件开发过程提供了能力丰富的表达手段,软件开发过程提供了能力丰富的表达手段,而且也为软件开发人员提供了互相交流、分而且也为软件开发人员提供了互相交流、分享经验的共用语言。享经验的共用语言。第六章第六章面向对象的需求分析面向对象的需求分析OO方法。方法。OMT/J、Rumbaugh;OOAD/PeterCoad&EdYourdon;OOSE/IvarJocobson(基于(基于实例的);实例的);VMT(VisualModelingTechnique););UML(UnifiedModelingLa
10、nguage)/GradyBooch,JimRumbaugh,IvarJocobson(UML0.9,1996:9);OOTC(面向对象技术中心面向对象技术中心)/IBM,基于经,基于经验的验的OO。UML0.91,96.10,在使用中得到良好反映,于是倡在使用中得到良好反映,于是倡议成立了议成立了UML协会。当时的会员有协会。当时的会员有DEC,HP,IBM,Microsoft,Oracle,RationalSoftware,TI,Unisys.1997.1发布了发布了UML1.0,1997.11.17发布了发布了UML1.1并被并被OMG接纳为标准。据统计,在接纳为标准。据统计,在1996
11、年底,年底,UML已隐占已隐占OO技术市场的技术市场的85%。面向对象方法开发软件面向对象方法开发软件通常建立的三种形式的模型通常建立的三种形式的模型 描述系统数据结构的描述系统数据结构的对象模型对象模型 描述系统控制结构的描述系统控制结构的动态模型动态模型 描述系统功能的描述系统功能的功能模型功能模型 第六章第六章面向对象的需求分析面向对象的需求分析第第6-10章章面向对象方法面向对象方法第六章第六章面向对象的需求分析面向对象的需求分析属性、操作、协作者属性、操作、协作者类对象类对象对象对象-关关模型模型系模型系模型对象对象-行为模型行为模型使用使用实例实例功能模型功能模型行为模型行为模型数
12、据模型数据模型(静态)(静态)(静态)(静态)(动态)(动态)CRCCRC索引卡片索引卡片面向对象方法开发软件面向对象方法开发软件通常建立的三种形式的模型通常建立的三种形式的模型 三种模型从三个不同但由密切相关的三种模型从三个不同但由密切相关的角度模拟目标系统。角度模拟目标系统。对象模型是最重要、最基本、最核心对象模型是最重要、最基本、最核心的。对模拟客观世界实体的对象以及对象的。对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静彼此之间的关系的映射,描述了系统的静态结构。态结构。面向对象面向对象(的软件开发的软件开发)方法方法第第6-10章章面向对象方法面向对象方法第六章第
13、六章面向对象的需求分析面向对象的需求分析面向对象的概念与思想面向对象的概念与思想UML概述概述基于基于UML的需求分析的需求分析以以“家庭保安系统家庭保安系统”等为实例,介绍与等为实例,介绍与需求分析相关的部分需求分析相关的部分UML语言机制以及语言机制以及基于基于UML的面向对象的需求分析方法和的面向对象的需求分析方法和过程。过程。现实世界现实世界OOAOODOOPSASDSP机器世界机器世界结构化生命周期结构化生命周期方法方法面面向向对对象象方方法法面向对象方法和面向面向对象方法和面向过程方法的对比过程方法的对比6.1面向对象的概念与思想面向对象的概念与思想6.1面向对象的概念与思想面向对
14、象的概念与思想从事物的从事物的过程侧面过程侧面来描述事物的方法被称之为来描述事物的方法被称之为面向过程的方法面向过程的方法。该方法在认识现实事物的整个过程中是把事物内部的处理过程该方法在认识现实事物的整个过程中是把事物内部的处理过程作为核心来描述的。作为核心来描述的。从事物的从事物的组成部件及每个部件的属性、功能组成部件及每个部件的属性、功能来认识事物。比如,来认识事物。比如,汽车由发动机,底盘,变速箱等组成,发动机有排量,有冲程汽车由发动机,底盘,变速箱等组成,发动机有排量,有冲程数等属性,同时发动机还具有启动,加大油门等操作。这就是数等属性,同时发动机还具有启动,加大油门等操作。这就是将现
15、实世界的事物的属性和及其过程一并进行描述的方法,这将现实世界的事物的属性和及其过程一并进行描述的方法,这种方法被称为种方法被称为面向对象的方法面向对象的方法。从事物的从事物的属性侧面属性侧面来描述事物的方法就是来描述事物的方法就是面向数据的方法面向数据的方法,该,该方法在认识事物的过程中始终把事物的属性作为描述的核心。方法在认识事物的过程中始终把事物的属性作为描述的核心。小结:小结:面向对象的需求分析方法通过提供对象、对面向对象的需求分析方法通过提供对象、对象间消息传递等语言机制,让分析人员在解象间消息传递等语言机制,让分析人员在解空间中直接模拟问题空间中的对象,从而消空间中直接模拟问题空间中
16、的对象,从而消减运用其他分析方法带来的语义断层,为需减运用其他分析方法带来的语义断层,为需求建模活动提供直观、自然的语言支持和方求建模活动提供直观、自然的语言支持和方法学指导。法学指导。面向对象对象类继承聚集消息。面向对象对象类继承聚集消息。6.1面向对象的概念与思想面向对象的概念与思想ElementsoftheOOmodel面向对象模型面向对象模型面向对象模型面向对象模型属性、操作、协作者属性、操作、协作者类对象类对象对象对象-关关模型模型系模型系模型对象对象-行为模型行为模型使用使用实例实例功能模型功能模型行为模型行为模型数据模型数据模型(静态)(静态)(静态)(静态)(动态)(动态)CR
17、CCRC索引卡片索引卡片6.2UML概述概述6.2.1UML的语言机制的语言机制UML主要以主要以Booch方法、方法、OMT方法方法71和和OOSE方法为基础,同时也吸收了其方法为基础,同时也吸收了其他面向对象建模方法的优点,形成了一他面向对象建模方法的优点,形成了一种概念清晰、表达能力丰富、适用范围种概念清晰、表达能力丰富、适用范围广泛的面向对象的标准建模语言。广泛的面向对象的标准建模语言。UMLUML通通过过图图形形化化的的表表示示机机制制从从多多个个侧侧面面对对系系统统的的分分析析和设计模型进行刻画,共有和设计模型进行刻画,共有5 5类类1010种视图如下所示:种视图如下所示:静态模型
18、静态模型 动态模型动态模型逻辑模型逻辑模型 类图类图 用例图用例图 对象图对象图 顺序图顺序图 包图包图 协作图协作图 状态图状态图 活动图活动图物理模型物理模型 构件图构件图 配置图配置图6.2UML概述概述6.2.1 UML 6.2.1 UML 语言机制语言机制6.2.1UML语言机制语言机制1 1、用用例例图图(UsecaseUsecase DiagramDiagram):用用于于表表示示系系统统的的功功能能,并并指指出各功能的操作者;出各功能的操作者;2 2、静静态态图图:包包括括类类图图(Class Class DiagramDiagram)、对对象象图图(Object Object
19、 DiagramDiagram)及及包包图图(Package Package DiagramDiagram),表表示示系系统统的的静静态态结结构;构;3 3、行行 为为 图图:包包 括括 状状 态态 图图(State State DiagramDiagram)及及 活活 动动 图图(Activity Activity DiagramDiagram),用用于于描描述述系系统统的的动动态态行行为为和和对对象象之之间的交互关系;间的交互关系;4 4、交交互互图图:包包括括顺顺序序图图(Sequence Sequence DiagramDiagram)和和协协作作图图(Collaboration Co
20、llaboration DiagramDiagram),用用于于描描述述系系统统对对象象之之间间的的动动态态合作关系;合作关系;5 5、实实现现图图:包包括括构构件件图图(CompomentCompoment DiagramDiagram)和和配配置置图图(Deployment DiagramDeployment Diagram),),用于描述系统的物理实现。用于描述系统的物理实现。6.2UML概述概述6.2.1UML语言机制语言机制UML通过图形化的表示机制从多个侧面刻通过图形化的表示机制从多个侧面刻画系统的分析和设计模型。画系统的分析和设计模型。UML共定义十种视图,可分四类:共定义十种视
21、图,可分四类:(1)用例图(用例图(usecasediagram)从外部用户的角度描述系统的功能,并从外部用户的角度描述系统的功能,并指出功能的执行者。指出功能的执行者。6.2UML概述概述例例:课程注册管理系统的用例图课程注册管理系统的用例图教教务务管管理理人人员员使使用用“课课表表维维护护”用用例例,设设置置或或修修改改课课程程属属性性(课课程程的的时时间间、地地点点、上上课课老老师师等等),增增删课程;删课程;学学生生使使用用“个个人人课课程程规规划划”用用例例选选课课、修修改改自自己己的的个个人人课课表表,收收费费管管理理系系统统根根据据每每个个学学生生的的选选课课情情况况计算其应缴费
22、用;计算其应缴费用;老老师师使使用用“选选课课学学生生花花名名册册查查询询”用用例例获获取取选选定定其其所开课程的学生花名册。所开课程的学生花名册。6.2UML概述概述6.2.1UML的语言机制的语言机制(2)静态图静态图类图类图(classdiagram)、类类图图描描述述系系统统的的静静态态结结构构,类类图图的的结结点点表表示示系系统统中中的的类类及及其其属属性性和和操操作作,类类图图的的边边表表示示类类之之间间的的联系,包括继承、关联、依赖、聚合等。联系,包括继承、关联、依赖、聚合等。对象图对象图(objectdiagram)对对象象图图是是类类图图的的一一个个实实例例。它它描描述述在在
23、某某种种状状态态下下,或或者者在在某某一一时时间间段段系系统统中中活活跃跃的的对对象象及及其其关关系系。在在对对象象图图中中,一一个个类类可可以以拥拥有有多多个个活活跃跃的的对对象象实实例。例。6.2UML概述概述课程注册管理系统的类图课程注册管理系统的类图图图6.2表示课程注册管理系统包括:表示课程注册管理系统包括:“教务管理人员教务管理人员”、“学生学生”、“老师老师”、“课程课程”、“课程设置课程设置”、“课程注册表课程注册表”、“课程注册管理器课程注册管理器”、“课程管理器课程管理器”八个类。八个类。前三个类为一般化的前三个类为一般化的“用户用户”类的子类。类的子类。一门一门“课程课程
24、”可由一到多个可由一到多个“课程设置课程设置”构成,例如,构成,例如,对于全校性的公共基础课,由于选修的学生太多,必对于全校性的公共基础课,由于选修的学生太多,必须安排不同的老师、不同的教室或者不同的时间段。须安排不同的老师、不同的教室或者不同的时间段。“学生学生”、“老师老师”与与“课程设置课程设置”之间,之间,“课程注课程注册表册表”与与“课程注册管理器课程注册管理器”之间,以及之间,以及“课程注册课程注册管理器管理器”与与“课程课程”之间存在着关联关系。之间存在着关联关系。6.2UML概述概述课程注册管理系统的类图课程注册管理系统的类图6.2UML概述概述6.2.1UML的语言机制的语言
25、机制(2)静态图静态图包图包图(packagediagram)包图描述系统的分解,表示包包图描述系统的分解,表示包(package)以以及包之间的关系。及包之间的关系。包由子包及类组成。包由子包及类组成。包之间的关系包括继承、构成与依赖关系。包之间的关系包括继承、构成与依赖关系。6.2UML概述概述6.2.1UML的语言机制的语言机制(3)行为图行为图交互图交互图(interactivediagram)状态图状态图(statechartdiagram)活动图活动图(activitydiagram)它们从不同的侧面刻画系统的动态行为。它们从不同的侧面刻画系统的动态行为。交互图描述对象之间的消息传
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 面向 对象 分析