深入解析 ATM 系统的面向对象设计
1. 引言
在软件开发中,面向对象设计是构建复杂系统的有效方法。以 ATM 系统为例,我们将详细探讨如何通过分析需求文档来确定系统所需的类和属性,以及如何使用统一建模语言(UML)进行建模。
2. 确定需求文档中的类
在设计 ATM 系统时,第一步是通过分析需求文档中的名词和名词短语来确定构建系统所需的类。以下是需求文档中出现的名词和名词短语:
| 名词和名词短语 |
| — |
| bank |
| money / funds |
| account number |
| ATM |
| screen |
| PIN |
| user |
| keypad |
| bank database |
| customer |
| cash dispenser |
| balance inquiry |
| transaction |
| $20 bill / cash |
| withdrawal |
| account |
| deposit slot |
| deposit |
| balance |
| deposit envelope |
然而,并非所有这些名词和名词短语都需要建模为类。例如,“bank”、“customer”和“user”代表外部实体,它们与 ATM 系统交互,但不需要在 ATM 软件中建模为类。“$20 bill”和“deposit envelope”是现实世界中的物理对象,不