再学UML-Bug管理系统UML2.0建模实例(三)
3.系统设计
在对系统进行全面分析后,我们开始使用UML对系统进行设计,构造BMS系统的设计模型,包括类图、包图、顺序图(实现模型)、组件图和部署图等的绘制,回答了“怎么做”的问题。具体设计工作如下:
3.1 体系结构设计
BMS采用多层Java EE设计方案,考虑到系统的扩展性,定义了抽象的数据访问层,系统体系结构图如图3-1所示:
图3-1 BMS体系结构图
在图3-1中,BMS系统一共包含五层,其中表示层使用JSP来实现,控制层使用Servlet实现,Servlet将调用业务逻辑层中的方法实现具体业务功能,如果业务功能在实现过程需要访问数据库,则调用数据访问层中的数据库操作方法,为了保证系统的扩展性,我们定义了抽象的数据访问层,业务逻辑层针对抽象数据访问层编程,而将具体数据访问类类名存储在配置文件中,使用XML格式的文件作为配置文件,提高系统的可扩展性。具体实现方案如图3-2所示:
图3-2 数据访问层扩展实现方案
3.2 类图
类图是一个面向对象系统最核心的设计图之一,BMS的主要功能包括bug管理和人员信息管理,针对这两个主要功能模块,我们绘制了两个类图,图3-3对用户信息管理进行建模,图3-4对bug信息管理进行建模。
为了更好地描述各种不同的类,我们使用了彩色UML建模方式,不同类型的类使用不同的颜色来表示,如使用红色表示数据传输类DTO,使用粉红色表示JSP界面类,使用绿色表示Servlet控制类,使用蓝色表示业务逻辑类BO,使用浅蓝色表示数据访问接口IDAO,使用橙色表示数据访问类DAO。
图3-3 用户信息管理部分类图
图3-4 bug信息管理部分类图
文章 出处:http://blog.csdn.net/lovelion/article/details/17362455
再学UML-Bug管理系统UML2.0建模实例(三)的更多相关文章
- 再学UML-Bug管理系统UML2.0建模实例(一)
1.项目概述 随着软件项目规模和复杂性的增大,有效跟踪和管理项目中存在的缺陷Bug变得越来越重要.每一个软件企业都需要妥善处理软件中的缺陷,这将直接关系到软件过程质量与软件产品质量,但并非 ...
- 再学UML-Bug管理系统UML2.0建模实例(二)
2.3 BMS顺序图(需求模型) 在UML中,我们将顺序图分为两类,一类用于描述系统需求,构造系统的需求模型(分析模型):另一类用于指导设计与实现,构造系统的实现模型(设计模型). ...
- 再学UML-Bug管理系统UML2.0建模实例(四)
3.3 顺序图(实现模型) 在系统设计与实现阶段我们也可以使用顺序图进行建模,此时通过顺序图可以明确表示系统设计中对象之间的交互,考虑到具体系统实现,对象之间通过方法调用传递消息.在BMS系统中,对每 ...
- 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新增了哪些,攻克了哪些.当前是谁,要在什么时间解 ...
随机推荐
- ssm框架中的乱码问题的解决
在搭建ssm框架过程中可能会出现乱码的问题,解决的最好方法就是不管在哪儿都设置为utf-8: 统一编码格式,所有的都设置为utf-8: 首先的就是将所有的请求设置为utf-8: 设置post请求的编码 ...
- D3.js v4版本 按住shift键框选节点demo
http://download.csdn.net/download/qq_25042329/10139649
- 1137 Final Grading (25 分)
For a student taking the online course "Data Structures" on China University MOOC (http:// ...
- vue指令与事件修饰符
一.条件渲染指令 vue中提供了两个指令可以用于判断是否要显示元素,分别是v-if和v-show. 实例: <!DOCTYPE html> <html lang="en&q ...
- Shiro登录的故事
从前,有一个subject,他有一个UsernamePasswordToken的实例,也就是token: 他准备登录,于是调用subject.login(AuthenticationToken tok ...
- phpstorm 2017 关掉变量提示 parameter name hints
配置面板中搜索 hints 路径 Editor > General > Appearance > Show parameter name hits 去掉前面的勾就行了
- storm中KafkaSpout的选择
Storm最常用的消息源就是Kafka,在对接的时候大多需要使用KafkaSpout: 在网上大概有两种KafkaSpout,一种是只有几十行,一种却有一大啪啦类文件. 在kafka中,同一个part ...
- unity 热更新方案ILRuntime
https://github.com/meta-42/ILRuntime 教程 https://ourpalm.github.io/ILRuntime/public/v1/guide/index.ht ...
- pat02-线性结构3. 求前缀表达式的值(25)
02-线性结构3. 求前缀表达式的值(25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 算术表达式有前缀表示法.中缀表示法和后缀表示法 ...
- Windows 下推荐软件
神器 Dism++ Quicker(效率工具) Bandizip 火绒安全软件 Everyting(搜索神器并支持http远程连接) Xmanager VMware Workstation IDMan ...