再学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新增了哪些,攻克了哪些.当前是谁,要在什么时间解 ...
 
随机推荐
- gym101964G Matrix Queries seerc2018k题       cdq分治
			
题目传送门 题目大意: 二维平面上有q次操作,每次操作可以是添加一个点,也可以是添加一个矩形,问每次操作后,有多少 点-矩形 这样的pair,pair的条件是点被矩形覆盖(边缘覆盖也算). 思路: ...
 - 补档 VS远程调试
			
先说概念 开发机:将编译好的程序部署到目标机器上执行.配置 VS 工程,建立与目标机的连接,开始远程调试. 目标机:负责执行目标程序.安装和运行远程工具 (Remote Debugger),等待来自开 ...
 - 微信获取用户信息的两个接口和两个ACCESS_TOKEN
			
有一段时间没有搞微信开发了 ,今天突然要改一下程序! 回头一看 微信的帮助文档太tm的稀烂的,太难懂了,这做个笔记以后看着方便 微信有2个ACCESS_TOKEN, 1,基础接口的token 获取接口 ...
 - python数据类型,格式话输出
			
一.程序交互 name = input(“你的名字是:”) #用户输入,输入的任何东西都存储成str(字符串类型)的形式 二.注释的重要性 以后动辄几千行代码的时候,回过头再去看的时候,发现自己都看不 ...
 - xshell SSH 连接出现 outgoing encryption ,或者no matching host key algorithm found错误的解决
			
首先看看xshell的使用版本,如果是xshell 4,提示的信息为:no matching host key algorithm found 如果是xshell 5,提示的是: outgoing e ...
 - 使用 Ninject
			
在[ASP.NET MVC 小牛之路]系列上一篇文章(依赖注入(DI)和Ninject)的末尾提到了在ASP.NET MVC中使用Ninject要做的两件事情,续这篇文章之后,本文将用一个实际的示例来 ...
 - Oracle 基础系列之1.2  oracle的基本使用
			
在1.1的安装过程完成之后,进入第二部分,oracle的基本使用,在使用前,首先测试下,oracle是否安装成功,以及检查oracle的关键服务时候开启 1.首先测试下,oracle是否安装成功 打开 ...
 - Nginx设置日志分割方法
			
目标:nginx cronolog日志分割配置文档,每分钟分割一次NGINX访问日志. 大体步骤如下: 1.nginx日志配置 access_log /var/log/nginx/access.log ...
 - Navicat Premium v12.0.23.0 安装,使用激活码激活
			
1 下载 可以直接官网下载安装包,也可以直接到我的云盘下载 下载地址:https://pan.baidu.com/s/1apwU9cIKBTr-z0CuJEJ9gg 文件包中包含下面的文件: 2 安装 ...
 - Best HTTP
			
http://blog.csdn.net/u012322710/article/details/52860747 Best HTTP (Pro) 这是一款很多公司都在用的网页插件,感觉确实不错,分P ...