3.3 顺序图(实现模型)

在系统设计与实现阶段我们也可以使用顺序图进行建模,此时通过顺序图可以明确表示系统设计中对象之间的交互,考虑到具体系统实现,对象之间通过方法调用传递消息。在BMS系统中,对每个用例均可以绘制基于实现模型的顺序图。由于篇幅关系,未将每个用例的顺序图一一列举。图3-5、3-6分别是用例“登录”和“提交bug信息”的实现模型顺序图。

图3-5 用例“登录”顺序图(实现模型)

图3-6 用例“提交bug信息”顺序图(实现模型)

在图3-5、3-6中,通过实现模型顺序图来表示对象之间的交互关系,每个用例对应一个顺序图,开发人员可以根据顺序图编写实现代码,并更好地与其他成员交流。

3.4 包图

BMS根据系统分层架构组包,并参照类之间的关系绘制包之间的关系,如图3-7所示:

图3-7 BMS包图

       在包图中体现了系统的分层架构,包与层的对应关系如表3-1所示:

包    名

分    层

com.sunny.bms.servlet

控制层

com.sunny.bms.bl

业务逻辑层

com.sunny.bms.idao

抽象数据访问层

com.sunny.bms.dao

数据访问层

表3-1 BMS包与层对应关系表

另外,在com.sunny.bms.dto包中封装了数据传输类,在com.sunny.bms.util包中封装了一些工具类,如字符编码转换类、数据加密类等,可以根据实际需要增加到系统中。

3.5 组件图

组件图表示了系统中物理文件之间的关系,描述了每个功能所在的组件位置以及它们之间的关系。在BMS设计方案中,将类打包成war文件或者jar文件,以便于部署和重用,BMS组件图如图3-8所示:

图3-8 BMS组件图

在图3-8中,将所有的JSP和Servlet打包成一个war文件,然后将其他类按照分层打包成不同的jar文件,在dto.jar中包含了所有的DTO类,在idao.jar中包含了所有的抽象DAO接口,在dao.jar中包含了所有的DAO类,在bo.jar中包含了所有的BO类。将不同的类封装在不同的组件中以便于组件的复用,降低系统的复杂性。

3.6 部署图

部署图描述了系统硬件的拓扑结构以及在此结构上执行的软件,是一种常用的系统架构建模技术。BMS系统部署图如图3-9所示:

图3-9 BMS部署图

在图3-9中,按照系统的整体架构,BMS采用B/S结构进行开发,因此客户端只需要安装浏览器(Browser),将所有的JSP文件和类部署在应用服务器中,通过DAO类操作存储在MySQL数据库服务器中的数据。系统维护和部署人员可以按照该部署图部署应用程序组件。

文章出处:http://blog.csdn.net/lovelion/article/details/17362695

本实例分析到此全部结束,希望能给大家带来帮助!

再学UML-Bug管理系统UML2.0建模实例(四)的更多相关文章

  1. 再学UML-Bug管理系统UML2.0建模实例(一)

    1.项目概述       随着软件项目规模和复杂性的增大,有效跟踪和管理项目中存在的缺陷Bug变得越来越重要.每一个软件企业都需要妥善处理软件中的缺陷,这将直接关系到软件过程质量与软件产品质量,但并非 ...

  2. 再学UML-Bug管理系统UML2.0建模实例(三)

    3.系统设计 在对系统进行全面分析后,我们开始使用UML对系统进行设计,构造BMS系统的设计模型,包括类图.包图.顺序图(实现模型).组件图和部署图等的绘制,回答了“怎么做”的问题.具体设计工作如下: ...

  3. 再学UML-Bug管理系统UML2.0建模实例(二)

    2.3 BMS顺序图(需求模型)       在UML中,我们将顺序图分为两类,一类用于描述系统需求,构造系统的需求模型(分析模型):另一类用于指导设计与实现,构造系统的实现模型(设计模型).     ...

  4. C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]

    文章摘要: 1. 通过简单DEMO.让读者理解Task和Task<T>    学习过程中,掌握async和await 2. 理解同步和异步的执行 3. Task.Factory.Start ...

  5. 你必须学UML之理论篇

    1.前言 对于当前社会背景下从事软件开发的工作者而言,"写代码"实际上并不是唯一的工作.特别在一些中小型的企业当中,这些企业往往对于开发者的要求,不单单停留在写代码完成相应功能上, ...

  6. UML(Unified Modeling Language)统一建模语言

    什么是模型 模型是对现实的简化 模型是提供系统的蓝图,模型可是包括详细计划.也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述.因而每个模型都是在语义上闭合的抽象系统. ...

  7. 【总结】使用jdbc+servlet开发一个bug管理系统的经验总结

    开发背景: 公司目前使用Teambition里面的task作为bug管理系统,既没有bug的当前状态,也不能写上bug的详细复现步骤,被assign了任务(该修复bug或者验证bug是否被修复)也没有 ...

  8. UML2.0最新版入门图解

    一.UML概述 UML(UnifiedModelingLanguage)统一建模语言,是面向对象软件的标准化建模语言.由于面向对象软件开发需要经过OOA(面向对象分析),OOD(面向对象设计),OOP ...

  9. 开源Bug管理系统Redmine安装和使用心得

    最终忍受不了公司使用论坛+Excel来进行bug反馈和管理工作了,于是花了一个上午时间研究了下bug管理系统.这样一个bug管理系统能够轻松的查看bug新增了哪些,攻克了哪些.当前是谁,要在什么时间解 ...

随机推荐

  1. 2.16 关于python/numpy

  2. 剪邮票--蓝桥杯--dfs--思路超清晰

    剪邮票 如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色所示部分就是 ...

  3. UML-3-案例研究

    没有什么比恰当的举例更难的了.-----马克吐温

  4. Murano Weekly Meeting 2016.08.23

    Meeting time: 2016.August.23 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: ...

  5. 如何实现一个简单的MVVM框架

    接触过web开发的同学想必都接触过MVVM,业界著名的MVVM框架就有AngelaJS.今天闲来无事,决定自己实现一个简单的MVVM框架玩一玩.所谓简单,就是仅仅实现一个骨架,仅表其意,不摹其形. 分 ...

  6. multiprocessing 模块

    multiprocessing模块 进程对象 创建 p = Process(target=foo, args=(param,)) 属性 p.daemon: True为守护进程, 守护进程内无法再开启子 ...

  7. eclipse-java-style.xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><profil ...

  8. ArrayList集合长度的问题

    // 每次集合中实际包含的元素个数(count)超过了可包含元素的个数capcity  //的时候集合就会向内存中申请多开启一倍的空间,来保证集合长度够用 static void Main(strin ...

  9. ADO.NET教程(2)实现增删查改

    声明一个类,在类中实现增删查改的方法 public class AdoNet { //声明连接字符串 public string Sqlstr = "data source={0};data ...

  10. 通过js操作样式(评分)

    <style> td{ font-size:50px; color:yellow; cursor:pointer; } </style> <script type=&qu ...