5需求分析(3)-面向对象建模.pdf





《5需求分析(3)-面向对象建模.pdf》由会员分享,可在线阅读,更多相关《5需求分析(3)-面向对象建模.pdf(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、12.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模传统的结构化方法学适合需求比较确定的应用领域,这一点已成为软件工程界大多数学者和实践者的共识。实际上,系统的需求却往往是变化的,而且用户对系统到底要求些什么也不是很清楚,而这些在面向对象方法中不再成为问题,因而对象技术发展十分迅速,成为传统的结构化方法学适合需求比较确定的应用领域,这一点已成为软件工程界大多数学者和实践者的共识。实际上,系统的需求却往往是变化的,而且用户对系统到底要求些什么也不是很清楚,而这些在面向对象方法中不再成为问题,因而对象技术发展十分迅速,成为90年代十分流行的软件开发技术。年代十分流行的软件开发
2、技术。C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模22.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模从狭义上看,面向对象的软件开发包括三个主要阶段:从狭义上看,面向对象的软件开发包括三个主要阶段:?面向对象分析面向对象分析(Object-Oriented Analysis,简称,简称OOA)?面向对象设计面向对象设计(Object-Oriented
3、 Design,简称,简称OOD)?面向对象程序设计面向对象程序设计(Object-Oriented Programming,简称,简称OOP)。C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模OOA是指系统分析员对将要开发的系统进行定义和分析,进而得到各个对象类以及它们之间的关系的抽象描述;是指系统分析员对将要开发的系统进行定义和分析,进而得到各个对象类以及它们之间的关系的
4、抽象描述;OOD是指系统设计人员将面向对象分析的结果转化为适合于程序设计语言中的具体描述,它是进行面向对象程序设计的蓝图OOD是指系统设计人员将面向对象分析的结果转化为适合于程序设计语言中的具体描述,它是进行面向对象程序设计的蓝图OOP则是程序设计人员利用程序设计语言,根据OOD得到的对象类的描述,建立实际可运行的系统。OOP则是程序设计人员利用程序设计语言,根据OOD得到的对象类的描述,建立实际可运行的系统。32.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模(1)面向对象建模的发展a开发模型面向对象技术中出现了各种区别于传统的瀑布模型的演化模型,如(1)面向对象建模的
5、发展a开发模型面向对象技术中出现了各种区别于传统的瀑布模型的演化模型,如渐增模型、螺旋模型、组件装渐增模型、螺旋模型、组件装配模型配模型和和并行开发模型并行开发模型。软件工程的目标是要生产高质量的软件产品,这就要求其开发过程中从管理和技术两方面系统化地进行控制。软件工程的目标是要生产高质量的软件产品,这就要求其开发过程中从管理和技术两方面系统化地进行控制。C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建
6、面向对象建面向对象建模模模模面向对象的面向对象的组件装配模型组件装配模型借用了硬件设中借用了硬件设中“总线总线”概念,将开发的大量软件组件配在软件总线上构成程序,从技术的角系统化地对软件开发过程进行控制,将望大幅度提高软件生产率。概念,将开发的大量软件组件配在软件总线上构成程序,从技术的角系统化地对软件开发过程进行控制,将望大幅度提高软件生产率。并行开发模型并行开发模型则是从管理的角度系统化地对软件开发过程进行控制。则是从管理的角度系统化地对软件开发过程进行控制。42.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模(1)面向对象建模的发展(1)面向对象建模的发展b方法b方
7、法自自20世纪世纪90年代初以来,一些著名学者已相继提出了各自的面向对象方法。年代初以来,一些著名学者已相继提出了各自的面向对象方法。PeterCoad-面向对象分析方法(面向对象分析方法(OOA)Wirfs-Brock-面向对象系统设计面向对象系统设计Grady Booch-面向对象设计面向对象设计(Obiect-Oriented Design with Applications)Jim Rumbaugh-面向对象建模与设计方法面向对象建模与设计方法(Obiect-Oriented Modeling and Design,OOMD)Ivar Jacobson-面向对象软件工程面向对象软件工程
8、(Object-Oriented Software Engineering,OOSE)。尽管不同的方法学中使用的术语和采取的步骤有些不同,但本质上是类似的。尽管不同的方法学中使用的术语和采取的步骤有些不同,但本质上是类似的。C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模52.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模(1)面向对象建模的发展)面向对
9、象建模的发展c建模语言建模语言C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模面向对象方法中一般采用半形式化语言(Semi面向对象方法中一般采用半形式化语言(SemiFormal Language)的表示符号(如图形)进面向对象建模。不同的学者在各自不同的方法框架中采用不同的建模语言,过多过杂会使得用户无所从。因此,建立一种统一的建模语言并使之成为标准非常必要。Formal
10、Language)的表示符号(如图形)进面向对象建模。不同的学者在各自不同的方法框架中采用不同的建模语言,过多过杂会使得用户无所从。因此,建立一种统一的建模语言并使之成为标准非常必要。这就促进了统一建模语言(Unified Modeling Language,简称UML)的形成和发展。这就促进了统一建模语言(Unified Modeling Language,简称UML)的形成和发展。的开发始于94年8月,97年推出l.1版,并被OMG(Obiect Management Group)批准为标准。99年月又发布了l.3版。UML现已获得工业界和科技界的广泛支持,世界上很多大公司都表示将采用UM
11、L作建模语言,许多专家、组织机构和工具开发者已经在使用UML。的开发始于94年8月,97年推出l.1版,并被OMG(Obiect Management Group)批准为标准。99年月又发布了l.3版。UML现已获得工业界和科技界的广泛支持,世界上很多大公司都表示将采用UML作建模语言,许多专家、组织机构和工具开发者已经在使用UML。62.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模(1)面向对象建模的发展)面向对象建模的发展d对象建模工具对象建模工具C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模
12、分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模一些大公司为其面向对象的开发提供了建模工具。如IBM公司的可视化对象建模技术VMT就是综合了OMT方法、OOSE方法、RDD方法(Responsibility Driven Design)以及事件跟踪图、状态转换图等基础上提出的可视化工具。一些大公司为其面向对象的开发提供了建模工具。如IBM公司的可视化对象建模技术VMT就是综合了OMT方法、OOSE方法、RDD方法(Responsibility Driven Design)以及事件跟踪图、状态转
13、换图等基础上提出的可视化工具。又如Rational Software司的Rose工具是以UML作为建模语言又如Rational Software司的Rose工具是以UML作为建模语言、以迭代过程为方法论的具有正向和逆向软件工程功能的工具集和支持环境,功能比较强大。又如Microsoft公司费提供的功能比较简单的Microsoft Visual Modeler也是基于UML的建模工具,该工具建立在Rational Rose子工具集的基础之上,并集成到了、以迭代过程为方法论的具有正向和逆向软件工程功能的工具集和支持环境,功能比较强大。又如Microsoft公司费提供的功能比较简单的Microsof
14、t Visual Modeler也是基于UML的建模工具,该工具建立在Rational Rose子工具集的基础之上,并集成到了MicrosoftMicrosoft VisualVisual StudioStudio中中。72.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模(1)面向对象建模的发展)面向对象建模的发展e编程工具编程工具C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面
15、向对象建面向对象建模模模模目前已有相当成熟的基于组件装配模型的可视软件编程工具,如目前已有相当成熟的基于组件装配模型的可视软件编程工具,如Visual C+、Visual J+、Visual Basic、PowerBuilder、C+Builder、Delphi等。等。82.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模(1)面向对象建模的发展)面向对象建模的发展f对象体系结构对象体系结构C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为
16、建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模现有用于软件系统集成的对象体系结构的一些标准,最具竞争力的是由现有用于软件系统集成的对象体系结构的一些标准,最具竞争力的是由OMG及其技术供应商支持的开放的CORBA标准OMG及其技术供应商支持的开放的CORBA标准和由微软开发的专有的Windows 平台上的和由微软开发的专有的Windows 平台上的COM/DCOM/COM+标准COM/DCOM/COM+标准,后者也在向多平台扩展。此外,后者也在向多平台扩展。此外,SUN公司的RMISUN公司的RMI等也很有影响。等也很有影响。92.7.5 2.7.5 面向
17、对象建模面向对象建模面向对象建模面向对象建模(2)面向对象基础)面向对象基础(复习第一章)(复习第一章)a基本概念基本概念C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模面向对象方法学的基本原则:面向对象方法学的基本原则:?一切事物都是对象;一切事物都是对象;?任何系统都是由对象构成的,系统本身也是对象;任何系统都是由对象构成的,系统本身也是对象;?系统的发展和进化过程都是由
18、系统的内部对象和外部对象之间(也包括内部对象与内部对象之间)的相互作用完成的。系统的发展和进化过程都是由系统的内部对象和外部对象之间(也包括内部对象与内部对象之间)的相互作用完成的。102.7.5 2.7.5 面向对象建模面向对象建模面向对象建模面向对象建模(2)面向对象基础)面向对象基础a基本概念基本概念C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模面向对象方法之所以会如
19、此流行,主要是因为它非适合于人们认识和解决问题的习惯。面向对象方法之所以会如此流行,主要是因为它非适合于人们认识和解决问题的习惯。?首先,它是一种从一般到特殊的演绎方法,如面向对象中的继承,这与人们认识客观世界时常用的分类思想非常吻合。首先,它是一种从一般到特殊的演绎方法,如面向对象中的继承,这与人们认识客观世界时常用的分类思想非常吻合。?其次,它也是一种从特殊到一般的归纳方法,如面向对象中的类,是由一大批相同或相似的对象抽象而得。其次,它也是一种从特殊到一般的归纳方法,如面向对象中的类,是由一大批相同或相似的对象抽象而得。11a基本概念基本概念C2 C2 需求分析需求分析需求分析需求分析2.
20、1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模面向对象方法的主要特征:面向对象方法的主要特征:客观世界是由各种对象(Object)组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合起来。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象;客观世界是由各种对象(Object)组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合起来。因此,面向对象的软件系统是由对象组成的,
21、软件中的任何元素都是对象;把所有的对象都划分为各种类(Class),每个类都定义了一组数据和一种方法。数据用于表示对象的静态属性,描述对象的状态信息;方法是对象所能执行的操作,也就是类中所能提供的服务;把所有的对象都划分为各种类(Class),每个类都定义了一组数据和一种方法。数据用于表示对象的静态属性,描述对象的状态信息;方法是对象所能执行的操作,也就是类中所能提供的服务;12a基本概念基本概念C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF
22、0-用例建模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模面向对象方法的主要特征:面向对象方法的主要特征:按照子类(也称为派生类)和父类(也称为基类)的关系,把若干个类组成一个层次结构的系统。在这种类层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这一特性称为继承(Inheritance)。按照子类(也称为派生类)和父类(也称为基类)的关系,把若干个类组成一个层次结构的系统。在这种类层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这一特性称为继承(Inheritance)。对象与对象之间只能通过传递消息进行通信(Communica
23、tion对象与对象之间只能通过传递消息进行通信(Communicationwith Messages)。with Messages)。对象(对象(Objects)类(类(Classes)继承(继承(Inheritance)消息通信(消息通信(Communication with Messages)面向对象(面向对象(Object-Oriented)13a基本概念基本概念-类与对象类与对象C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实体-关系建模关系建模-系统行为建模系统行为建模-IDEF0-用例建
24、模用例建模-面向对象建面向对象建面向对象建面向对象建模模模模类封装了客观世界中实体的特征和行为,即类的属性(数据抽象)和方法(过程抽象)两个方面。左下图所示的表示符号用来描述类,类中的对象的表示符号见右下图。其中,对象的表示符号是在类的表示符号的基础之上加了一个细实线的圆角矩形边框。左下图表示该类只能用于派生新类而不能定义类的实例(即对象),称为抽象类;右下图表示该类既能用于派生新类也能用于定义类的实例(即对象),外部细实线的圆角矩形框表示对象,内部粗实线的圆角矩形框表示类。类封装了客观世界中实体的特征和行为,即类的属性(数据抽象)和方法(过程抽象)两个方面。左下图所示的表示符号用来描述类,类
25、中的对象的表示符号见右下图。其中,对象的表示符号是在类的表示符号的基础之上加了一个细实线的圆角矩形边框。左下图表示该类只能用于派生新类而不能定义类的实例(即对象),称为抽象类;右下图表示该类既能用于派生新类也能用于定义类的实例(即对象),外部细实线的圆角矩形框表示对象,内部粗实线的圆角矩形框表示类。类的名称属性:方法类的名称属性:方法类的名称属性:方法类的名称属性:方法类的表示符类的表示符对象的表示符对象的表示符14a基本概念基本概念-类与对象类与对象C2 C2 需求分析需求分析需求分析需求分析2.1 目标目标2.6 数据流建模数据流建模2.7 2.7 分析建模分析建模分析建模分析建模-实体实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 需求 分析 面向 对象 建模

限制150内