论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
牐犕2所示为用例图。图中给出了自动取款机系统的主要用途,并表明由谁使用自动取款机系统。有一个主要成员——顾客。一个用例图应该具有这样的系统功能:对操作者而言,它返回可观察的结果但并不显示系统的内在结构。
牐犠远取款机系统的主要用途是“取出现金”用例。顾客参与其中的两个实例是“输入密码”和“取出现金”。这两个实例都包含了另一个用例“读取卡上内容并验证”。对每一个用例而言,我们都可以增加文本描述。假如需要的话,这些用例能够被细化成另一张更多用例的图。这些用例并没有显示任何内在的结构,仅是一个功能性的视图。
第二步:设计黑匣子场景。
牐牻立了一个用例图后,下一步便是细化用例,即设计一些黑匣子场景。这些黑匣子场景的主要作用是表明模型和对象之间的相互关系。把整个系统看作一个整体,对 “取出现金” 用例,我们细化为图3所示的场景。(由于每次最多只能取一千元,所以最多只需要按键4次。)
牐犕3所示的场景能被MSD(消息序列表)捕获,用来描述在顾客和自动取款机系统之间的通信行为。当创建这样的图表时,关于系统的更多细节被隐藏了;同时,这些场景帮助我们更好地理解使用者如何使用报警系统以及需要做哪些事情。总而言之,每一用例都有很多的场景需要捕获,每一个场景都是用例的一个有效的实例。
第三步:设计子系统图。
牐犗乱徊绞侨绾伟涯P头指畛勺酉低场T赨ML中,一个子系统作为一个封装显示,即主要是一个类的集合。图4的子系统图表明自动取款机系统已经被分解成两个基本的部分:自动柜员机封装(AtmerPkg)和硬件封装(HardharePkg)。同时也表明:自动柜员机封装是完全独立于实际的硬件和硬件封装的,并且实现了Ihardware接