软件系统域建模技术及实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需要建立出数学模型
(2)域建模---对问题域中的各个问题建立出模型
建模的目的是希望能够把所要设计的结构和系统行为沟通 起来,并对系统体系结构进行可视化的控制。 建模的同时也是为了更好地理解正在开发的软件系统,并 控制和管理风险。因为领域模型包括:概念、关联、属性等 方面的信息。
(3)什么是域建模(Domain model)
软件系统域建模技术及实例
软件系统域建模技术及实例
在本讲您能了解如下知识点 “问题域”和“域建模” ? 域模型及域建模? 域对象的类型有哪些 如何发现出类及其关系 建立域模型的各种示例
1、什么是“问题域”和“域建模” (1)问题域
如金融、财务等
现实世界中系统所要解决问题的领域为“问题域”,如 “银行业务”属于“银行的问题域”。 我们在处理问题时
4、餐厅点菜业务建模示例 (1)了解餐厅点菜业务活动的基本过程 普通人群进入餐厅,成为消费者; 消费者选到喜欢的菜后,可以下菜单; 消费者的菜单和服务员确认后,直接告知厨房备菜。 同时菜品是由菜品管理员添加、维护管理和实时更新, 提供给消费者使用。 餐厅的菜单管理员时刻监控餐厅的菜单状态,通过服 务状态监控,关注与协调服务员和后厨提供服务。 消费者可以使用餐厅的快捷服务功能,例如加水、催 菜、结帐、投诉、留言或呼叫服务员等快捷服务,服 务员实时响应与反馈消费者服务要求,提供给消费者 快捷服务。
12、建模实例四 下面给出“网上订票”需求项目的功能性和非功能性 的需求,从而获得“问题域”中的相关的类; (1)网上订票项目的功能性需求 (2)网上订票项目的非功能性需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系 13、实例五:ATM系统自动售票系统,从而获得“问题域” 中的相关的类; (1)ATM系统自动售票系统的功能性需求 (2)ATM系统自动售票系统的非功能性需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系
10、建模实例二:某一网站域模型的建立例 (1)用户所罗列出的一些需求 (2)需求分析 (3)找出名词短语------域模型 (4)发现出类及类之间的关系 11、建模实例三 下面给出“铁路呼叫中心”项目的功能性和非功能性 的需求,从而获得“问题域”中的相关的类; (1)呼叫中心项目的功能性需求 (2)呼叫中心项目的非功能性的需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系
本讲的简要回顾
1、子曰:“学而不思则罔,思而不学则殆。” “学而时习之”
2、子曰:“知之者不如好之者,好之者不如乐之者”
3、子曰:“三人行,必有我师焉”
4、子曰:“我非生而知之者,好古,敏以求之者也”
5、师者:“传道、授业和解惑”
领域模型也称概念模型、领域对象模型、分析对象模型 因为我们设计一个系统,总是希望它能解决一些问题,而 这些问题总是会映射到现实问题和概念;对这些问题进行归 纳、分析的过程就是域建模(这个域,指的就是问题域)。
否则设计类图如何产生? 2、建立域模型的好处 (1)一方面能够从现实的问题域中找到最有代表性的概念 对象 从而理解关键性的概念和词汇,因为领域模型是对业 务领域的如实描述,它不包含任何技术实现,也不包含任 何分析设计。 (2)另一方面并能够发现出其中的类和类之间的关系,因 为所捕捉出的类是反馈问题域本质内容的信息 逐步进入设计阶段,并为进入设计阶段得到一些启示。 (3)领域模型关注的不是业务领域中的所有概念及所有关 系,它关注的是对我们要开发的软件系统有用的概念及其 关系。 3、如何建立域模型 主要是从对象认知入手,关注业务生命周期过程, 经过分析和总结后,建立出业务领域的概念模型。
6、业务域对象的类型 (1)实体域对象 代表人、地点、事物或概念等,通常可以把业务领域 中的名词----例如客户、订单、商品等作为实体域对象; (2)过程域对象 代表应用中的业务逻辑或流程。它通常依赖于实体域 对象。 (3)事件域对象 代表应用中的一些事件,例如异常、警告或超时等。 7、识别领域类的策略——根据名词短语识别找出领域类 (1)所应该要注意的问题 不过在使用这种方法时必须十分小心----从名词机械 地映射肯定是不行的,因为自然语言中的单词本来就是模 棱两可的。
(6)确认分 析类的行 为(建立 动态模型) (7)描述并 定义出属 性和方法 (逐步转 向设计环 节)
9、建模实例一 (1)收集和描述我们的用例 (2)找出我们的各个分析类----实体类 (3)找出我们的各个分析类----补充控制类和边界类 (4)其次补充和完善前面的用例描述,进一步修改前面 的问题域,以获得更清晰的需求描述 (5)建立分析类之间的关系 (6)最后,设计出本问题例的类的分析图(关系说明---静态分析) (7)确认分析类的行为 (8)设计出类中的属性
(2)根据名词短语找出领域类的主要方法
8、如何过域模型来发现出类及其关系 (1)收 集和描 述我们 的用例
(2)对用例进行分析
(3)根据分析的结果找 出各个分析类 (4)对所找出的各个分 析类,描述出这些类的 职责(只有具有一定的 职责的类,才是有效的 类) (5 )建立分析类之间的 关系(建立静态模型)
(2)餐厅点菜业务活动的模型示图
5、从业务领域模型中发现对象 (1)为什么要发现对象 确定业务对象定义、对象间关系、对象名称和对象 间关系使得开发人员能够以一种能被业务领域专家理解和 验证的精确方式来表达业务领域知识。 (2)餐厅点菜业务活动中的对象 根据前面对业务过程的分析结果,可以识别出如下 相关对象: 消费者、菜品、菜品 管理员、菜单、 菜单管理员、快捷服 务和服务员。 (3)业务对象关系 图
(2)域建模---对问题域中的各个问题建立出模型
建模的目的是希望能够把所要设计的结构和系统行为沟通 起来,并对系统体系结构进行可视化的控制。 建模的同时也是为了更好地理解正在开发的软件系统,并 控制和管理风险。因为领域模型包括:概念、关联、属性等 方面的信息。
(3)什么是域建模(Domain model)
软件系统域建模技术及实例
软件系统域建模技术及实例
在本讲您能了解如下知识点 “问题域”和“域建模” ? 域模型及域建模? 域对象的类型有哪些 如何发现出类及其关系 建立域模型的各种示例
1、什么是“问题域”和“域建模” (1)问题域
如金融、财务等
现实世界中系统所要解决问题的领域为“问题域”,如 “银行业务”属于“银行的问题域”。 我们在处理问题时
4、餐厅点菜业务建模示例 (1)了解餐厅点菜业务活动的基本过程 普通人群进入餐厅,成为消费者; 消费者选到喜欢的菜后,可以下菜单; 消费者的菜单和服务员确认后,直接告知厨房备菜。 同时菜品是由菜品管理员添加、维护管理和实时更新, 提供给消费者使用。 餐厅的菜单管理员时刻监控餐厅的菜单状态,通过服 务状态监控,关注与协调服务员和后厨提供服务。 消费者可以使用餐厅的快捷服务功能,例如加水、催 菜、结帐、投诉、留言或呼叫服务员等快捷服务,服 务员实时响应与反馈消费者服务要求,提供给消费者 快捷服务。
12、建模实例四 下面给出“网上订票”需求项目的功能性和非功能性 的需求,从而获得“问题域”中的相关的类; (1)网上订票项目的功能性需求 (2)网上订票项目的非功能性需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系 13、实例五:ATM系统自动售票系统,从而获得“问题域” 中的相关的类; (1)ATM系统自动售票系统的功能性需求 (2)ATM系统自动售票系统的非功能性需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系
10、建模实例二:某一网站域模型的建立例 (1)用户所罗列出的一些需求 (2)需求分析 (3)找出名词短语------域模型 (4)发现出类及类之间的关系 11、建模实例三 下面给出“铁路呼叫中心”项目的功能性和非功能性 的需求,从而获得“问题域”中的相关的类; (1)呼叫中心项目的功能性需求 (2)呼叫中心项目的非功能性的需求 (3)找出名词短语------域模型 (4)发现出类及类之间的关系
本讲的简要回顾
1、子曰:“学而不思则罔,思而不学则殆。” “学而时习之”
2、子曰:“知之者不如好之者,好之者不如乐之者”
3、子曰:“三人行,必有我师焉”
4、子曰:“我非生而知之者,好古,敏以求之者也”
5、师者:“传道、授业和解惑”
领域模型也称概念模型、领域对象模型、分析对象模型 因为我们设计一个系统,总是希望它能解决一些问题,而 这些问题总是会映射到现实问题和概念;对这些问题进行归 纳、分析的过程就是域建模(这个域,指的就是问题域)。
否则设计类图如何产生? 2、建立域模型的好处 (1)一方面能够从现实的问题域中找到最有代表性的概念 对象 从而理解关键性的概念和词汇,因为领域模型是对业 务领域的如实描述,它不包含任何技术实现,也不包含任 何分析设计。 (2)另一方面并能够发现出其中的类和类之间的关系,因 为所捕捉出的类是反馈问题域本质内容的信息 逐步进入设计阶段,并为进入设计阶段得到一些启示。 (3)领域模型关注的不是业务领域中的所有概念及所有关 系,它关注的是对我们要开发的软件系统有用的概念及其 关系。 3、如何建立域模型 主要是从对象认知入手,关注业务生命周期过程, 经过分析和总结后,建立出业务领域的概念模型。
6、业务域对象的类型 (1)实体域对象 代表人、地点、事物或概念等,通常可以把业务领域 中的名词----例如客户、订单、商品等作为实体域对象; (2)过程域对象 代表应用中的业务逻辑或流程。它通常依赖于实体域 对象。 (3)事件域对象 代表应用中的一些事件,例如异常、警告或超时等。 7、识别领域类的策略——根据名词短语识别找出领域类 (1)所应该要注意的问题 不过在使用这种方法时必须十分小心----从名词机械 地映射肯定是不行的,因为自然语言中的单词本来就是模 棱两可的。
(6)确认分 析类的行 为(建立 动态模型) (7)描述并 定义出属 性和方法 (逐步转 向设计环 节)
9、建模实例一 (1)收集和描述我们的用例 (2)找出我们的各个分析类----实体类 (3)找出我们的各个分析类----补充控制类和边界类 (4)其次补充和完善前面的用例描述,进一步修改前面 的问题域,以获得更清晰的需求描述 (5)建立分析类之间的关系 (6)最后,设计出本问题例的类的分析图(关系说明---静态分析) (7)确认分析类的行为 (8)设计出类中的属性
(2)根据名词短语找出领域类的主要方法
8、如何过域模型来发现出类及其关系 (1)收 集和描 述我们 的用例
(2)对用例进行分析
(3)根据分析的结果找 出各个分析类 (4)对所找出的各个分 析类,描述出这些类的 职责(只有具有一定的 职责的类,才是有效的 类) (5 )建立分析类之间的 关系(建立静态模型)
(2)餐厅点菜业务活动的模型示图
5、从业务领域模型中发现对象 (1)为什么要发现对象 确定业务对象定义、对象间关系、对象名称和对象 间关系使得开发人员能够以一种能被业务领域专家理解和 验证的精确方式来表达业务领域知识。 (2)餐厅点菜业务活动中的对象 根据前面对业务过程的分析结果,可以识别出如下 相关对象: 消费者、菜品、菜品 管理员、菜单、 菜单管理员、快捷服 务和服务员。 (3)业务对象关系 图