三农网概要设计说明书.docx
《三农网概要设计说明书.docx》由会员分享,可在线阅读,更多相关《三农网概要设计说明书.docx(38页珍藏版)》请在冰豆网上搜索。
三农网概要设计说明书
项目编号
文档编号
产品版本
密级
V1.0
内部
产品名称:
湖北12316三农信息网
共页
湖北12316三农信息网
概要设计说明书
武汉捷讯信息技术有限公司
2010年2月
第1章.引言
1.1编写目的
制定规范:
代码体系、接口规约、命名规则。
这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。
1.2适用范围
本文档适用于所有与本项目有关的软件开发阶段及其相关人员,其中:
客户方负责人、项目经理、技术开发人员(包括分析人员、设计人员、程序人员)、测试人员应重点阅读本文档各部分,其他人员可选择性阅读本文档。
1.3文档概述
本文档主要描述了湖北12316三农信息网概要设计的内容。
本文档首先从总体设计、需求用例、功能结构等方面概要描述系统,其次从系统结构设计、接口设计、数据结构设计等方面描述系统的设计情况,然后进一步详细描述系统关键对象、动态模型以及运行设计、维护设计。
1.4参考资料
《三农网需求规格说明书》
《三农网数据库设计文档》
1.5术语、定义和缩写
三农:
农业、农村、农民。
第2章.总体概述
2.1系统简述
该系统是一个信息发布审核系统,系统对湖北省各地区的专家、农业政务单位、涉农企业通过系统录入信息后,进行审核和发布,保证信息的编制质量。
2.2总体设计目标
湖北省12316三农综合信息网按照“政府主导、企业参与、市场运作、公商并举”的模式,采取“平台上移,服务下延,整合网络资源、服务资源和信息资源、树立12316服务品牌”的思路,为省市县三级农业部门、乡镇农业技术推广机构和农业专家提供农业信息采集、加工、制作、审核、发布等管理服务,为湖北种植养殖农户提供农业技术推广和咨询服务,为规模化种植养殖大户、农业协会、涉农加工贸易企业提供信息交互、报价交易等商务服务,促进湖北农业的发展,为农户增产增收。
2.3基本设计理念
采用成熟的j2ee框架,通过webwork+spring+hibernate搭建结构清晰、可复用性好、维护方便的Web应用程序,抽象概念和具体实现相隔离。
这一原则使得我们拥有了更高层次的抽象模型,使程序有了更强的健壮性、扩展性、维护性。
2.4运行环境
硬件
服务器一台,要求配置为:
CPU:
4.2GHz
内存:
6G
硬盘:
300G
网卡:
10M/100M自适应
软件
操作系统:
niunx
数据库:
MySql5.0
JDK:
1.5
WebServer:
resin3.08
2.5约束和假定
网络的假定如下表所示:
定义
基于Http协议传输(1K,100次,往返)数据时间
基于Https协议除数(1K,100次,往返)数据时间
外网访问服务器
<=3秒,数据损失率<=1%
<=5秒,数据损失率<=1%
用户客户端硬件环境和软件环境的需求假定:
硬件
内存
>=1G
处理器
>=1G
硬盘
>=20G
网络适配器
10/100M自适应网卡
系统软件
操作系统
niux操作系统
其他
其他
具体的执行效率还将受到硬件能力的约束。
第三章.用例
第4章.设计概述
4.1简述
系统结构:
采用分布式系统结构,分为三层:
通过Webwok实现UI层
通过Service实现业务层
通过Hibernate实现数据持久层
结构优点:
通过成熟的开源产品搭建层次清晰性能稳定的系统架构。
层与层之间松散耦合,增加代码重用率,提高开发效率。
每一层承担各自具体任务,便于团队分工和后期维护。
4.2体系结构
系统基于B/S结构(浏览器Browse/服务器Server结构),整体共分为三层:
表现层、逻辑层、数据层,结构模型图见下图:
其中表现层主要负责用户界面数据显示或接收用户界面数据输入,逻辑层主要负责对数据按照业务逻辑处理加工,持久层主要负责对数据的存储与读取。
网络结构:
整个系统的网络结构也分为三层:
客户端、WEB服务器、数据库服务器,用户在客户端通过浏览器与WEB服务器交互,WEB服务器处理客户端发来的请求,并从数据库服务器中读取或写入数据,整个过程中客户端是无法看到数据库服务器的。
系统拓扑结构图:
4.3功能结构
整个系统分为“系统管理”、“用户管理”、“信息管理”、“消息管理”、“手机用户管理”共五大模块,按系统操作流程顺序归纳如下图:
系统功能模块总体结构图
第5章.系统结构设计
5.1系统管理
5.1.1日志管理
日志管理是具有权限的用户进行查询公司所有用户登录系统的情况,包括增加、删除、修改等操作事项内容,便于特殊用户及时了解公司用户工作情况,对特殊操作情况有依据可查。
用户在进行每项操作的时候,系统会自动将其操作进行记录,方便日后进行查询。
日志管理模块就是系统进行查询用户操作日志的功能模块。
日志信息的记录格式为:
哪个部门哪个用户在什么时间对某个功能做了什么样的操作。
日志采用线程处理,提高系统运行效率。
5.1.2.1日志查询
菜单:
“系统管理”—“日志查询”。
功能简述:
此模块用于具有“日志查询”权限的用户查询其他用户操作记录。
动作:
具体描述:
日志查询页面中列出所有的日志信息,列表有序号、用户姓名、操作记录、操作时间。
可以通过用户名称、操作名称、操作时间查询日志记录。
当点击开始时间和结束时间输入框时自动弹出日历表供用户选择。
有分页查询功能。
根据用户的的权限,显示出相应的清空和删除按钮。
用户只要做了增、删、改操作,都要向日志中插入用户姓名、操作记录和操作时间。
5.1.2.2删除日志
菜单:
“系统管理”—“日志查询”。
功能简述:
此模块用于系统管理员删除用户操作记录。
动作:
具体描述:
在日志查询列表页面,有个删除按钮,具有删除日志权限的用户可以有选择删除一条或多条日志记录。
5.1.2.3清空日志
菜单:
“系统管理”—“日志查询”。
功能简述:
此模块用于系统管理员清空用户所有操作记录。
动作:
5.2用户管理
用户的属性有:
用户真实姓名、用户登录名、用户登录密码、用户所属区域、用户类型、性别、出生日期、联系方式、电子邮箱、详细地址、所属角色。
5.2.1添加用户信息
具有“添加用户”权限的用户可以添加其他用户。
用户的登录名必须唯一。
动作:
5.2.2查询用户信息
此权限只有湖北12316项目部拥有,用户之间不能看到其他用户的信息。
查询条件有:
用户姓名、用户登录名、所属地区、用户类型。
动作:
5.2.3修改用户信息
具有“修改用户信息”权限的用户可以修改用户的基本信息,但不能直接修改用户密码。
动作:
5.2.4删除用户信息
具有“删除用户信息”权限的用户可以对用户信息进行删除操作。
可以勾选一个或多个用户一起删除。
动作:
5.2.5初始化用户密码
系统在使用过程中,有可能某些用户忘记自己的密码无法登录系统,这时系统管理员可以通过用户列表查询到具体用户,对该用户进行密码初始化,密码自动初始化为“123456”。
动作:
5.2.6修改个人信息、密码
新添加的用户初始化密码为“123456”,新用户登录后可以选择“修改密码”项来修改自己的密码。
也可以修改个人基本资料,不包括所属角色与权限的修改。
动作:
5.2.7添加角色
每个用户都拥有一个角色,譬如:
系统管理员、信息审核员等,不同的角色所拥有的权限不同。
拥有添加角色权限的用户可以添加角色。
动作:
5.2.8查询角色
以列表的形式查询所有角色。
动作:
5.2.9修改角色
修改角色基本信息:
角色名称、角色描述。
动作:
5.2.10删除角色
具有“删除角色”权限的用户可以删除系统里的角色。
动作:
5.2.11权限设置
权限设置分为2个部分:
第一个部分是对于菜单以及功能点的设置,即可以设置某个角色对某个菜单里的某项操作具有权限。
譬如:
设置系统管理员对“用户管理”菜单里的“添加用户”操作具有权限,那么只要角色为“系统管理员”的用户则可以添加其他用户。
第二个部分是对所有湖北12316项目部的人员分配地区信息的浏览、审核权限。
譬如:
设置李四负责对武汉市、襄樊市的用户提交的信息进行浏览和审核权限。
动作:
5.3信息管理
信息管理模块用来处理信息上传、浏览、审核并发布。
所有后台用户可以登录系统后台上传相关信息,上传的信息直接到湖北12316项目部,由湖北12316项目部人员进行审核,审核通过后则发布到前台网站显示。
湖北12316项目部的人员发布的信息直接默认为已审核状态在前台网站显示。
湖北12316项目部的人员可以删除没有通过审核的信息,但是不能删除已经通过审核的信息。
信息分为4大类型:
12316综合版块、九大优势农业版块、九大特色农业版块、涉农企业板块。
九大优势农业版块和九大特色农业版块分为4个小类型:
农业政策信息、农业专家信息、技术信息、市场信息。
5.3.1发布信息
菜单:
“信息管理”—“发布信息”。
功能简述:
此功能用于用户发布各种类型信息。
动作:
5.3.2查看信息
菜单:
“信息管理”—“查看信息”。
功能简述:
此功能用于用户查看信息。
动作:
5.3.3修改信息
菜单:
“信息管理”—“查询信息”。
功能简述:
此功能用于客户自己修改信息。
动作:
5.3.4删除信息
菜单:
“信息管理”—“查询信息”。
功能简述:
此功能用于用户自己删除信息。
动作:
5.3.5审核信息
通过点击“审核”按钮表示信息已审核,审核通过的信息则直接发布到前台网站显示。
动作:
5.3.6作废信息
通过点击“作废”按钮,该信息则进入“垃圾箱”。
“垃圾箱”是专门存放已作废信息的空间。
动作:
5.4消息管理
湖北12316项目部可能会给相关后台人员发送信息,其他后台人员也可能会给湖北12316项目部人员留言,所以系统开通消息管理模块作为后台用户间沟通交流的渠道。
每个后台用户都有自己的个人信箱,进入个人信箱,以列表的形式分页显示所有的留言信息,个人可以发送信息、阅读信息、删除信息。
湖北12316项目部可以选择给其他类型的用户留言,其他类型的用户只能给湖北12316项目部人员留言。
5.4.1发送消息
与发邮件的形式相同。
动作:
5.4.2消息查看
与收邮件的形式相同。
动作:
5.4.3删除消息
个人可以清空自己所有消息,也可以选择的清除消息。
动作:
5.5手机用户管理
储备手机用户,以后为这些手机用户发送手机短信。
手机用户的储备来自2个方面:
1.与三大运营商进行接口对接获取手机用户信息(2期处理);2.由乡镇的农业局用户通过系统后台添加手机用户。
5.5.1添加手机用户
由乡镇的农业局用户通过系统后台添加手机用户。
5.5.2查询手机用户
湖北12316项目部人员可以查询所有地区的手机用户,乡镇的农业局只能查询到本乡镇的手机用户。
5.5.3修改手机用户
各地区乡镇农业局可以修改本乡镇的手机用户信息,12316项目部不能修改手机用户信息。
5.5.4删除手机用户
具有“删除手机用户”权限的12316项目部用户可以删除手机用户信息。
具有“删除手机用户”权限的乡镇农业局可以删除本乡镇的手机用户信息。
第6章.接口设计
6.1外部接口
无
6.2内部接口
6.2.1系统管理
系统管理
模块编号
模块名称
模块编写者
模块编写日期
M-101
日志管理
刘建
实体类说明
类名
说明
创建者
创建时间
Log.java
日志实体
刘建
LogAction说明
类名
说明
创建者
创建时间
LogAction.java
对日志进行管理,有添加,删除,修改,查询等操作
刘建
方法
定义
说明
功能页面
queryLog()
查询所有日志
logList.jsp
querySum()
查询所有访问数据
sumList.jsp
delLog()
删除日志
返回值对应一个JSP页面或Action
delLogAll()
清空日志
返回值对应一个JSP页面或Action
ILogService说明
类名
说明
创建者
创建时间
ILogService.java
对日志行管理,有添加,删除,修改,查询等操作
刘建
方法
定义
说明
getAll()
查询所有日志
delete(Stringobj)
删除多条日志
GetLogById(Logid)
根据编号查找日志
getLogs(LogConditionlogCondition)
分页查询日志信息
save(Objectobj)
保存对象
getAlls()
查询所有访问记录
getSum(SumConditionlogCondition)
分页查询访问量信息
delAll()
清空日志
IlogDao说明
类名
说明
创建者
创建时间
IlogDao.java
对日志行管理,有添加,删除,修改,查询等操作
刘建
方法
定义
说明
getAll()
查询所有日志
delete(Stringobj)
删除多条日志
GetLogById(Logid)
根据编号查找日志
getLogs(LogConditionlogCondition)
分页查询日志信息
save(Objectobj)
保存对象
getAlls()
查询所有访问记录
getSum(SumConditionlogCondition)
分页查询访问量信息
delAll()
清空日志
6.2.2用户管理
用户管理
模块编号
模块名称
模块编写者
模块编写日期
M-102
用户管理
刘建
实体类说明
类名
说明
创建者
创建时间
User.java
用户实体
刘建
用户Action说明
类名
说明
创建者
创建时间
UserAction.java
对用户进行管理,有添加,删除,修改,查询等操作
刘建
方法
定义
说明
功能页面
queryUser()
分页查询所有用户
userList.jsp
delUser()
删除用户
返回值对应一个JSP页面或Action
addUser()
添加用户
返回值对应一个JSP页面或Action
editPas()
修改密码
返回值对应一个JSP页面或Action
editOthers()
修改用户资料
返回值对应一个JSP页面或Action
edit()
修改用户自己资料
返回值对应一个JSP页面或Action
用户Service说明
类名
说明
创建者
创建时间
IUserService.java
对用户进行管理,有添加,删除,修改,查询等操作
刘建
方法
定义
说明
getUserById(UserConditionuserCondition)
查询用户信息
login(Stringnum,Stringpassword)
验证密码是否正确
delete(Stringobj)
删除多个用户
validateUser(Integerid)
验证用户是否存在
getUserByNum(Stringnum)
根据登录名查询用户对象
save(Objectobj)
新增用户
getPostByUserid(Longid)
根据用户ID查询权限
getUGRidByUserid(Longid)
根据用户ID查询用户角色关系ID
delete1(Longid)
删除用户角色关系
getPostId()
查询权限ID
getPostIdsByPostId(Integerid)
查询权限ID查找用户角色关系表中是否有此角色id
getPowerByPostId(Longid)
根据角色id查询权限id
用户Dao说明
类名
说明
创建者
创建时间
IuserDao.java
对用户进行管理,有添加,删除,修改,查询等操作
刘建
方法
定义
说明
getUserByOmit(UserConditionuserCondition)
分页查询用户信息
login(Stringnum,Stringpassword)
验证密码是否正确
getById(Integerid)
根据ID查询用户
delete(Stringobj)
删除多个用户
validateUser(Integerid)
验证用户是否存在
getUserByNum(Stringnum)
根据登录名查询用户对象
save(Objectobj)
新增用户
getPostName()
得到用户的角色名称
deleteUGRL(Stringobj)
根据用户ID删除用户角色关系表中的数据
getPostByUserid(Longid)
根据用户ID查询权限
getUGRidByUserid(Longid)
根据用户ID查询用户角色关系ID
delete1(Longid)
删除用户角色关系
getPostId()
查询权限ID
getPostIdsByPostId(Integerid)
查询权限ID查找用户角色关系表中是否有此角色id
getPowerByPostId(Longid)
根据角色id查询权限id
6.2.3信息管理
信息管理
模块编号
模块名称
模块编写者
模块编写日期
M-103
信息管理
李飞
实体类说明
类名
说明
创建者
创建时间
Information.java
信息实体
李飞
InforType.java
信息类型实体
李飞
信息Action说明
类名
说明
创建者
创建时间
InformationAction.java
对信息进行管理,有添加,删除,修改,查询,审核,作废等操作
李飞
方法
定义
说明
功能页面
list()
分页查询所有信息,及相应的条件查询
informationList.jsp
update()
修改信息
返回值对应一个JSP页面或Action
delInformation()
删除信息
返回值对应一个JSP页面或Action
addInformation()
添加信息
返回值对应一个JSP页面或Action
showInforView()
得到信息详细显示页面
informationView.jsp
auditing()
审核信息
返回值对应一个JSP页面或Action
cancellation()
作废信息
返回值对应一个JSP页面或Action
信息Service说明
类名
说明
创建者
创建时间
IInformationServie.java
对信息进行管理,有添加,删除,修改,查询,审核,作废等操作
李飞
方法
定义
说明
功能页面
getQueryResult
分页查询所有信息,及相应的条件查询
update()
修改信息
delInformation()
删除信息
addInformation()
添加信息
getInforById()
根据Id查找信息
getInforView()
得到信息详细显示页面
信息Dao说明
类名
说明
创建者
创建时间
IInformationDao.java
对信息进行管理,有添加,删除,修改,查询,审核,作废等操作
李飞
方法
定义
说明
功能页面
getQueryResult
分页查询所有信息,及相应的条件查询
update()
修改信息
delInformation()
删除信息
addInformation()
添加信息
getInforById()
根据Id查找信息
getInforView()
得到信息详细显示页面
信息类型Service说明
类名
说明
创建者
创建时间
IInforTypeServie.java
查询所有信息类型
李飞
方法
定义
说明
功能页面
getAll()
查询所有信息类型
信息类型Dao说明
类名
说明
创建者
创建时间
IInforTypeDao.java
查询所有信息类型
李飞
方法
定义
说明
功能页面
getAll()
查询所有信息类型
6.2.4消息管理
消息管理
模块编号
模块名称
模块编写者
模块编写日期
M-104
消息管理
李飞
实体类说明
类名
说明
创建者
创建时间
news.java
消息实体
李飞
消息Action说明
类名
说明
创建者
创建时间
NewsAction.java
对消息进行管理,有添加,删除,修改,查询等操作
李飞
方法
定义
说明
功能页面
list()
分页查询所有消息,及相应的条件查询
newsList.jsp
update()
修改消息
返回值对应一个JSP页面或Action
delete()
删除消息
返回值对应一个JSP页面或Action
addNews()
添加消息
addNews.jsp
消息Servie说明
类名
说明
创建者
创建时间
INewsServie.java
对消息进行管理,有添加,删除,修改,查询等操作
李飞
方法
定义
说明
功能页面
getQueryResult
分页查询所有消息,及相应的条件查询
update()
修改消息
delete()
删除消息
add()
添加消息
getNewsById()
根据Id查找消息
getNewsView()
得到消息详细显示页面
消息Dao说明
类名
说明
创建者
创建时间
INewsDao.java
对消息进行管理,有添加,删除,修改,查询等操作
李飞
方法
定义
说明
功能页面
getQueryResult
分页查询所有消息,及相应的条件查询
update()
修改消息
delete()
删除消息
add()
添加消息
getNewsById()
根据Id查找消息
getNewsView()
得到消息详细显示页面
6.2.5手机用户管理
手机用户管理