航标业务系统主要包括数据维护、航标信息管理、航道维护管理、航标作业管理以及统计报表五大功能,基于航标业务这样的平台,来完成日常的业务处理工作,像日常用的报表以前完全是靠相关工作人员,通过手动来统计完成,而利用航标业务系统借助计算机能够自动生成报表,这样能够减轻工作人员的分担,同时也能提高工作质量和工作效率。
系统架构设计
1 系统架构
系统架构通常情况下是指系统的软件架构,一般也被称为软件体系结构,是构建计算机软件实践的基础。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口:计算机科学来实现。它并不仅注重对内部的考虑,而且还在系统的用户环境和开发环境中对系统进行整体考虑,即同时注重对外部的考虑。在计算的算法和数据结构之外,设计并确定系统整体结构成为了新的问题。结构问题包括总体组织结构和全局控制结构;通信、同步和数据访问的协议;设计元素的功能分配;物理分布;设计元素的组成;定标与性能;备选设计的选择。
2 系统需求分析
航标业务系统主要分为航道维护管理,航标信息管理,航标作业管理,数据维护和统计报表五大模块。
2 系统分析建模
根据系统功能结构,本文对其进一步抽象,利用面向对象和接口设计,分为边界类、领域类和实体类。其中边界类是表达外界和系统交互的静态模型,是系统与外界的交界处;领域类描述的是业务规则及操作功能。实体类封装了处理对象的属性和行为,是对数据库的逻辑设计。同时,可以通过数据持久层中的操作序列,改变数据库中的属性值。并同时引入多层架构的设计理念,这是因为多层架构降低了系统操作页面、功能处理和属性之间的耦合程度,即实现了“解耦”。它的优势是当对某一部分进行修改时,可以把对其他部分的影响降低到最小,从而提高系统的可扩展性和可修改性,独立出来的数据持久层中的动作序列和业务逻辑可以被复用。
3 总体架构设计
在最初设计时,通常会将航标业务系统的领域层和显示层杂糅在一起,所以必须设法解决领域层和表现层代码之间的解耦问题。例如,在本系统中与航标异动信息有关的几个界面,都会涉及到查询航标异动信息的功能,与航标信息有关的几个界面都会查看航标信息,同理其他的界面也会涉及到其他的相同几个功能,本文将这些相同的功能抽取出来,作为一个单独的类封装起来,分离领域层和表现层代码,进行架构优化设计,指导该架构优化设计实施的是MVC模式。同时,把表示层中与数据库交互的航标领域逻辑,挪移到了数据访问层中,并且利用面向接口编程的原理,将航标数据访问抽象出一个接口类,保证了系统的可扩展性,增强了数据访问层的内聚性,这样航标业务逻辑类与航标数据访问通过接口实现,保证了与具体的数据库访问实现完全隔离,达到了解耦的效果,符合依赖倒置原则。
系统架构实现
1 数据访问层实现
我们需要进一步把航标业务管理系统的所有数据对象,都抽象到对应的接口,通过引入抽象工厂模式来实现数据访问层。
2 业务逻辑层实现
业务逻辑层与系统所对应的领域逻辑有关,业务逻辑层主要承担了以下职责:对不同数据访问层的封装,使得表示层可以不关心具体的数据访问层;业务逻辑数据的填充与转换,如管理员口令的加密;核心业务的实现,这里很多业务逻辑只有一行代码。业务逻辑层的结构实现了依赖关系的解耦。BLL模块是业务逻辑的核心部分,处理系统中的核心业务;业务逻辑层数据库的操作都委托IDAL来完成,通过模块IDAL中提供的数据访问类与数据库交互,解除了对具体数据库的依赖,对具体数据库的访问细节是完全透明的。
3 表示层实现
航标业务系统的表示层是利用.NET GUI框架进行开发的,该框架实现了MVC架构模式,只不过其提供的Windows Form集View和Controller于一体;通过Visual Studio.NET 2005集成开发环境提供的界面设计器,可以灵活地对Windows Form进行设计,对用户请求的处理即是对界面上事件的响应,业务逻辑处理委托给BLL相应的领域对象完成,界面相关的逻辑由WindowsForm完成。