软件工程课程设计模板.docx
《软件工程课程设计模板.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计模板.docx(35页珍藏版)》请在冰点文库上搜索。
软件工程课程设计模板
滨江学院花旗营校区
《软件工程》课程设计
题目气象百科全书在线编纂平台
班级
学生姓名
学号
指导教师刘文杰
2015年10月30日
目录
1.引言221
1.1项目背景1
1.2项目意义2
2.系统需求分析2
2.1需求概述2
2.2业务流程分析3
3.系统设计4
3.1架构设计4
3.2功能模块设计5
4数据库设计与实现9
4.1数据库ER图9
4.2数据库表设计12
5系统功能实现14
5.1框架集成14
5.2管理员平台15
5.3用户平台21
5.4条目库22
6.小结23
参考文献23
气象百科全书在线编纂平台
***
南京信息工程大学滨江学院花旗营校区,南京210044
摘要:
《中国气象百科全书》在线编纂系统是通过计算机、互联网、数据库等技术设计和开发的一个网络平台。
通过该系统,总编委会可以方便地实现任务分配和监控,了解各分编委会的任务完成情况和工作进展情况,达到对整个项目进行控制和质量监督;条目编辑人员可以对条目进行在线编辑,在线提交等工作,大大提高工作效率;审稿专家可以快捷方便地审阅条目书稿,并及时将审稿意见反馈给分编委会或条目编纂作者,简化了审稿的反馈流程。
后期提供的气象百科条目库,方便用户在线查询。
关键词:
气象百科;Struts;hibernate;在线编纂;条目库
1.引言
1.1项目背景
我国气象历史源远流长,现代气象科学已经有一百多年发展历史。
新中国成立后,经过60多年几代气象人的努力,尤其是改革开放30多年以来我国气象科学和气象事业有了长足发展。
从建国初期的单一学科发展至今已包括大气探测学、气象卫星和卫星气象、大气物理学、大气化学和环境污染学、动力气象学和数值天气预报、天气学、气候学、气候变化、应用气象学、气象信息技术、气象经济学以及气象防灾减灾等多门类多学科,在气象事业规模,科学技术水平,社会管理能力和气象服务水平等方面都取得很大进展,并在实践中形成了以公共气象服务、决策气象服务、专业专项气象服务和气象科技服务为主要内容的中国特色气象服务体系,在社会发展中起到了重要作用。
目前我国还没有真正意义上的实用的“气象百科全书”。
现有的《中国大百科全书》、《中国农业百科全书》、《中国军事百科全书》,虽然包含气象相关的条目,但内容较少,学科单一,难以全面反映我国气象事业发展的全貌。
因此,编纂一部全面反映气象事业和气象科学技术发展全貌的《中国气象百科全书》,已经是紧迫的任务。
本产品的设计开发工作即是以《中国气象百科全书》编纂工作为背景,在该书总编委会的指导下完成。
我国近代气象科学发展迅速,积累了大量宝贵的历史资料和数据。
中国气象局党组对气象事业高度重视,并且制定了长远明晰的发展目标。
这一切都为《中国气象百科全书》奠定了深厚的编纂工作基础,力求为社会读者呈现一部既规范、科学、权威,又科普、通俗、易懂的专科性百科全书。
1.2项目意义
气象工作与人们的日常生活和生产息息相关。
随着社会和国民经济的迅速发展,其关联性更加显得密切不可忽视。
气象灾害是人类社会长期以来面临的严重挑战,大力加强气象防灾减灾和气象变化宣传教育,努力构建专业教育,培训与科普教育相结合的防灾减灾科普宣传教育体系,是切实加强全社会防灾减灾意识和自救互救能力的必要条件。
为了满足公众了解气象、应用气象的需求,同时尽量避免或减少因天气气候或气象灾害而造成的损失,气象科普显得尤为必要[1]。
中国是世界上自然灾害种类最多,活动最频繁,危害最严重的国家之一,在各类自然灾害中,气象灾害占到70%。
根据历史数据,中国大陆每年因为气象灾害造成的直接经济损失就达到1800亿元,近年来还有增大的趋势。
为此,领导决策抗灾减灾,群众了解气象条件、气象灾害和影响,农业生产趋利避害,都迫切需要气象知识。
《中国气象百科全书》作为我国气象行业的首部百科全书,将在传播气象知识、体现气象业务、提高公民素质方面发挥重要作用。
[2]该书是一套具有权威性、科学性、普及性和工具性的百科全书,涵盖大气科学、大气物理等气象领域和学科,填补了我国气象领域百科全书的空白。
这是气象事业发展的需要,同时也是更好地服务社会,提高人民生活质量的需要,是促进我国经济发展的保障。
本项目是为了建设《中国气象百科全书》在线编纂系统,并在此基础上,建设《中国气象百科全书》条目库。
通过本平台,能够实现《中国气象百科全书》任务的分配和监控、条目在线编辑、在线提交、在线审稿、网上审核,并构造一个方便用户查询的气象百科知识条目库(拟作本平台的二期建设),支持百科类图书条目书稿的word动态生成。
2.系统需求分析
2.1需求概述
气象科普工作是科学普及工作的重要组成部分,气象等国家机关和事业单位“应当结合各自的工作开展科普活动[14]”。
目前为社会公众喜闻乐见的气象科普丛书不多,事实上,现有的不少气象科普读物专业性较强,通俗性不足,与公众的阅读能力和知识理解程度不相适应。
《中国气象百科全书》作为我国气象行业的首部百科全书,将在传播气象知识、体现气象业务、提高公民素质方面发挥重要作用。
该书的编纂出版是一项极富创造性的填补空白的工作,是气象事业发展的必然要求。
由于出版百科全书工作量大,作者和专家人数众多,而且位置分散,难以集中安排,消息传达也存在诸多困难。
传统的出版方式必定导致效率低下,会浪费大量不必要的时间在信息的沟通传达上,作者提交稿件,审稿专家审核意见的管理也会比较混乱。
因此,很有必要利用互联网的优势,建立一个便于出版社人员与作者,审稿专家沟通,自动管理稿件的信息化平台。
2.2业务流程分析
2.2.1管理员操作
管理员包括
1超级管理员(系统管理员),负责系统的整体维护,角色管理,权限分配等;
2总编委会,监督编纂工作整体进展;
3分编委会,负责某一大类气象条目的编写任务,负责条目任务分配、审核和汇集提交等工作;
4协调指导小组,协调和监督分编委会工作进度,负责分配分编委会任务等;
管理员通过管理员界面登录,首先在管理员平台添加框架(包括分编委,分科组,分科提纲),即为条目创建一个合理的分类框架,也是整个全书的目录索引。
条目框架将由总编委会线下确定。
新增的框架可以进行修改,删除,锁定和解锁。
完成框架添加后,管理员通过条目管理模块,向添加设计完成的框架中添加空条目。
条目分为特长、长、中、短、特短、参见条,条目同样支持修改,增删,锁定和解锁操作,还可以查看相关的编纂审核进度。
条目添加完成后,管理员可以通过任务分配模块将空条目分配给对应作者进行条目具体内容的编纂。
任务分配支持单条目分配和批量条目分配。
作者完成稿件编纂并提交后,管理员可以在管理员平台查收,并将完成编纂的条目分配给相关审稿专家进行审核。
总编委可以操作所有条目框架,条目,可以分配总编委审核任务。
分编委只能操作自己所属分编委下的条目。
管理员可以查看和发布或删除信息公告上的内容。
信息公告分为内部公告和外部公告。
内部公告即登录后才能查看的信息公告。
外部公告不需登录即可查看,直接显示在用户登录界面。
管理员还可以通过统计查询模块进行查询指定一条或一批条目的完成情况,通过图表直观地了解当前的编纂审核总体进度。
2.2.2条目编纂人员(作者)操作
条目编纂人员(作者)只能通过用户登录界面选择作者身份登录。
登录后在主界面可以查看管理员分配给自己的未完成和已完成的编纂任务,点击未完成的任务可以提交稿件和插图。
点击已提交的任务可以查看详情和当前审核状态。
登录后主界面可以查看管理员发布的最新公告。
登录后主界面左侧有该作者的个人信息,点击信息下方的修改按钮可以进行信息修改。
2.2.3审稿专家操作
审稿专家只能通过用户登录界面选择审稿专家身份登录。
登录后在主界面可以查看管理员分配给自己的未完成和已完成的审稿任务,点击未完成的任务可以提交审稿任务。
点击已审核的任务可以查看任务详情和当前审核状态。
登录后在主界面可以查看管理员发布的最新公告。
登录后主界面左侧有该审稿专家的个人信息,点击信息下方的修改按钮可以进行信息修改。
2.2.4条目库操作
用户无需登录即可使用条目库查询功能,对条目稿件(仅限已经通过所有审核过程的稿件,若尚未完成审核,则不显示稿件。
)进行查询。
查询到的结果以词条的形式显示,同时在线提供条目稿件word文档浏览功能。
3.系统设计
3.1架构设计
3.1.1B/S架构
B/S结构,即Browser/Server(浏览器/服务器模式),是随着计算机网络技术的兴起与普及,对传统C/S结构(客户机/服务器模式)改进产生的新型结构。
在B/S结构中,用户通过浏览器发送和接收请求完成与服务器的信息交互,绝大部分事务处理任务都交给了服务器端完成。
B/S结构充分利用了互联网的优势,用户不需要安装专门的客户端软件,只要电脑可以上网,装有浏览器,即可登录服务器进行操作,方便快捷;程序开发人员对软件进行日常维护和系统更新等操作,大多数情况下都能直接在服务器端完成,从而降低了开发和维护的成本。
当然B/S架构的缺点也很明显,即大量事务逻辑处理,数据查询工作都在服务器端进行,加重了服务器负担。
另外,客户端使用浏览器,很多功能受到限制,用户体验相对于C/S架构略逊一筹。
3.1.2系统分层
本系统采用Struts2整合Hibernate框架,利用Struts框架的模型部分作为系统的整体基础架构;利用Hibernate提供的持久层支持进行数据库相关操作。
首先根据之前进行的系统需求分析,抽象出实现功能模型,然后myeclipse生成Hibernate映射文件和对应的java类对象。
对象涉及数据库操作的方法在DAO中实现。
在Struts控制器部分的Action中直接调用DAO的方法可以实现数据库访问。
这样就通过DAO模式完成了Struts与Hibernate的集成工作,整合Struts和Hibernate的系统框架如图3-1所示。
图3-1Struts+Hibernate整合示意图
3.2功能模块设计
该产品分为用户管理、条目框架编纂、条目内容编纂与审核、任务分配与管理、统计查询、智能提醒、系统管理七大主要功能模块,七个模块相对独立,但在整个业务流程中也存在一定的关联。
其总体结构如图3-2所示。
图3-2《气象百科》编纂系统主要功能结构关系图
每个模块对应的功能如图3-3所示
图3-3《气象百科》编纂系统各模块功能
3.2.1用户管理模块
本系统主要包括角色:
系统管理员、总编委会委员、分编委会委员、协调指导小组成员、条目编辑人员、条目审稿专家、责任编辑等。
系统用户管理模块能够实现对各用户的统一管理,包括用户注册(增加)、修改、删除、查找等基本功能。
每一位用户都属于某一个特定的角色,不同的角色有不同的操作权限。
系统根据不同用户的工作分工和权限范围设定了系统功能权限列表,在审核新用户时即可进行角色设置,选择不同角色具有相应的权限。
如选择管理员则具有最大权限,选择条目编辑人员则具有添加修改条目的权限。
操作过程中如果需要对用户权限进行修改,可以通过管理员重新进行角色分配,或者通过管理员修改角色的相关权限。
新用户可以由管理员新建,也可以通过注册申请。
用户注册时提交个人资料和想申请的角色,管理员进行审核通过后,该用户就被激活可以使用。
图3-4显示了用户管理的大致流程。
图3-4《气象百科》编纂系统用户审核流程图
3.2.2条目框架管理
条目框架管理模块提供了《中国气象百科全书》条目框架在线编纂的功能,即为条目创建一个合理的分类框架,也是整个全书的目录索引。
条目框架将由总编委会线下确定,该功能模块支持条目框架的性质、删除、修改等功能。
此外,该模块还将支持其他辅助性功能,如条目框架锁定与解锁、附录管理等。
3.2.3条目内容管理
条目内容编辑模块实现了《中国气象百科全书》条目内容在线编辑的功能,条目内容编辑按照工作流划分主要分两部分。
第一,条目内容应包含一定数量的标引项,如中文名称、英文名称、定义、应用科学等都是标引项。
在编辑条目时,首先要对条目的标引项进行确认,主要标引项确定后,由管理员进行条目模版设置,那么以后再增加标引项时可以对模版进行更改,或者针对某一条目进行更改。
第二,条目的内容由各个标引项的详细内容组成。
作者对条目内容录入完毕后,分编委会对所负责的条目组织专家进行逐一审核,各编委会成员关于每一条内容的审核意见、时间、审核人等相关记录性内容都将记录在系统之中。
3.2.4任务分配与通知管理模块
该模块主要实现条目编纂审核任务(包括分编委审核与总编委审核)的分配。
确定条目模板后,由对应编委把条目模板分配给作者撰稿。
作者提交的稿件需由分编委审核通过,未通过的需要修改重写并再次审核。
分编委审核分为初审和复审两轮,通过两轮审核的稿件汇总之后,分编委集中开会进行最终会审。
分编委会审后将稿件汇总提交到总编委,由总编委进行复审和终审。
图3-5为审核流程
图3-5《气象百科》编纂系统审核流程图
分编委审核通过后将条目汇总,由总编委分配审稿专家进行总编审核。
总编委审核也分成两轮,未通过的稿件会返回给作者重新修改。
总编委审核流程如图3-6。
图3-6《气象百科》编纂系统总编委审核流程图
3.2.5统计查询模块
对条目的智能查询包括:
(1)查询某个条目(或条目框架)内容、如按照某一标引项进行查询,又如按照包含某一词语模糊查询等功能。
(2)查询条目编辑状态;(3)统计条目完成数量和进度;(4)查询操作日志。
如图3-7
图3-7《气象百科》编纂系统统计查询模块功能示意图
3.2.6智能提醒模块
智能提醒模块主要包括通知公告发布浏览,个人任务提示两个部分。
管理员可以编辑,发布公告,这些公告用户(作者和审稿专家)可以在各自的页面浏览。
公告包括内部公告和外部公告两类,内部公告需要登录后才能在主界面查看,外部公告直接显示在登录界面,不需要登录即可点击查看。
个人任务提示指用户登录后,系统会自动整理已完成和未完成的任务列表,在醒目位置提示用户及时完成任务。
3.2.7系统管理
系统管理提供编纂,审核后期所需的功能,如锁定编纂完成的条目防止误删等。
4数据库设计与实现
4.1数据库ER图
本系统的用户主要分为三类:
管理员,包括系统管理员(负责管理用户和分配权限)、总编委、分编委(总、分编委负责条目框架,条目的制定以及编纂,审稿任务的分配)。
作者,接受编纂任务,编写条目,提交稿件接受审核。
审稿专家:
负责接受作者提交的稿件进行审核。
由于三类用户的属性略有不同,另外出于安全因素考虑,将三类用户分为三张表存放。
管理员,作者,审稿专家的关系如图4-1
图4-1用户ER图
编委会人员完成条目框架,条目的制定,并分配撰稿任务给作者。
作者按要求提交稿件到编委会,再由编委会人员指定审稿专家进行审核。
审核通过的稿件和审核意见会汇总到管理员平台。
审核过程从分编委到总编委会分多轮进行。
三类用户协调工作,最终完成对条目的创建,编纂,审核工作。
整个过程如图4-2所示。
图4-2条目任务ER图
条目框架是分级的,整个百科全书分为若干个分编委(一级框架),每个分编委下对应多个分科组(二级框架),每个分科组下有若干个分科提纲(三级框架)。
分科提纲下是具体条目。
数据库中以直观的命名方式Itemframe_first,Itemframe_second,Itemframe_third指代这三级框架,存储相关信息,三级框架下的具体条目则存于条目表(Item)。
各级相邻框架与最后的条目之间都通过外键关联,形成一个完整的树形框架结构。
各级框架与条目,条目稿件,审稿意见之间的关系如图4-3。
图4-3框架,条目,与稿件ER图
4.2数据库表设计
根据系统需求,对参与系统的实体对象和系统实现流程进行分析,得到以下主要数据库表:
(1)用户表Admin(管理员)
存放管理员的个人信息,权限信息,如表4-1所示。
表4-1管理员表Admin
数据字段
字段描述
数据类型
可空
备注
User_Id
用户id
int
主键,自增
Name
姓名
varchar(15)
Password
密码
varchar(20)
Role
角色
int
数字对应权限表中不同的权限类型
Sex
性别
bit
Telephone
办公电话
varchar(20)
Mobilephone
手机
varchar(15)
Email
电子邮箱
varchar(30)
Company
公司地址
varchar(50)
Birthday
出生日期
datetime
√
Remark
备注(专业方向)
varchar(MAX)
√
(2)用户表Author(作者)
存放作者(条目编纂人员)的个人基本信息,权限信息,所属编委。
如表4-2所示。
表4-2作者表Author
数据字段
字段描述
数据类型
可空
备注
Author_Id
用户id
int
主键,自增
Name
姓名
varchar(15)
Password
密码
varchar(20)
Role
角色
int
数字对应权限表中不同的权限类型
SubEditor
所属分编委
varchar(100)
√
所属分编委的id,可以多个,逗号隔开
Sex
性别
bit
Telephone
办公电话
varchar(20)
Mobilephone
手机
varchar(15)
Email
电子邮箱
varchar(30)
Company
公司地址
varchar(50)
Birthday
出生日期
datetime
√
Remark
备注(专业方向)
varchar(MAX)
√
审稿专家表与作者表类似,篇幅所限,不再给出详细的表结构。
(3)分编委表(一级框架表)Itemframe_first
存放分编委分类信息,如表4-3所示。
表4-3分编委表Itemframe_first
数据字段
字段描述
数据类型
可空
备注
Itemframe_Id
编号
int
主键,自增
Name
名称
varchar(50)
Remark
备注
varchar(MAX)
√
备注
每个分编委下又划分为多个分科组(二级框架),每个分科组分为多个分科提纲(三级框架),每个分科提纲下包含若干条目。
(4)条目表Item
存放一个条目的信息,包括其基本属性,所属框架,审核状态等。
如表4-4所示。
表4-4条目表Item
数据字段
字段描述
数据类型
可空
备注
Item_Id
条目编号
int
主键,自增
Name_ch
条目中文名
varchar(100)
Name_en
条目英文名
varchar(300)
√
由作者定
Name_py
条目拼音
varchar(300)
√
由作者定
Sub_Editor
所属分编委
int
所属分编委的id
Frame_third
所属三级框架
int
外键关联三级框架(分科提纲)表id
Fenkezu
所属二级框架
int
外键关联二级框架(分科组)表id
Author
作者
varchar(20)
√
条目新建后由分编委人员指定
Item_property
条目属性
varchar(10)
分为:
长,特长,中,短,特短,参见等属性
Islocked
锁定状态
bit
锁定的条目无法编辑,默认false
Time_Create
条目生成时间
datetime
新建条目时自动生成
State_Now
当前状态
varchar(20)
详见:
附录
IsComplete
条目是否完整
bit
默认false
Xiaozu_receive
协调小组办公室接收
int
0表示未接收,1表示接收
Quality
稿件质量
varchar(10)
√
分为:
优秀,良好,一般,较差
(5)条目稿件表ItemDoc
用于存放条目的稿件信息,主要包括其对应条目,稿件种类,审存放路径等。
如表4-5所示。
表4-5条目稿件表ItemDoc
数据字段
字段描述
数据类型
可空
备注
Doc_Id
稿件编号
int
主键,自增
ItemContent_Id
对应条目Id
int
外键对应条目id
Type_Id
稿件种类
int
外键对应稿件种类id
Doc_Address
稿件存放地址
varchar(MAX)
√
稿件存放地址
TimeStart
分配时间
datetime
自动生成,分配作者任务时间
TimeFinish
完成时间
datetime
√
自动生成,以提交稿件时间为准
Author
作者
varchar(30)
条目表,条目稿件表,条目稿件类别表之间都设有外键关联,方便查询,同时也避免了用户操作失误导致无意中把稿件删除的情况。
5系统功能实现
5.1框架集成
系统采用Struts+Hibernate框架,首先要在web.xml中配置Struts2过滤器,这样系统启动时会自动读取相应配置。
具体配置如下:
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
系统逻辑控制器采用Struts2框架,框架截获以.action结尾的URL,通过struts.xml配置文件转入相应的Action类处理
下面是struts.xml的配置
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http:
//struts.apache.org/dtds/struts-2.0.dtd">
value="false"/>