软件工程案例开发与实践 第9章 面向对象与UML建模.ppt

上传人:s****8 文档编号:67559339 上传时间:2022-12-25 格式:PPT 页数:52 大小:677KB
返回 下载 相关 举报
软件工程案例开发与实践 第9章 面向对象与UML建模.ppt_第1页
第1页 / 共52页
软件工程案例开发与实践 第9章 面向对象与UML建模.ppt_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《软件工程案例开发与实践 第9章 面向对象与UML建模.ppt》由会员分享,可在线阅读,更多相关《软件工程案例开发与实践 第9章 面向对象与UML建模.ppt(52页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第9 9章章 面向对象与面向对象与UMLUML建模建模9.1 传统开发方法传统的生命周期方法学主要存在以下问题:传统的生命周期方法学主要存在以下问题:(1 1)生产率提高的幅度远不能满足需要;)生产率提高的幅度远不能满足需要;(2 2)软件重用度很低;)软件重用度很低;(3 3)软件仍然很难维护;)软件仍然很难维护;(4 4)软件往往不能满足用户需要。软件往往不能满足用户需要。面向对象的方法学可以用下列式子来概括:面向对象面向对象的方法学可以用下列式子来概括:面向对象=对象对象+类类+继承继承+消息通信。消息通信。面向对象方法学的主要优点是:面向对象方法学的主要优点是:(1 1)从应用设计到

2、解决问题的方案更加抽象化而且具有极)从应用设计到解决问题的方案更加抽象化而且具有极强的对应性。强的对应性。(2 2)在设计中容易与用户)在设计中容易与用户沟通沟通。(3 3)把数据和操作封装到对象之中。)把数据和操作封装到对象之中。(4 4)设计中产生各式各样的部件,然后由部件组成框架,)设计中产生各式各样的部件,然后由部件组成框架,以至于整个程序。以至于整个程序。(5 5)应用程序具有较好的重用性、易改进、易维护和易扩)应用程序具有较好的重用性、易改进、易维护和易扩充。充。9.2 面向对象方法的基本概念面向对象方法的基本概念 对象是具有相同状态的一组操作的集合,是对象是具有相同状态的一组操作

3、的集合,是封装了数据结构及可以施加在这些数据结构上的操作的封封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体有可以惟一地标识它的名字,而且向外装体,这个封装体有可以惟一地标识它的名字,而且向外界提供一组服务界提供一组服务(即公有的操作即公有的操作)。对象中的数据表示对象的状态,一个对象的状态只对象中的数据表示对象的状态,一个对象的状态只能由该对象的操作来改变,只能由其他对象向该对象发送能由该对象的操作来改变,只能由其他对象向该对象发送消息。对象响应消息时,按照消息模式找出与之匹配的方消息。对象响应消息时,按照消息模式找出与之匹配的方法,并执行该方法。法,并执行该方法。9.2.

4、1 对象对象在面向对象的软件技术中,在面向对象的软件技术中,”类类”就是对具有就是对具有相同数据和相同操作的一组相似对象的定义,也就相同数据和相同操作的一组相似对象的定义,也就是说,类是对具有相同属性和行为的一个或多个对是说,类是对具有相同属性和行为的一个或多个对象的描述象的描述 。例如:植物,飞行器,人等都是类。例如:植物,飞行器,人等都是类。“人人”这个类具有:身高、姓名、性别、年这个类具有:身高、姓名、性别、年龄、家庭住址等属性(静态特征);龄、家庭住址等属性(静态特征);另外,另外,“人人”这个类还具有:跑步,开车,这个类还具有:跑步,开车,吃饭,思考等行为(动态特征)。吃饭,思考等行

5、为(动态特征)。9.2.2类 实例就是由某个特定的类所描述的实例就是由某个特定的类所描述的一个具体的对象。一个具体的对象。当使用当使用”对象对象”这个术语时,既可以这个术语时,既可以指一个具体的对象,也可以泛指一般的对象,指一个具体的对象,也可以泛指一般的对象,但是,当使用但是,当使用”实例实例”这个术语时,必然是这个术语时,必然是指一个具体的对象。指一个具体的对象。9.2.3 实例实例消息就是要求某个对象执行在定消息就是要求某个对象执行在定义它的那个类中的某个操作的规格说义它的那个类中的某个操作的规格说明。明。通常,一个消息由下述通常,一个消息由下述3部分组成:部分组成:接收消息的对象;消息

6、选择符接收消息的对象;消息选择符(也称为也称为消息名消息名);零个或多个变元。;零个或多个变元。9.2.4消息方法就是对象所能执行的操作,也就方法就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执是类中所定义的服务。方法描述了对象执行操作的算法、响应消息的方法。在行操作的算法、响应消息的方法。在C+C+语语言中把方法称为成员函数。言中把方法称为成员函数。我们前面介绍过,类由属性(静态数据)我们前面介绍过,类由属性(静态数据)和行为(操作)组成,实际上,这里的和行为(操作)组成,实际上,这里的“行为行为”就是面向对象中讲到的就是面向对象中讲到的“方法方法”。例如:例如:(1 1)飞

7、行器这个类的方法有:)飞行器这个类的方法有:飞行,落地等一些操作。(飞行,落地等一些操作。(2 2)“人人”这个这个类的方法:跑步,开车,吃饭,思考等。类的方法:跑步,开车,吃饭,思考等。9.2.5 方法9.2.6属性属性就是类中所定义的数据,它是对属性就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的客观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。在每个实例都有自己特有的属性值。在C+C+语语言中把属性称为数据成员。言中把属性称为数据成员。例如:飞行器这个类的属性有:颜色,例如:飞行器这个类的属性有:颜色,身长,形状等。身长,形状等。9.2.7继承继承是子类自

8、动地共享父类中定义的数据继承是子类自动地共享父类中定义的数据和方法的机制。一个类的上层可以有父类,下层和方法的机制。一个类的上层可以有父类,下层可以有子类。这种层次结构系统的一个重要性质可以有子类。这种层次结构系统的一个重要性质是继承性,一个类直接继承其父类的全部描述是继承性,一个类直接继承其父类的全部描述(数据和操作数据和操作)。继承具有传递性。继承具有传递性。例如:飞机是飞行器的子类,它继承了飞行器的例如:飞机是飞行器的子类,它继承了飞行器的所有属性和方法,但是它还有自己的属性和方法。所有属性和方法,但是它还有自己的属性和方法。飞机的属性除具有飞行器属性外,还有:飞机的属性除具有飞行器属性

9、外,还有:乘客容量。乘客容量。9.2.8 多态性在面向对象的软件技术中,多态性是在面向对象的软件技术中,多态性是指子类对象可以像父类对象那样使用,同指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发样的消息既可以发送给父类对象也可以发送给子类对象。送给子类对象。然而不同层次中的每个类却各自按自己然而不同层次中的每个类却各自按自己的需要来实现这个行为。当对象接收到发的需要来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属于的类送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法。动态选用在该类中定义的实现算法。9.2.9重载重载有两种:函数重载和运算

10、符重载。重载有两种:函数重载和运算符重载。函数重载是指在同一作用域内的若干个参函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;数特征不同的函数可以使用相同的函数名字;运算符重载是指同一个运算符可以施加于运算符重载是指同一个运算符可以施加于不同类型的操作数上。不同类型的操作数上。UMLUML有两套建模机制:静态建模机制和动态建有两套建模机制:静态建模机制和动态建模机制。模机制。在在UMLUML中,静态建模可以描述系统的组织和结中,静态建模可以描述系统的组织和结构,而动态建模则可描述系统的行为和动作。构,而动态建模则可描述系统的行为和动作。静态建模机制包括用例图、类图、

11、对象图、包、静态建模机制包括用例图、类图、对象图、包、组件图和配置图。组件图和配置图。动态建模机制包括消息、状态图、时序图、协动态建模机制包括消息、状态图、时序图、协作图和活动图。作图和活动图。9.3.1 UML建模机制与建模方法建模机制与建模方法需求(系统)建模方法需求(系统)建模方法(1)识别系统外部的参与者,从而建立系统的语境。(2)考虑每一个参与者期望的行为或需要系统提供的行为。(3)把公共行为命名为用例。(4)确定供其他用例使用的用例和扩展其他用例的用例。(5)在用例图中对这些用例、参与者和它们间的关系建模。(6)用描述非功能需求的注释修饰用例图。(1 1)UMLUML基本构造元素:

12、事务、关系和图。基本构造元素:事务、关系和图。(2 2)UMLUML的事务有四种:结构事务、行为事务、分组事的事务有四种:结构事务、行为事务、分组事务和注释事务。务和注释事务。(3 3)UMLUML的关系有四种:依赖、关联、泛化、实现。的关系有四种:依赖、关联、泛化、实现。(4 4)UMLUML的图有十种:用例图、类图、对象图、包图、的图有十种:用例图、类图、对象图、包图、状态图、活动图、序列图、协作图、组件图、部署状态图、活动图、序列图、协作图、组件图、部署图(有的书叫实施图)。图(有的书叫实施图)。9.3.2 UML的结构的结构1.1.关联关系关联关系 关联关系是关联关系是”.has a.

13、”.has a.”(具有)的关系。在(具有)的关系。在UMLUML图图中,关联关系用一条实线表示中,关联关系用一条实线表示 。有一些修饰可以应用于关联。有一些修饰可以应用于关联。(1 1).名字:可以给关系取名字。见图名字:可以给关系取名字。见图8-18-1。9.3.3 UML中的关系与符号中的关系与符号(2)角色:关系的两端代表不同的两种角色。见图8-2。(3)重数:表示有多少对象通过一个关系的实例相连。见图8-3。2.2.聚合关系聚合关系 聚合关系指的是整体与部分的关系。通常在定义一个整体类后,聚合关系指的是整体与部分的关系。通常在定义一个整体类后,再去分析这个整体类的组成结构。从而找出一

14、些组成类,该整体类再去分析这个整体类的组成结构。从而找出一些组成类,该整体类和组成类之间就形成了聚合关系。和组成类之间就形成了聚合关系。例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力例如一个航母编队包括海空母舰、驱护舰艇、舰载飞机及核动力攻击潜艇等。需求描述中攻击潜艇等。需求描述中”包含包含”、”组成组成”、”分为分为部分部分”等等词常意味着聚合关系。见图词常意味着聚合关系。见图8-58-5。聚合是聚合是”.owns a.”.owns a.”(拥有)的关系。(拥有)的关系。它的它的UMLUML表示法:空心菱形表示法:空心菱形 +实线实线 +箭头箭头 ,见图,见图8-68-6 3.3.

15、组合关系组合关系 组合关系也表示类之间整体和部分的关系,但是组合关组合关系也表示类之间整体和部分的关系,但是组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。部分对象与整体对象之间具有共生部分对象也将不存在。部分对象与整体对象之间具有共生死的关系。死的关系。组合关系是组合关系是”.is a part of.”.is a part of.”(是(是的一部的一部分)的关系。分)的关系。它的它的UMLUML表示法:实心菱形表示法:实心菱形 +实线实线 +箭头箭头 ,见图,见图8-78-7。聚合和组合的区别在于:聚合和组合

16、的区别在于:(1)(1)聚合关系是聚合关系是”has-a”has-a”关系,组合关系是关系,组合关系是”contains-contains-a”a”关系;关系;(2)(2)聚合关系表示整体与部分的关系比较弱,而组合比较强;聚合关系表示整体与部分的关系比较弱,而组合比较强;(3)(3)聚合关系中代表部分事物的对象与代表聚合事物的对聚合关系中代表部分事物的对象与代表聚合事物的对象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分象的生存期无关,一旦删除了聚合对象不一定就删除了代表部分事物的对象。组合中一旦删除了组合对象,同时也就删除了代表事物的对象。组合中一旦删除了组合对象,同时也就删除了代表

17、部分事物的对象。部分事物的对象。我们用浅显的例子来说明聚合和组合的区别。我们用浅显的例子来说明聚合和组合的区别。”国破家国破家亡亡”,国灭了,家自然也没有了,国灭了,家自然也没有了,”国国”和和”家家”显然也是组合显然也是组合关系。关系。(4 4)在聚合关系中,部分可以独立于聚合而存在,部分的所有)在聚合关系中,部分可以独立于聚合而存在,部分的所有权也可以由几个聚合来共享,比如打印机就可以在办公室内被广权也可以由几个聚合来共享,比如打印机就可以在办公室内被广大同事共用。大同事共用。(5)(5)组合比聚合对于组合者和被组合者的关心定义的更加有约组合比聚合对于组合者和被组合者的关心定义的更加有约束

18、,组合者不但要知道被组合者的情况,他们的生命周期都是由束,组合者不但要知道被组合者的情况,他们的生命周期都是由组合者来控制的。组合者来控制的。4.4.依赖关系依赖关系 对于两个对象对于两个对象X X、Y Y,如果对象,如果对象X X发生变化,可能会引起对另一个对发生变化,可能会引起对另一个对象象Y Y的变化,则称的变化,则称Y Y依赖于依赖于X X。依赖关系是一种依赖关系是一种”.uses a.”(.uses a.”(使用使用)关系,特定事物的改关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一

19、个事物时使用依赖关系。事物使用另一个事物时使用依赖关系。通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数。通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数。在在UMLUML中你可以在其它的事物之间使用依赖关系,特别是包和节点之间。中你可以在其它的事物之间使用依赖关系,特别是包和节点之间。在在UMLUML图中,依赖关系用一条带有箭头的虚线来表示图中,依赖关系用一条带有箭头的虚线来表示 。人和空气是一种依赖关系,人和空气是一种依赖关系,UMLUML图见图图见图8-108-10。一个人自创生就需要。一个人自创生就需要不停的呼吸,而人的呼吸功能之所以能维持生命就在于吸进来的气体不停

20、的呼吸,而人的呼吸功能之所以能维持生命就在于吸进来的气体发挥了作用,所以说空气只不过是人类的一个工具,而人并不持有对发挥了作用,所以说空气只不过是人类的一个工具,而人并不持有对它的引用。它的引用。5.5.泛化关系泛化关系 泛化是一般事物(称为超类或父类)和该事物的较为特殊的泛化是一般事物(称为超类或父类)和该事物的较为特殊的种类(称为子类)之间的关系,子类继承父类的属性和操作,除此种类(称为子类)之间的关系,子类继承父类的属性和操作,除此之外通常子类还添加新的属性和操作,或者修改了父类的某些操作。之外通常子类还添加新的属性和操作,或者修改了父类的某些操作。泛化意味着子类的对象可以用在父类的对象

21、可能出现的地方,泛化意味着子类的对象可以用在父类的对象可能出现的地方,但反过来则不成立。但反过来则不成立。泛化关系的子类和父类是泛化关系的子类和父类是“a kind of”a kind of”的关系。的关系。图图8-11 8-11 给出了教师,学生和来宾继承人给出了教师,学生和来宾继承人”类类”的泛化关系。的泛化关系。若在逻辑上B是A的”一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。例如,教师是人,Teacher 是Person的”一种”。那么类Teacher可以从类Person派生(继承)。如果A是基类,B是A的派生类,那么B将继承A的数据和函数。如果类A和类B

22、毫不相关,不可以为了使B的功能更多些而让B继承A的功能和属性。6.6.实现关系实现关系 实现关系将一种模型元素(如类)与另一种模型实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,它表示不继承结构而只继承元素(如接口)连接起来,它表示不继承结构而只继承行为。大多少情况下,实现关系用来规定接口和实现接行为。大多少情况下,实现关系用来规定接口和实现接口的类或组件之间的关系。口的类或组件之间的关系。在在UMLUML图中,实现关系一般用带有一条带有空心箭图中,实现关系一般用带有一条带有空心箭头的虚线来表示头的虚线来表示 。图8-12实现关系9.4 UML的图的图序号模型种类十种图形建模

23、机制1用例模型用例图静态建模2静态模型类图、对象图、包图静态建模3行为模型状态图、活动图动态建模4交互模型序列图、协作图动态建模5实现模型组件图、部署图静态建模类类图图可可用用于于表表示示逻逻辑辑类类。逻逻辑辑类类通通常常就就是是业业务务人人员员所所谈谈及及的的事事物物种种类类。类类在在类类图图上上使使用用包包含含三三个个部部分分的的矩矩形形来来描描述述,如如图图8-13所示。所示。9.4.1 类图类图用例图主要用来图示化系统的主事件流程,用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作的完成一定

24、功能的动作-软件的功能模块,所以软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系些功能模块以及这些模块之间的调用关系。用例图用例图包括:包括:用例和参与者用例和参与者。9.4.2 用例图用例图图图8-16给出来了给出来了在线购物系统在线购物系统的的用例用例图,图,给出了角色和用例之间的关系,以及内部用给出了角色和用例之间的关系,以及内部用例之间的关系。例之间的关系。角色:游客,会员,管理员角色:游客,会员,管理员

25、。用例:商品信息,购买信息,用户信息。用例:商品信息,购买信息,用户信息。9.4.3 对象图对象图对象图显示某时刻对象和对象之间的关系,对象图显示某时刻对象和对象之间的关系,是类图的变化,一个对象图可看成一个类图的实是类图的变化,一个对象图可看成一个类图的实例,对象图表示的是类的对象实例而不是真实的例,对象图表示的是类的对象实例而不是真实的类。由于对象存在生命周期,因此对象图只能在类。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。系统某一时间段存在。对象图中并无新的表示法(除了对象名下要对象图中并无新的表示法(除了对象名下要加下划线以外),与类图中的表示法一样,可以加下划线以外),

26、与类图中的表示法一样,可以认为,只有对象而无类的类图就是一个认为,只有对象而无类的类图就是一个”对象图对象图”。4.辅助事物辅助事物辅助事物,也称注释事物,属于辅助事物,也称注释事物,属于这一类的只有注释。这一类的只有注释。注释即是注释即是UML模型的解释部分。模型的解释部分。在在UML图中,一般表示为折起一角的图中,一般表示为折起一角的矩形。矩形。为了简单地表示出复杂的类图,可以把类组合成包为了简单地表示出复杂的类图,可以把类组合成包packages。一个包是。一个包是UML上有逻辑关系的元件的集合。上有逻辑关系的元件的集合。包图由包和包之间的关系组成,模型如图。包图由包和包之间的关系组成,

27、模型如图。9.4.4包图1、包的名称、包的名称包的名称有两种形式:简单名和路径名,其中包的名称有两种形式:简单名和路径名,其中简单名仅包含一个简单的名称,路径名是以包处简单名仅包含一个简单的名称,路径名是以包处于的外围包的名字作为前缀。于的外围包的名字作为前缀。2 2、包图的组成、包图的组成 包可以拥有其他元素,比如类、接口、包可以拥有其他元素,比如类、接口、组件、节点、协作、用例和图,甚至可以是其它组件、节点、协作、用例和图,甚至可以是其它包。包。一个一个”包图包图”可以是任何一种的可以是任何一种的UMLUML图组成,通图组成,通常是常是UMLUML用例图或用例图或UMLUML类图。类图。包

28、是一个包是一个UMLUML结构,结构,它使得你能够把诸如用例或类之类模型元件组织它使得你能够把诸如用例或类之类模型元件组织为组。为组。包被描述成文件夹,可以应用在任何一包被描述成文件夹,可以应用在任何一种种UMLUML图上。图上。1.序列图。序列图。序列图显示具体用例(或者是用例的一部分)序列图显示具体用例(或者是用例的一部分)的详细流程。它几乎是自描述的,并且显示了的详细流程。它几乎是自描述的,并且显示了流程中中不同对象之间的调用关系,同时还可以流程中中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。很详细地显示对不同对象的不同调用。序列图有两个维度:垂直维度和水平维度。

29、序列图有两个维度:垂直维度和水平维度。垂直维度以发生的时间顺序显示消息垂直维度以发生的时间顺序显示消息/调用的调用的序列;序列;水平维度显示消息被发送到的对象实例。水平维度显示消息被发送到的对象实例。9.4.5 交互图交互图其中的其中的aServlet对象表示驱动类实例。对象表示驱动类实例。aServlet向名为向名为gen的的ReportGenerator类类实例发送一条消息。该消息被标为实例发送一条消息。该消息被标为generateCDSalesReport,表示,表示ReportGenerator对象实现了这个消息处理程序。对象实现了这个消息处理程序。进一步理解可发现,进一步理解可发现,

30、generateCDSalesReport消消息标签在括号中包括了一个息标签在括号中包括了一个cdId,表明,表明aServlet随随该消息传递一个名为该消息传递一个名为cdId的参数。的参数。当当gen实例接收到一条实例接收到一条generateCDSalesReport消息时,它会接着调用消息时,它会接着调用CDSalesReport类,并返回一个类,并返回一个aCDReport的实的实例。然后例。然后gen实例对返回的实例对返回的aCDReport实例进行调实例进行调用,在每次消息调用时向它传递参数。在该序列的用,在每次消息调用时向它传递参数。在该序列的结尾,结尾,gen实例向它的调用者

31、实例向它的调用者aServlet返回一个返回一个aCDReport。2协作图UML交互图的另一种形式是协作图。协作图和序列图在语义上相同,但协作图排列对象的方式比较自由,完全由绘图者的喜好决定。在协作图中,交互动作的次序由消息的编号决定。一些人偏爱这种绘图方式,许多功能比较完善的UML工具允许用户将一个图在协作图符号和序列图符号之间来回转换。状态图是描述一个实体基于事件反应的动态行为,状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常我们创建一个做出反应的。通常我们创建一个UMLUML状态图是

32、为了研究状态图是为了研究类、角色、子系统、或组件的复杂行为。类、角色、子系统、或组件的复杂行为。(1)(1)初始起点,它使用实心圆来绘制;初始起点,它使用实心圆来绘制;(2)(2)状态之间的转换,它使用具有开箭头的线段来绘制;状态之间的转换,它使用具有开箭头的线段来绘制;(3)(3)状态,它使用圆角矩形来绘制;状态,它使用圆角矩形来绘制;(4)(4)判断点,它使用空心圆来绘制;判断点,它使用空心圆来绘制;(5)(5)一个或者多个终止点,它们使用内部包含实心圆的一个或者多个终止点,它们使用内部包含实心圆的圆来绘制。圆来绘制。9.4.6 状态图状态图例如,例如,贷款处理系统最初处于贷款处理系统最初

33、处于Loan ApplicationLoan Application(贷(贷款申请)状态。款申请)状态。当贷款审查后,如果符合基本条件转到当贷款审查后,如果符合基本条件转到Loan pre-Loan pre-approval approval (贷款预批)过程;否则(贷款预批)过程;否则转到转到Loan RejectedLoan Rejected(贷款拒绝)状态。(贷款拒绝)状态。如果如果Loan pre-approvalLoan pre-approval过程完成这个判断(它是在过程完成这个判断(它是在转换过程期间做出的)使用一个判断点来表示转换过程期间做出的)使用一个判断点来表示-即转换线条

34、即转换线条间的空心圆。通过该状态图可知,如果没有经过间的空心圆。通过该状态图可知,如果没有经过Loan Loan ClosingClosing状态,贷款不可能从状态,贷款不可能从Loan Pre-ApprovedLoan Pre-Approved状态进入状态进入Loan in MaintenanceLoan in Maintenance状态。而且,所有贷款都将结束于状态。而且,所有贷款都将结束于Loan RejectedLoan Rejected或者或者Loan in MaintenanceLoan in Maintenance状态。状态。活动图被设计用于描述一个过程或操作的工作步骤。从这活动

35、图被设计用于描述一个过程或操作的工作步骤。从这个方面理解,它可以算是状态的一种扩展方式。状态图描述一个方面理解,它可以算是状态的一种扩展方式。状态图描述一个对象的状态个对象的状态以及状态改变,而活动图除了描述对象状态以及状态改变,而活动图除了描述对象状态之外,更突出了它的活动。之外,更突出了它的活动。活动图可用作如下目的:活动图可用作如下目的:描述一个操作执行过程中所完成的工作(动作),这是描述一个操作执行过程中所完成的工作(动作),这是1)1)活动图最常见的用途。活动图最常见的用途。2 2)描述对象内部的工作。)描述对象内部的工作。3 3)显示如何执行一组相关的动作,以及这些动作如何影响)显

36、示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。它们周围的对象。4 4)显示用例的实例如何执行动作以及如何改变对象状态。)显示用例的实例如何执行动作以及如何改变对象状态。5 5)说明一次商务活动中的人(角色)、工作流组织和对象)说明一次商务活动中的人(角色)、工作流组织和对象是如何工作的。是如何工作的。9.4.7 活动图活动图活动图中的动作用一个圆角四边形来表示,其内部的文本串用来说明采取的动作。动作之间的转移用箭头来表示,称为转移,用带有箭头的实线表示。箭头上可能还带有守护条件、发送语句和动作表达式。守护条件用来约束转移,守护条件为真时转移才可以开始。用菱形符号来表示决策点,决

37、策符号可以有一个或多个进入转移,两个或更多的带有守护条件的发出转移。图字(沿箭头方向):乐队经理;报告工具;选择”查看乐队的销售报告”;检索该乐队经理所管理的乐队;显示报告条件选择屏幕;选择要查看其销售报告的乐队;从销售数据库检索销售数据;显示销售报告。该活动图中有两个泳道,因为有两个对象控制着各自的活动:乐队经理和报告工具。9.4.8 组件图组件图组件图提供系统的物理视图。它的用途是显示组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如,库函数)系统中的软件对其他软件组件(例如,库函数)的依赖关系。组件图提供系统的物理视图。的依赖关系。组件图提供系统的物理视图。9.4.9 部署图部署图 部署图表示该软件系统如何部署到硬件环部署图表示该软件系统如何部署到硬件环境中。它的用途是显示该系统不同的组件将在何境中。它的用途是显示该系统不同的组件将在何处物理地运行,以及它们将如何彼此通信。处物理地运行,以及它们将如何彼此通信。部署图中的符号包括组件图中所使用的符部署图中的符号包括组件图中所使用的符号元素,另外还增加了节点。节点是定义运行时号元素,另外还增加了节点。节点是定义运行时的物理对象的类,它一般用于对执行处理或计算的物理对象的类,它一般用于对执行处理或计算机的资源建模。机的资源建模。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com