• 实验三 UML建模工具的安装与使用


    实验三 UML 建模工具的安装与使用

    一、 实验目的

    1) 学习使用 EA(Enterprise Architect) 开发环境创建模型的一般方法;

    2) 理解 EA 界面布局和元素操作的一般技巧;

    3) 熟悉 UML 中的各种图的建立和表示方法;

    4) 掌握如何通过 EA 工具完成相关模型的建立

    二、 实验内容及步骤

    1、熟悉EA 环境

    (1) 开始——>运行——>Enterprise Architect, 打开 Enterprise Architect 软件。 进入软件之后, 可以选择新建一个项目。 在新建项目时, 系统会提示选择所需要的模型设计。

    (2) 选择了所需要的模型之后, 可以看到, 在界面的右侧出现了相应的导航栏。 如下图所示, 在导航栏里面列出了刚才所选择的系统模型。

    (3) 假设选择用例建模, 那么可以从左侧的工具面板中拖拽出一个参与者, 并为它命名。这样在系统里面就多了一个叫做“用户” 的参与者。

    (4) 以同样的方式从左侧工具面板中拖曳一个用例, 命名为“用例一” 。

    (5) 同样通过拖拽的方式, 建立用例与参与者之间的关系。 对这个关联关系, 我们还可以设置更加细化的约束。

    2、采用EA工具完成以下ATM示例系统的UML模型的建立。

    3、通过 EA 工具完成相关 UML 图的绘制。在建立过程中尝试理解模型元素,模型元素之间的关系。

       提示:EA打开 toolbox 的快捷键为 alt+5

    三、实验过程

    1、安装EA工具,新建一个项目,命名为:ATM,同时为其添加五个模型:行为模型、需求建模、领域模型、用例模型、逻辑模型。

     2、设计需求建模

    (1)在需求建模中,将需求分为功能性需求和非功能性需求,在ATM机中,暂时没有非功能性需求,所以对其功能性需求进行设计。在ATM机中的功能性需求中,为其添加五个包:卡处理、取款、查询余额、用户界面、用户登录。

     (2)设计“卡处理”部分:“卡处理”需求分为识别卡和退卡两个需求

    (3)设计“取款”部分:此需求分为7个需求:用户不可以透支、打印收据、一次最多取款额、一天最多取款额、取款额必须被取款机中的最小面额除尽、吐钱之前用户必须取卡、出错时显示错误信息,并提示正确操作。

    (4)设计“查询余额”部分:只有一个需求:当账号金额不足取款机中的最小面额钞票时,提示“您没有足够的取款金额'信息。

    (5)设计“用户界面”部分:该需求分为三个需求:支持数字键、退格键和清除键、登录界面有按钮“确定”和“取消”、退卡时提示用户取回自己的卡。

     (6)设计“用户登录”部分:该部分有两个需求:验证身份和设定最多登录次数。

     3、设计用例模型,设计如下图:因为用户要先进入用户登录才能查询余额和取款,所以用户登录在查询余额和取款的步骤的前面,即precedes。

    4、设计行为模型

      在行为建模中,包括三种图:状态图、顺序图(又称时序图、序列图)以及活动图。

    (1)活动图:在如下用户取款活动图,分为三个活动分区:用户、ATM机和银行主机,从开始节点到终点节点的过程中,每个活动分区有其对应的活动(用activity表示),类似于流程图,其中也有决策(用decision菱形表示)。

    (3)状态图:在状态建模中,有三种建模元素:状态、事件和状态转移

    (4)顺序图:顺序图有三种建模元素:对象、生命线和消息。在顺序图的建模过程中:需要有参与者、消息和轴。

      

        

     

            

              注意:在视频中,在输入取款额的循环中,有一个步骤是跳出循环,其fragment(联合分段)选择的是alt(可选择的),我觉得应该选择break,因为它是跳出循环,不应该是可选择的。(位置在图中用红笔标记)

    四、思考题

          通过网络查找相关资料,了解有哪些工具可以支持UML模型与C++或JAVA或PYTHON代码的相互转换,并给出网络链接及说明。

      答:UML模型与Java:采用ModelGoon工具,其是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等),网络链接:https://bbs.csdn.net/topics/350241274。

             UML模型与C++:选择Together(从技术上讲也是一个Eclipse插件)作为UML的绘制工具,通过Together的开发API把System C(其包含了一系列C++的类和宏,并且提供了一个事件驱动的模拟核)代码模块集成到Together的开发环境,成为Together中的一个服务插件。网络链接:https://www.taodocs.com/p-150137227.html。

             UML模型与Python:Pyreverse是常用的用来分析Python代码和类关系的工具,通过Pyreverse和Graphviz 结合起来使用可以绘制Python的UML类图,网络链接:https://my.oschina.net/u/3643685/blog/1920655。

    五、实验小结

     1、通过此次实验,让我更清楚了一个系统的UML模型的建立过程,老师在课堂上讲到的知识只是在我们的脑子里,说实话,让我做一个简单的UML模型的建立,我都不一定能做得出来,因为不知道如何去做,通过实际的操作,看视频一步一步操作,理论得到实践,我们对于理论知识不再是死记硬背,而是更深刻地理解。

     2、通过实际操作,我感觉一个UML模型的建立最主要的部分是细节方面吧,有些方面必须想的全面,而有些是需要从大量信息抽取重要的,以及对于细节部分的处理对于系统的设计是有很大的帮助,其实建模就是帮助我们发现遗漏的或者不一致的信息,对于我们在软件设计的过程中起了很大的作用。

     3、此次建模过程,是一个ATM示例系统的UML模型的建立,通过实验,我对ATM机系统的过程有了一定的了解,是一个知识积累的过程。

  • 相关阅读:
    我开发的Quartz Cron表达式生成器
    web前端css定位position和浮动float
    ecmall模板编辑中的标题如何自定义读取
    记录一个项目的需求探讨过程
    这些记录
    今日工作总结:jquery轮转效果的集成与前台页面banner的设计思路总结
    小问题总结:鼠标点击到输入框(input)里的时候,输入框的提示消失,鼠标再移开,输入框提示出现
    web app与app的区别,即html5与app的区别
    3月初的日记:网站工作记录
    [接口]支付宝接口开发集成支付环境开发总结
  • 原文地址:https://www.cnblogs.com/1234wh/p/12786708.html
Copyright © 2020-2023  润新知