前面几篇基本把签到终端的各个模块描述了一下,至此签到终端的主程序要做的事情相对就简单了许多,但实际实现中还是化了不少的精力,跟UI相关的东西做些来总是很费力的。不过相对来讲技术含量就低了,何况当时也是没有很深思熟虑(即使是UI的呈现本可以做得更好些的),所以这里也没有什么好谈的了。需要进一步提炼的地方以后专门开篇讲,接下来就开始着眼于管控端。
签到终端的模块划分比较着重于技术架构,那管控端的模块划分就侧重于业务功能了。
管控端是我们相对比较熟悉的程序,有各式各样的窗体,有菜单、工具栏、状态栏。因为这个签到系统的业务复杂度跟ERP之类的商业软件来比有点九牛一毛,我们把所有的窗体和功能直接做在一个大大的程序集里,再加上前面提到过的数据访问、通讯组件来组成管控端程序其实也未为不可。但这样的做法显得很没追求,也不符合精益求精的标准,所以呢就又大大的折腾了一番,当然前提是项目没有太大的时间压力。
管控端窗体最大的用途就是管理数据,而管理数据总归是大同小异的,所以呢做一个数据管理窗体的基类是必不可少。与此同时要管理数据总是有很多的数据展现控件,IDE自带的控件一般来说是不能完全满足人们的要求的,创建一些用户控件也是必要的。这样先独立出来一个窗体的基础层。
系统的业务功能虽然没有繁多到要查手册,要系统的培训这样的阶段,但林林总总也是有二三十项的,放在一起的确是显得有点庞大,这对于以后一些变更适应性实在是太差。更重要的一点是,如果把业务功能划分划分,那对于商业推广也是更为灵活些,你可以根据不同情况组合不同的功能模块,尽管目前没这方面的需要,看来也没有这方面的商业打算。但我们系统设计前进一步是有必要的。
数据管理是管控端最基本的功能之一,把它独立出来成为一块于理是可以的,但考虑到这是最最基本的功能,无论需求如何变,数据的管理总归是要的。所以最终这一块并没有成为一个单独的程序集,而是直接做进主程序里了。
对签到终端的控制是管控端必须的功能,前面把“管”做进了主程序,那要不要把“控”也做进主程序呢?考虑到简单情况下,签到终端只有一个,这个时候人为分为签到终端与管控端没有必要,完全可以直接用一个单机版的系统搞定。这时所谓的管控端可以退化成一个纯粹的数据管理程序,这样管控端里签到控制成为单独的一块是个明智的选择。
打印功能也是系统很重要的一个功能。但打印技术虽然不能说五花八门,但也并不是只有独一无二的选择,以后如果各种原因要改变打印技术也并不是不可能的事,加之这一块功能还是比较的纯粹,独立出来还是很容易。而且万一真的有客户说他们没必要打印纸质的结果(虽然这个目前不太可能),这样再加一个模块也就顺理成章了。
前面“功能概述”提到过这个系统是个“一捶子买卖”的设计,其中加了个数据备份与恢复的功能,这种基于特殊设计的产物当然也是独立出来比较好。
这样,管控端除了数据访问、通讯这些基础模块外又分离出来签到控制、打印、数据处理三个模块。