3.7 例题

很多软件系统在一开始都需要登录,若用户登录成功,则可进入系统。如下以一个研究生学籍管理系统为例,描述四种登录方案。

出于简化和能够说明与解决问题起见,此处仅描述了登录、选课和查看学分这三项功能。

1方案一
由于选课和查看学分都需要登录,故专门设立一个“登录”用况。若登录成功,则可以进行选课,也可以查看学分,见图319。
如下为对用况“登录”的描述:

该方案的缺点是,必须要了解系统的其他模块才能描述清楚用况“登录”。向系统增减功能时,也要修改用况“登录”。从维护的角度看,可能会忘记对用况“登录”进行修改。
从概念上讲,选课与查看学分并不是登录的组成部分,用况“登录”的文字描述中的后半部分实际上是与登录无关的。这表明,该用况的功能不单一。
2方案二
用用况“选课”和“查看学分”扩展用况“登录”,见图320。

如下为对用况“登录”的描述:

该方案与方案一相比,除了在图上对“登录”用况的描述要清楚一些外,仍未解决方案一中存在的问题。
3方案三
让所有的相关用况都包含用况“登录”,见图321。

如下为对用况“登录”的描述:

这个方案中的用况“登录”仅描述有关登录的信息。研究生执行系统的其他功能都要先登录,这导致该方案有缺点:研究生可能要进行多次登录,且用况“登录”和“选课”的功能不单一。
图322方案四的用况图
4方案四
用况“登录”完全独立于其他用况,见图322。

对用况“登录”的描述同方案三。如下为对用况“选课”的简化描述:

对用况“查看学分”的描述也与此类似。
若使用该方案,必须要在用况“选课”和“查看学分”中指定前置条件:只有在登录成功后才能执行自己的其他交互。该方案较为简洁,但在图上不能直接看出用况之间的关系。
习题
1用况之间的关系可为包含关系、扩展关系或继承关系,三种关系之间有相同之处吗?它们之间的区别又在哪里?
2论述用况图在面向对象方法中的地位。
3怎样理解把系统内外的交互情况描述清楚了,就明确了系统边界?
4对于331节中的收款用况,补充使用信用卡付款和使用优惠卡的描述。
5自动售货机会按用户的要求进行自动售货,供货员会巡查向其内供货,取款员会定时取款。针对上述要求,请建立用况图,并描述各个用况。
6现要开发一个购书积分系统,其中至少要具有申请积分卡、增加积分、查看积分和按积分奖励功能。请建立用况图,并描述各个用况。

《面向对象分析与设计》一3.7 例题相关推荐

  1. 面向对象分析和设计的几个关键步骤_(豁然开朗)《面向对象分析与设计》读书笔记 (4)- 分类...

    目录 分类 正确分类的重要性 分类的困难 分类的增量和迭代本质 确定类和对象 经典方法 && 现代方法 (种) 面向对象分析 (主要识别对象) 关键抽象和机制 确定关键抽象 识别机制 ...

  2. UML和模式应用学习笔记-1(面向对象分析和设计)

    大学时曾经开过<UML和模式应用>的课程,当时没有引起足够的重视,只为了应付考试并没有真正掌握书中的内容:现在工作中经常要用到UML及设计模式,决定每周花点时间重新对书中的内容进行学习:本 ...

  3. 面向对象分析与设计小结

    最近接触了下面向对象分析与设计的概念,虽说书上也许是讲的比较浅显,这里暂且做做学习笔记 当面对一个项目的时候,首先依然是需求分析,得到需求分析报告,接下来在面向对象分析过程中建立用例图,这一步是项目负 ...

  4. OOAD 面向对象分析与设计

    OOAD 面向对象分析与设计2007年06月16日 星期六 下午 04:38OOAD(Object Orient Analysis & Design,面向对象的分析和设计,面向对象分析与设计) ...

  5. UML 面向对象分析与设计

    面向对象方法以其超越传统方法的技术先进性越来越得到更多的重视,但技术的先进性不能完全代表一种新生事物的最后成功,还要看它是否能得到有效的推广.统一建模语言(UML)的产生为这种推广规定了一致的表示,诸 ...

  6. 深入浅出面向对象分析与设计

    深入浅出面向对象分析与设计书籍 下载位置:http://pan.baidu.com/s/1o7gmmuu 转载于:https://www.cnblogs.com/wlming/p/5160140.ht ...

  7. 《面向对象分析与设计》一1.4面向对象方法的主要优点

    1.4面向对象方法的主要优点 本节从认识论的角度和软件工程方法的角度看一下面向对象方法带来的益处,并把面向对象方法与传统方法进行比较,看面向对象方法有什么优点. 从认识论的角度面向对象方法改变了开发软 ...

  8. 面向对象分析与设计--遛狗玩

    这篇文章焦点并不在于继承以及多态性或者各种炫酷的设计模式上面,也不在与对未来的预测,而在于分析最基本的封装,提取类,组合 人遛狗的最简形式 public class People {public st ...

  9. 面向对象分析与设计中的基本事件处理的机制及其优缺点对比

    xjtuer最好不要抄,五次作业都是去年优秀作业,如果因为全抄被老师逮住全给0分就得不偿失了,放在这里是给大家一个思路不用再去查找很多资料,了解之后再自己总结写一写 面向对象分析与设计中的基本事件处理 ...

  10. 实验三 面向对象分析与设计

    文章目录 一.实验目的 二.实验内容 实例1:在线选课系统 实例2:试卷自动生成系统 实例3:人事信息管理系统 三.实验步骤 四.实验内容 1.问题陈述 2.用例图(Use Case View)的建模 ...

最新文章

  1. 视觉传感器:3D感知算法
  2. 【NOIP2005】过河
  3. 【杭州】Hack for Cloud Beginner微软黑客松大赛
  4. 孙叫兽进阶之路之软件开发生命周期
  5. js 确定主窗体是否存在
  6. mysql用户数据导入_mysql创建数据库、用户及导入数据_mysql数据库教程
  7. 生活中c语言排序案例,C语言之数字排序-基于冒泡排序法的一些案例(对未知数量的数字进行排序)...
  8. pm2 多个线程输出一个日志_PM2 源码分析
  9. Linux查找(find)指令的使用
  10. dataframe转化为array_Pandas入门教程:如何将列表转化成数据框?
  11. poj 1833 排列
  12. 关于SSL以及https的相关信息
  13. e580显卡驱动_联想e580显卡驱动下载-联想e580笔记本显卡驱动v25.20.15012.2005 官方版 - 极光下载站...
  14. 奇点云数据中台技术汇(七) | 数据智能模型——数据中台航母的作战集群
  15. centos7 | All matches were filtered out by modular filtering for argument: mysql-community-server
  16. C++ int a= {}和int a = 0
  17. vmware esx简介
  18. PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。
  19. php解决缓慢http请求,php CURL 服务器响应慢的问题
  20. 各大热补丁方案分析和比较

热门文章

  1. 巧妙算法之位运算的应用
  2. 趣图 | 念念不忘必有回响
  3. kali WEP 破解
  4. 如何看懂这些图形学公式
  5. VUE中的filters过滤器2种用法
  6. 什么样的电子签名有法律效力
  7. vue更改了数据但是视图却没有更新
  8. 查询服务器时显示failbyOEM,java - 使用 Weblogic 12c,给出警告警告日志管理 BEA-170011 该服务器上的 LogBroadcaster 失败 - 堆栈内存溢出...
  9. 洛谷 P1867 【Mc生存】经验值
  10. 推荐mac os 下更改键盘映射软件KeyRemap4MacBook