图4.3.3 存款活动图
2、转账活动图
具体的活动过程描述如下: (1)插入银行卡请求转账操作。 (2)验证用户、并输入转账信息。 (3)转账结束,退卡。
根据上述过程,创建转账的活动图如图4.3.4所示。
11
图4.3.4 转账活动图
3、取款活动图
具体的活动过程描述如下: (1)用户插卡并登录。 (2)查询余额并输入取款金额。 (3)取款完毕取出银行卡。
根据上述过程,创建取款的活动图如图4.3.5所示。
12
图4.3.5 取款活动图
4.3.4状态图
13
状态机图表现一个对象(类)的生命史。对于一些实现重要行为动作的对象应当绘制状态机图。绘制状态机图需要确定一个对象的生命期可能出现的全部状态,哪些事件将引起状态的转移,将会发生哪些动作。
(绘制所选系统的一个对象的状态图并解释说明) 本系统具有明确状态转换的类是插卡、登录和选择服务。
1、ATM机系统包含插卡、登录和选择服务等几种状态,它们之间的转化规则如下: (1)插卡后请求输入密码登录。 (2)输入正确密码登录。
(3)输入密码错误返回重新输入,当输入三次错误时系统自动退出。 (4)成功登录后选择相应的服务。
根据ATM机系统的各种状态和转化规则,创建ATM机系统的状态图如图4.3.6所示。
图4.3.6ATM机状态图
4.3.5 分析与讨论
比较顺序图与通信图、 活动图与状态图的应用。
顺序图和协作图之间可以无损完全转换。活动图(activity diagram,动态图)是阐明了业务用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须
14
完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。活动图是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。
状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。
顺序图是将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。顺序图是一种动态建模方法。 UML顺序图一般用于:确认和丰富一个使用情境的逻辑。
4.4物理模型
4.4.1 建立构件图
系统实现的源代码、二进制码、执行码可以按照模块化的思想,用构件分别组织起来,明确系统各部分的功能职责和软件结构。
(学生补充自选系统的运行软件织成的构件图并解释说明,如果需要,可以绘制系统的源代码、二进制码和执行码的构件的跟踪关系图。)
在ATM系统中,我们可以对系统的主要参与者和主要的业务实体类分别创建对应的构件进行映射。 我们根据类图创建系统构件图,包括银行构件(Bank)、客户构件(Customer)、银行职员构件(Clerk)、界面构件(Form)、账户构件(Account)、账户管理构件(Transaction)和主程序构件。
15