系统分析与设计6过程建模ppt课件

上传人:工**** 文档编号:568665190 上传时间:2024-07-26 格式:PPT 页数:159 大小:16.29MB
返回 下载 相关 举报
系统分析与设计6过程建模ppt课件_第1页
第1页 / 共159页
系统分析与设计6过程建模ppt课件_第2页
第2页 / 共159页
系统分析与设计6过程建模ppt课件_第3页
第3页 / 共159页
系统分析与设计6过程建模ppt课件_第4页
第4页 / 共159页
系统分析与设计6过程建模ppt课件_第5页
第5页 / 共159页
点击查看更多>>
资源描述

《系统分析与设计6过程建模ppt课件》由会员分享,可在线阅读,更多相关《系统分析与设计6过程建模ppt课件(159页珍藏版)》请在金锄头文库上搜索。

1、北方民族大学计算机学院软件工程系北方民族大学计算机学院软件工程系第六章过程建模第六章过程建模PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 2学习目的学习目的过程模型描画了业务过程,即人们所做出的活动,它是为现有系统或待开发系统而开发的模型。最常用的过程建模技术是数据流图。 学习目的了解数据流图的运用规那么和设计原那么了解创建数据流图的过程

2、可以创建数据流图掌握UML鲁棒图、时序图、通讯图、活动图提纲提纲6.16.1引言引言6.2 6.2 数据流数据流图6.3 6.3 创建数据流建数据流图6.4 6.4 将方案运用到将方案运用到CD SelectionsCD Selections工程工程6.5 UML6.5 UML动态建模建模过程模型过程模型1.过程模型是表示业务系统运转的一种方式化方法,它演示了系统执行的过程或活动,以及数据在它们之间是如何流动的,过程模型可以用来描画现有系统或待开发系统,不论它们能否能被计算机化。2.有许多不同的过程建模技术3.数据流图是以图形的方式描画系统业务流程以及系统内数据传送的一种技术。4.数据流图主要

3、关注的是过程和所执行的活动5.独立于任何实现技术来描画系统的逻辑过程模型逻辑过程模型和物理过程模型逻辑过程模型和物理过程模型逻辑过程模型描画了在没有提示的情况下业务过程是这样被执行的物理过程模型提供了在建立系统时所需的必要信息首先经过关注逻辑过程模型,系统分析员将重点关注业务怎样执行提纲提纲6.1引言6.2 数据流图6.3 创建数据流图6.4 将方案运用到CD Selections工程6.5 UML动态建模PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyr

4、ight 2006 John Wiley & Sons, Inc. All rights reserved.6 - 7医生办公系统医生办公系统DFD的一部分的一部分PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 86.2.2数据流图的根本元素数据流图的根本元素DFD言语中有4中符号过程、数据流、数据存储、和外部实体,每个符号用不同的图形表示

5、。PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 9数据流图元素的命名和表示图形数据流图元素的命名和表示图形ProcessData flowData storeExternalentityPowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design

6、, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 10DFD 元素元素-过程过程是为特定业务缘由而执行的活动或功能可以是人工或计算机化每个过程应该是以“动词开头和名词结尾的方式进展命名每个过程普通只执行一个活动每个过程必需至少有一个输入数据流和一个输出数据流复杂的过程需求用正规的技术进展描画,例如:构造化语句、决策表或决策树PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edi

7、tionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 11DFD 元素元素-数据流数据流单个数据或是一些信息的逻辑集合总是和过程一同出现,从一个过程流出或是流入一个过程,总是在过程开场在过程终了PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 12DFD 元素元素

8、-数据存储数据存储以某种方式存储的数据集合数据存储是数据模型的起始点,是过程模型和数据模型的主要衔接点从数据存储流出的数据流显示的是从数据存储检索信息流入数据存储的数据流代表的是把数据存储到数据存储中或是修正在数据存储中的数据每个数据存储必需至少有一个输入数据流数据存储在某一层的DFD中至少要有一个输出数据流PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reser

9、ved.6 - 13DFD 元素元素-外部实体外部实体是位于系统范围之外与正在被研讨的系统交互的人、组织部门或是其他系统.对外部实体了解的关键点是:外部实体位于系统范围之外,能够是组织的一部分,也能够不是一个常犯的错误是把“过程执行人作为外部实体对待过程执行人通常在过程中描画,而不是在DFD中描画过程执行人过程执行人PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights r

10、eserved.6 - 15DFDDFD的性质的性质(1)DFD(1)DFD中的箭中的箭头仅表示系表示系统中数据的流中数据的流动,不表示不表示实物,物,为代表代表实物的信息。物的信息。(2)DFD(2)DFD不能表示程序的控制构造,不包含不能表示程序的控制构造,不包含“控制流、控制流、“控制构造、控制构造、“激激发条件之条件之类的信息。的信息。(3)DFD(3)DFD表表现范范围具有很大的灵敏性,常用一具有很大的灵敏性,常用一组DFDDFD由粗到由粗到细表示一表示一软件在不同件在不同笼统级别上上的的逻辑性性质。PowerPoint Presentation for Dennis, Wixom,

11、 & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 166.2.3用数据流图定义业务过程用数据流图定义业务过程大部分业务过程由于太复杂而不能在一个DFD中描画,因此大部分过程模型由一系列的DFD构成。第一个DFD 给出了整个系统的概要,其他DFD对系统的每个业务过程进展更为详细地描画。用DFD进展过程建模最重要的一点就是把业务过程分解成一系列的DFD,每个DFD代表更低层次的细节。PowerPoint Presentation

12、 for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 17上下文图上下文图每个业务过程模型的第一个数据流图显示的是整个系统的交互环境,一切的过程模型都有一个上下文图显示的是整个业务过程仅仅作为一个过程并与外部实体间进展的数据流入流出的情况图中不包括数据存储,除非不是系统或过程“自有的而是外部的。PowerPoint Presentation for Dennis, Wixom, & Roth

13、 Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 18Level 0 图图0层DFD显示第一层数据流图,即过程13的一切过程、数据存储、外部实体及它们之间的数据流0层DFD的目的是显示系统主要的高层过程及它们之间是如何交互的,一切过程模型有且只需一个0层。在创建一系列DFD时,另外一个关键原那么是平衡。平衡意味着保证在一层数据流图中出现的一切信息都必需准确地出如今下一层数据流图中,必需都以恰当的方式显示出来。添加数据存储PowerPoin

14、t Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 19Relationship among Levels of DFDsContext diagramLevel 0 diagram Level 1 diagram Level 2 diagram 层次数据流图层次数据流图PowerPoint Presentation for Dennis, Wixom, & R

15、oth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 21Level 1 图图每个0层DFD的过程还能被分解为更加明晰的DFD,即1层DFD或1层图。通常在一切过程模型中1层DFD数和0层DFD中的过程数是一样的,0层DFD中的每个过程分解成其本人的1层DFD显示了信息是怎样从0层挪动到1层子过程集和父过程是一样的,它们仅仅是从不同角度来对待同一事件 PowerPoint Presentation for Dennis, Wixom,

16、& Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 22Level 2 图图显示了在1层中一个过程被分解成的一切过程显示了每个过程之间信息的流入和流出2层图可以不用是一切1层的过程可以借助DFD过程编号中点的数量来判别DFD所处的层。PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright

17、 2006 John Wiley & Sons, Inc. All rights reserved.6 - 23可选数据流可选数据流根据不同的条件,一个过程可以产生不同的数据流在DFD中如何表示这些可选的途径呢?我们将在过程描画里面解释这些可选的数据流DFD本身不能解释那些相互排斥的数据流 数据流图数据流图TABC*TA*CBTABC+数据数据A和和B同同时输入入才干才干变换成数据成数据C数据数据A变换成数据成数据B和和C数据数据A或或B,或数据,或数据A和和B同同时输入入变换成成C数据数据A变换成成B或或C,或或B和和CTA*CB只需数据只需数据A或或B但不能但不能A、B同同时输入入变换成成

18、C数据数据A变换成成B或或C,但,但不能不能变换成成B和和CTABCTACBPowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 25过程描画过程描画过程描画的目的是解释过程做什么,以及提供数据流图不能提供的附加信息。SDLC中我们所做的其实就是将常规的文本需求描画渐渐转化为越来越准确的描画,并最终将其转化为程序代码。对于特别复杂的过程,可以经过

19、更为详尽的过程描画来解释发生在过程内部的逻辑,有3种技术构造化英语:运用简短的句子描画过程的执行情况;决策树:经过一系列节点和分支显示决策逻辑;决策表:是衔接不同条件和行动的复杂决策规那么这些技术通常在编码阶段讨论PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 26留意留意1 1数据流程数据流程图上一切上一切图形符号只限于前述四形符号只限于

20、前述四种根本种根本图形元素。形元素。数据流程数据流程图上一切上一切图形符号只限于前述四形符号只限于前述四种根本种根本图形元素。形元素。数据流程数据流程图上的数据流必需封上的数据流必需封锁在外部在外部实体之体之间。每个每个过程至少有一个程至少有一个输入数据流和一个入数据流和一个输出数据流。出数据流。PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6

21、- 27留意留意2 2在数据流程在数据流程图中,需按中,需按层给加工框加工框编号,号,编号号阐明明该加工所加工所处层次及上下次及上下层的的亲子子关系。关系。一个数据流子一个数据流子图必需与它上一必需与它上一层的一个加的一个加工工对应,两者的,两者的输入数据流和入数据流和输出数据流出数据流必需一致。必需一致。数据流程数据流程图上每个元素都必需有名字和上每个元素都必需有名字和编号。号。数据流数据流图中不可中不可夹带控制流。控制流。提纲提纲6.1引言6.2 数据流图6.3 创建数据流图6.4 将方案运用到CD Selections工程6.5 UML动态建模PowerPoint Presentatio

22、n for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 296.3创建数据流建数据流图DFDs 始于需求定义和用例信息。虽然用例是由工程团队和用户一同来创建,但是DFD通常是由工程团队创建,然后由用户查看。通常,构成过程模型的DFD集只是简单地集成独立的用例。工程团队把用例重新将它们转化为DFD,不得不修正用例信息以符合DFD的规那么。最常见的修正规那么是:将用例的称号改为过程和数据流的输入

23、和输出。将用例中几个小的输入和输出合并为数据流图中的大的数据流。工程团队通常运用过程建模工具或CASE工具来构建过程模型。PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 30创建数据流建数据流图步步骤1.创建上下文图2.创建数据流图段3.创建0层数据流图4.团队基于每个用例的内部步骤开发1层DFD以便更好地解释它们是如何执行的。在某种情况下

24、,1层DFD需求进一步分解为2层DFD、3层和4层DFD; etc.5.团队验证DFD集以保证它们的完好性和正确性。PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 316.3.1创建上下文图创建上下文图上下文图定义了业务过程或计算机系统是如何与其所处环境进展交互的。主要是外部实体创建上下文图时只需求为业务过程或建模的系统绘制一个过程符号编号

25、为0并为这个过程或系统命名经过阅读用例图,给上下文图添加顶层表格列出的输入和输出,以及它们的来源和去向。一切的输入和输出都来自或流向外部实体,如人、组织或其他信息系统。假设有输入输出与外部系统的数据存储直接相连,那么最正确实际的方式是创建一个外部实体并将其定义为拥有该数据存储的系统。PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 32创建上

26、下文图例如创建上下文图例如PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 336.3.2创建数据流图段创建数据流图段DFD度是数据流图的一部分,最终与其他的DFD段一同合并成一个完好的DFD每个用例被转化为一个DFD段。获得每个用例并根据用例顶部提供的信息绘制DFD段,包括:称号、ID号以及主要的输入和输出。在转化过程中还要做两个重要的修正

27、修正正程称号和添加数据流。一切过程的称号必需是动宾格式必需由动词开头并包含一个称号。PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 34创建数据流图段创建数据流图段添加数据流用例没有描画系统时怎样获取数据,所以用例经常脱漏从数据存储中读取数据的数据流。最简单的做法用用例顶部列出的主要输入和输出来创建DFD段验证一切的输出都具有足够的输入来创

28、建它们PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 35创建数据流图段创建数据流图段DFD中的规划是没有正式规那么的DFD段尽量把过程放在中间输入放在左边或上面输出放在右边或底部数据存储放在过程下面PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and

29、Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 36A DFD Fragment ExamplePowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 37创建创建0层数据流图层数据流图一旦有了DFD段集合,只需简单合并它们便是一个0

30、层DFD。系统分析员总是把第一个过程放在图的左上角并按照过程的顺序自顶向下、从左往右陈列。减少数据流交叉的次数迭代是设计良好DFD的根底PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 38创建创建0层数据流图层数据流图PowerPoint Presentation for Dennis, Wixom, & Roth Systems Anal

31、ysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 39创建创建1层数据流图及下层层数据流图及下层为0层DFD中需求中需求1层DFD的每个的每个过程程创建低建低层DFD。创建建1层DFD的的过程所采取的步程所采取的步骤与之前所与之前所讲的的将用例将用例转变为0层DFD的步的步骤根本是一根本是一样的的用例中每个用例中每个带有有输入和入和输出的步出的步骤都都转变成成1层DFD中中带有有输入数据流和入数据流和输出数据流的出数据流的过程程但是有但是有时需求做需求做细微的修正

32、才干将用例中描画的微的修正才干将用例中描画的非正式信息非正式信息转变为更加正式的更加正式的过程模型。程模型。也可以包括外部也可以包括外部实体体PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 40创建创建1层数据流图及下层层数据流图及下层何时停顿分解 DFDs层次?在每个DFD中应该至少有3个过程,至多有79个过程.PowerPoint Pr

33、esentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 46验证数据流图验证数据流图语法错误指DFD的构造以及DFD能否遵照他的言语规那么。假设正确DFD 构造 For each DFD: Check each process for: A unique name: action verb phrase; number; descriptionAt least one in

34、put data flowAt least one output data flowOutput data flow names usually different thaninput data flow namesBetween 3 and 7 processes per DFDPowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 47验证数据

35、流图验证数据流图For each DFD:Check each data flow for:A unique name: noun; descriptionConnects to at least one processShown in only one direction (no two-headed arrows)A minimum number of crossed linesCheck each data store for:A unique name: noun; descriptionAt least one input data flowAt least one output d

36、ata flow Check each external entity for:A unique name: noun; descriptionAt least one input or output data flowPowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 48验证数据流图验证数据流图Across DFDs:Context Dia

37、gram:Every set of DFDs must have one Context Diagram 每一组DFD必需有一个上下文图Viewpoint:There is a consistent viewpoint for the entire set of DFDs 整个DFD的实体称号必需一致Decomposition:Every process is wholly and complete described by the processes on its children DFDs 每个过程所对应的子DFD中的一切过程应能完好描画该过程Balance:Every data flow

38、, data store, and external entity on a higher level DFD is shown on the lower level DFD that decomposes it No data stores or data flows appear on lower-lever DFDs that do not appear on their parent DFD 在高层DFD中的每个数据流、数据存储和实体,在分解后的低层DFD中都要被显示出来 PowerPoint Presentation for Dennis, Wixom, & Roth Systems

39、 Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 49验证数据流图验证数据流图语义是指DFD的含义以及它能否准确描画了创建的业务过程建模确保模型表述确切, 让用户对模型走查验证角色扮演过程确保模型的最底层可以提供一致的细节层次保证整个建模过程中的术语一致性PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2

40、006 John Wiley & Sons, Inc. All rights reserved.6 - 50常见错误常见错误一个过程只需输入,没有输出黑洞错误一个过程只需输出,没有输入奇观错误数据流从实体到实体数据流从实体到数据存储数据存储只需输入或输出数据流有双向箭头提纲提纲6.1引言6.2 数据流图6.3 创建数据流图6.4 将方案运用到CD Selections工程6.5 UML动态建模PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 20

41、06 John Wiley & Sons, Inc. All rights reserved.6 - 52创建上下文图创建上下文图PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 53创建创建0层数据流图层数据流图PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysi

42、s and Design, 3rd EditionCopyright 2006 John Wiley & Sons, Inc. All rights reserved.6 - 54创建创建1层数据流图层数据流图提纲提纲6.1引言6.2 数据流图6.3 创建数据流图6.4 将方案运用到CD Selections工程6.5 UML动态建模Were here to answer the question. CodeLets assume that weve done a little prototyping, and started to write some use cases.But code

43、is our desired destination.Before we get to code, though.We need a complete set of classes, with accompanying attributes and methods.We show this information on design-level class diagrams.Design-Level Class Diagramsur design-level class diagrams serve as the structure for our code.Before we have cl

44、asses with attributes and methods, though.We have only enough information to make good decisions about which classes are responsible for which methods while we are drawing sequence diagrams.So, we need to draw a sequence diagram for each use case.Sequence DiagramsWe allocate methods to classes as we

45、 draw sequence diagrams.Before we do sequence diagrams, though.We need to have a good idea about what objects will be performing in which use case, and what functions the system will perform as a result of user actions.We get this information from robustness diagrams, the result of robustness analys

46、is.Robustness AnalysisDone for each use caseCloses gap between “what and “howGUI, Logic, Repository Boundary, Control, EntityUseful in client/server and N-tier modelingHelps domain model evolve into detailed static model三种分析类三种分析类三种分析类与三种分析类与MVCMVC的类似与不同的类似与不同销户用例的鲁棒图销户用例的鲁棒图ATMATM系统的用例图系统的用例图ATMATM

47、系统的用例描画系统的用例描画-用户登录用户登录ATMATM系统的用例描画系统的用例描画-用户登录用户登录ATMATM系统的鲁棒图系统的鲁棒图-用户登录用户登录ATMATM系统的用例描画系统的用例描画-取钱取钱ATMATM系统的用例描画系统的用例描画-取钱取钱ATMATM系统的鲁棒图系统的鲁棒图-取钱取钱作业和第一次实验报告评价作业和第一次实验报告评价鲁棒图建模的十条阅历鲁棒图建模的十条阅历鲁棒图建模规那么鲁棒图建模规那么鲁棒图的语法鲁棒图的语法不能墨守成规不能墨守成规鲁棒图的优点:够用,好用鲁棒图的优点:够用,好用动态建模的重要性动态建模的重要性运用系统开发中,分析设计人员经过建立系统的静态模

48、型,可以获得系统中的有关组成及构造、各个部分之间的关联关系等信息。但是假设此时就急于进展系统的编码实现,那么往往会很困难。由于大部分软件的功能实现程序都是由复杂的交互过程组成的,仅了解系统的构造和关系缺乏以进展系统功能的实现,还必需对运用系统建立完善的动态模型和了解系统中各个组件的音讯的传送过程以及组件之间的交互关系。经过为系统建立动态模型,从而产生表达系统动态行为的可视化分析结果-包括对象的时间特性和对象为完成目的义务而相互进展通讯的机制、对象行为的改动和形状变化情况,以及对象能够出现的各种活动情况等信息。动态模型受静态模型的限制动态模型受静态模型的限制动态建模是在系统静态模型的根底上建立相

49、应的动态模型。在建好系统静态模型的根底上,分析和设计系统的动态构造,并且建立相应的动态建模。动态模型受静态模型的限制,并且必需与静态模型坚持一致,由于动态模型中的许多模型元素都是来源于静态模型的。动态模型描画了系统随时间变化的行为,这些行为是用从静态模型视图中抽取的系统瞬间值的变化来描画的。动态模型分为交互模型和活动形状模型,其中的交互模型主要由顺序图和协作图构成,活动形状模型主要由活动图和形状图构成。利用交互图可以对共同任务的对象群体的行为进展建模利用交互图可以对共同任务的对象群体的行为进展建模系统中功能的详细实现是经过程序类中方法之间的调用完成的,而软件系统的分析和设计人员想了解某个功能或

50、者用例的详细实现过程,那么必需了解该功能实现过程中涉及的对象、对象之间是如何进展音讯的发送和接纳的。交互图(interaction diagram)主要用于定义软件系统如何实现特定功能,并可以按照时间流程显示用例的实现过程,包括:在信息流中需求什么对象、对象相互发送什么音讯、什么角色启动音讯流、音讯按什么时序发送、对象的形状是如何改动的交互图中交互的含义:描画了一组对象和它们之间的相互操作,也包括在对象间传送的音讯。对象之间的交互是指一个对象访问另外一个对象中的方法或由于事件的触发而产生的对象之间的协作关系交互图以图示的方式表示方法调用的详细过程,有两种方式:顺序图和通讯图。对象之间进展交互时

51、的音讯对象之间进展交互时的音讯1.音讯包括发送者、接纳者和动作2.发送者:发送者是发送音讯的类元角色。3.接纳者:接纳者是接受音讯的类元角色。4.动作:动作为调用、信号、发送者的部分操作或简单动作,如创建和销毁。动作带有参量表、接纳者表达式曾经对激活的操作或信号的援用。它还包括音讯执行的迭代和条件阐明。5.简单音讯(Simple Message):音讯在单个控制线程中运转。用于描画控制如何在对象间进展传送,不思索通讯的细节。6.简单音讯的UML图示对象之间进展交互时的音讯对象之间进展交互时的音讯1.音讯包括发送者、接纳者和动作2.发送者:发送者是发送音讯的类元角色。3.接纳者:接纳者是接受音讯

52、的类元角色。4.动作:动作为调用、信号、发送者的部分操作或简单动作,如创建和销毁。动作带有参量表、接纳者表达式曾经对激活的操作或信号的援用。它还包括音讯执行的迭代和条件阐明。5.音讯的类型6.简单音讯(Simple Message):音讯在单个控制线程中运转。用于描画控制如何在对象间进展传送,不思索通讯的细节。7.同步音讯(Synchronous Message) :表示等待的语义。8.异步音讯(Asynchronous Message) :主要用于描画实时系统中的并发行为。由于是异步的控制流,其中没有显示的到调用者的前往音讯。表示不等待的语义顺序图和通讯图的异同顺序图和通讯图的异同顺序图顺序

53、图(sequence diagram)(sequence diagram):按照时间顺序来描画对:按照时间顺序来描画对象的交互,将交互建模成音讯交换,主要强调在交互过程象的交互,将交互建模成音讯交换,主要强调在交互过程中产生的各个音讯的时间顺序中产生的各个音讯的时间顺序从计算机的角度描画用例。从计算机的角度描画用例。协作图协作图(collaboration diagram)(collaboration diagram):围绕着对象和对:围绕着对象和对象之间的链接来描画对象的交互,强调接纳和发送音讯的象之间的链接来描画对象的交互,强调接纳和发送音讯的对象的组织构造。协作图不能表达音讯的先后顺序对

54、象的组织构造。协作图不能表达音讯的先后顺序( (协作协作图在图在UML2.xUML2.x中也称通讯图中也称通讯图communications diagram)communications diagram)这两种图在言语上是对等的,表达的音讯内容是一样这两种图在言语上是对等的,表达的音讯内容是一样的的顺序图中对象之间的链接是隐含的,对象顺序信息不顺序图中对象之间的链接是隐含的,对象顺序信息不够明显;协作图中对象之间的链接是显式的,而且协作图够明显;协作图中对象之间的链接是显式的,而且协作图显示了不同信息流的视图,更容易看出对象之间的关系。显示了不同信息流的视图,更容易看出对象之间的关系。虽然两者

55、作用一样,包含一样的信息,但视图表达出虽然两者作用一样,包含一样的信息,但视图表达出的表达问题的内涵有所不同。在运用方面的偏重点不同。的表达问题的内涵有所不同。在运用方面的偏重点不同。用顺序表示图赤壁之战的执行过程用顺序表示图赤壁之战的执行过程90顺序图例如顺序图例如1 1图15-1 顺序图public class Aprivate B myB = new B();public void doOne() myB.doTwo(); myB.doThree();/对象名对象名:类名:类名对象名:类名对象名:类名91图15-3 顺序图public class Saleprivate Payment

56、payment;Public void makePayment(Money cashTendered) payment =new Payment(cashTendered);/顺序图例如2顺序图中的各个组成模型元素及其作用顺序图中的各个组成模型元素及其作用顺序图中包含的模型元素有:对象、音讯、生命线、激活期(点。对象类角色生命线生命线代表对象的名字放置在方格内,按时间从上到下的顺序,生命线显示了音讯的顺序。在生命线上的音讯比在其下的音讯先发。当收到音讯时,接收对象立刻开场执行活动,即对象被激活.生命线上的细长矩形表示对象被激活。顺序图中的激活期顺序图中的激活期1.什么是激活期激活期表示对象执行

57、一个动作的周期,即对象激活的时间段。当收到音讯时,接纳对象立刻开场执行活动,即对象被激活了。2.运用要点当一个对象在激活期时,该对象在激活形状,可以呼应或发送音讯,执行动作、活动;当一个对象不在激活期时,该对象在休眠形状,但它依然存在,等待新的音讯来激活它。登录用例的协作图登录用例的协作图取款用例的协作图取款用例的协作图协作图不能表达音讯的先后顺序?协作图不能表达音讯的先后顺序?登录用例的协作图登录用例的协作图取款用例的协作图取款用例的协作图协作图不能表达音讯的先后顺序?协作图不能表达音讯的先后顺序?顺序图和通讯图的优点和缺陷顺序图和通讯图的优点和缺陷每种图都有其优点,建模者也各有偏好,因此没

58、有绝对“正确的选择。UML规范更多是以顺序图为中心,对其表示法和语义投入了更多的精神,因此顺序图对工具的支持更好,并且有更多有效的表示法选项。在墙上绘制“UML草图时利用通讯图更具有优越性,由于其更具有空间成效可以在任何位置方便地放置或擦除框图,采用顺序图可以更方便地表示调用流的顺序,仅需求从左到右阅读即可。UMLUML初学者没有对交互图给予足够注重初学者没有对交互图给予足够注重大部分UML初学者知道类图,并且通常以为类图是OO设计中独一重要的图形,但实践上并非如此!虽然类图确实重要,但动态建模的交互图更确切地说是动态交互建模中的动作的价值更高。准那么应该破费时间运用交互图进展动态对象建模,而

59、不仅是运用类图进展静态对象建模UMLUML活动图活动图活动图的组成元素:活动转移断定点同步条泳道UMLUML中的活动图中的活动图1.活动图本质上是构造化开发实现中的流程图2.活动图中的各个活动是在完成某个特定业务功能的实现过程中产生的。3.用例模型描画和采用活动模型描画之间的区别4.描画问题的角度不同用例模型描画是从外部参与者的角度来编写的,更多地是表达系统具有的功能工程;活动模型描画采用内部系统的观念来描画,更多地是表达参与者在系统中能够从事的各项活开工程;5.运用的目的不同用例描画没有表达出实现某个用例时系统处置的顺序描画了系统执行的功能类型,但没有明确地表达用例能够发生的顺序;活动图可以

60、表示由内部消费的动作即描画详细的活动,也可以为参与者对系统的操作行为建模即描画详细的行为UMLUML中的活动图中的活动图4.活动图中的动作特性:原子性、不可中断性、瞬时性5.活动图的主要运用6.既可以用来描画操作类的方法的行为,也可以描画用例和对象内部任务过程的活动。7.由形状图变化而来,但各用于不同目的:活动图偏重于描画行为和活动,形状图偏重于描画形状和转换。8.活动图根据对象形状的变化来捕获动作与动作的结果,一个动作终了后将立刻进入下一个活动,而在形状图中,形状的变化能够需求事件的触发。9.在什么运用场所中应该运用活动图10.对用例的扩展UMLUML中的活动图中的活动图7.活动图的建模步骤

61、8.定义活动的范围。9.添加活动的起始和终了点。10.添加各个详细的活开工程。11.添加在活动期间行为的转变。12.找出系统中各种并行的活动。13.排版和整理,使活动图整洁。14.活动图中各种模型元素15.主要模型元素有:活动形状、分支、合并、条件表达式、泳道、对象流形状、形状类、信号发送和信号接纳等。16.活动图中的活动Activity17.Action with multiple incoming and outgoing edges and implicit fork/joincomputer hardware salesUMLUML中的活动图中的活动图8.活动图中各种模型元素9.活动图

62、中的条件关系和分支10.活动图中的并发行为UMLUML中的活动图中的活动图8.活动图中各种模型元素9.活动图中的对象 Object nodes connected pins stand-alone notation10. 活动图中的对象流对象流对应于一个对象经过整个活动的不同形状,对象流采用虚箭头线表示,控制流采用实虚箭头线 computer hardware sales6.1.2 6.1.2 带泳道的活泳道的活动图1.活动可以被分成几个区域,每个区域在图中用泳道分开2.为什么要采用泳道来描画活动?活动图可以协助分析设计人员了解发生了什么,但没有表达或者表达该项活动是由谁来完成的。这在程序设计

63、中意味着活动图没有描画各个活动由哪个详细的类来完成。泳道可以处理这一问题。3.泳道的作用4.可以将活动图的逻辑描画与顺序图、协作图的责任描画结合起来加以阐明;经过设计带泳道的活动图,不仅可以描画各个活动的工程,而且可以描画完成某个用例实现过程中的各项活动过程,同时经过泳道还可以明确各个活动涉及的目的对象。5.可用于建模某些复杂的活动形状每一个泳道都可以对应于一个协同的目的对象,其中的活动可以由一个或多个相互衔接的类的对象来实现Simple organizational structures and swim lanesSimple organizational structures and s

64、wim lanesSimple organizational structures and swim lanesSimple organizational structures and swim lanesSaleSale仓储与物流仓储与物流销售与客服销售与客服财务财务computer hardware sales提问提问1.谈谈顺序图和通讯图的异同2.谈谈顺序图和通讯图的优缺陷3.谈谈用例模型描画和采用活动模型描画之间的区别4.活动图中的动作有哪三个特性?形状图形状及形状表示法形状及形状表示法形状是指在对象生命周期中满足某些条件、执行某些活动或等待某些事件的一个条件和情况 一个形状通常包括称

65、号、进入/退出活动、内部转换、子形状和延迟事件等五个部分组成形状机是计算机科学实际的一部分,但UML中的形状机模型主要是基于David Harel所做的扩展,是用来展现形状与形状之间转换的图 何时运用形状图何时运用形状图阅读最简单的形状图阅读最简单的形状图最为中心的元素无外乎是两个:一个是用圆角矩形表示的形状初态和终态例外;另一个那么是在形状之间的、包含一些文字描画的有向箭头线,这些箭头线称为转换转换的五要素转换的五要素源形状:即受转换影响的形状 目的形状:当转换完成后对象的形状 触发事件:用来为转换定义一个事件,包括调用、改动、信号、时间四类事件监护条件:布尔表达式,决议能否激活转换动作:转

66、换激活时的操作转接的三个组成部分:触发事件、监护条件、动作转接的三个组成部分:触发事件、监护条件、动作读图小结读图小结与形状off相关的转换有两个,其触发事件都是turnOn,只不过其监护条件不同。假设对象收到事件turnOn,那么将判别壶中能否有水;假设没水,那么依然处于off形状;假设有水那么转为on形状,并执行“烧水动作 而与形状on相关的转换也有两个,假设“水开了就执行turnOff,关掉开关;假设烧坏了,就进入了终态了 自转换自转换 count() while(true) if (i10) i=i+1; sum=sum+I; else System.out.println(“comp

67、ute complete); break; 图书管理系管理系统中中“图书的形状的形状图提问提问1.UML形状图中,最为中心的元素是哪两个?2.UML形状图中,关于转换,有哪五个要素?复杂转换复杂转换转换类型描画语法外部转换 对事件做出呼应,引起形状变化或本身转换,同时引发一个特定动作,假设分开或进入形状将引发进入转换、分开转换事件(参数)监护条件/动作内部转换 对事件做出呼应,并执行一个特定的活动,但并不引起形状变化或进入转换、分开转换事件(参数)监护条件/动作进入转换 当进入某一形状时,执行相应活动entry/活动退出转换 当分开某一形状时,执行相应活动exit/活动各种转换的区别各种转换的

68、区别进入和退出转换:当进入一个形状时,执行某个动作;或当退出某个形状时,执行什么动作。这时就可以运用进入和退出转换来表示内部转换:用来处置一些不分开该形状的事件 思索:内部活动和自转换有何区别?思索:内部活动和自转换有何区别?活动形状与延迟事件活动形状与延迟事件活动形状:当对象处于一个形状时,它普通是空闲的,在等待一个事件的发生。但是某些时间,他能够希望描画某个正在进展的活动。在处于一个形状的同时,对象做着某些任务,并不断继续到被某个事件中断。延迟事件:延迟事件是一种特殊的事件,它是指该事件不会触发形状的转换,当对象处于该形状时事件不会丧失,但会被延迟执行。例如,当程序中正在发送第一封邮件时,

69、用户下达发送第二封邮件执令就会被延迟,但第一封邮件发送完成后,这封邮件就会被发送。这种事件就属于延迟事件。 一个活动形状的例子一个活动形状的例子复合形状超态复合形状超态阅读带复杂转换的形状图阅读带复杂转换的形状图发送胜利发送胜利发送失败发送失败历史历史“一个圆圈中加上字母H,用来表示历史形状的。它的含义是:当从形状“结账和“显示购物车前往子形状“显示索引信息时,将进入的是分开时的历史形状。也就是说,转到购物车或结账区之后,再回到“阅读目录的页面时,其中的内容是不变的,依然保管原来的信息。 顺序复合形状图顺序复合形状图并发复合形状图并发复合形状图形状图的实现形状图的实现形状图的实现形状图的实现-

70、嵌套开关法嵌套开关法形状图的实现形状图的实现-形状方式法形状方式法形状图的实现形状图的实现-形状方式法形状方式法形状图的实现形状图的实现-形状表法形状表法形状图的实现形状图的实现-形状表法形状表法绘制形状图的步骤绘制形状图的步骤绘制形状机图的理想步骤是:寻觅主要的形状确定形状之间的转换细化形状内的活动与转换用复合形状来展开细节绘制航班机票预订系统的形状图绘制航班机票预订系统的形状图1.寻觅主要形状2.对于航班机票预订系统而言,显然包括的形状主要有: 3.在刚确定飞机方案时,显然是没有任何预订的,并且在有人预订机票之前都处于这种“无预订形状4.对订座而言显然有“部分预订和“预订完两种形状 5.而

71、当航班快要起飞时,显然要“预订封锁6.总结一下,主要有四种形状:无预订、部分预订、预订完以及预订封锁 7.确定形状间转换源目的无预订部分预订预订完预订封锁无预订预订( )不直接转换封锁( )部分预订退订( ),使预订人=0预订( ),无空座封锁( )预订完不直接转换退订( )封锁( )预订封锁无转换无转换无转换绘制航班机票预订系统的形状图绘制航班机票预订系统的形状图绘制航班机票预订系统的形状图绘制航班机票预订系统的形状图3.细化形状内的活动与转换绘制航班机票预订系统的形状图绘制航班机票预订系统的形状图4.运用复合形状形状图运用阐明形状图运用阐明1.对对象生命周期建模:主要描画对象可以呼应的事件、对这些事件的响以及过去对当前行为的影响 2.对反响型对象建模:这个对象能够处于的稳定形状、从一个形状到另一个形状之间的转换所需的触发事件,以及每个形状改动时发生的动作 3.形状机图既可以用来表示一个业务领域的知识,也可以用来描画设计阶段对象的形状变化。 作业作业l课本课本P179之他来做之他来做7-3,P179之实战场景之实战场景7-A, P155之练习之练习1,2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号