论文部分内容阅读
自动售检票系统(Automatic Fare Collection System, AFC)在国际化大都市的轨道交通中扮演着十分重要的角色,它实现购票、检票、计费、收费、统计全过程的自动化,主要由线路中央系统、车站系统、终端设备和车票四部分组成。AFC的终端设备包括出/入站检票闸机、自动/半自动售票机、自动充值机、自动验票机等现场设备。半自动售票机(Booking Office Machine,简称BOM)在AFC系统中占据了不可或缺的一环。半自动售票机是一套完整的车站票务处理系统,具备售票、分析、充值、续期、查询、更新、补票、操作显示、票据打印等功能。上海轨道交通现有的半自动售票机历经国产化改造后,迈过了十年,其软件架构业务模块和技术框架耦合紧密、模块设计过程化,这些对软件的发展造成了阻碍。随着地铁票务业务的发展,相继推出了新的票卡业务,业务规则复杂且变化频繁;此外,AFC系统的市场由地铁向城际铁路等其它领域不断拓展。因此,如何在半自动售票机软件系统中实现设计的松耦合以及领域与技术的分离,以提供足够的可扩展和可维护性,成为一个亟待解决的问题。针对上述问题,本文以实际项目为背景,应用领域驱动设计思想,设计并实现了基于模型驱动设计的BOM原型系统。测试情况表明,该系统是可行及有效的。与其它同类系统相比,本文工作有以下特点:1)使用领域模型结合分层架构设计,将与领域核心相关的模块隔离到领域层中,解除了与纯技术框架的依赖,满足了在不同应用环境下重用领域模型的要求。2)通讯模块遵从行业标准设计了自定义协议序列化框架,使得该模块的通用性大为提高。3)业务模块的设计与实现满足对大量票务业务规则的管理要求,能够根据所处理的票务种类,订阅和执行处理规则,票务处理规则彼此独立,并提供规则可插拔的特性。4)使用行为驱动开发的方法及工具,通过在项目中定义以自然语言表达的功能,容纳了软件开发的依据,并能够通过转化为用户验收测试验证软件是否符合预期。本文中所设计的半自动售票机软件系统现正处于实验验证阶段,该软件的前身在上海轨道交通的多条线路上应用至今。