毕业论文管理系统的设计与实现


    


    毕业文工作高等学校科培养阶段重环节目前文理工作存着许问题例工理极便学生文撰写容十分解指导老师沟通非常便老师指导监督难完全位手工评审效率低等现毕业文信息理答辩评审系统实现部分网交流评审理功答辩评审测项目指标权重等方面存着定足文设计毕业文理系统采BS模式开发中Browser层JSP技术开发Server层Struts2x+Spring20+Hibernate30开发该系统支撑高校毕业生毕业文理目标理员导师毕业生三种角色核心实现文理相关功:1理员导师毕业生答辩组理理资料权限2导师创建务书指导毕业生完成文录入答辩结果理资料权限3毕业生文选题文录入理资料权限












    关键词:1BS体系结构 2SSH框架 3DAO模型 4session会话



    目录
    前言 1
    二开发工具开发架构 2
    ()开发工具 2
    (二)开发框架(SSH框架) 2
    三毕业文理系统功操作流程 5
    ()毕业文理系统理功 5
    (二)毕业文理系统操作流程 10
    四数库设计 11
    ()数库总体介绍 11
    (二)数表职详细介绍 12
    五毕业文理系统框架搭建 14
    ()关struts2x引入 14
    (二)关spring20引入 15
    (三)关hibernate30引入 15
    六毕业文理系统具体实现 17
    ()领域模型层实现 17
    (二)持久层实现 18
    (三)业务层实现 19
    (四)表示层实现 20
    1表示层设计 20
    2表示层代码设计规范 21
    3表示层session会话 21
    4表示层设计实例(理员登陆程) 22
    5表示层国际化应 23
    七结束语 24
    致谢 25
    参考文献 26

    前言
    着高校规模断扩合理利教学资源效加强教学理工作已成高校关注焦点目前教学理方面特学生学籍理成绩理等方面普遍采网络化理手段毕业设计重教学环节普遍采传统单机理模式现毕业设计理系统完成毕业设计基信息成绩输入输出等工作毕业设计选题毕业设计程理等工作没纳入理系统中目前实现毕业文(设计)双选择毕业文(设计)程动态踪交流成毕业设计理工作改革重容国外英国诺丁汉学开发专门理系统实现毕业设计网双选择国南昌航空工业学院电子信息工程学院开发毕业设计双选题理系统侧重选题理够完成题目申报题目审核学生选题功辅助资料理发布公告通知功南开学开发毕业设计网站毕业设计选题师生交流毕业设计成绩理提供良环境取良效果北京科技学幵发基项目理工业设计专业毕业设计理系统结合专业特点项目理特色加强毕业设计文档图片媒体存档优秀毕业设计展示电子科技学理学院科毕业文提交系统完成学生文传提交文审核鉴定结果反馈功学生通系统查询文审核情况根结果指导教师指导进行修改完成文提交分析中出研究设计种工作流程明晰功完善操作性强适高校毕业文理系统十分必

    二开发工具开发架构
    ()开发工具
    数库:MySQL
    数库开发工具:SQLyog
    网站服务器:Tomcat65
    J2EE开发工具:Myeclipse70
    (二)开发框架(SSH框架)
    毕业文理系统采BS体系结构开发中server层SSH(Struts2x+Spring20+Hibernate30)框架开发该系统结构分成领域模型层业务层持久层表示层(图21)系统开发目录结构(图22)
    Struts20介绍Struts20webwork基础构建起mvc框架实际struts1xxwork相结合产物xwork 言前端Webwork 组件提供Map 类型数结构Action面Model象提供数结构xwork 通Interceptor 拦截器实现map模型model模型转换根需灵活配置需InterceptorAction提供扩展预处理处理程
    Spring20介绍Spring20简单组件配置组合成复杂应Spring20中应象声明式组合具体实现XML文件里Spring20提供基础功(事务理持久化框架集成等等)

    Spring20整系统业务理组件applicationContextxml文件赖注入
    表示层
    Action
    JSP
    Service

    Dao

    Hibernate30框架数处理

    *hbmxml

    Domian
    业务层
    数库

    领域模型层

    Root
    Struts20

    浏览器
    持久层

    图21 系统框架
    图22 目录结构

    Hibernate30介绍Hibernate30开放源代码象关系映射框架JDBC进行非常轻量级象封装Java程序员心欲象编程思维操数库Hibernate30核心接口5分SessionSessionFactoryTransactionQueryConfiguration系统接口SessionFactory

    三毕业文理系统功操作流程
    ()毕业文理系统理功
    该系统实现角色登录相应角色文理功(图31)
    (1)理员导师毕业生登陆页面(图32)通选择角色拉列表选择相应角色进行登陆输入户名密码验证码时系统首先做相应格式验证然访问数库确认登陆进入理页面
    (2)理员权限:a修改身密码资料b添加理员c添加导师d添加毕业生e创建答辩组f理员理角色(注销激活图34)理员通户名密码登陆理员理页面(图33)

    毕业生理
    登录功
    理员理
    导师理
    改资料

    添加毕业生
    添加导师

    添加理员

    修改资料

    文选题

    修改文

    查文

    修改资料

    务书

    指导文

    文答辩


    图31 系统功模块


    图32 理员登陆页面


    图33 理员页



    图34 理员理角色
    (3)导师权限:a修改身密码资料b新建务书(图36)c 理务书(包括:编辑务书放开务书批准选题指导文答辩录入等图37)d 检索务书(包括:阅读务书阅读文图38)e评阅文导师通户名密码登陆导师理页面(图35)


    图35 导师页


    图36 新建务书



    图37 理务书导师理文




    图38 检索务书务书容文容

    (4)毕业生权限:a修改身密码资料b文选题(图39)c检索务书(包括:阅读务书阅读文等)d理文(包括:编辑文查文提交文等图310)毕业生通户名密码登陆毕业生权限理页面


    图39 毕业生选题



    图310 毕业生理文撰写文
    (二)毕业文理系统操作流程
    角色理操作流程(图311)文理操作流程(312)
    理员登陆
    添加毕业生
    添加导师
    添加理员

    图211角色理
    导师创建务书
    毕业生选题
    导师审批
    毕业生撰写
    导师指导
    导师评阅
    评阅教师评阅
    导师录入答辩
    关闭文

    图312文理

    四数库设计
    ()数库总体介绍
    毕业文理系统MySQL数库首先创建毕业文理系统数库thesismanagedatabase数库thesismanagedatabase中创建9张数表存储该系统相关数保障系统合理运行数表关联关系(图41)
    数库thesismanagedatabase部数表创建提前写sql脚直接生成具体容代码:
    DROP DATABASE IF EXISTS `thesismanagedatabase`
    CREATE DATABASE `thesismanagedatabase`
    USE `thesismanagedatabase`
    #drop table `manager`
    CREATE TABLE `manager` (
    `oid` INT(11) NOT NULL AUTO_INCREMENT
    `username` VARCHAR(20) DEFAULT NULL
    ……
    PRIMARY KEY (`oid`)
    ) ENGINEINNODB DEFAULT CHARSETgbk
    Group_member
    组成员
    Answer_group
    答辩组
    Tutor
    导师资料
    Manager
    理员资料
    导师
    毕业生
    Student
    毕业生资料
    理员
    work_list 务书
    Thesis文
    guidance指导记录
    result答辩结果

    图41数库设计思路

    (二)数表职详细介绍
    (1)理员数表理员登陆理系统负责学生导师注册理员数表存储理员身份信息登陆信息相关数
    (2)毕业生导师数表导师负责创建开放务书毕业生选择导师开放务书(时创建文)果务书合适退选(导师提交意前)然毕业生登陆理系统实时编辑文导师系统实时指导数表中存毕业生导师身份信息登陆信息等数
    (3)务书导师创建开放记录着导师部分信息务书作撰写文核心记录着文题目导师研究方务文目标等信息
    (4)文数表(表41)文整系统核心数毕业生选题时创建存储信息包括:a毕业生导师务书部分信息b文摘文容导师意见评阅教师意见等c指导记录编号答辩记录编号
    表格41 Thesis
    字段名称
    数类型
    字段说明
    oid
    Int(11)
    文系统编号
    Tsid
    Varchar (11)
    务书档案编号
    ……
    readidea
    Varchar(512)
    评阅教师意见
    Readscore
    Int(2)
    评阅教师建议分数
    resultoid
    Int(11)
    答辩记录编号
    Endscore
    Int(2)
    终分数
    Status
    Int(2)
    文状态
    createtime
    Varchar(20)
    文创建时间
    subtime
    Varchar(20)
    文提交时间

    (5)文指导记录数表文指导记录导师创建记录着导师文实时指导容篇文篇指导记录需单独建表存储数
    (6)答辩记录答辩结束导师负责录入记录答辩详细容包括:a文编号答辩组编号b答辩组意见成绩c领导意见
    (7)答辩组数表理员创建记录容包括:组编号组长届毕业生隶属部门等信息
    (8)答辩组成员数表理员创建记录答辩组成员信息成员必须理员创建导师

    五毕业文理系统框架搭建
    关struts2xspring20hibernate30框架集成序:spring20框架引入先hibernate30框架便hibernate30相关配置spring20脚文件中完成struts2x时引入中sping20框架hibernate30框架Myeclipse直接引入struts2x框架需手工引入
    ()关struts2x引入
    实现struts2x框架spring20框架hibernate30框架三者集成时struts2x框架需引入相应jar架包必须webxmlstrutsxml文件做相应配置
    (1)引入jar架包
    首先引入struts2x核心架包:xwork204jarstruts2core2011jarognl2611jarfreemarker238jarcommonslogging104jar该框架spring20框架整合struts2springplugin208jar需连接数库MySQL引入关数库驱动架包mysqlconnectorjava3114binjar
    (2)修改webxml文件
    毕业文理系统支持struts2x框架需webxml文件中配置struts2x相关容代码:
    ……
    < 设置滤器类 >

    struts2
    org apachestruts2dispatcherFilterDispatcher

    ……
    (3)创建strutsxml文件
    strutsxml文件整系统脑该文件中配置整系统事务动作流程操控着毕业文理系统页面动态流程
    (二)关spring20引入
    实现struts2x框架spring20框架hibernate30框架集成时中spring20框架引入必须架包 spring20框架脚文件进行配置
    (1)引入jar文件
    引入spring20框架核心架包:springjar
    (2)创建spring20框架applicationContextxml文件
    通Myeclipse开发环境直接spring框架引入项目中时创建applicationContextxml文件放webRoot根目录WEB_INF文件中时applicationContextxml文件默认配置
    (三)关hibernate30引入
    实现struts2x框架spring20框架hibernate30框架集成时中hibernate30框架引入必须架包 hibernate30框架spring20框架脚文件applicationContextxml中进行配置
    (1)引入架包
    首先引入hibernate30框架核心架包:hibernate3jarlog4j1215jarcglibnodep21_3jardom4j161jarcommonscollections211jarc3p00912jarjtajarantlr276jar
    (2)spring20框架applicationContextxml文件中配置hibernate30
    通Myeclipse开发环境直接hibernate30框架引入项目中时设置hibernate30hibernatecfgxml文件合spring20框架applicationContextxml文件然修改applicationContextxml文件然applicationContextxml文件链接数库配置容代码:
    destroymethodclose>
    < 指定连接数库驱动 >

    < 指定连接数库url >

    < 指定连接数库户名>

    < 指定连接数库密码>




    六毕业文理系统具体实现
    ()领域模型层实现
    领域模型领域概念类客观现实世界中象视化表示称概念模型领域象模型分析象模型专注分析问题领域身发掘重业务领域概念建立业务领域概念间关系
    反工程生成领域模型象Myeclipse功非常强支持数库领域模型象逆生成功Myeclipse Hibernate视图中创建数库链接开应数库右键数表选择Hibernate Reverse选项弹出Hibernate框架反工程界面该界面中设置需生成文件类型路径然点击Finish生成相应文件
    数库thesismanagedatabase中9张数表进行逆工程会动生成数表应领域模型象映射文件模型详细描述(表61示)象模型映射文件(表62示)
    表格61 领域模型象
    名 称
    说 明
    AnswerGroupjava
    答辩组模型
    GroupMemberjava
    答辩组成员模型
    Guidancejava
    文指导模型
    Managerjava
    理员模型
    Resultjava
    文答辩结果模型
    Studentjava
    毕业生模型
    Thesisjava
    文容模型
    Tutorjava
    指导教师模型
    WorkListjava
    务书模型

    表格62 领域模型象映射
    名 称
    说 明
    AnswerGrouphbmxml
    答辩组映射文件
    GroupMemberhbmxml
    答辩组成员映射文件
    Guidancehbmxml
    文指导映射文件
    Managerhbmxml
    理员映射文件
    Resulthbmxml
    文答辩结果映射文件
    Studenthbmxml
    毕业生映射文件
    Thesishbmxml
    文容映射文件
    Tutorhbmxml
    指导教师映射文件
    WorkListhbmxml
    务书映射文件

    文领域模型层领域模型象文件存放src文件comhyddomain包领域模型象映射文件直接放src文件面
    理员例详细介绍领域模型象定义领域模型象映射定义详细容理员领域模型象(Managerjava)实现javaioSerializable接口理员领域模型象理员数表映射(Managerhbmxml)具体容代码:
    ……






    ……

    (二)持久层实现
    持久层系统逻辑层面专注实现数持久化相独立领域持久层负责者数存储器中存储数组类组件层必须包含业务领域实体模型
    毕业文理系统持久层采DAO模式设计系统持久层实现Hibernate30框架具体实现持久层中类时继承HibernateDaoSupport类继承HibernateDaoSupport类实现操作数库功时采灵活HQL语音编写
    文模型象(Thesisjava)例介绍毕业文理系统领域模型象应持久层实现程Thesis模型象持久层中操作该象增删该查询等功该层DAO模式设计接口技术创建两类:ThesisDaojava(接口类)ThesisDaoImpljava(实体类)
    (1)操作Thesis模型象接口类ThesisDaojava文件定义操作Thesis模型象方法(事务)
    (2)ThesisDaoImpljava实现操作Thesis模型象接口方法(事务)继承HibernateDaoSupport类具体容代码:
    ……
    public List findAll() {
    List find (List) getHibernateTemplate()find(from Thesis)
    return find}
    ……
    (3)applicationContextxml文件中配置DAO
    整系统采spring20框架进行事务理Thesis模型事务模型ThesisDAO必须spring20框架applicationContextxml脚文件中实施赖注入实际ThesisDAO事务附Hibernate30sessionFactory接口具体容代码:
    < ThesisDAOImpl类进行配置 >



    (三)业务层实现
    业务逻辑层系统框架中体现核心价值部分关注点集中业务规制定业务流程实现等业务需求关系统设计业务层具体实现采spring20框架
    毕业文理系统理系统业务层两部分组成:业务理提供服务显易见该系统中spring20框架解决层间耦合问题(事务理)需业务服务类需applicationContextxml文件中实现赖注入
    毕业生模型象(Studentjava)例详细阐述业务层实现原理业务层中Student模型象处理方面实现持久层交互处理事物理方面表示层提供服务该层服务采接口方式设计创建两类:StudentServicejava(接口)StudentServiceImpljava(实体类)
    (1)StudentServicejava接口类表示层提供相关业务服务毕业生登陆服务具体容代码:
    public Student findStudent(String name String password) 毕业生登陆
    (2)继承StudentServicejava接口实体类:StudentServiceImpljava类实现接口类中定义方法
    (3)applicationContextxml文件中配置相关业务理毕业文理系统业务层采Spring20框架理事务StudentServicejava业务需持久层StudentDAOjava事务提供服务需applicationContextxml文件中StudentServiceImpljava业务实现赖注入具体容代码:
    < StudentServiceImpl类进行赖注入配置 >



    (四)表示层实现
    表示层处理户软件交互表示层职责户提供信息户指令翻译传输业务层持久层
    毕业文理系统采BS模式开发交互界面基html界面关户请求指令Struts20框架Action类处理毕业文理系统采Spring20框架处理层层间耦合问题(业务理)Action类applicationContextxml文件中赖注入
    1表示层设计
    毕业文理系统业务流程毕业生文设计流程线毕业生选题撰写答辩流程务书文赋状态务书文走阶段固定状态种状态相应角色具操作文权限务书文流程(图61)


    0创建
    0关闭
    1开放
    9已选题
    0撰写中
    1已完成
    2已提交
    3已审阅
    4关闭
    选题
    审批
    完成
    提交
    审阅
    答辩

    图61务书文流程

    2表示层代码设计规范
    毕业文理系统表示层代码存放src文件包中包括struts20Action类脚文件strutsxmlAction类具体存放位置comhydaction*strutsxml脚直接存放src文件
    提高代码通性表示层中Struts20框架Action类分数象数处理两部分数处理类页面功相应数象类领域模型业务服务模型相应数处理类需重复继承数象类(comhydactionrootaction*)
    3表示层session会话
    (1)毕业文理系统浏览器交互数采session会话进行传输model模型sessionsetAttribute(变量值)方法数放session中JSP页面(map模型)JSP标记语言session中值取出
    (2)session会话登录判断中应项功操作判断该角色否登录具体实现:角色基信息放session中登录拦截器SessionInterceptorjava中获取session信息判断角色否登录
    (3)session会话话框中应毕业文理系统中异常话框采Javascript实现model模型中异常信息放session中JSP页面中Javascriptalter()方法弹出话框然JSP技术session中异常信息清空具体容代码: