zoukankan      html  css  js  c++  java
  • 实验三 UML建模工具的安装与使用

    一、 实验目的                          

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

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

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

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

    二、 实验内容及步骤           

      1.熟悉EA 环境

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

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

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

    三、实验过程记录                

      新建项目ATM,在EA的提示下勾选需求模型、分析模型、用例模型和逻辑模型四个模块。

        

      给模型和四个视图改名。

        

    1、需求建模       

      打开需求建模,在需求模型下面创建功能性需求和非功能性需求两个子包。

         

        

       在功能性需求下创建查询余额、卡处理、取款、用户登录和用户界面五个子模块。

        

      打开每一个功能性子模块的需求图,创建需求元素。从工具箱内将需求元素直接拖动到需求图中并命名。使用快捷连接线创建子需求。

      (1)卡处理

      识别卡:判断银行卡是否有效 

      退卡:当操作结束或银行卡无效时将银行卡从ATM机退出

        

      (2)取款

        

       (3)查询余额

        

       (4)用户界面

        

       (5)用户登录

        

       打开功能性需求视图,将其下面的每一个子包拖动到图中形成包图,为此图命名为“ATM系统功能性需求”。

        

    2、用例建模      

      描绘用户使用ATM时使用的三个用例。

        

    3、行为模型      

       在ATM模型下创建行为模型视图,在该视图下创建3个行为图分别为活动图、状态图和顺序图。

        

       (1)活动图

      活动图的3个主体:用户、ATM机、银行主机。分区将3个主体标示出来。ATM系统的取款活动是由用户发起的。

        

      (2)状态图(视频在此处中断了,没有找到对应的系统状态图,只能画到这里)

      在状态图中不区分主体,ATM系统在不同的时刻显示不同的状态,事件的发生触发状态的转变。

        

      (3)顺序图

        

        

        

    四、思考题        

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

      【A】(1)Rational Rose(http://www-03.ibm.com/software/products/en/ratirosefami

         Rose2002功能上可以完成UML的9种标准建模,即静态建模(用例图类图对象图组件图配置图)和动态建模(合作图序列图状态转移图活动图),为了使静态建模可以直接作用于代码,Rose提供了类设计到多种程序语言代码自动产生的插件。同时,作为一款优秀的分析和设计工具,常用UML建模工具Rose具有强大的正向和逆向工程能力。正向工程这里指的是由设计产生代码,逆向工程指由代码归纳出设计。通过逆向工程Rose可以对历史系统作出分析,然后进行改进,再通过正向工程产生新系统的代码,这样的设计方式我们称之为再工程。

          (2)Visual Paradigm for UML(http://www.visual-paradigm.com/product/vpuml/

           Visual Paradigm for UML (VP-UML)是一款功能强大、跨平台、使用最便捷、直观的UML建模和CASE工具,它可以整合在其他CASE工具或者其他IDE工具中,这种“一站购物式”的软件解决方案要远远优于常规的Model-Code-Deploy的开发进程。 Visual Paradigm for UML支持UML建模、数据库建模、对象关系映射、逆向工程和Java双向工程等等,功能异常强大。

         (3)UMLet(http://www.umlet.com/

           UMLet是开源的UM建模工具,有单独软件和Eclipse插件两种安装形式。UMLet是跨平台的,底层为JAVA,且是绿色版的。

         (4)Astah(https://astah.net/

                       Astah是一款非常实用的uml建模工具,是一个百分之百的使用Java应用程序,可以多功能跨平台在各种主流操作系统中使用。支持各种标准格式。可以与其它建模工具交互模型。

         (5) BOUML(https://www.bouml.fr/

           BOUML是一个开源的UML2建模工具,这款建模软件界面简洁,使用方便,并且可以支持很多常见的语言可生成包括 C++/Java/Idl/PHP/Python 等代码,支持操作系统包括:Unix/Linux/Solaris,MacOS X 和 Windows。

            (6)MagicDraw UML(https://www.nomagic.com/products/magicdraw

          MagicDraw UML是一款UML建模和面向对象系统设计分析工具,适用于商业分析师、软件分析员、程序员、质量评估工程师、文档编制者以及企业管理者使用,支持团队开发的UML建模和CASE工具。支持J2EE, C#, C++, CORBA IDL, .NET, XML Schema, WSDL, 数据库建模, DDL生成和反向工程。

    五、实验小结       

       一开始下载了最新版本的EA,结合视频看了之后感觉到EA不同版本之间的差别还是挺大的。在给Model命名时发现无法像视频里那样直接更改,也没有找到解决方法,所以还是重新下载了version10的EA。跟着视频做下来大概花了一个多小时,其中活动图和顺序图比较复杂,耗费的时间比较长。经常用Visio画流程图,用了EA之后能明显感觉到,EA更加适合用来做更专业更详细的系统建模。EA对一个系统可以做多个方面的建模,在整个实验的过程中能够感觉到逻辑的缜密和全面。虽然照着视频验证一遍没有什么难度,但是想要做一个功能完备、性能优良的系统模型还是存在一定的难度的。结合思考题,我认为EA与各种语言之间的交互会让建模变得十分便利和灵活,也有利于系统在设计上更加人性化。

  • 相关阅读:
    nginx配置反向代理
    hyperchain HVM使用java编写智能合约的编译、部署流程
    leetcode 140单词拆分Ⅱ
    bomblab phase5
    bomb lab 二三阶段
    2021暑假算法学习笔记(基础复习)#2
    2021暑假算法学习笔记(基础复习)#1
    O(logn)最长上升子序列并输出
    A Daily Topic # 7 阶乘的和(二进制/枚举)
    A Daily Topic # 6 星期几(模拟)
  • 原文地址:https://www.cnblogs.com/shengjingyuan/p/12792862.html
Copyright © 2011-2022 走看看