Page 60 - 智慧地铁建设实践与创新研究
P. 60

智慧地铁建设实践与创新研究
                    Research on the Practice and Innovation of Smart Metro Construction


            程才算结束。语音售票功能的集成位置处于定义车票阶段,如图深色流程部分。
            语音输入形式定义车票,既不会破坏原有的定义车票方式也不会破坏支付车票以
            及发售车票的原有逻辑流程。实现过程中需要在定义车票阶段平行添加语音逻辑

            功能,以实现最初的设计要求。
                售票机软件使用的是 MFC 框架,框架可以理解为整个系统的可复用构件以
            及构件之间交互的方法,也可以理解为被软件开发者直接使用的应用骨架。框架
            有白盒框架和黑盒框架之分,白盒框架是从继承的角度出发,开发者通过在派生

            类中重写基类的成员函数或者自己的成员函数来达到所需功能,但这会造成派生
            类实现与基类的实现耦合性过高,可以在开发过程中只继承最开始的抽象基类解
            决这一问题。最上层的抽象基类声明一系列接口但并不实现,这样下面的派生类
            发挥空间大幅度提升。黑盒框架是从组装的角度出发,开发者先根据设计要求开

            发多个功能构件,然后对这些构件进行组装。在进行二次开发或者移交其他开发
            者时,只需要知道构件的对外接口,就能够直接使用构件,并不用关心其内部实
            现。黑盒框架相对白盒框架更加灵活,更加独立。在理想情况下,任何功能都可
            以通过已有构件之间的组装实现,但实际情况并非如此简单。开发新构件已经是

            黑盒框架开发中一项重要步骤,可以利用白盒框架的继承思想进行新构件的开发,
            因此黑盒和白盒在软件开发中是同时存在的。
                售票软件使用的是基于可复用组件的分层架构设计思想,设计过程中需要注
            意组件划分的粒度问题,粒度过粗会使得组件间耦合度过高,复用性降低,粒度

            过细会使用组件间的调用关系变得复杂,不利于脉络梳理与维护。应用层的粒度
            划分原则是不同使用对象进入各自交互界面,根据这一原则,很容易针对乘客和
            工作人员进行界面设计;业务层的粒度划分原则是售票机不同模块实现各自功能,
            售票机成功完成售票大致经历定义车票、支付车票、发售车票、取走车票过程,

            所以按照这些环节进行划分粒度大小较为合适。语音售票的核心是通过语音交互
            方式完成定义车票,所以在业务层需要添加语音处理功能模块;基础业务层的粒
            度划分原则与业务层相似,只不过粒度更细,从逻辑上主要是将业务层的模块进
            行分解;设备控制层的粒度划分原则是每一个控制设备占据一个模块单元,该层

            表示与售票机上层功能相对应的底层设备,因为上层具备了语音交互功能,所以
            该层理应添加一个语音模组;基础设施层的粒度划分原则是软件正常运行所需多
            方面的基础条件,软件运行需要网络连接、串口通信、内部消息传递机制等,这



            ·48·
   55   56   57   58   59   60   61   62   63   64   65