eGov电子政务系统概要设计说明书_第1页
eGov电子政务系统概要设计说明书_第2页
eGov电子政务系统概要设计说明书_第3页
eGov电子政务系统概要设计说明书_第4页
eGov电子政务系统概要设计说明书_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上eGov电子政务系统概要设计说明书1引言1.1编写目的此文档对eGov电子政务系统概要设计进行说明。预期的读者有 (甲方)的需求提供者、项目负责人、相关技术人员等,北京亚思晟商务科技有限公司(乙方)的项目组成员,包括项目经理、客户经理、分析设计开发测试等人员。1.2背景eGov电子政务系统是基于互联网的应用软件.在研究中心的网上能了解到已公开发布的不同栏目(如新闻, 通知等)的内容. 各部门可以发表栏目内容(如新闻, 通知等),有关负责人对需要发布的内容进行审批。其中:有的栏目(如新闻)必须经过审批才能发布,有的栏目(如通知)则不需要审批就能发布。系统管理人员对用户及

2、其权限进行管理。1.3定义无1.4参考资料eGov电子政务系统需求规格说明书eGov电子政务系统详细设计说明书2总体设计2.1需求规定eGov电子政务系统按模块可以分成三部分,一是一般用户浏览的内容管理模块, 二是系统管理,三是内容和审核管理,而它们各自又有具体的小模块组成。具体需求见eGov电子政务系统需求规格说明书。2.2运行环境Ø 操作系统:Win2003/XP, LinuxØ WEB服务器:Tomcat 5.5以上Ø 数据库服务器:MySQL5.0以上,能够处理数据并发访问,访问回馈时间短。2.3基本设计概念1系统整体方案(1)eGov电子政务系统主要特性

3、我们从以下五个方面确定目标系统特性如下:l 用户界面的复杂度:数据的静态显示/可定制视图(customizable view)l 用户界面的部署约束:基于独立的桌面电脑或专用工作站的浏览器l 用户的数量和类型:组织内的日常使用者,总共几百人l 系统接口类型:通过HTTP协议提供服务,未来可以使用SOAP的SOA技术l 性能:主要是独立的数据更新,有少量并发处理从上述特性我们可以判断eGov电子政务系统属于中大型项目,因此我们使用基于Struts-Spring-Hibernate框架的分层架构设计方案。(2)架构分层在eGov电子政务项目架构设计中,我们使用分层模式。具体地说,我们将eGov电子

4、政务系统应用在职责上分成3层:表示层(Presentation Layer)、持久层(Persistence Layer)和业务层(Business Layser)。每个层在功能上都应该是十分明确的,而不应该与其他层混合。每个层要相互独立,通过一个通信接口而相互联系。(3)模式和框架使用:在分层设计基础上,我们将使用设计模式和框架,这些是可以重用的资产。1)MVC模式MVC模式就是一种很常见的设计模式。所谓的MVC模式,即模型视图控制器(modelview-controller)模式。其结构图如下:ViewModelController图4-1 MVC架构图1、Model端在MVC中,模型是执

5、行某些任务的代码,而这部分代码并没有任何逻辑决定用户端的表示方法。Model只有纯粹的功能性接口,也就是一系列的公共方法,通过这些公共方法,便可以取得模型端的所有功能。2、View端在MVC模式里,一个Model可以有几个View端,而实际上多个View端是使用MVC的原始动机。使用MVC模式可以允许多于一个的View端存在,并可以在需要的时候动态注册所需要的View.3、Controller端MVC模式的视图端是与MVC的控制器结合使用的。当用户端与相应的视图发生交互时,用户可以通过视窗更新模型的状态,而这种更新是通过控制器端进行的。控制器端通过调用模型端的方法更改其状态值。与此同时,控制器

6、端会通知所有注册了的视图刷新用户界面。那么,使用MVC模式有哪些优点呢?MVC通过以下三种方式消除与用户接口和面向对象的设计有关的绝大部分困难:1、控制器通过一个状态机跟踪和处理面向操作的用户事件。这允许控制器在必要时创建和破坏来自模型的对象,并且将面向操作的拓扑结构与面向对象的设计隔离开来。这个隔离有助于防止面向对象的设计走向歧途。2、MVC将用户接口与面向对象的模型分开。这允许同样的模型不用修改就可使用许多不同的界面显示方式。除此之外,如果模型更新由控制器完成,那么界面就可以跨应用再使用。3、MVC允许应用的用户接口进行大的变化而不影响模型。每个用户接口的变化将只需要对控制器进行修改,但是

7、控制器包含很少的实际行为,它是很容易修改的。 面向对象的设计人员在将一个可视化接口添加到一个面向对象的设计中时必须非常小心,因为可视化接口的面向操作的拓扑结构可以大大增加设计的复杂性。MVC设计允许一个开发者将一个好的面向对象的设计与用户接口隔离开来,允许在同样的模型中容易地使用多个接口,并且允许在实现阶段对接口做大的修改而不需要对相应的模型进行修改2)框架根据项目特点,我们使用三种开源框架:表示层用Struts;业务层我们用Spring;而持久层则用Hibernate。如图1-1所示。表示层业务层持久层图1-1 Struts-Spring-Hibernate架构1 表示层 一般来讲,一个典型

8、的Web应用的前端应该是表示层。这里可以使用Struts框架。下面是Struts所负责的: 管理用户的请求,做出相应的响应 提供一个流程控制器,委派调用业务逻辑和其他上层处理 处理异常 为显示提供一个数据模型 用户界面的验证以下内容,不该在Struts表示层的编码中经常出现,与表示层无关的。 与数据库直接通信 与应用程序相关联的业务逻辑及校验 事务处理 在表示层引入这些代码,则会带来高耦合和难以维护的后果。2 持久层典型的Web应用的后端是持久层。开发者总是低估构建他们自己的持久层框架的挑战性。系统内部的持久层不但需要大量调试时间,而且还经常因为缺少功能使之变得难以控制。这是持久层的通病。幸运

9、的是,有几个对象/关系映射(Object/Relation Mapping,ORM)开源框架很好地解决了这类问题,尤其是Hibernate。Hibernate为Java提供了持久化机制和查询服务,它还给已经熟悉SQL和JDBC API的Java开发者创造了一个学习桥梁,使他们学习起来很方便。Hibernate的持久对象是基于POJO(Plain Old Java Object)和Java集合(collections)的。此外,使用Hibernate并不妨碍你正在使用的IDE(Integrated Development Enviroment)。 下面是Hibernate所负责的: 如何查询对象

10、的相关信息。 Hibernate是通过一个面向对象的查询语言(HQL)或者正则表达的API来完成查询的。HQL非常类似于SQL,只是把SQL里的table和columns用Object和它的fields代替。HQL语言容易理解且文档也做得很好。HQL是一种面向对象查询的自然语言,很容易就能学会它。 如何存储、更新、删除数据库记录。 如Hibernate这类的高级ORM框架支持大部分主流数据库,并且支持父表/子表(Parent/child)关系、事务处理、继承和多态。3 业务层一个典型Web应用的中间部分是业务层或者服务层。从编码的视角来看,这层是最容易被忽视的一层。我们往往在用户界面层或持久层

11、周围看到这些业务处理的代码,这其实是不正确的。因为它会造成程序代码的高耦合,这样一来,随着时间推移,这些代码将很难维护。幸好,针对这一问题有好几种框架(Framework)存在。最受欢迎的两个框架是Spring和PicoContainer。这些也被称为轻量级容器(micro container),它们能让你很好地把对象搭配起来。这两个框架都着手于“依赖注入”(dependency injection)(还有我们知道的控制反转Inversion of Control=IoC)这样的简单概念。这里我们将关注于Spring的依赖注入和面向方面编程。另外,Spring把程序中所涉及到的包含业务逻辑和数

12、据存取对象(DataAccess Object)的Objects例如transaction management handler(事务管理控制)、Object Factoris(对象工厂)、service objects(服务组件)都通过XML来配置联系起来。 下面是业务层所负责的: 处理应用程序的业务逻辑和业务校验 管理事务 提供与其他层相互作用的接口 管理业务层级别的对象的依赖 在表示层和持久层之间增加了一个灵活的机制,使得他们不直接联系在一起 通过揭示从表示层到业务层之间的上下文(Context)来得到业务逻辑(business services) 管理程序的执行(从业务层到持久层)2

13、UML视图(1)Use-case Diagram:如图所示。(2)class- Diagram:如图所示。2.4结构电子政务系统管理一般用户浏览内容管理等栏目权限用户管理栏目设置内容管理内容审核1一般用户浏览的内容管理模块:首页显示及其他页面2系统管理模块:a) 登录b) 栏目业务设置c) 栏目权限设置d) 用户管理设置3内容管理和审核模块a)内容管理(新闻的显示,编辑, 修改, 屏蔽, 删除, 通知的显示,编辑, 修改, 删除)b)内容审核(新闻审核)2.5功能需求与程序的关系各项功能需求的实现同各块程序的分配关系如下所示:程序1(Action)程序2(Business Service)程序

14、3(DAO)内容管理和审核模块1内容管理(新闻)NewsActionINewsServiceImpl/INewsServiceINewsDAOImpl/ INewsDAO2.内容审核(新闻)NewsActionINewsServiceImpl/INewsServiceINewsDAOImpl/ INewsDAO3内容管理(通知)NoticeActionINoticeServiceImpl/INoticeServiceINoticeDAOImpl/ INoticeDAO系统管理模块1 登录LoginActionIUserServiceImpl/IUserServiceIUserDAOImpl/I

15、UserDAO一般用户浏览2.6人工处理过程无2.7尚未解决的问题无3接口设计3.1用户接口用户接口以基于浏览器的图形用户界面(Graphic User Interface, GUI)的方式提供,具体见页面导航图(静态页面设计)。3.2外部接口本系统同与已有的办公自动化(OA)系统之间有数据交换。3.3内部接口 Business Service接口DAO接口InewsServiceINewsDAOInoticeServiceINoticeDAOIuserServiceIUserDAO接口描述1、IUserService接口类提供一下方法:public Usr userLogin(String

16、username,String password);目标:用户登录参数 类型 说明username String 用户登陆帐号password String 用户登陆密码 主要流程描述:用户提交请求,在Action中调用该方法,传入用户输入的帐号和密码,到数据库读取,如果有此用户且密码对应,返回该用户,登陆成功。否则返回null,登陆失败。2、INewsService接口类提供以下方法:public List selectSQL(String sql,Object value);目标:根据SQL语句查询参数 类型 说明sql String 执行查询的hql语句value Object hql语

17、句中的参数值主要流程描述:在Action中写好hql语句,把参数写入一个Object数组中,然后调用该方法,传入hql和Object类型数组,执行查询,返回List类型集合。public void addObject(Object obj);目标:添加方法参数 类型 说明obj Object 需要保存的数据对象主要流程描述:在Action中创建JavaBean的对象,调用该方法,传入该对象,执行保存。public void updateObject(Object obj);目标:修改方法参数 类型 说明obj Object 需要修改的数据对象主要流程描述:在Action中查找到需要修改的对象,

18、赋予新值,调用该方法,传入该对象,执行修改。public void deleteObject(Object obj);目标:删除方法参数 类型 说明obj Object 需要删除的数据对象主要流程描述:在Action中查找到需要删除的对象,调用该方法,传入该对象,执行删除。public List findPage(final String sql,final int firstRow,final int maxRow,final Object obj);目标:分页查询方法参数 类型 说明sql final String 执行查询的hql语句firstRow final int 从第几条记录开始

19、查找maxRow final int 取多少条记录obj Object hql语句中所需要的参数 主要流程描述:在Action中写好查询的hql语句,如有参数,存入Object数组中,根据页面传入的当前页数,算出要从哪条记录开始显示,调用该方法,传入hql语句、从第几条记录开是查、每页显示的记录数、hql语句所需参数,执行查询,返回List类型集合。4运行设计4.1运行模块组合4.2运行控制用户通过图形用户界面发出请求,应用服务器和数据库服务器处理请求后给用户返回响应,并展现在用户界面上。具体操作步骤见详细设计说明书。4.3运行时间运行模块组合将占用各种资源的时间要满足性能要求,特别是响应速度要低于5秒。5系统数据结构设计5.1逻辑结构设计要点5.2物理结构设计要点本系统内使用MySQL关系型数据库,以便满足每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论