新闻发布系统——用例图知识,温故知新
引言
牛腩新闻发布系统看起来很有feel,一条线的感觉,毕竟,这是一个系统实现的教程,包含了各种细节,虽然只是看了10集左右,但是深深的被牛腩老师的讲解思路带进去了,尤其是一些以前学习的过程中忽略的细节,米老师说过,眼下学习的知识,后续的学习中还会遇到。真的是这样,学习就是一个圈,循环这个特性专门用来对我们以往的学习效果给出评定,并给出我们查漏补缺的机会。
正文
牛腩视频开篇老师就带领我们画了这个系统的用例图,于是趁这个机会,我又复习了一遍用例图中的几种关系:
关联(association)
包含(include)
扩展(extend)
泛化(generalization)
关联关系
描述参与者和用例之间的关系。
用单向箭头,表示谁启动用例。
每个用例都有角色启动,除了包含和扩展用例。
包含关系
是指两个用例之间的关系。其中一个用例(基本用例,base use case)的行为包含了另一个用例(包含用例,inclusion use case)的行为。
如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中,其他用力拉可以和这个用例建立包含关系。
上面的例子就是说查询、提款和转账三个用例都有一个一致的功能,所以将这个功能提取出来为一个用例。且这三个用例和提取出的这个用例之间是包含的关系。
执行基本用例的时候也可以执行被包含的用例,被包含的用例也可以单独执行。
如果一个用例的功能太多时,可以用包含关系建模成两个或多个小用例。
扩展关系
也是指两个用例之间的关系。一个用例可以被定义为基础用例的增量的扩展,称作为扩展关系。扩展关系是把新的行为插入到已有的用例中方法。基础用例即使没有扩展用例的执行不会涉及扩展用例,只有在特定的条件发生,扩展用例才被执行。
泛化(继承)关系
一个用例和其几种情形的用例间构成泛化关系。往往父用例表示为抽象用例。
任何父用例出现的地方子用例也可出现。
真题练习
【典型题1-2-2】 (2005上半年试题2、3)
● 在用例建模的过程中,若几个用例执行了同样的功能步骤,这时可以把这些公共步骤提取成独立的用例。这种用例称为 (1);在UML的用例图上,将用例之间的这种关系标记为(2)。
(1) A.扩展用例 B.抽象用例 C.公共用例 D.参与用例
(2) A.association B.extends C.uses D.inheritances
要点解析:
用例(use case)描述了一个与系统参与者进行交互、并由系统执行的动作序列。UML规范提供了用例之间包含(include)、扩展(extend)和泛化(generalization)等3种相关性的关系,各种关系功能及区别见下表:
用例图各种关系说明表
由以上分析可知,抽象用例是从几个执行相同功能步骤的用例中,将公共步骤提取而成的独立用例。可见抽象用例代表某种形式的“复用”,它是降低用例之间冗余的一种工具。例如,在一个“订单输入子系统”中,创建新订单和更新订单都需要核查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“核查客户帐号”之间是一种包含(include)关系。
对于选项A的“关联(Association)”是两个或多个特定类之间的关系,它描述了这些类元的实例的联系。选项D的“继承(inheritances)”描述了子用例与父用例之间的一般关系。
解答此类试题的一般思路是识记用例的3种关系。
参考答案:(1)B;(2)C。
结束
相信大家在进行机房重构或是合作的时候,电脑上都装了EA,我在学习的时候有点钻牛角尖,看用Rational Rose画的某些线时,有的线带箭头,就觉得每个软件表达同样的关系时都是一样的,所以用Rational Rose画完图后,不太习惯EA中的那些线(自己掌握的不牢固也是一方见面),所以便认真重温了一遍用例图相关知识。接下来就让我们看一下用EA画的用例图是什么样子吧:
新闻发布系统——用例图知识,温故知新相关推荐
- 【计算机毕业设计】新闻发布系统
一.系统截图(需要演示视频可以私聊) 摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...
- 【免费毕设】基于jsp的新闻发布系统(论文)
文章目录 目录 一.系统设计 二.系统实现 源文件 目录 一.系统设计 3.1系统分析 3.1.1需求分析 1.通过相关调查,要求网站具有以下功能: 2.通过网络,展示各行业新闻及相关信息. 3.提供 ...
- 14.4 设计新闻发布系统
14.4 设计新闻发布系统 上面对环境配置完毕.在开始编码之前,先来设计新闻发布系统,包括设计页面.设计业务逻辑和设计数据库. 14.4.1 设计页面 为了示例方便,这里的页面都没有使用图片. 从 ...
- 新闻发布系统,防火墙关了吗?
牛腩新闻发布系统,这一路上走走停停,到现在,终于走到了最后的发布阶段. 在发布的这个过程,找了一篇很完整的博客,按着上面的步骤,一步又一步,十多分钟后,真的可以通过自己电脑的浏览器浏览制作好的新闻系统 ...
- (附源码)SSM校园新闻发布系统JAVA计算机毕业设计项目
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- ASP.NET程序设计课程设计——新闻发布系统
点击查看详细信息 发现这个资源传的不是最新版,需要最新版资源的可以私聊我 ASP.NET程序设计课程设计--新闻发布系统 二.系统需求分析 2.1 功能性需求 用户可以在系统内界面实现登录和注册功能. ...
- 新闻发布系统的软件测试计划,新闻发布系统毕业设的计.doc
新闻发布系统毕业设的计 石家庄经济学院职业技术学院 毕 业 设 计(论 文) 专业 计算机应用 班级 3093160801 姓名 牛少辉 2012年 5月 25日 成绩评议 学号 3093160801 ...
- 建立新闻内容的数据库_建立在线新闻发布系统的方法
建立新闻内容的数据库 News has always been a very significant part of our society. In the past, we mostly depen ...
- 新闻发布系统的软件测试计划,新闻发布系统毕业设计.doc
文档介绍: --------------------------校验:_____________-----------------------日期:_____________新闻发布系统毕业设计石家庄 ...
最新文章
- Android应用工程文件组成
- 区块链+5G=智慧城市?
- 深度学习还不能解决什么问题?
- python在删除对象时会自动调用析构函数_Python面向对象程序设计构造函数和析构函数用法分析...
- uniapp开发微信小程序时,报错:Now you can provide attr `wx:key` for a `wx:for` to improve performance
- 最好理解的: spring ioc原理讲解,强烈推荐!
- SweetAlert详解
- Android开发笔记(五十)定时器AlarmManager
- 版本控制工具的必要性、作用、分类和发展历程
- 6.5. Properties
- 次导数 次梯度 小结
- 程序员教程第一章第二节
- win10安装虚拟机vm遇到的坑
- 加减乘除求余 利用 位运算实现(详细)
- 新闻叙事与文学影视叙事的区别
- 用java写新年快乐特效代码_蓝叶分享新年快乐大红灯笼特效代码
- Android 10 Settings应用二级菜单关于设备-Android版本中基带版本添加点击事件
- win系统的VBS脚本简易教程
- 记录:手机邮箱格式验证
- scratch二次开发(一)
热门文章
- 自然语言处理--词向量使用基于 Annoy 的高级索引(近似最近邻)来查找最近邻词项
- 服务端安全测试体系概括
- MySQL的DML常用语法格式
- 倪海夏老师亲传弟子名单及联系方式
- deegree sqldialect mysql_Hibernate SQL方言 (hibernate.dialect) 汇总
- The Response content must be a string or object implementing __toString(), “boolean“ given
- 论文的第n作者、通讯作者
- 指定的任务可执行文件“sgen.exe”未能运行。System.ComponentModel.Win32Exception
- [vulhub]shiro
- Oracle EBS 洽谈报价的操作流程测试