引言

  牛腩新闻发布系统看起来很有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画的用例图是什么样子吧:

新闻发布系统——用例图知识,温故知新相关推荐

  1. 【计算机毕业设计】新闻发布系统

    一.系统截图(需要演示视频可以私聊) 摘  要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们 ...

  2. 【免费毕设】基于jsp的新闻发布系统(论文)

    文章目录 目录 一.系统设计 二.系统实现 源文件 目录 一.系统设计 3.1系统分析 3.1.1需求分析 1.通过相关调查,要求网站具有以下功能: 2.通过网络,展示各行业新闻及相关信息. 3.提供 ...

  3. 14.4 设计新闻发布系统

    14.4  设计新闻发布系统 上面对环境配置完毕.在开始编码之前,先来设计新闻发布系统,包括设计页面.设计业务逻辑和设计数据库. 14.4.1  设计页面 为了示例方便,这里的页面都没有使用图片. 从 ...

  4. 新闻发布系统,防火墙关了吗?

    牛腩新闻发布系统,这一路上走走停停,到现在,终于走到了最后的发布阶段. 在发布的这个过程,找了一篇很完整的博客,按着上面的步骤,一步又一步,十多分钟后,真的可以通过自己电脑的浏览器浏览制作好的新闻系统 ...

  5. (附源码)SSM校园新闻发布系统JAVA计算机毕业设计项目

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. ASP.NET程序设计课程设计——新闻发布系统

    点击查看详细信息 发现这个资源传的不是最新版,需要最新版资源的可以私聊我 ASP.NET程序设计课程设计--新闻发布系统 二.系统需求分析 2.1 功能性需求 用户可以在系统内界面实现登录和注册功能. ...

  7. 新闻发布系统的软件测试计划,新闻发布系统毕业设的计.doc

    新闻发布系统毕业设的计 石家庄经济学院职业技术学院 毕 业 设 计(论 文) 专业 计算机应用 班级 3093160801 姓名 牛少辉 2012年 5月 25日 成绩评议 学号 3093160801 ...

  8. 建立新闻内容的数据库_建立在线新闻发布系统的方法

    建立新闻内容的数据库 News has always been a very significant part of our society. In the past, we mostly depen ...

  9. 新闻发布系统的软件测试计划,新闻发布系统毕业设计.doc

    文档介绍: --------------------------校验:_____________-----------------------日期:_____________新闻发布系统毕业设计石家庄 ...

最新文章

  1. Android应用工程文件组成
  2. 区块链+5G=智慧城市?
  3. 深度学习还不能解决什么问题?
  4. python在删除对象时会自动调用析构函数_Python面向对象程序设计构造函数和析构函数用法分析...
  5. uniapp开发微信小程序时,报错:Now you can provide attr `wx:key` for a `wx:for` to improve performance
  6. 最好理解的: spring ioc原理讲解,强烈推荐!
  7. SweetAlert详解
  8. Android开发笔记(五十)定时器AlarmManager
  9. 版本控制工具的必要性、作用、分类和发展历程
  10. 6.5. Properties
  11. 次导数 次梯度 小结
  12. 程序员教程第一章第二节
  13. win10安装虚拟机vm遇到的坑
  14. 加减乘除求余 利用 位运算实现(详细)
  15. 新闻叙事与文学影视叙事的区别
  16. 用java写新年快乐特效代码_蓝叶分享新年快乐大红灯笼特效代码
  17. Android 10 Settings应用二级菜单关于设备-Android版本中基带版本添加点击事件
  18. win系统的VBS脚本简易教程
  19. 记录:手机邮箱格式验证
  20. scratch二次开发(一)

热门文章

  1. 自然语言处理--词向量使用基于 Annoy 的高级索引(近似最近邻)来查找最近邻词项
  2. 服务端安全测试体系概括
  3. MySQL的DML常用语法格式
  4. 倪海夏老师亲传弟子名单及联系方式
  5. deegree sqldialect mysql_Hibernate SQL方言 (hibernate.dialect) 汇总
  6. The Response content must be a string or object implementing __toString(), “boolean“ given
  7. 论文的第n作者、通讯作者
  8. 指定的任务可执行文件“sgen.exe”未能运行。System.ComponentModel.Win32Exception
  9. [vulhub]shiro
  10. Oracle EBS 洽谈报价的操作流程测试