《数据结构与抽象:Java语言描述(原书第4版)》一P.4 选择类
本节书摘来华章计算机《数据结构与抽象:Java语言描述(原书第4版)》一书中的第1章 ,第1节,[美]弗兰克M.卡拉诺(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. Henry) 着 罗得岛大学 新英格兰理工学院 辛运帏 饶一梅 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
P.4 选择类
到目前为止,我们已经讨论了说明类和实现类,描述了要说明或实现的类。如果必须从零开始设计一个应用程序,你该如何选择所需的类呢?本节介绍软件设计人员用于选择及设计类时用到的一些技术。虽然在本书中我们会不断提到这些技术,但我们的目的只是想向你介绍这些思想。未来的课程会更深入地介绍选择和设计类的方法。
假定我们正在设计一个你学校使用的注册系统。我们应该从何处入手?有效的切入点应该是从功能的角度来看待系统,如下所示:
- 谁将使用系统?与系统交互的自然人用户或软件组件称为角色(actor)。所以第一步是列出可能的角色。对于一个注册系统来说,两个角色可能是学生和注册员。
- 每个角色对系统能做什么?场景(scenario)是角色与系统之间进行交互的功能描述。例如,学生能添加一门课程。这个基本场景可以变化,从而引出其他场景。例如,当学生试图添加已经关闭的课程时会发生什么事情?故第二步是确定场景。做这件事的一种方式是将“当……时会发生什么”问题补充完整。
-
哪些场景涉及共同目标?例如,我们刚描述的两个场景与添加一门课程这个共同目标有关。这样的相关场景集合称为用例(use case)。故第三步是确定这些用例。
通过画**用例图**(use case diagram),能得到正在设计的系统所涉及的用例的总体图。图P-4是这个简单的注册系统的用例图。每个角色(学生和注册员)用简笔画人物来表示。盒式方框表示注册系统,方框中的椭圆是用例。如果角色和用例之间存在交互,则两者之间用线连接起来。
本例中的有些用例涉及一个角色,有些涉及两个。例如,只有学生申请入学,只有注册员注册学生。不过,学生和注册员都能在学生课表中添加一门课程。
注:用例从角色的角度描述系统。它们不一定就暗示为系统中的类。
最后更新:2017-06-26 15:32:11
上一篇:
《数据结构与抽象:Java语言描述(原书第4版)》一P.4.1 标识类
下一篇:
Javascript 中的神器——Promise
基于 Laravel Route 的 ThinkSNS+ Component
给Java程序猿们推荐一些值得一看的好书
基于阿里的Node全栈之路(四)前后端分离进阶-自动上传前端代码到OSS
Android 安全机制概述 Permission
HttpClient PostMethod模拟带文件上传+普通字段的http请求(可解决文件为网络文件的问题)
oracle中的函数使用
Eclipse 集成 Araxis Merge 作为比较和合并GUI工具的配置
H5自助建站和定制建站的区别
host修改host文件工具软件自动切换host最新版_HostHelper_V1.3
Android 真的悲剧了? 将与Chrome OS融为一体