再学UML-Bug管理系统UML2.0建模实例(四)
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建模实例(四)的更多相关文章
- 再学UML-Bug管理系统UML2.0建模实例(一)
1.项目概述 随着软件项目规模和复杂性的增大,有效跟踪和管理项目中存在的缺陷Bug变得越来越重要.每一个软件企业都需要妥善处理软件中的缺陷,这将直接关系到软件过程质量与软件产品质量,但并非 ...
- 再学UML-Bug管理系统UML2.0建模实例(三)
3.系统设计 在对系统进行全面分析后,我们开始使用UML对系统进行设计,构造BMS系统的设计模型,包括类图.包图.顺序图(实现模型).组件图和部署图等的绘制,回答了“怎么做”的问题.具体设计工作如下: ...
- 再学UML-Bug管理系统UML2.0建模实例(二)
2.3 BMS顺序图(需求模型) 在UML中,我们将顺序图分为两类,一类用于描述系统需求,构造系统的需求模型(分析模型):另一类用于指导设计与实现,构造系统的实现模型(设计模型). ...
- C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]
文章摘要: 1. 通过简单DEMO.让读者理解Task和Task<T> 学习过程中,掌握async和await 2. 理解同步和异步的执行 3. Task.Factory.Start ...
- 你必须学UML之理论篇
1.前言 对于当前社会背景下从事软件开发的工作者而言,"写代码"实际上并不是唯一的工作.特别在一些中小型的企业当中,这些企业往往对于开发者的要求,不单单停留在写代码完成相应功能上, ...
- UML(Unified Modeling Language)统一建模语言
什么是模型 模型是对现实的简化 模型是提供系统的蓝图,模型可是包括详细计划.也可是是从更高程度考虑系统的总体计划,每个系统可以从不同的方面用不通过的模型来描述.因而每个模型都是在语义上闭合的抽象系统. ...
- 【总结】使用jdbc+servlet开发一个bug管理系统的经验总结
开发背景: 公司目前使用Teambition里面的task作为bug管理系统,既没有bug的当前状态,也不能写上bug的详细复现步骤,被assign了任务(该修复bug或者验证bug是否被修复)也没有 ...
- UML2.0最新版入门图解
一.UML概述 UML(UnifiedModelingLanguage)统一建模语言,是面向对象软件的标准化建模语言.由于面向对象软件开发需要经过OOA(面向对象分析),OOD(面向对象设计),OOP ...
- 开源Bug管理系统Redmine安装和使用心得
最终忍受不了公司使用论坛+Excel来进行bug反馈和管理工作了,于是花了一个上午时间研究了下bug管理系统.这样一个bug管理系统能够轻松的查看bug新增了哪些,攻克了哪些.当前是谁,要在什么时间解 ...
随机推荐
- 2018年江西理工大学C语言程序设计竞赛(初级组)一
C语言竞赛初级组第一.二场答案:https://www.cnblogs.com/xingkongyihao/p/10046918.html A: 逆序对 时间限制: 1 s 内存限制: ...
- C# 调用键盘
首先我们说的键盘指的是:tabtip和osk.但这两个所在的位置不同,样貌也不一样 C:\Windows\System32\osk.exe C:\Program Files\Common Files\ ...
- UML类图关系(继承、泛化、实现、依赖、关联、聚合、组合)
继承.实现.依赖.关联.聚合.组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者 ...
- python 十大经典排序算法
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存.常见的内部排序算法有:插入排序.希尔排序.选 ...
- c语言实现栈的增删查减
#include"stdio.h"#include"stdlib.h"#define STACK_SIZE 100#define STACKINCREMENT ...
- (转)用shell脚本实现杨辉三角的4个实例!
概述: 中国古代数学家在数学的许多重要领域中处于遥遥领先的地位.中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页.杨辉三角形,是二项式系数在三角形中的一种几何排列.杨辉 ...
- vue-scroller的使用 && 开发自己的 scroll 插件
vue-scroller的使用 在spa开发过程中,难免会遇到使用scroll的情况,比如下面的: 即,当用户选择好商品之后,点击购物车,就会有一个购物车弹窗,如果选择的商品小于三个,刚好合适,如果多 ...
- 游戏源码--Unity开源Moba游戏-服务器-客户端完整V1.0
http://www.manew.com/thread-111658-1-1.html
- AutoMagic自动化测试平台简介
PS:给想做自动化平台同学一点思路. AutoMagic 是一个基于WebUI的自动化管理平台.为什么叫AutoMagic呢?因为自动化(Automation)在执行起来的时候是一个很神奇的事情,它可 ...
- Linux文本处理工具
Linux文本处理工具 Linux中熟练的使用文本处理工具非常的重要, 因为Linux在设计的时候是采用一切皆文件的哲学的, 甚至连计算机中的配置也都使用伪文件系统来表示, 要查询里面的内容就是对文件 ...