版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、统一建模语言统一建模语言UMLUML核心模型核心模型UML建模建模l一个模型提出了论点,静态图是论据,动态图一个模型提出了论点,静态图是论据,动态图则是论证。则是论证。l建立模型的过程,就是采用论据来论证论点的建立模型的过程,就是采用论据来论证论点的过程。过程。UML核心模型核心模型l用例模型用例模型l领域模型领域模型l分析模型分析模型l软件架构和框架模型软件架构和框架模型l设计模型设计模型l组件模型组件模型l实施模型实施模型用例模型用例模型l用例模型是系统既定功能及系统环境的模型,用例模型是系统既定功能及系统环境的模型,它可以作为客户和开发人员之间的契约。它可以作为客户和开发人员之间的契约。
2、l用例模型是需求工作流程的结果,可以做分用例模型是需求工作流程的结果,可以做分析设计工作流程及测试工作流程的输入。析设计工作流程及测试工作流程的输入。l有三个层次的用例模型:有三个层次的用例模型:l业务用例模型业务用例模型l概念用例模型概念用例模型l系统用例模型系统用例模型业务用例模型业务用例模型l先于需求工作流,目的是为现存的或客户预想先于需求工作流,目的是为现存的或客户预想中的真实业务建立模型,是为理解客户业务,中的真实业务建立模型,是为理解客户业务,并与客户达成理解上的共识而建立的模型。并与客户达成理解上的共识而建立的模型。l不需要考虑计算机环境。不需要考虑计算机环境。业务用例模型业务用
3、例模型l业务用例模型描述的是业务范围,与系统用例业务用例模型描述的是业务范围,与系统用例模型不同:模型不同:l有些业务不适合用计算机实现,有些业务不适合用计算机实现,l即使可以用计算机实现,但根据运行环境等硬即使可以用计算机实现,但根据运行环境等硬件因素,一些业务需求也可能被排除在系统范件因素,一些业务需求也可能被排除在系统范围之外。围之外。 完整的业务用例模型完整的业务用例模型业务用例模型主要内容业务用例模型主要内容l业务用例视图业务用例视图l包括业务主角和业务用例包括业务主角和业务用例l是业务的高层概要视图是业务的高层概要视图l业务用例场景业务用例场景l说明业务用例的执行过程说明业务用例的
4、执行过程l业务用例规约业务用例规约l对每一个业务用例,说明其使用者、目的、场对每一个业务用例,说明其使用者、目的、场景、相关业务规则、实体等景、相关业务规则、实体等业务用例模型主要内容业务用例模型主要内容l业务规则业务规则l业务对象模型业务对象模型l描述业务模型中关键的业务对象。描述业务模型中关键的业务对象。l业务实现视图业务实现视图l业务用例实现场景业务用例实现场景l包图包图l按业务模块或业务主角分包,以组织业务用例。按业务模块或业务主角分包,以组织业务用例。何时使用业务用例模型?何时使用业务用例模型?l开发一个针对商业组织的软件、或交互密集型开发一个针对商业组织的软件、或交互密集型软件,或
5、较大规模软件时。软件,或较大规模软件时。l待开发的软件问题领域有复杂的组织结构,或待开发的软件问题领域有复杂的组织结构,或有许多业务流程时。有许多业务流程时。l开发人员对该行业业务了解不多时。开发人员对该行业业务了解不多时。l客户已有许多孤立的遗留系统,希望做应用整客户已有许多孤立的遗留系统,希望做应用整合时。合时。概念用例模型概念用例模型l当系统规模较大时,业务用例的粒度也较大,当系统规模较大时,业务用例的粒度也较大,其所能描述的业务比较粗略。其所能描述的业务比较粗略。l需要一种方法来分解较大的业务用例,从中找需要一种方法来分解较大的业务用例,从中找到关键和核心的工作单元,针对这些工作单元到
6、关键和核心的工作单元,针对这些工作单元来简化业务,得到一组缩小的用例来简化业务,得到一组缩小的用例概念用概念用例。例。l概念用例通过包含、泛化、扩展关系连接到基概念用例通过包含、泛化、扩展关系连接到基本业务用例。本业务用例。 完整的概念用例模型完整的概念用例模型概念用例模型的主要内容概念用例模型的主要内容l概念用例视图概念用例视图l分解较大的业务用例,从中找到关键和核心工作单元,分解较大的业务用例,从中找到关键和核心工作单元,并针对这些单元使用包含、扩展、泛化关系与基本业并针对这些单元使用包含、扩展、泛化关系与基本业务相连接。务相连接。l概念用例分析概念用例分析l对重要和典型的业务用例场景进行
7、仔细描述。对重要和典型的业务用例场景进行仔细描述。l分析类视图分析类视图l对概念用例分析过程中抽象出的分析类进行建模。对概念用例分析过程中抽象出的分析类进行建模。l分析场景分析场景l使用分析类绘制对象交互图使用分析类绘制对象交互图何时使用概念用例?何时使用概念用例?l所面对的业务领域规模庞大,业务用例粒度较所面对的业务领域规模庞大,业务用例粒度较大,不容易过度到系统用例时。大,不容易过度到系统用例时。l业务领域是网状交叉的,有跨业务用例的业务业务领域是网状交叉的,有跨业务用例的业务流程时。流程时。l某个业务用例场景过于复杂,步骤和分支过多,某个业务用例场景过于复杂,步骤和分支过多,使用活动图绘
8、制用例场景困难时。使用活动图绘制用例场景困难时。l对系统用例的决定有疑问时。对系统用例的决定有疑问时。系统用例模型系统用例模型l系统既定功能及系统环境模型,可以作为客户系统既定功能及系统环境模型,可以作为客户和开发人员之间的契约。和开发人员之间的契约。 完整的用例模型完整的用例模型系统用例模型的主要内容系统用例模型的主要内容l业务用例业务用例l系统用例使用精化关系连接到业务用例,表示系统用例使用精化关系连接到业务用例,表示追溯关系。追溯关系。l概念用例概念用例l作为模型的附加存在。作为模型的附加存在。l用例视图用例视图l表达系统的所有功能性需求。表达系统的所有功能性需求。l用例规约用例规约l补
9、充规约补充规约系统用例模型的主要内容系统用例模型的主要内容l业务规则业务规则l用例实现用例实现l代表用例的不同应用环境。代表用例的不同应用环境。l用例场景用例场景l描述参与者,对象之间的交互,可以使用交互描述参与者,对象之间的交互,可以使用交互图来描述图来描述l分析对象分析对象领域模型领域模型l用来对问题领域中某个我们关心的问题来建立用来对问题领域中某个我们关心的问题来建立对象模型,它代表系统工作环境中存在的对象模型,它代表系统工作环境中存在的“事事情或发生的事情。情或发生的事情。l是一种是一种“不完整的业务对象模型,它不包括不完整的业务对象模型,它不包括使用者的信息和使用过程。使用者的信息和
10、使用过程。l通常是先建立业务模型,再来推导领域模型。通常是先建立业务模型,再来推导领域模型。 领域模型推导领域模型推导 何时使用领域模型?何时使用领域模型?l为非交互密集型软件建立领域模型;为非交互密集型软件建立领域模型;l由于参与者少,获取用例的意义不大。由于参与者少,获取用例的意义不大。l为交互密集型软件中交叉和重叠的对象建立领为交互密集型软件中交叉和重叠的对象建立领域模型;域模型;l当问题领域比较复杂,一项业务涉及很多对象,当问题领域比较复杂,一项业务涉及很多对象,并且对象之间的相互影响很频繁时使用领域模并且对象之间的相互影响很频繁时使用领域模型。型。分析模型分析模型l是一种可选模型,是
11、从需求向设计模型转化的是一种可选模型,是从需求向设计模型转化的过渡。过渡。l由于分析类忽略实现细节,可以只关心系统如由于分析类忽略实现细节,可以只关心系统如何使用对象来实现需求,采用分析类来维护系何使用对象来实现需求,采用分析类来维护系统实现与需求的同步能非常大的节省工作量。统实现与需求的同步能非常大的节省工作量。如何使用分析模型?如何使用分析模型?l结合时序图,分析用例场景,把用例场景过程结合时序图,分析用例场景,把用例场景过程用分析类实现出来。用分析类实现出来。l获得分析类后,进一步定义分析类之间的关系。获得分析类后,进一步定义分析类之间的关系。l对备选的分析类,及其关系进行调整和优化。对
12、备选的分析类,及其关系进行调整和优化。 分析模型的主要内容分析模型的主要内容 分析模型的意义分析模型的意义l一方面为我们提供了系统如何实现需求的理解,一方面为我们提供了系统如何实现需求的理解,一方面为下一步演化到设计模型提供了极好的一方面为下一步演化到设计模型提供了极好的输入。输入。软件的架构和框架软件的架构和框架l软件架构:软件架构:l在较高的抽象层次上,将系统规划为一些独立在较高的抽象层次上,将系统规划为一些独立的逻辑部件,部件间通过标准的通信接口传递的逻辑部件,部件间通过标准的通信接口传递信息,是对系统高层次的定义和描述。信息,是对系统高层次的定义和描述。l一个架构就是一个系统的蓝图,骨
13、架。一个架构就是一个系统的蓝图,骨架。l框架:框架:l是针对某个问题领域的通用解决方案,是针对某个问题领域的通用解决方案,l通常集成了最佳实践和可复用的基础结构,对通常集成了最佳实践和可复用的基础结构,对开发工作起到减少工作量、指导和规范作用。开发工作起到减少工作量、指导和规范作用。软件的架构软件的架构l需要描述两方面内容:需要描述两方面内容:l业务架构业务架构l软件架构软件架构业务架构业务架构l其目标是为业务领域建立一个维护和扩展的逻其目标是为业务领域建立一个维护和扩展的逻辑结构,描述业务的构成。辑结构,描述业务的构成。l对我们理解客户业务,尤其是开发行业解决方对我们理解客户业务,尤其是开发
14、行业解决方案有着重要的作用。案有着重要的作用。l业务架构是软件架构的重要输入。业务架构是软件架构的重要输入。l建立业务架构可以为业务重组做准备。建立业务架构可以为业务重组做准备。业务架构业务架构l来源于两个主要输入:来源于两个主要输入:l业务用例业务用例l领域模型领域模型l可以使用领域包和组织结构包来表示业务主要可以使用领域包和组织结构包来表示业务主要领域和组织结构关系。领域和组织结构关系。 网上购物系统业务架构网上购物系统业务架构 业务架构与业务用例模型、领域业务架构与业务用例模型、领域模型关系模型关系 软件架构软件架构l软件架构在业务架构的基础上引入了计算机软、软件架构在业务架构的基础上引
15、入了计算机软、硬件环境,硬件环境,l说明业务架构如何分布在计算机环境中,并得说明业务架构如何分布在计算机环境中,并得以执行。以执行。l包括两种视角:包括两种视角:l广度视角广度视角l深度视角深度视角广度视角广度视角l即常见的软件层次结构。即常见的软件层次结构。l关注软件的分层,规定每一层次之间的通信标关注软件的分层,规定每一层次之间的通信标准。准。l一般使用一般使用“包来绘制。包来绘制。 l 软件层次广度软件层次广度视角架构图。视角架构图。l通常在软件架通常在软件架构文档中要详构文档中要详细描述图中的细描述图中的每一个部分。每一个部分。深度视角深度视角l指广度视角中每一层的详细说明。指广度视角
16、中每一层的详细说明。l关注每一层及每个部分的具体实现架构。关注每一层及每个部分的具体实现架构。 l业务实体业务实体层的深度层的深度视角视角架构描述架构描述l通过架构文档记录,其中的内容包括:通过架构文档记录,其中的内容包括:l业务架构描述业务架构描述l背景、商业模式、目标等背景、商业模式、目标等l组织结构组织结构l描述客户方的组织结构描述客户方的组织结构l业务模块:业务模块:l描述每个业务模块完成的商业目标,与相关业描述每个业务模块完成的商业目标,与相关业务模块的关系,模块内的主要业务流程。务模块的关系,模块内的主要业务流程。架构描述架构描述l业务对象模型:业务对象模型:l主要业务对象模型,领
17、域模型,业务对象如何主要业务对象模型,领域模型,业务对象如何实现商业目标,在业务架构中的作用。实现商业目标,在业务架构中的作用。l典型用例场景典型用例场景l描述重要的典型用例场景,如何串联各个业务描述重要的典型用例场景,如何串联各个业务模块,个业务模块中主要处理事项及结果。模块,个业务模块中主要处理事项及结果。l软件架构概要软件架构概要l计算环境计算环境l系统运行的软硬件环境系统运行的软硬件环境架构描述架构描述l软件层次软件层次l可使用广度视角的层次结构图可使用广度视角的层次结构图l实现架构实现架构l使用类似深度视角的设计图,一般要使用交互使用类似深度视角的设计图,一般要使用交互图描绘交互场景
18、。图描绘交互场景。l协议接口协议接口l软件框架软件框架l典型用例场景的架构实现典型用例场景的架构实现l非功能性需求非功能性需求 软件框架软件框架l是针对一个普遍问题的最佳实践或解决方案,是针对一个普遍问题的最佳实践或解决方案,l提供基本类库、编程模型和编程规范、甚至包提供基本类库、编程模型和编程规范、甚至包括括IDE工具。工具。l项目中可以使用第三方的商业框架或者开源框项目中可以使用第三方的商业框架或者开源框架,也可以是自己开发的框架。架,也可以是自己开发的框架。何时使用架构和框架?何时使用架构和框架?l架构只有在规模比较大、开发团队也有一定规架构只有在规模比较大、开发团队也有一定规模的项目中
19、才能发挥作用。模的项目中才能发挥作用。l使用框架可以提高代码质量,因此推荐尽可能使用框架可以提高代码质量,因此推荐尽可能多的使用。多的使用。设计模型设计模型l是一个描述用例实现的对象模型,采用设计类是一个描述用例实现的对象模型,采用设计类绘制。绘制。l可以作为实施模型及其源代码的抽象。可以作为实施模型及其源代码的抽象。l设计模型用作实施和测试活动的基本输入。设计模型用作实施和测试活动的基本输入。设计模型的主要输入设计模型的主要输入 设计模型的应用场合设计模型的应用场合l软件架构场合软件架构场合l架构是很高层次的系统视图,为解释软件架构架构是很高层次的系统视图,为解释软件架构如何运行,以及描述应
20、当如何使用架构的编程如何运行,以及描述应当如何使用架构的编程模型,需要使用设计模型如深度视角下的模模型,需要使用设计模型如深度视角下的模型)。型)。设计模型的应用场合设计模型的应用场合l软件框架场合软件框架场合l对开发人员来说,如何使用框架有时候是个问对开发人员来说,如何使用框架有时候是个问题。题。l此时系统设计师应当建立一个设计模型来解释此时系统设计师应当建立一个设计模型来解释框架如何运行,如何使用框架的类库以及开发框架如何运行,如何使用框架的类库以及开发时应当怎样遵循编程模型。时应当怎样遵循编程模型。设计模型的应用场合设计模型的应用场合l典型场景场合典型场景场合l从众多场景中抽取一个来建立
21、设计模型,有助从众多场景中抽取一个来建立设计模型,有助于开发人员举一反三。于开发人员举一反三。设计模型的主要内容设计模型的主要内容 推荐的设计模型用法推荐的设计模型用法 从分析模型映射到设计模型从分析模型映射到设计模型l一组指导原则:一组指导原则:l分析类代表设计元素的实例所承担的角色,这分析类代表设计元素的实例所承担的角色,这些角色可以由一个或多个设计模型元素实现。些角色可以由一个或多个设计模型元素实现。l当设计元素可以实现多个角色。当设计元素可以实现多个角色。实现分析角色的可能方法实现分析角色的可能方法l一个分析类可以成为设计模型中的:一个分析类可以成为设计模型中的:l单个类单个类l某个类
22、的一部分某个类的一部分l一个聚合关系类一个聚合关系类l设计模型中从同一个类继承而来的一组类设计模型中从同一个类继承而来的一组类l一组功能相关的类一组功能相关的类l一个包一个包l一项关系一项关系实现分析角色的可能方法实现分析角色的可能方法l分析类主要处理功能性需求,来自问题领域的分析类主要处理功能性需求,来自问题领域的模型对象;模型对象;l设计类处理非功能性需求以及来自解决方案领设计类处理非功能性需求以及来自解决方案领域的模型对象。域的模型对象。组件模型组件模型l组件可以看做是一种特殊的包,容纳分析类和组件可以看做是一种特殊的包,容纳分析类和设计类,使其组织起来完成一组特定的功能。设计类,使其组织起来完成一组特定的功能。l组件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论