最近做了一个项目,项目不大,但是整个都是由我一个人来设计,心里很是高兴,因为可以设计自己的理念,并且尝试其可用性。下面我就来具体的说说:
首先现在我来大致介绍一下这个项目。(为了不会自己找麻烦,下面的所有的实体结构我统一用“一条数据”来代替)
主要的项目问题是这样的,客户需要一个网页来管理所要一些数据,在这些数据中还包含有视频和图片等文件,前端有一个触摸屏,要能够将展示这些数据和视音频文件。
我制作项目时使用的设计环境是Paradigm,开发环境是vs2008。初期的项目分析和设计采用的是OOAD的形式,做的统一的建模图,我使用RUP的开发流程进行迭代式的增量开发,为了结构这次项目的RUP开发流程,我将整个数据库设计为四层框架,整个系统的架构原型是在前面blog写的改造版Struts框架为原型(前面blog中的文章有相关说明),这里用建模图中的Package Diagram来说明一下:
在上面我们可以看到,我将DataBase分开了,为的是项目需要。这个分来的理由是根据项目的需要,因为整个项目要包含一个终端UI,一个WEB管理端,一个WEB SERVICE端,一个流媒体服务,一个文件管理的服务和一个图片发布服务。为了方面理解我画了个组件图:如下
我在管理端发布了两个端口,一个是网页管理端,一个是针对终端触摸屏的web service。这个两个端口都需要和Database进行交互,按照现在的设计,Database被单分出来成为整个框架的最底层(也就是第四层),那么网页管理端和web service两个端口都是通过Database层实现交互的,因此在整个系统系统中,Database对外接口被统一管理,降低了Database的管理风险。将整个系统与Database的紧耦合性转移到了Database层上,也增加了Database的监控和操作。