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. oracle数据库导入dmp文件

    最近在自己的机子上安装了oracle11g,今天把项目的测试数据库给导入进来了,方便在本地跑起来调试.下面记录一下过程: 1,导出测试数据库的文件; 这个是在公司三楼的一台机子上,用plsql中的工具 ...

  2. window7下karma 报 The header content contains invalid characters BUG

    打开你的依赖node_modules\karma\node_modules\connect\lib\patch.js 将里面的setHeader方法改成下面这样,干掉序列化日期时出现的中文 res.s ...

  3. BZOJ - 1026 数位DP

    中文题面,注意st是不可以放到dp里面的,否则每次solve都要清零 注意状态的转移要st&&i==0,因为子结构也可能是st(当高位取0时) 而st是必然合法的 #include&l ...

  4. BZOJ - 2457 思維+貪心

    //為什麼我的Chrome OS更新後變成強制繁體了?? 題目要求使用最少的雙端隊列來維護一個單調非降序列 先來看下規律 首先,val肯定是單調非降的,在相等val範圍內的id可以xjb亂放不影響 其 ...

  5. [转] JAVA从本机获取IP地址

    [From] https://www.cnblogs.com/xiaoBlog2016/p/7076230.html 论述: 此篇博客是在工作的时候,需要获得当前网络下面正确的ip地址,在网上查阅很多 ...

  6. C#接收emoji表情存到sqlserver数据库

    1.将就的方法已找到,在保存前,Emoji表情字符串进行utf-8编码,然后写入数据表的nvarchar(max)字段,取出时再进行解码即可. c#的写法如下: 写入数据表前编码: string sH ...

  7. PDFJs 在线预览插件

    0.A.到官网 https://mozilla.github.io/pdf.js/getting_started/#download 下载最新版本B 部署到IIS 中访问 pdf.js/web/vie ...

  8. matplotlib中绘图配色

    Python中绘图配色(参照博文: Python-画图(散点图scatter.保存savefig)及颜色大全) # 可以直接使用配色编码 c=["#A52A2A" if tag = ...

  9. MongoChef

    简介 开源且免费,有商业版 可自动化生成查询语句 使用 最下面的 _id 是自动生成的,手动指定 {      .0,      "_id" : ObjectId("58 ...

  10. shell 脚本学习之内部变量

    一,$BASH Bash的二进制程序文件的路径 二,$BASH_ENV 这个环境变量会指向一个Bash的启动文件, 当一个脚本被调用的时候, 这个启动文件将会被读取. 三,$BASH_SUBSHELL ...