java web课程设计.docx
《java web课程设计.docx》由会员分享,可在线阅读,更多相关《java web课程设计.docx(35页珍藏版)》请在冰豆网上搜索。
javaweb课程设计
JAVAWEB课程设计报告
题目
科研成果申报管理系统的设计与实现
院系
班级
组长
组员
指导教师
1、目的、要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1、学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2、熟悉自动化的软件开发工具Visio或者RationalRose,并将其运用于软件开发的全过程;
3、进一步加强和提高软件工程文档的编写能力;
4、培养协作能力和团队精神。
二、任务分配
任务
负责人
参与人
备注
需求分析
总体设计
详细设计
系统实现与测试
摘要
高校作为科研工作的重要场所之一,如何使其科研管理工作更加规范化、科学化、信息化,已显得非常重要。
科研成果管理是科研管理工作的重要组成部分,因此,开发科研成果管理系统,实现科研成果的信息化管理对提高科研管理工作效率具有重要意义。
通过对科研成果管理工作的深入调研和对系统需求的细致分析,采用J2EE技术、Struts与Ajax架构,选择浏览器/服务器(B/S)模式、模型-视图-控制器(MVC)设计思想实现系统的开发,MySQL数据库管理系统进行后台数据库管理。
该系统的主要功能包括科研成果的申报、审核、查询和统计。
其中,成果申报功能实现了科研人员录入、修改和申报科研项目、论文和著作等成果信息;成果审核功能实现了院系与学校两级审核人员审核科研成果信息;组合查询功能实现了用户以多种方式查询科研成果信息;统计分析功能实现了学校领导汇总和分析成果数据。
论文阐述了课题的背景、意义和研究现状,然后从软件开发生命周期的角度系统的论述了需求分析、总体设计、数据库设计和各功能模块的实现过程。
系统的实现能够有效提高科研管理工作效率,实现科研工作的网络化管理,为学校领导有关科研决策提供辅助支持,为学校教师开展科研活动提供方便、快捷的服务,为科研管理人员开展工作提供极大的便利,并且具有较广泛的推广价值。
关键词:
科研成果管理,B/S模式,Struts,Ajax
Abstract
Collegesanduniversitiesasthemajorscientificresearchinstitutions,itisimportantthathowtomakethescientificresearchworkmorestandardizedandscientific,informative.Themanagementworkofachievementsinscientificresearchisanimportantparttothemanagementworkofscientificresearch.
Throughthefurtherstudyonthemanagementworkofachievementsinscientificresearch,systemappliesthetechnologyofJ2EE,strutsandAjaxarchitecture,choosingB/S(Browser/Server)model,MVC(ModelViewController)designideastorealizethedevelopmentofsystem.TheMySQL5.1databasemanagementsystemisinchargeofbackstagedatabasemanagement.Thefunctionofthatsystemmainlyincludesthedeclaration,examination,queryandstatisticsoftheachievementsinscientificresearch.Achievementsdeclarationisresearcher’srecord,modificationanddeclarationtothescientificresearchprojects,papersandworks.Achievementsexaminationreferstotwoleveledexamineroffacultyandschoolaudittheachievementsofscientificresearch.Combinationqueryisthattheusersapplyingavarietyofwaystoquerytheachievementsinscientificresearchinformationofschool.Statisticalanalysismeanstheschoolleadersgeneralizeandanalysistheschool’sachievementsdata.Thepaperelaboratesthetask’ssituation,background,significanceandinvolvedrelevanttechnology,andthenfromtheperspectiveofthesoftwaredevelopmentlifecirclediscusstheprocessofrequirementanalysis,generaldesign,detaileddesign,specificrealizationofthesystem,givingadetaileddiscussiononthesystemdesignofdatabase,structureandtheprocessofrealizationfortheeachfunctionalmodelofthesystem.
Theachievementofsystemcanimprovetheefficiencyofscientificresearchmanagementworkefficiently,realizeresearchworknetworkmanagement,providesupplementarysupportforscientificresearchanddecision-makingforschoolleaders,Provideconvenientandefficientserviceforschoolteacherstocarryoutresearchactivities,providegreatconvenienceforresearchandmanagementpersonnelwork,andhasawiderangeofpromotionalvalue.
第1章系统分析
1.1系统总体需求
1.1.1系统功能需求
经过对本系统的开发需求进行全面分析,总结出该系统应实现的主要功能包括五部分:
系统管理、审核管理、申报管理、组合查询和统计分析。
各个模块实现的功能由系统的一类或几类用户完成,从系统角色的角度划分系统的功能模块有助于实现代码的复用,以下将从系统各角色的角度对系统用户要完成的功能进行简要的描述。
角色说明
系统管理员系统管理员实现的功能是用户管理和权限控制,用户管理主要是给用户设置所属角色和添加、删除用户,可以指定用户为系统中的一个或多个角色;权限控制主要是为角色分配权限
学校领导学校领导能够通过对科研成果信息的统计,做出决策。
可以按照成果级别、科研人员年龄分布、职称分布、成果类别等条件进行单独或组合查询与统计
院系科研秘书院系科研秘书查阅审批本院系科研人员提交的申报材料,提出审批意见,需要时通知科研人员对成果信息做出修改
学校科研审核员学校科研审核员拥有对整个学校科研人员成果信息审核的权限,所审核的只能是已经过系科研秘书审核通过的科研人员成果信息,可打印、导出成果信息
科研人员科研人员具有的主要功能是申报科研成果(第一完成人负责申报),包括论文、著作、项目,并具有简单查询、信息维护等功能
1.2系统用例分析
1.2.1
1.用户管理模块
图1-1用户管理用例图
用例名称:
用户管理用例
主参与者:
系统管理员
用例简述:
系统管理员完成为用户指派角色和给角色分配权限的功能。
场景:
(1)系统管理员通过登录界面登录系统;
(2)查看用户信息后,为指定的用户分配角色;
(3)了解用户情况,删除不再使用系统的用户;
(4)根据具体需求,为某类角色分配权限;
(5)完成操作后退出系统。
2.申报管理模块
图1-2申报管理用例图
用例名称:
申报管理用例
主参与者:
科研人员
用例简述:
科研人员完成项目、论文和著作的录入、修改和申报。
场景:
(1)科研人员通过登录界面登录系统;
(2)录入并提交成果数据;
(3)必要时修改成果数据并更新数据;
(4)提交修改后的成果,等待审核结果;
(5)完成操作后退出系统。
3.审核管理模块
图1-3审核管理用例图
用例名称:
审核管理用例
主参与者:
系科研秘书和校审核人员
用例简述:
完成对科研人员提交成果的审核工作。
场景:
(1)审核人员通过登录界面登录系统;
(2)查看待审核列表;
(3)查看成果详情,审核成果;
(4)完成操作后退出系统。
4.组合查询模块
图1-4组合查询用例图
用例名称:
组合查询用例
主参与者:
系统所有用户
用例简述:
以多种条件组合查询学校的科研成果信息。
场景:
(1)审核人员通过登录界面登录系统;
(2)依据成果完成人检索成果信息;
(3)依据成果名称查询成果信息;
(4)依据成果审核状态和成果类型查找成果;
(5)完成操作后退出系统。
5.统计分析模块
图1-5统计分析用例图
用例名称:
统计分析用例
主参与者:
学校领导
用例简述:
统计学校各年度的成果数据,便于做出科研决策。
场景:
(1)学校领导通过登录界面登录系统;
(2)统计各年度分院系成果信息;
(3)对比各院系分年度成果数量;
(4)生成各院系成果列表并导出数据;
(5)完成操作后退出系统。
第2章系统设计
2.1总体设计
在对系统进行需求分析的基础上,本章将主要从系统的功能设计、数据库设计和接口设计三方面对系统展开整体性、初步性的设计工作。
2.1功能设计
系统用户分为五类:
系统管理员、校领导、校审核人员、系科研秘书、科研人员。
要完成的功能有:
申报、审核、检索、统计、数据导出、信息维护、用户管理。
系统的功能结构如图2-1所示。
图2-1系统功能结构图
2.2系统功能设计
系统的功能包括用户管理、申报管理、组合查询、统计分析和审核管理,还包括注册登录和信息维护等,以下仅对系统的主要功能进行描述。
用户管理的主要功能有用户角色的分配、角色权限的设置两部分。
用户角色分配实现为人员分配角色的功能,通过角色分配可以使不同的人员具有不同的身份特征,拥有不同身份特征的人员具有对系统的不同的操作权限。
系统实现了功能的模块化,把人员信息维护、申报功能、审批功能、查询功能设计成了独立的模块,可以将这些独立的功能按照需要分配给不同的角色,完成对角色权限的设置。
申报管理的功能包括科研人员填写并提交论文信息、著作信息和项目信息,将提交的成果信息初步入库,根据审核人员的审批做出相应的改动。
申报管理的功能有必要设计成独立性的模块,原因在于系科研秘书、学校审核人员和校领导都可能同时具有科研人员的身份特征,把申报管理的功能作为独立的模块使其成为一个权限分配的对象,能够提高程序的复用性,减少代码的重复编写。
组合查询旨在为用户提供系统中的所有成果信息的检索功能,检索依据的条件可以是科研人员的姓名、审批的状态、科研成果的名称、成果的级别等单个条件或者多个条件的组合。
检索功能应提供根据用户输入的关键字进行模糊匹配,可以提高用户检索到所需信息的概率。
同样的,为有利于其作为独立的权限对用户进行分配,也应该把检索功能设计成独立的模块。
统计分析是校领导所应该拥有的一项功能。
通过对不同级别的成果按照科研人员职称的分布情况统计,作为判断职称与成果级别关系的依据;按照成果数量在不同院系间的分布情况,判断哪些院系有必要提高其科研能力;按照成果级别、数量在不同年度的分布情况,用来评估近期学校科研工作的发展状况,对比后判断有哪些方面需要改进。
该功能与组合查询的区别在于组合查询只对数据库中已有的数据进行提取和显示供用户了解已有的信息,统计分析侧重于通过对数据库中已有的数据筛选、分析后得出新的数据,作为改进下一步工作的依据。
审核管理的功能为对科研人员提交的论文、著作和项目信息进行审核,将审核通过的数据存入数据库。
审核过程包括两个子阶段:
院系审核和学校审核。
系科研秘书审核本院系的成果信息,审核未通过需要说明不能通过审核的具体原因,待科研人员进一步修改后再度审核,至最终通过。
在此期间科研人员能看到的审核状态有已通过院系审核、未通过院系审核和正在审核中。
学校科研审核员在院系审核过程中对科研人员的审核状态不可视,只具有对科研人员已提交且通过各院系审核的、全校范围内的成果信息的审核权限。
审核通过给出最终的审核意见,不再允许科研人员和院系科研秘书对最终审核通过的成果信息进行改动。
未通过需要说明不能通过审核的具体原因,并通知系科研秘书和科研人员使其对问题做出修改,循环此过程至审核通过。
在此期间科研人员能看到的审核状态有已通过学校审核、未通过学校审核和正在审核中,系科研人员对已通过学校审核及正在审核状态的成果信息不具有修改权,对未通过学校审核的成果信息有部分的修改权,原因在于细节上的科研成果信息系科研秘书可能不了解需要科研人员做出完善。
2.3数据库设计
数据库是整个项目设计中的关键,一个好的数据库能有效的管理后台中的数据,提高软件的实用性。
它在整个系统中不但用于存储各种信息,以供统计、查询、分析等使用,而且被用作协调各个子系统之间的数据接口。
数据库的设计主要经过概念结构设计和逻辑结构设计两个步骤。
以下将分别从这两方面对数据库的设计过程进行较详细的描述。
概念结构设计阶段,抽象出系统的概念结构并用实体联系图描述系统的概念结构模型。
逻辑结构设计阶段将实体联系图转化为对应的关系模式。
2.3.1数据库概念结构设计
该阶段的任务是将需求分析得到的用户需求抽象为信息结构,是整个数据库设计的关键。
根据需求分析得出系统E-R图,如图4-2所示。
图2-2系统E-R图
2.3.2数据库逻辑结构设计
逻辑结构设计的任务是将概念结构设计阶段设计好的E-R图转化为对应的关系模式,从而完成逻辑结构设计,为数据库实现作准备。
用户关系模式(主键用下划线标出):
Sci_department(did,name,checker)
Sci_role(rid,role,roleName,mids)
Sci_user(uid,did,rid,username,password,truename,position,age)
Sci_achieve1(aid,uid,wid,achieveName,publisherName,publisherLevel,pubtime)
Sci_achieve2(aid,uid,pid,wid,achieveName,achiveFrom,publishdate)
Sci_project(pid,uid,wid,projectName,endTime,level,isSchoolCheck)
Sci_award(wid,uid,pid,awardName,date,level,company,isSchoolCheck)
2.3.3数据库物理结构设计
依据数据库关系模式的设计结果,数据库的部分实施结果如下:
1.院系表(Sci_department)
院系表用于保存各院系的基本信息,其中did属性是主键,保存院系的编号;name属性代表院系的名称;checker属性表示科研秘书的姓名。
院系表如表2-1所示。
表2-1院系表
列名
数据含义
数据类型
长度
允许空
did
院系序号
int
11
F
name
院系名
char
20
F
checker
负责人
char
20
T
2.角色表(Sci_role)
角色表用于保存系统中涉及到的五种角色信息,rid属性是角色的编号,唯一标识角色;role代表角色的类型;roleName是角色名;mids保存角色拥有的权限,是管理员分配给角色的功能集合。
角色表如表2-2所示。
表2-2角色表
列名
数据含义
数据类型
长度
允许空
rid
角色序号
int
11
F
role
角色
varchar
20
F
roleName
角色名
varchar
20
T
mids
拥有权限序号
varchar
20
T
3.人员信息表(Sci_user)
该表保存已注册到本系统的用户信息,uid属性是科研人员的职工号,唯一表示用户;did指明人员所在的院系,是外键,通过它可找到用户的院系信息;rid代表用户的角色,是外键,和角色表的rid属性关联;username属性保存用户名;password属性保存用户的密码;truename属性存储用户的真实姓名;position属性表示用户的职称。
人员表如表2-3所示。
表2-3人员表
列名
数据含义
数据类型
长度
允许空
uid
职工号
int
11
F
did
所在院系号
int
11
F
rid
角色号
int
11
F
username
用户名
char
20
F
password
密码
char
20
F
4.论文信息表(Sci_achieve1)
论文表用来保存科研人员的论文信息,aid属性表示论文的编号;uid属性代表论文第一完成人的职工号;achieveName属性是论文的标题;publishdate属性存储论文发表的时间;publisherLevel属性表示论文的等级,是否为核心;mainMember属性保存论文的其他完成人员的姓名;content属性保存论文的内容;sendCheck属性说明论文是否已经提交审核;schoolAdvice属性表示学校科研人员的审核意见。
论文信息表如表2-4所示。
表2-4论文表
列名
数据含义
数据类型
长度
允许空
aid
论文编号
int
11
F
uid
职工号
int
11
F
wid
获奖编号
int
11
T
achieveName
论文标题
varchar
50
F
mainMember
主要完成人
varchar
50
T
achieveAward
获奖情况
varchar
50
T
sendCheck
是否提交
int
1
T
isDeptCheck
是否审核
int
1
T
5.著作信息表(Sci_achieve2)
著作表用于保存科研人员著作的基本信息,aid表示著作的编号;uid代表著作完成人的职工号,和aid共同作为著作表的主键;pid属性代表著作所属项目的编号;achieveName存储著作的名称;achiveFrom属性保存著作的出版单位;publishdate属性是著作出版的时间;mainMember代表著作的其他完成人员;isSchoolCheck属性说明著作是否已经过学校科研人员的审核;publishNum表示出版物的刊号。
著作信息表如表2-5所示。
表2-5著作表
列名
数据含义
数据类型
长度
允许空
aid
著作编号
int
11
F
uid
职工号
int
11
F
pid
所属项目编号
int
11
T
wid
获奖编号
int
11
T
achieveName
著作名称
varchar
50
F
publisherName
出版社名称
varchar
50
T
mainMember
主要完成人
varchar
50
T
isSchoolCheck
是否审核
int
1
T
6.项目信息表(Sci_project)
项目表用于保存用户完成项目的基本信息,pid表示项目的编号;uid代表项目完成人员的职工号,和pid属性共同构成主键;projectName是项目的名称;endTime表示结项时间;level属性保存项目的级别;expense属性存储项目申请到的经费;attachment属性保存与项目相关的其他信息。
项目信息表如表2-6所示。
表2-6项目表
列名
数据含义
数据类型
长度
允许空
pid
项目编号
int
11
F
uid
职工号
int
11
F
wid
获奖编号
int
11
T
endTime
项目完成时间
date
T
sendCheck
是否提交
int
1
T
isDeptCheck
是否审核
int
1
T
第3章系统实现
3.1系统环境
3.1.1系统软件环境
(1)服务器端
操作系统:
Windows7;
数据库系统:
SQLServer2008;
(2)客户端
操作系统:
各种平台;
浏览器:
支持常用的大多数浏览器;
(3)系统开发平台及工具
系统开发平台:
Eclipse4.4.2;
Web服务器:
ApacheTomcat7.0.54;
开发技术:
SpringMVC+Spring+Mybatis;
开发语言:
Java
3.1.2系统硬件环境
硬件环境(访问者):
建议访问者在允许的情况下采用较高配置的硬件资源。
硬件环境(开发者):
IntelCorei5-2450M+4G内存+500G硬盘。
3.2数据库连接
在SSM框架中,Mybatis负责数据库功能的处理和实现,所有数据库配置文件在applicationContext.xml文件中。
数据库连接文件在application.properties文件中。
3.1类的设计
该部分主要介绍系统中用到的类,包括公用类、工具类、实体类、核心类。
另外,经分析可得到该系统的类图和主要实体类之间的关系。
1.公用类介绍
(1)PageBean:
该类用于实现页面的分页功能,所有用到分页展示功能的页面都可以通过调用此类实实现分页。
调用该类需要传入一个实体对象和