阅读413 返回首页    go 阿里云 go 技术社区[云栖]


《数据结构与抽象: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是这个简单的注册系统的用例图。每个角色(学生和注册员)用简笔画人物来表示。盒式方框表示注册系统,方框中的椭圆是用例。如果角色和用例之间存在交互,则两者之间用线连接起来。 本例中的有些用例涉及一个角色,有些涉及两个。例如,只有学生申请入学,只有注册员注册学生。不过,学生和注册员都能在学生课表中添加一门课程。 image

注:用例从角色的角度描述系统。它们不一定就暗示为系统中的类。

最后更新:2017-06-26 15:32:11

  上一篇:go  《数据结构与抽象:Java语言描述(原书第4版)》一P.4.1 标识类
  下一篇:go  Javascript 中的神器——Promise