再学UML-Bug管理系统UML2.0建模实例(二)
2.3 BMS顺序图(需求模型)
在UML中,我们将顺序图分为两类,一类用于描述系统需求,构造系统的需求模型(分析模型);另一类用于指导设计与实现,构造系统的实现模型(设计模型)。
在系统分析时,可以通过顺序图来对执行者和系统的交互过程进行建模,方便用户更好地理解系统的工作流程。对于需求模型顺序图,一般使用用户熟悉的业务语言来进行系统描述,不涉及到实现细节,一方面方便用户理解,另一方面可以指导后续类图的设计。顺序图可显示不同的业务对象如何交互,对于交流当前业务如何进行很有用,一个业务级的顺序图能被当作一个需求文件使用,为实现一个未来系统传递需求;同时,顺序图能够使用更为清晰形象的表达,将用例带入下一层次,通常一个用例可以被细化为一个或者更多的顺序图。顺序图的主要用途之一,是把用例表达的需求,转化为进一步、更深层次的精细表达。
根据需求我们绘制了每一个用例的顺序图,由于篇幅关系,未将每个用例的顺序图一一列举。图2-3、2-4、2-5、2-6分别是用例“登录”、“提交bug信息”、“查看bug信息”和“更新bug信息”的顺序图。(部分顺序图)
图2-3 用例“登录”顺序图(需求模型)
图2-4 用例“提交bug信息”顺序图(需求模型)
图2-5 用例“查看bug信息”顺序图(需求模型)
图2-6 用例“更新bug信息”顺序图(需求模型)
在实际开发中,我们可以使用顺序图来描述用例的路径,此时,顺序图可以画得更加简单,最简单的顺序图只有两个交互角色,即“执行者”和“系统”。上述四个顺序图还是有点点偏技术的,
,在真正与用户交流时可以用更简单的形式。
2.4 状态图(需求模型)
在需求分析过程中,我们发现BMS系统的核心对象是bug,因此可以使用状态图对其进行建模。UML中的状态图可以用来描述一个特定对象的所有可能状态及其引起状态转移的事件。只有那些具有重要交互行为的类,才会使用状态图来描述,一个状态图包括一系列对象的状态及状态之间的转换。在实际建模中,并不需要给出每个对象的状态图,而需要将注意力集中在整体系统或少数关键的对象上,特别是那些状态比较多的对象。
在BMS系统中,最复杂也最为重要的对象是bug,它在系统中拥有多种不同的状态,不同类型的用户可以对其进行操作,为了更好地描述bug对象状态的转换,我们绘制了bug对象状态图,如图2-7所示:
图2-7 bug对象状态图
在图2-7中,我们可以清晰了解bug对象在系统中所具有的状态以及这些状态之间的转换过程,如测试人员提交的bug其状态为“新提交bug”,开发组长查看后该bug的状态将变为“开发组长已查看bug”。
2.5 活动图(需求模型)
在状态图中,我们描述了BMS系统中bug对象的各种状态以及状态之间的转换关系,但是这些状态在转换的过程中无法确定何种状态由哪类执行者负责操作,因此可以通过活动图来进行建模,此时的活动图用于对需求模型进行进一步细化。在系统分析过程中,我们使用活动图取代传统的流程图,在表示系统业务流程的同时通过泳道来确定每一个活动的执行者。在活动图中我们还使用了对象流来表示活动与对象之间的依赖关系,描述在活动中对象的状态。通过活动图建立的模型比状态图建立的模型具有更多信息,在BMS中,我们描述了不同用户对bug的操作活动以及在每一次活动之后bug对象所处于的状态,对操作流程进行图形化建模,如图2-8所示:
图2-8 BMS活动图
文章出处:http://blog.csdn.net/lovelion/article/details/17361945
再学UML-Bug管理系统UML2.0建模实例(二)的更多相关文章
- 再学UML-Bug管理系统UML2.0建模实例(一)
1.项目概述 随着软件项目规模和复杂性的增大,有效跟踪和管理项目中存在的缺陷Bug变得越来越重要.每一个软件企业都需要妥善处理软件中的缺陷,这将直接关系到软件过程质量与软件产品质量,但并非 ...
- 再学UML-Bug管理系统UML2.0建模实例(三)
3.系统设计 在对系统进行全面分析后,我们开始使用UML对系统进行设计,构造BMS系统的设计模型,包括类图.包图.顺序图(实现模型).组件图和部署图等的绘制,回答了“怎么做”的问题.具体设计工作如下: ...
- 再学UML-Bug管理系统UML2.0建模实例(四)
3.3 顺序图(实现模型) 在系统设计与实现阶段我们也可以使用顺序图进行建模,此时通过顺序图可以明确表示系统设计中对象之间的交互,考虑到具体系统实现,对象之间通过方法调用传递消息.在BMS系统中,对每 ...
- 一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.superviso ...
- [转]我要学ASP.NET MVC 3.0(十二): MVC 3.0 使用自定义的Html控件
本文转自:http://www.cnblogs.com/lukun/archive/2011/08/05/2128693.html 概述 在ASP.NET MVC框架中已经封装了很多基于Html标 ...
- 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是否被修复)也没有 ...
随机推荐
- bzoj 1085骑士精神 迭代深搜
题目传送门 题目大意:给出一幅棋盘,问能否复原,中文题面,不做解释. 思路:第一次写迭代深搜的题目,这道题还是挺经典的.这道题的状态很明显的每多搜一层就是多八倍,非常的多,而且又是t组输入,所以必定有 ...
- WSH的SpecialFolders对像
前面我做过一个VBS,来实现添加网站快捷方式到开始菜单,当然你也可以添加到别的地方,这就是那个对像的一些用法返回 SpecialFolders 对象(特殊文件夹集). object.SpecialFo ...
- Vue.js插槽slot和作用域插槽slot-scope学习小结
一般来说,在Vue项目中使用父子组建时,都是把通用的HTML结构提取出来写成一个子组件,需要动态展示的数据用过prop属性传递,不过有时候我们可能想给子组件传递一个HTML代码,这个时候用prop不太 ...
- API 接口收集
节假日 http://api.goseek.cn/ http://timor.tech/api/holiday http://www.easybots.cn/api/holiday.php?d=201 ...
- CAD 卸载工具,完美彻底清除干净cad各种残留注册表和文件
是不是遇到MAYA/CAD/3DSMAX/INVENTOR安装失败?AUTODESK系列软件着实令人头疼,MAYA/CAD/3DSMAX/INVENTOR安装失败之后不能完全卸载!!!(比如maya, ...
- (转)Python格式化字符 %s %d %f
Python格式化字符 %s %d %f 原文:http://blog.csdn.net/huangfu77/article/details/54807835 格式 描述%% 百分号标记 #就是输出一 ...
- 基于前端js模板替换的多语言方案思考
最近在做将一个系统多语言化的项目,系统使用的是ASP.NET,直接使用了一种已有的方案:在页面渲染时采用正则表达式替换{XXX:001 确定}格式的标记.但是这个方式增加了服务端的字符串处理,对页面性 ...
- TD不换行 nowrap属性
表格table的td单元格中,文字长了往往会撑开单元格,但是如果table都不够宽了,就换行了好像(不要较真其他情况,我只说会换行的情况).换行后的表格显得乱糟糟,不太好看,我不喜欢这样的换行.当然可 ...
- mvc 页面简单get获取后台数据
后台方法 public ActionResult Linq() { var lt = UserSys.FindAll(); Hashtable ht = new Hashtable(); ht.Add ...
- 迟到的UED(转发)
2013UCAN用户体验设计论坛–精彩视频赏析 - 交互设计 博文 视觉设计 | TaoBaoUEDhttp://ued.taobao.org/blog/2013/09/2013ucan/