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. win10 安装MySQL8.0.11记录。

    参考了博客A:https://blog.csdn.net/m0_37788308/article/details/79965378 博客B:https://blog.csdn.net/fxbin123 ...

  2. Git merge 和 rebase 进一步比较

    但是 假如 我不想看到 分支转折点呢 合并的分支始终会存在一个交叉点 Microsoft Windows [版本 10.0.17134.345] (c) Microsoft Corporation.保 ...

  3. MVC参数自动装配

    在拿到一个类型的所有属性以及字段的描述信息后,就可以通过循环的方式,根据这些数据成员的名字去QueryString,Form,Session,Cookie读取所需的数据了. 就是遍历参数,然后用反射遍 ...

  4. 你还在把Java当成Android官方开发语言吗?Kotlin了解一下!

    导语:2017年Google IO大会宣布使用Kotlin作为Android的官方开发语言,相比较与典型的面相对象的JAVA语言,Kotlin作为一种新式的函数式编程语言,也有人称之为Android平 ...

  5. URAL —— 1255 & HDU 5100——Chessboard ——————【数学规律】

    用 k × 1 的矩形覆盖 n × n 的正方形棋盘 用 k × 1 的小矩形覆盖一个 n × n 的正方形棋盘,往往不能实现完全覆盖(比如,有时候 n × n 甚至根本就不是 k 的整倍数). 解题 ...

  6. 【Linux相识相知】任务计划和周期性任务

    在我们的生活中,有的工作是例行的,例如每年一次加薪.每年给女朋友过一次生日.每天上班都要打卡等,有的工作是临时发生的,例如明天朋友要来访,你需要准备午餐等等. 像很多例行的工作,你一旦忙起来就很容易忘 ...

  7. 打包.NET Core的程序到一个单独的可执行文件

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:打包.NET Core的程序到一个单独的可执行文件.

  8. 修改K3数据是简介方法

    如  及时库存里有个别产品库存没有库位  是*号的 这个时候  我们创建一个其他出库单,把这个没有库位的产品输入进去,库位随便写个 如002 保存,审核不了的  会提示负库存 去后台找到此单据号 修改 ...

  9. JavaScript typeof运算符和数据类型

    // js有6种数据类型:Undefined.Null.Boolean.String.Number.Object //(01)typeof console.log(typeof undefined); ...

  10. Sql server 操作笔记

    (1)更改字段类型 (2)添加字段 alter table class add InKinDate intEXECUTE sp_addextendedproperty N'MS_Description ...