UML在自助加油站系统设计中的应用与实践
1. UML测试面临的挑战
在软件开发中,UML(统一建模语言)的测试存在诸多挑战。在结构化编程里,单元通常指代码模块,但在面向对象编程(OO)和UML中,单元可以是方法、类或者类的更大聚合,如包。除了符号表示问题,还存在显著的技术难题。
继承和多态引入了挑战,因为它们会产生许多难以通过检查类来识别的执行路径。此外,对象状态也会导致复杂性,因为在测试时必须考虑对象可能处于的不同状态以及这些状态如何影响对消息的响应。
对于集成测试,无论“单元”如何定义,OO系统通常比非OO系统有更多的组件,这些组件需要在开发周期的早期进行集成。而且,在UML/OO中管理集成测试相当复杂,因为通常不存在简单的调用树,对象在系统的生命周期内不是静态存在的,而是在响应触发事件时被创建和删除。因此,组件之间的交互数量将比非OO系统多得多。一些交互问题直到许多对象被实现和激活,也就是在测试过程的相对后期才会显现出来。
2. 自助加油站系统示例
2.1 系统概述
以一个自助加油站系统为例,该系统允许客户自助购买汽油、支付汽车维护费用以及租赁停车位。一些本地企业设置了账单账户,可接收月度账单,而不是在购买时付款。加油站始终有收银员值班,以接受现金付款或在必要时进行系统维护。
2.2 功能需求
该系统的计费部分的功能需求如下:
1. 购买汽油后,油泵向加油站控制系统(GSCS)报告购买的加仑数,GSCS更新剩余库存。
2. 购买汽油后,油泵向GSCS报告购买的美元金额,最大购买值为999.99美元。然后GSCS使油泵界面询问客户付款类型。 <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



