《系统域建模技术幻灯片.ppt》由会员分享,可在线阅读,更多相关《系统域建模技术幻灯片.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、系统域建模技术第1页,共17页,编辑于2022年,星期一1 1、UMLUML建模中所涉及的各种分析类(对象)建模中所涉及的各种分析类(对象)(1 1)边界对象(边界类在系统与外界之间,为它们交换各种)边界对象(边界类在系统与外界之间,为它们交换各种信息与事件。边界类处理软件系统的输入与输出)信息与事件。边界类处理软件系统的输入与输出)您熟悉您熟悉MVCMVC吗?吗?一、一、UMLUML中的三种分析类中的三种分析类(2 2)控制对象()控制对象(控制类与业务过程相关,它们控制整个业务的流程控制类与业务过程相关,它们控制整个业务的流程和执行次序和执行次序)第2页,共17页,编辑于2022年,星期一
2、(3 3)实体对象(它一个业务级别的分析类,例如,银行系统中的银)实体对象(它一个业务级别的分析类,例如,银行系统中的银行顾客、帐户)行顾客、帐户)所应该所应该注意注意的是:的是:控制类和边界类都是面向技术实现的类,而不是面向业务控制类和边界类都是面向技术实现的类,而不是面向业务的类,而只有实体类才是面向业务的类。的类,而只有实体类才是面向业务的类。第3页,共17页,编辑于2022年,星期一2 2、三种分析类的、三种分析类的UMLUML的图示(从而解决如何表达的问题)的图示(从而解决如何表达的问题)棒槌头棒槌头天边的太阳天边的太阳咬住尾巴的蛇咬住尾巴的蛇(2 2)边界对象只能与控制对象和动作者
3、交互(即不能直接访问实体对象)边界对象只能与控制对象和动作者交互(即不能直接访问实体对象)3 3、有四个规则对应上面的三种分析类对象间的交互、有四个规则对应上面的三种分析类对象间的交互(1 1)用例的参与者只能与边界对象交互)用例的参与者只能与边界对象交互基于基于MVCMVC,V V与与M M不直接接触不直接接触第4页,共17页,编辑于2022年,星期一(3 3)实体对象只能与控制对象交互)实体对象只能与控制对象交互(4 4)控制对象可以和边界对象交互,也可以和实体交互,但是不)控制对象可以和边界对象交互,也可以和实体交互,但是不能和动作者交互能和动作者交互基于基于MVCMVC,用户不直接,用
4、户不直接与控制器接触与控制器接触4 4、区分分析类与设计类的不同、区分分析类与设计类的不同(1 1)所谓分析类:)所谓分析类:因为它是在建模过程中所产生的,因此是和语言(或者因为它是在建模过程中所产生的,因此是和语言(或者实现)无关的类;并且不需要定义属性与方法。实现)无关的类;并且不需要定义属性与方法。(2 2)设计类就具有特定的语言特点)设计类就具有特定的语言特点 比如比如Java/C+Java/C+类等,并且可以定义成员;分析类和设计类没有一一对类等,并且可以定义成员;分析类和设计类没有一一对应关系应关系-分析类是对设计类的进一步抽象和简化分析类是对设计类的进一步抽象和简化。第5页,共1
5、7页,编辑于2022年,星期一5 5、在、在RoseRose中的选择方法中的选择方法-在类的在类的StereotypeStereotype选择项目中进行选择选择项目中进行选择第6页,共17页,编辑于2022年,星期一6 6、网上银行系统中的各个主要的分析类示例、网上银行系统中的各个主要的分析类示例p控制类控制类 开户、销户、转开户、销户、转帐、存取钱、修改帐、存取钱、修改密码密码(1 1)各个分析类)各个分析类p边界类边界类 用户帐号表单、用户帐号表单、转帐信息表单、转帐信息表单、存取钱表单存取钱表单第7页,共17页,编辑于2022年,星期一p实体类:用户、管理员、实体类:用户、管理员、帐户、
6、人民币帐户、美帐户、人民币帐户、美元帐户元帐户(2 2)基于前面的各个分析)基于前面的各个分析类所实现的用户开户的业类所实现的用户开户的业务分析的类图务分析的类图 第8页,共17页,编辑于2022年,星期一(2 2)域建模)域建模-对问题域中的各个问题进行建模对问题域中的各个问题进行建模q建模是开发优秀软件所有活动中的核心部分,其目的是:把所建模是开发优秀软件所有活动中的核心部分,其目的是:把所要设计的结构和系统行为沟通起来,并对系统体系结构进行可要设计的结构和系统行为沟通起来,并对系统体系结构进行可视化的控制视化的控制。q建模是为了更好的理解正在开发的系统,并经常提供简化和建模是为了更好的理
7、解正在开发的系统,并经常提供简化和复用的机会,同时,建模还可以管理风险。复用的机会,同时,建模还可以管理风险。q我们设计一个系统,总是希望它能解决一些问题,这些问题总是会映我们设计一个系统,总是希望它能解决一些问题,这些问题总是会映射到现实问题和概念。射到现实问题和概念。对这些问题进行归纳、分析的过程就是对这些问题进行归纳、分析的过程就是域建模(这个域,指的就是问题域)域建模(这个域,指的就是问题域)二、域模型二、域模型1 1、什么是、什么是“问题域问题域”和和“域建模域建模”(1 1)问题域)问题域现实世界中系统所要解决问题的领域为现实世界中系统所要解决问题的领域为“问题域问题域”,如,如“
8、银行业务银行业务”属于属于“银行的问题域银行的问题域”。如金融、财务等如金融、财务等 我们在处理问题时需要建立我们在处理问题时需要建立数学模型数学模型2 2、域对象的类型、域对象的类型第9页,共17页,编辑于2022年,星期一(1 1)实体域对象)实体域对象代表人、地点、事物或概念等代表人、地点、事物或概念等通常可以把业务领域中的名词,例如客户、订单、商品,作为通常可以把业务领域中的名词,例如客户、订单、商品,作为实体域对象;实体域对象;(2 2)过程域对象:)过程域对象:代表应用中的业务逻辑或流程。它通常依赖于实体域代表应用中的业务逻辑或流程。它通常依赖于实体域对象。对象。(3 3)事件域对
9、象:)事件域对象:代表应用中的一些事件,例如异常、警告或超时代表应用中的一些事件,例如异常、警告或超时等。等。3 3、为什么要进行、为什么要进行“问题域问题域”建模建模(1 1)必要性)必要性q建模是开发优秀软件所有活动中的核心部分,其目的是:把所要建模是开发优秀软件所有活动中的核心部分,其目的是:把所要设计的结构和系统行为沟通起来,并对系统体系结构进行可视化设计的结构和系统行为沟通起来,并对系统体系结构进行可视化的控制。的控制。q建模同时也是为了更好地理解系统,并经常提供简化和复用的机会,建模同时也是为了更好地理解系统,并经常提供简化和复用的机会,同时,建模还可以管理风险。同时,建模还可以管
10、理风险。第10页,共17页,编辑于2022年,星期一(2 2)建立域模型的好处)建立域模型的好处q一方面能够从现实的问题域中找到最有代表性的概念对象一方面能够从现实的问题域中找到最有代表性的概念对象q另一方面并能够发现出其中的类和类之间的关系,因为所捕捉出的类是另一方面并能够发现出其中的类和类之间的关系,因为所捕捉出的类是反馈问题域本质内容的信息反馈问题域本质内容的信息否则我们后面的类图如否则我们后面的类图如何产生?何产生?4 4、与建立域模型相关的一些知识、与建立域模型相关的一些知识(1 1)人门知识)人门知识(2 2)识别领域类的策略)识别领域类的策略-下面提供了两种识别领域类的技巧下面提
11、供了两种识别领域类的技巧q使用领域类分类列表。使用领域类分类列表。q识别名词短语。识别名词短语。第11页,共17页,编辑于2022年,星期一(3 3)使用领域类分类列表方法来获得领域类)使用领域类分类列表方法来获得领域类(4 4)根据名词短语识别找出领域类)根据名词短语识别找出领域类p有人提出了用名词短语分析找出领域类的方法,然后把它们作为候有人提出了用名词短语分析找出领域类的方法,然后把它们作为候选的领域类或者属性;选的领域类或者属性;p不过我们在使用这种方法必须十分小心不过我们在使用这种方法必须十分小心-从名词机械的映射肯定是从名词机械的映射肯定是不行的,因为自然语言中的单词本来就是模棱两
12、可的。不行的,因为自然语言中的单词本来就是模棱两可的。可以可以“混合混合”应用应用两种识别两种识别领域类的识别方法领域类的识别方法第12页,共17页,编辑于2022年,星期一5 5、如何通过域模型来发现出类及其关系、如何通过域模型来发现出类及其关系基本过程如下,详细说明请见文档基本过程如下,详细说明请见文档q收集和描述我们的用例收集和描述我们的用例 q对用例进行分析对用例进行分析 q根据分析的结果找出我们的各个分析类根据分析的结果找出我们的各个分析类 q对所找出的各个分析类,描述出这些类的职责(只有具有一定的对所找出的各个分析类,描述出这些类的职责(只有具有一定的职责的类,才是有效的类)职责的
13、类,才是有效的类)q建立分析类之间的关系(建立静态模型)建立分析类之间的关系(建立静态模型)q确认分析类的行为(建立动态模型)确认分析类的行为(建立动态模型)q描述并定义出属性和方法(逐步转向设计环节)描述并定义出属性和方法(逐步转向设计环节)第13页,共17页,编辑于2022年,星期一6 6、建模实例一、建模实例一基本过程如下,详细说明请见文档基本过程如下,详细说明请见文档(1 1)收集和描述我们的用例)收集和描述我们的用例(2 2)找出我们的各个分析类)找出我们的各个分析类-实体类实体类(3 3)找出我们的各个分析类)找出我们的各个分析类-补充控制类和边界类补充控制类和边界类(4 4)其次
14、补充和完善前面的用例描述,进一步修改前面的问题域,)其次补充和完善前面的用例描述,进一步修改前面的问题域,以获得更清晰的需求描述以获得更清晰的需求描述(5 5)建立分析类之间的关系)建立分析类之间的关系(6 6)最后,设计出本问题例的类的分析图(关系说明)最后,设计出本问题例的类的分析图(关系说明-静静态分析)态分析)(7 7)确认分析类的行为)确认分析类的行为(8 8)设计出类中的属性)设计出类中的属性第14页,共17页,编辑于2022年,星期一7 7、建模实例二:某一网站域模型的建立例、建模实例二:某一网站域模型的建立例(1 1)用户所罗列出的一些需求)用户所罗列出的一些需求(2 2)需求
15、分析)需求分析(3 3)找出名词短语)找出名词短语-域模型域模型(4 4)发现出类及类之间的关系)发现出类及类之间的关系8 8、建模实例三、建模实例三下面给出下面给出“铁路呼叫中心铁路呼叫中心”项目的功能性和非功能性的需求,项目的功能性和非功能性的需求,从而获得从而获得“问题域问题域”中的相关的类;中的相关的类;(1 1)呼叫中心项目的功能性需求)呼叫中心项目的功能性需求(2 2)呼叫中心项目的非功能性的需求)呼叫中心项目的非功能性的需求(3 3)找出名词短语)找出名词短语-域模型域模型(4 4)发现出类及类之间的关系)发现出类及类之间的关系第15页,共17页,编辑于2022年,星期一9 9、
16、建模实例四、建模实例四下面给出下面给出“网上订票网上订票”需求项目的功能性和非功能性的需求,需求项目的功能性和非功能性的需求,从而获得从而获得“问题域问题域”中的相关的类;中的相关的类;(1 1)网上订票项目的功能性需求)网上订票项目的功能性需求(2 2)网上订票项目的非功能性需求)网上订票项目的非功能性需求(3 3)找出名词短语)找出名词短语-域模型域模型(4 4)发现出类及类之间的关系)发现出类及类之间的关系1010、实例五:、实例五:ATMATM系统自动售票系统,从而获得系统自动售票系统,从而获得“问题域问题域”中的相关中的相关的类;的类;(1 1)ATMATM系统自动售票系统的功能性需
17、求系统自动售票系统的功能性需求(2 2)ATMATM系统自动售票系统的非功能性需求系统自动售票系统的非功能性需求(3 3)找出名词短语)找出名词短语-域模型域模型(4 4)发现出类及类之间的关系)发现出类及类之间的关系第16页,共17页,编辑于2022年,星期一1 1、子曰:、子曰:“学而不思则罔,思而不学则殆。学而不思则罔,思而不学则殆。”“学而时习之学而时习之”2 2、子曰:子曰:“知之者不如好之者知之者不如好之者,好之者不如乐之者好之者不如乐之者”3 3、子曰:、子曰:“三人行三人行,必有我师焉必有我师焉”4 4、子曰:子曰:“我非生而知之者我非生而知之者,好古好古,敏以求之者也敏以求之者也”本讲的简要回顾本讲的简要回顾第17页,共17页,编辑于2022年,星期一