1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第二章 概念建模,2.1 引言,概念建模的意义(从软件工程的角度),1、专业知识难以获取,2、模型的可重用,2.1 引言,概念建模的目的:用一种或几种标准的技术建立对真实世界的描述。,美军的CMMS标准,2.1 引言,概念建模的目的:用一种或几种标准的技术建立对真实世界的描述。,美军的CMMS标准,2.2 现状,概念建模的难点:,概念知识的抽取与描述!,2.3 概念建模的过程,1、收集数据,抽象出要素,2、建立结构形式化的描述,3、模型的校核和验证,4、模型文档的存储与管理,2.4 概念建模的方法
2、1、实体关系建模方法,2、面向对象建模,3、基于本体的建模,2.4 概念建模的方法,实体关系建模方法,画ER图!,E-R图为实体-联系图,,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。,构成E-R图的基本要素是实体型、属性和联系,其表示方法为:,实体型:用矩形表示,矩形框内写明实体名;,属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;,联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型,2.4 概念建模的方法,实体关系建模方法,例解,缺点,2.4 概念建模的方法,实体关系建
3、模方法,2.4 概念建模的方法,实体关系建模方法,2.4 概念建模的方法,面向对象建模方法,将概念映射为“类”,例解,2.4 概念建模的方法,面向对象建模方法,2.4 概念建模的方法,面向对象建模方法,2.4 概念建模的方法,面向对象建模方法,缺点!,与实体关系建模方法的比较!,2.4 概念建模的方法,基于本体的建模方法,本体:是一种存在的系统化解释,用于描述事物的本质。,EATI(实体活动任务交互)方法,2.5 概念建模的语言UML,UML-Unified Model Language 统一建模语言.,是用来对软件系统进行可视化建模的一种语言。,UML是在开发阶段,说明,可视化,构建和书写一
4、个面向对象软件系统产品的开放方法。,最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证十分有效。,2.5 概念建模的语言UML基本符号,Package包。用来聚集和组织模型中的一个部分(Use Case,类,等等)。,Actor参与者。它代表一个用户或者其他外部的激励器。,2.5 概念建模的语言UML基本符号,Use Case用例。Use Case描述了系统某一部分的行为。一般地,Use Case记录对某个系统功能的需求,而这个功能由对动作或者事件的应答示范。,Relationship包含关系。标注为关系的Use Case关系能够引,入其他Use Case的
5、功能。这是一种方便的分割Use,Case、避免单个Use Case过于庞大的方法。,2.5 概念建模的语言UML基本符号,Relationship扩充关系。标注为关系的Use Case关系能够在不重复现有Use Case的各种描述和需求的情况下,使现有Use Case的行为特殊化。,Dependency依赖。正如其字面意义,它表示一个事物依赖另一个事物。这意味着一个事物了解另一个事物,并需要另外一个事物才能发挥功能。,2.5 概念建模的语言UML基本符号,Note注解。在UML图中提供注解的目的是以简短的说明阐明图表的内容。,Component构件。构件一般代表一个软件单元,它可能是一个DLL
6、一个执行文件,或者是一个数据库。,2.5 概念建模的语言UML基本符号,Node节点。节点一般代表一台机器,这台机器具有运行一个或者多个系统构件的能力。,Class类。UML中的类与面向对象编程中的类一样,即它定义并封装了一组行为和属性。类在运行时被实例化从而创建出对象。,2.5 概念建模的语言UML基本符号,Object对象。对象是类的实例。例如,“MyClass myObj=new MyClass;”创建了一个myObj对象。,Generalization泛化。父类能够派生出(或称为特殊化)具有更多特殊行为的子类,此时父类即为子类的超类(或子类的泛化版本)。,2.5 概念建模的语言UML
7、基本符号,Interface接口。接口定义了一组可以从外部访问的行为。类、库、执行文件、数据文件都可以由接口来描述。接口本身并不实现任何功能,它只是和声明实现该接口的对象订立了一个必须实现哪些行为的契约。,Abstract Class抽象类。抽象类不能直接实例化,但允许派生出具体的、有实际功能的类。,2.5 概念建模的语言UML基本符号,Association关联。关联就是把两个或以上的类连接起来。你可以为两个类之间的这种关系提供更具体的信息。关联是两个或多个特定类元之间的关系,它描述了这些类元的实例的联系。在一个关联中同一个类可以出现在多个位置上。,Aggregation聚合。聚合关系表示某
8、个对象属于其他对象所有。,2.5 概念建模的语言UML,UML与面向对象建模方法的结合,通常包括以下功能:,功能模型:从用户的角度展示系统的功能,包括用例图。,对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。,动态模型:展现系统的内部行为。包括序列图,活动图,状态图。,2.5 概念建模的语言UML用例图例解,2.5 概念建模的语言UML用例图例解,2.5 概念建模的语言UML类图例解,2.5 概念建模的语言UML序列图例解,2.5 概念建模的语言UML状态图例解,2.5 概念建模的语言UML活动图例解,2.5 概念建模的语言UML面向对象分析设计过程,1,识别系统的用
9、例和角色,首先对项目进行需求调研,依据项目的业务流程图和数据流程图以及项目中涉及的各级操作人员,通过分析,识别出系统中的所有用例和角色;接着分析系统中各角色和用例间的联系,再使用UML建模工具画出系统的用例图,同时,勾画系统的概念层模型,借助UML建模工具描述概念层类图和活动图。,2.5 概念建模的语言UML面向对象分析设计过程,2,进行系统分析,并抽取类,系统分析的任务是找出系统的所有需求并加以描述,同时建立特定领域模型。建立域模型有助于开发人员考察用例,从中抽取出类,并描述类之间的关系。,2.5 概念建模的语言UML面向对象分析设计过程,3,系统设计,并设计类及其行为,设计阶段由结构设计和
10、详细设计组成。结构设计是高层设计,其任务是定义包(子系统),包括包间的依赖关系和主要通信机制。包有利于描述系统的逻辑组成部分以及各部分之间的依赖关系。详细设计就是要细化包的内容,清晰描述所有的类,同时使用UML的动态模型描述在特定环境下这些类的实例的行为。,2.5 概念建模的语言XML建模语言,XML(eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是 SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩
11、展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。,主要是Web结构建模!,2.5 概念建模的语言IDEF建模语言,IDEF的含义是集成计算机辅助制造(Integrated ComputerAided Manufacturing,ICAM)DEFinition。最初的IDEF方法是在美国空军ICAM项目建立的,最初开发3种方法:功能建模(IDEF0)、信息建模(IDEF1)、动态建模(IDEF2),后来,随着信息系统的相继开发,又开发出了下列IDEF族方法:数
12、据建模(IDEF1X)、过程描述获取方法(IDEF3)、面向对象的设计(OO设计)方法(IDEF4)、使用C语言的OO设计方法(IDEF4C)、实体描述获取方法(IDEF5)、设计理论(rationale)获取方法(IDEF6)、人系统交互设计方法(IDEF8)、业务约束发现方法(IDEF9)、网络设计方法(IDEF14)等。,2.5 概念建模的语言IDEF建模语言,根据用途,可以把IDEF族方法分成两类:,第一类IDEF方法的作用是沟通系统集成人员之间的信息交流。,第二类IDEF方法的重点是系统开发过程中的设计部分。目前有两种IDEF设计方法:IDEF1X和IDEF4。IDEF1X可以辅助语
13、义数据模型的设计。IDEF4可以产生面向对象实现方法所需的高质量的设计产品。,2.5 概念建模的语言IDEF建模语言,IDEF0模式的建立主要是由方块(Boxes)及箭号(Arrows)这两种基本组件所组成的。当中的每一个方块代表的是系统的功能,功能可能是一种行动(Action)、作业(Operation)或是过程(Processes)。箭号代表方块中所需的信息,例如:输入、输出、控制、机制以及呼叫等。IDEF0图形中将各项作业分为输入(Input)、输出(Ouput)、控制(Control)及机制(Mechanism),并将功能之间彼此相关联性加以分解,因此可以正确的获取及传达流程与描述系统的功能。而往后本研究当中也将利用IDEF0之图形来定义出产品开发知识管理系统之功能。,2.5 概念建模的语言IDEF建模语言,缺点:可操作性和可利用性差!,三种建模语言的比较,2.6 概念模型的细化仿真过程需要考虑的问题,1、数据结构的细化,2、算法实现的细化,3、行动过程的细化,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,






