论文部分内容阅读
随着用户需求的不断增加,监控组态软件的功能在不断地扩充,系统变得越来越庞大,而如此庞大的系统对单个用户来说,很多功能都是冗余的;由于系统的复杂度在不断地提高,导致了维护人员对整个系统的维护工作也变得越来越困难。目前的监控组态软件大多数都是采用OOP技术进行设计开发的,OOP技术在解决系统中诸如日志处理这样横切多个模块的关注点方面,表现出了明显的不足,从而造成了系统中代码分散和混乱,其模块间的耦合度还有待于进一步降低。AOP(Aspect Oriented Programming)技术正是为了解决系统中横切关注点的模块化问题而提出的,它有效地将横切关注点进行了封装,弥补了OOP技术的不足。为此,本文以采用OOP技术设计的监控组态软件系统为主要研究对象,对系统中存在的横切关注点进行了深入地探索,并采用AOP技术对系统中的横切关注点进行了有效地封装。本文首先对AOP技术和监控组态软件技术进行了研究分析,指出了AOP技术的优势所在和当前监控组态软件的不足之处。然后建立了基于AOP技术的监控组态软件总体框架,并对系统中的各个子系统进行了详细的描述。接着围绕各个子系统的设计与开发,对各个子系统中可能存在的横切关注点进行了分析和研究,指出了日志处理、用户权限检查、非基本模块的许可证验证、共享内存的同步访问、数据库连接池管理和Win32 API异常处理这些系统级的横切关注点,并采用AOP技术对这些横切关注点进行了单独的模块设计。最后使用AspectC++语言对系统中的横切关注点进行了实现,形成了方面模块,并验证了部分方面模块的功能。由于采用了AOP技术对系统中的横切关注点进行了有效的封装,系统的模块化程度得到了进一步提高,有效地降低了维护人员对系统的理解难度和维护难度,提高了系统的可扩充性和模块的可重用性。AOP技术还处于发展阶段,