职场文秘网

首页 > 条据书信 > 分手信 / 正文

毕业论文管理系统项目概要设计说明书

2020-10-04 10:57:46

毕业论文管理系统 概要设计说明书 1引言 1.1编写目的 此文档对毕业论文管理系统概要设计进行说明。

预期的读者有 (甲方)的需求提供者、项目负责人、相关技术人员等,江西师范大学软件学院软件工作室Java项目小组(乙方)的项目组成员,包括项目经理、客户经理、分析设计开发测试等人员。

1.2背景 毕业论文管理系统是基于互联网的应用软件。鉴于以往学生毕业论文采用人工管理方式,工作量大且效率地下,而且毕业生毕业时大多离校,给导师指导学生毕业设计,学生提交论文等工作带来诸多不便。希望开发一个系统来对课题,以及毕业论文选题进行规范化管理,从而方便导师对学生的论文写作进行指导和控制,方便学院管理毕业生论文。利用计算机来管理毕业论文设计管理活动实现制度化,规范化,管理化。

1.3定义 无 1.4参考资料 毕业论文管理系统需求规格说明书 毕业论文管理系统详细设计说明书 2总体设计 2.1需求规定 毕业论文管理系统按模块可以分成四部分,一是管理员系统管理模块, 二是选题管理,三是导师的课题管理,四是毕业设计过程控制管理,而它们各自又有具体的小模块组成。具体需求见毕业论文管理系统需求规格说明书。

2.2运行环境 Ø 操作系统:Win2003/XP, Linux Ø WEB服务器:Tomcat 5.5以上 Ø 数据库服务器:MySQL5.0以上,能够处理数据并发访问,访问回馈时间短。

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

(2)架构分层 毕业论文管理系统项目架构设计中,我们使用分层模式。具体地说,我们将毕业论文管理系统应用在职责上分成3层:表示层(Presentation Layer)、持久层(Persistence Layer)和业务层(Business Layser)。每个层在功能上都应该是十分明确的,而不应该与其他层混合。每个层要相互独立,通过一个通信接口而相互联系。

(3)模式和框架使用:
在分层设计基础上,我们将使用设计模式和框架,这些是可以重用的资产。

1)MVC模式 MVC模式就是一种很常见的设计模式。所谓的MVC模式,即模型—视图—控制器(model—view--controller)模式。其结构图如下:
View Model Controller 图4-1 MVC架构图 1、Model端 在MVC中,模型是执行某些任务的代码,而这部分代码并没有任何逻辑决定用户端的表示方法。Model只有纯粹的功能性接口,也就是一系列的公共方法,通过这些公共方法,便可以取得模型端的所有功能。

2、View端 在MVC模式里,一个Model可以有几个View端,而实际上多个View端是使用MVC的原始动机。使用MVC模式可以允许多于一个的View端存在,并可以在需要的时候动态注册所需要的View. 3、Controller端 MVC模式的视图端是与MVC的控制器结合使用的。当用户端与相应的视图发生交互时,用户可以通过视窗更新模型的状态,而这种更新是通过控制器端进行的。控制器端通过调用模型端的方法更改其状态值。与此同时,控制器端会通知所有注册了的视图刷新用户界面。

那么,使用MVC模式有哪些优点呢?MVC通过以下三种方式消除与用户接口和面向对象的设计有关的绝大部分困难:
1、控制器通过一个状态机跟踪和处理面向操作的用户事件。这允许控制器在必要时创建和破坏来自模型的对象,并且将面向操作的拓扑结构与面向对象的设计隔离开来。这个隔离有助于防止面向对象的设计走向歧途。

2、MVC将用户接口与面向对象的模型分开。这允许同样的模型不用修改就可使用许多不同的界面显示方式。除此之外,如果模型更新由控制器完成,那么界面就可以跨应用再使用。

3、MVC允许应用的用户接口进行大的变化而不影响模型。每个用户接口的变化将只需要对控制器进行修改,但是控制器包含很少的实际行为,它是很容易修改的。

面向对象的设计人员在将一个可视化接口添加到一个面向对象的设计中时必须非常小心,因为可视化接口的面向操作的拓扑结构可以大大增加设计的复杂性。

MVC设计允许一个开发者将一个好的面向对象的设计与用户接口隔离开来,允许在同样的模型中容易地使用多个接口,并且允许在实现阶段对接口做大的修改而不需要对相应的模型进行修改 2)框架 根据项目特点,我们使用三种开源框架:表示层用Struts;
业务层我们用Spring;
而持久层则用Hibernate。如图1-1所示。

表示层 业务层 持久层 图1-1 Struts-Spring-Hibernate架构 1 表示层 一般来讲,一个典型的Web应用的前端应该是表示层。这里可以使用Struts框架。

下面是Struts所负责的:
— 管理用户的请求,做出相应的响应 — 提供一个流程控制器,委派调用业务逻辑和其他上层处理 — 处理异常 — 为显示提供一个数据模型 — 用户界面的验证 以下内容,不该在Struts表示层的编码中经常出现,与表示层无关的。

— 与数据库直接通信 — 与应用程序相关联的业务逻辑及校验 — 事务处理 在表示层引入这些代码,则会带来高耦合和难以维护的后果。

2 持久层 典型的Web应用的后端是持久层。开发者总是低估构建他们自己的持久层框架的挑战性。系统内部的持久层不但需要大量调试时间,而且还经常因为缺少功能使之变得难以控制。这是持久层的通病。幸运的是,有几个对象/关系映射(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所负责的:
— 如何查询对象的相关信息。

Hibernate是通过一个面向对象的查询语言(HQL)或者正则表达的API来完成查询的。HQL非常类似于SQL,只是把SQL里的table和columns用Object和它的fields代替。HQL语言容易理解且文档也做得很好。HQL是一种面向对象查询的自然语言,很容易就能学会它。

— 如何存储、更新、删除数据库记录。

— 如Hibernate这类的高级ORM框架支持大部分主流数据库,并且支持父表/子表(Parent/child)关系、事务处理、继承和多态。

3 业务层 一个典型Web应用的中间部分是业务层或者服务层。从编码的视角来看,这层是最容易被忽视的一层。我们往往在用户界面层或持久层周围看到这些业务处理的代码,这其实是不正确的。因为它会造成程序代码的高耦合,这样一来,随着时间推移,这些代码将很难维护。幸好,针对这一问题有好几种框架(Framework)存在。最受欢迎的两个框架是Spring和PicoContainer。这些也被称为轻量级容器(micro container),它们能让你很好地把对象搭配起来。这两个框架都着手于“依赖注入”(dependency injection)(还有我们知道的‘控制反转’Inversion of Control=IoC)这样的简单概念。这里我们将关注于Spring的依赖注入和面向方面编程。另外,Spring把程序中所涉及到的包含业务逻辑和数据存取对象(DataAccess Object)的Objects——例如transaction management handler(事务管理控制)、Object Factoris(对象工厂)、service objects(服务组件)——都通过XML来配置联系起来。

下面是业务层所负责的:
— 处理应用程序的业务逻辑和业务校验 — 管理事务 — 提供与其他层相互作用的接口 — 管理业务层级别的对象的依赖 — 在表示层和持久层之间增加了一个灵活的机制,使得他们不直接联系在一起 — 通过揭示从表示层到业务层之间的上下文(Context)来得到业务逻辑(business services) — 管理程序的执行(从业务层到持久层) 2. UML视图 (1)Use-case Diagram:如图所示。

(2)class- Diagram:如图所示。

2.4结构 1.一般用户浏览的内容管理模块:首页显示及其他页面 2.系统管理模块:
a) 登录 b) 信息统计 c) 确认供选课题(课题审核) d) 查看导师工作日志 e) 权限管理 f) 模块设置 3.课题管理:
a)课题上传 b)课题更改 c)课题删除 d)课题统计 4.选题管理:
a)课题选择 b) 选课记录更改 5.过程控制:
a) 阶段管理 b)过程评审 2.5功能需求与程序的关系 各项功能需求的实现同各块程序的分配关系如下所示:
程序1(Action) 程序2(Business Service) 程序3(DAO) 系统管理 权限管理模块 1管理员管理 AdminManageAction IAdminManageService IAdminManageDAO/ AdminManageDAO 2.导师管理 TeacherAction ITeacherService ITeacherDAO/ TeacherDAO 3学生管理 StudentAction IStudentService IStudentDAO/ StudentDAO 4权限控制 PermissionControlAction IPermissionControlService IPermissionControlDAO/ PermissionControlDAO 模块开放关闭管理 1模块开放管理 ModuleManageAction IModuleManageService IModuleManageDAO/ ModuleManageDAO 查看导师工作日志 1查看导师工作日志 TeacherLogAction ITeacherLogService ITeacherLogDAO/ TeacherLogDAO 课程信息统计 TopicAction ITopicService ITopicDAO/ TopicDAO 选课信息统计 TopicSelectAction ITopicSelectService ITopicSelectDAO/ TopicSelectDAO 课题管理模块 …… …… …… 课题管理 TopicAction ITopicServiceImpl/ITopiicService TopicDAO/ITopiicDAO …… …… …… …… 选题管理模块 选题管理 TopicSelectAction ITopicSelectServiceImpl/ITopicSelectService ITopicSelectDAO/TopicSelectDAO 过程控制 一般用户浏览 …… …… …… 2.6人工处理过程 无 2.7尚未解决的问题 无 3接口设计 3.1用户接口 用户接口以基于浏览器的图形用户界面(Graphic User Interface, GUI)的方式提供,具体见页面导航图(静态页面设计)。

3.2外部接口 本系统同与已有的工作室管理系统之间有数据交换。

3.3内部接口 一.系统管理 权限管理模块 Business Service接口 DAO接口 1管理员管理 IAdminManageService IAdminManageDAO 2.导师管理 ITeacherManageService ITeacherManageDAO 3学生管理 IStudentManageService IStudentManageDAO 4权限控制 IPermissionControlService IPermissionControlDAO 接口描述 1.IAdminManageService接口类提供以下方法:
(1)public String addAdmin(Group admin,Teacher teacher ); 目标:添加管理员 参数 类型 说明 admin class 权限组管理员对象 teacher class 老师对象 主要流程描述:
超级管理员提交添加请求,在Action中调用该方法,传入权限组类中管理员组及要添加的老师对象,添加管理员记录 (2)public List show (Map<String actor, String actor_id>); 目标:超级管理员查看管理员信息 参数 类型 说明 actor String 角色 actor_id String 角色编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用IAdminManageDAO)获取相关选课记录。

(3)public List show_all ();

目标:超级管理员查看所有管理员记录 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用IAdminManageDAO执行。

(4)public void update (Teachet teacher);

目标:更改记录 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Tecaher类的一个对象,调用IAdminManageDAO执行更新。

(5)public void delete(Teachet teacher);

目标:删除记录 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Teacher类的一个对象,调用IAdminManageDAO执行删除。

2.ITeacherManageService接口类提供以下方法:
(1)public String addTeacher (Group teach,Teacher teacher ); 目标:添加导师 参数 类型 说明 teach class 权限组管理员对象 teacher class 老师对象 主要流程描述:
超级管理员提交添加请求,在Action中调用该方法,传入权限组类中导师组及要添加的老师对象,添加导师记录 (2)public List show (Map<String actor, String actor_id>); 目标:超级管理员查看导师信息 参数 类型 说明 actor String 角色 actor_id String 角色编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用ITeacherManageDAO)获取相关选课记录。

(3)public List show_all ();

目标:超级管理员查看所有导师记录 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用TeacherManageDAO执行。

(4)public void update (Teachet teacher);

目标:更改记录 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Teacher类的一个对象,调用ITeacherManageDAO执行更新。

(5)public void delete(Teachet teacher);

目标:删除记录 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Teacher类的一个对象,调用ITeacherManageDAO执行删除。

3.IStudentManageService接口类提供以下方法:
(1)public String addStudent (Group study,Teacher student ); 目标:添加学生 参数 类型 说明 study class 权限组管理员对象 student class 老师对象 主要流程描述:
超级管理员提交添加请求,在Action中调用该方法,传入权限组类中学生组及要添加的学生对象,添加学生记录 (2)public List show (Map<String actor, String actor_id>); 目标:超级管理员查看学生信息 参数 类型 说明 actor String 角色 actor_id String 角色编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用IStudentManageDAO)获取相关选课记录。

(3)public List show_all ();

目标:超级管理员查看所有学生记录 参数 类型 说明 student class Student类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用StudentManageDAO执行。

(4)public void update (Student student);

目标:更改记录 参数 类型 说明 student class Student类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Student类的一个对象,调用IStudentManageDAO执行更新。

(5)public void delete(Student student);

目标:删除记录 参数 类型 说明 student class Student类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Student类的一个对象,调用IStudentManageDAO执行删除。

4、IPermissionControlService接口类提供以下方法:
(1)public String addPermission (Permission permission); 目标:添加学生 参数 类型 说明 permission class 权限对象 主要流程描述:
超级管理员提交添加请求,在Action中调用该方法,传入权限类对象,添加权限记录 (2)public List show (Map<String permission, String permission _id>); 目标:超级管理员查看导师信息 参数 类型 说明 permission String 权限 permission _id String 权限编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用IPermissionControlDAO)获取相关选课记录。

(3)public List show_all ();

目标:超级管理员查看所有权限记录 参数 类型 说明 permission class Permission类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用PermissionControlDAO执行。

(4)public void update (Permission permission);

目标:更改记录 参数 类型 说明 permission class Permission类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Permission类的一个对象,调用IPermissionControlDAO执行更新。

(5)public void delete(Permission permission);

目标:删除记录 参数 类型 说明 permission class Permission类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入Permission类的一个对象,调用IPermissionControlDAO执行删除。

(6)public String addGroup(Group group); 目标:添加权限组 参数 类型 说明 group class 权限组对象 主要流程描述:
超级管理员提交添加请求,在Action中调用该方法,传入权限类对象,添加权限记录 (7)public List show (Map<String group, String group _id>); 目标:超级管理员查看导师信息 参数 类型 说明 group String 权限组 group _id String 权限组编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用IGroup ControlDAO)获取相关选课记录。

(8)public List show_all ();

目标:超级管理员查看所有权限记录 参数 类型 说明 group class G roup类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用Group ControlDAO执行。

(9)public void update (G roup group);

目标:更改记录 参数 类型 说明 group class G roup类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入G roup类的一个对象,调用IPermissionControlDAO执行更新。

(10)public void delete(Group group);

目标:删除记录 参数 类型 说明 group class G roup类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入G roup类的一个对象,调用IPermissionControlDAO执行删除。

(11)public String add PermissionColumn (PermissionColumn permissioncolumn); 目标:添加权限组 参数 类型 说明 permissioncolumn class 权限分栏对象 主要流程描述:
超级管理员提交添加请求,在Action中调用该方法,传入权限分栏类对象,添加权限分栏记录 (12)public List show (Map<String permissioncolumn, String permissioncolumn _id>); 目标:超级管理员查看导师信息 参数 类型 说明 permissioncolumn String 权限组 permissioncolumn _id String 权限组编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用IGroup ControlDAO)获取相关选课记录。

(13)public List show_all ();

目标:超级管理员查看所有权限记录 参数 类型 说明 group class G roup类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用Group ControlDAO执行。

(14)public void update (PermissionColumn permissioncolumn);

目标:更改记录 参数 类型 说明 permissioncolumn class PermissionColumn类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入PermissionColumn类的一个对象,调用IPermissionControlDAO执行更新。

(15)public void delete(PermissionColumn permissioncolumn);

目标:删除记录 参数 类型 说明 permissioncolumn class PermissionColumn类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入PermissionColumn类的一个对象,调用IPermissionControlDAO执行删除。

模块开放管理模块 Business Service接口 DAO接口 模块开放管理 IModuleManageService IModuleManageDAO 接口描述 IModuleManageService接口类提供以下方法:
(1)public String openModule(Modlue module); 目标:开放模块 参数 类型 说明 module class 模块类对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个模块类对象,调用IModuleManageDAO执行开放操作。

(2)public String closeModule(Modlue module); 目标:关闭模块 参数 类型 说明 module class 模块类对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个模块类对象,调用IModuleManageDAO执行关闭操作。

(3)public List show_all ();

目标:超级管理员查看所有模块记录 参数 类型 说明 module class 模块类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用IModuleManageDAO执行。

(4)public List show (Map<String module, String module _id>); 目标:超级管理员查看模块信息 参数 类型 说明 permissioncolumn String 模块名 permissioncolumn _id String 模块编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用IModuleManageDAO)获取相关选课记录。

(15)public void delete(Modlue module);

目标:删除记录 参数 类型 说明 module class 模块类对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入模块类的一个对象,调用IModuleManageDAO执行删除。

查看导师工作日志模块 Business Service接口 DAO接口 查看导师工作日志 ICheckTeacherLogService ICheckTeacherLogDAO 接口描述 ITeacherLogService接口类提供以下方法:
(2)public List show_all ();

目标:超级管理员查看所有工作记录 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用CheckTeacherLogDAO执行。

(3)public String sendMassege ();

目标:超级管理员查看导师工作日志监督导师工作情况 参数 类型 说明 teacher class Teacher类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用CheckTeacherLogDAO执行。

通知(公告)管理模块 Business Service接口 DAO接口 查看通知或者公告 INewsService INewsDAO 接口描述 INewsService接口类提供以下方法:
(2)public void add(News news);

目标:查看通知(公告) 参数 类型 说明 news News 新建的一个News对象,存储到数据库 主要流程描述:
管理员填写通知(公告)提交给后台,在Action中调用该方法,调用NewsDAO执行。

(3)public String deleteById(int id);

目标:管理员删除通知(公告) 参数 类型 说明 id int 对应数据库中通知(公告)一条记录Id 主要流程描述:
由管理员选择待删除的news,在Action中调用该方法,调用NewsDAO执行。

答辩分组模块 Business Service接口 DAO接口 查看导师工作日志 IDebateTeamService IDebateTeamDAO 接口描述 IDebateTeamService接口类提供以下方法:
(1)public void add(Set ids,String id);

目标:超级管理员查看所有工作记录 参数 类型 说明 ids Set Teacher的Id是选中的导师的Id对应数据库中导师的主键 id String Teacher的Id对应的是选中的导师Id作为答辩组的组长 主要流程描述:
当用户选中导师加入答辩组,并且选中导师作为该答辩组组长,然后提交调用action通过action调用该方法添加一个答辩分组。

(2)public void deleteById(int id);

目标:超级管理员根据答辩组Id删除该答辩组 参数 类型 说明 Id int 答辩组的Id 主要流程描述:
用户提交请求,在Action中调用该方法,调用IDebateTeamDAO执行。

(3)public void show(int id);

目标:超级管理员根据答辩组Id删除该答辩组 参数 类型 说明 Id int 答辩组的Id 主要流程描述:
用户提交请求,在Action中调用该方法,调用IDebateTeamDAO执行。

二.课题管理模块 Business Service接口 DAO接口 课题管理 ITopicService ITopicDAO 接口描述 ITopicService接口类提供一下方法:
(1)public List<Topic> queryTopic(String teacherId); 目标:查询导师自己的课题 参数 类型 说明 teacherId String 教工编号 主要流程描述:
该方法接收到教师编号,可从Action 实现的ITeacherDAO接口获取到Topic的对象, 将得到的topic对象集合返回给页面,教师即可查看自己的课题。

(2)public List<Topic> queryHistory(int year); 目标:查询历届的课题 参数 类型 说明 year int 届数 主要流程描述:
用户提交请求,在Action中调用该方法,传入前台参数(届数,例如:2007 ),到数据库读取(调用ITopicDAO),获得该届的课题对象集合。

(3) public List<TopicHistory> queryOwnHistory(String teacherId,int year) 目标:查询导师历届上传的课题 参数 类型 说明 year int 届数 teacherId String 教师编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入前台参数(届数,例如:2007 导师编号:),到数据库读取(调用ITopicHistoryDAO),获得该导师、该届的课题对象集合。

(4)public getStudentOut(String studentId); 目标:导师将学生移出选题表。

参数 类型 说明 sudent String 学生编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入学生编号,到数据库查找(调用IStudentDAO),删除学生的选题记录。

(5)public Boolean isOld(String topicName); 目标:判断教师出的课题是否已在题库中 参数 类型 说明 topicName String 课题名称 主要流程描述:
用户提交请求,在Action中调用该方法,传入topciName,调用ITopicHistoryDAO,判断题库中是否已有该课题,若有则返回true,否则返回false。

(6)public Boolean isUpdateEnough(String topicName);

目标:判段导师上传的课题的更新度是否超过一定数 参数 类型 说明 topicName String 课题名 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个topciName,到数据库查找(调用ITopicHistoryDAO,ITopicDAO)再比较教师单前上传的Topic新题与旧题数做百分比,若更新度大于一定百分比的就返回true,否则返回false 。

2、 public Boolean isThere(String topicName) 目标:判断是否已有教师在本届已经上传了该课题 参数 类型 说明 topicName String 课题名 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个topciName,到数据库查找(调用ITopicHistoryDAO)若有,则返回true ,否则返回false。

(8) public void addTopic( String teacherId,String topicName,int year) 目标:导师添加课题 参数 类型 说明 topicName String 课题名 teacherId String 教师编号 year int 届数 主要流程描述:
用户提交请求,在Action中调用该方法,传入参数,插入数据库记录(调用ITopicHistoryDAO)。

(9) public void updateHistoryTopic(int topicId) 目标:导师更新课题 参数 类型 说明 topicId int 课题编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入参数,调用ITopicHistoryDAO,更新Historytopic 的topic信息。

(10) public void updateHistoryTopic(int topicId) 目标:导师删除课题 参数 类型 说明 topicId int 课题编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入参数,调用ITopicHistoryDAO,删除Historytopic 的topic信息。

三.网上选题模块 Business Service接口 DAO接口 网上选题 ITopicSelectService ITopicSelectDAO 接口描述 ITopicSelectService接口类提供一下方法:
(1)public Boolean isTopicOptional(int topic_id); 目标:判断该课题的人数是否已满 参数 类型 说明 topic_id int 课题编号 主要流程描述:
用户提交选题请求,在Action中调用该方法,传入前台参数(课题编号),到数据库读取(调用ITopicDAO),提取该课题的最大可选人数(max),再到数据库读取(调用ITopicSelectDAO),提取当前已选该课题人数(num),进行判断,(若num+1>max ;return false;) (2)public Boolean isTeacherOptional(int topic_id); 目标:判断该课题的导师所带人数是否已满 参数 类型 说明 topic_id int 课题编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入前台参数(课题编号),到数据库读取(调用ITopicDAO,ITopicSelectDAO),获得该课题导师所带人数进行判断。

(3)public Boolean hasChoose(int student_id); 目标:判断该学生是否已选 参数 类型 说明 student_id int 学生编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入学生编号,到数据库查找(调用IStudentDAO,ITopicSelectDAO),判断该学生是否已选。

(4)public Boolean hasChoose(int student_id); 目标:判断该学生是否已选 参数 类型 说明 student_id int 学生编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入学生编号,到数据库查找(调用IStudentDAO,ITopicSelectDAO),判断该学生是否已选。

(5)public void add (TopicSelect topicselect); 目标:添加选题记录 参数 类型 说明 topicselect TopicSelect TopicSelect类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入TopicSelect类的一个对象,调用ITopicSelectDAO,添加一条选题记录。

(6)public List show (Map<String actor, String actor_id>); 目标:老师或学生查看选题记录 参数 类型 说明 actor String 角色 actor_id String 角色编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入一个Map,到数据库查找(调用ITopicSelectDAO)获取相关选课记录。

(7)public List show_all ();

目标:管理员查看所有选题记录 参数 类型 说明 topicselect TopicSelect TopicSelect类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,调用ITopicSelectDAO执行。

(8)public void update (TopicSelect topicselect);

目标:更改选题记录 参数 类型 说明 topicselect TopicSelect TopicSelect类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入TopicSelect类的一个对象,调用ITopicSelectDAO执行更新。

(9)public void delete(TopicSelect topicselect);

目标:删除选题记录 参数 类型 说明 topicselect TopicSelect TopicSelect类的对象 主要流程描述:
用户提交请求,在Action中调用该方法,传入TopicSelect类的一个对象,调用ITopicSelectDAO执行删除。

(10)public List search(Map<String filed,String filedvalue>); 目标:搜索选题记录 参数 类型 说明 filed string 关键字段 filedvalue string 关键字段的值 主要流程描述:
用户提交请求,在Action中调用该方法,传入Map类的一个对象,调用ITopicSelectDAO执行搜索。

四.消息平台模块 Business Service接口 DAO接口 消息平台 IMessageService IMessagesDAO 接口描述 IMessageService接口类提供一下方法:
1 public List showMessage(String user_id) 目标:查看消息 参数 类型 说明 user_id string 用户编号 主要流程描述:
用户提交请求,在Action中调用该方法,传入用户编号,调用IMessageDAO执行。

2 public List showBulletin () 目标:显示公告 主要流程描述:
用户提交请求,在Action中调用该方法,调用IMessageDAO执行。

3 public void send (String[] receivers); 目标:发送消息(管理员发送通知,公告) 参数 类型 说明 receivers String[] 接收人数组 主要流程描述:
用户提交请求,在Action中调用该方法,传入接收人数组,调用IMessageDAO执行。

4 public void delete (String[] message_ids) 目标:删除消息 参数 类型 说明 message_ids String[] 消息编号集合 主要流程描述:
用户提交请求,在Action中调用该方法,传入Message的一个对象,调用IMessageDAO执行。

五.过程管理模块 Business Service接口 DAO接口 任务书 ICharterService ICharterDAO 开题报告 IOpeningReportService IOpeningReportDAO 前期准备 IPrepareService IPrepareDAO 分析设计 IDesignService IDesignDAO 编码测试 ICodeTestService ICodeTestDAO 中期自查 IMidCheckService IMidCheckDAO 论文撰写 IWritingPaperService IWritingPaperDAO 个人工作总结 ISummaryService ISummaryDAO 形式审查表 IFormatCheckService IFormateCheckDAO 指导教师评价表 IGuiderEstimateService IGuiderEstimateDAO 评阅教师评价表 IReadEstimateService IReadEstimateDAO 答辩评分及成绩评定表 IReplyScoreService IReplyScoreDAO 论文 IPaperService IPaperDAO 接口描述 ICharterService接口类提供以下方法:
(1) public abstract boolean isexist(String sid); 前提:已知任务书模块是开启状态并且学生已经完成选题 目标:判断此学生是否已有任务书记录 参数 类型 说明 sid string 学生ID 主要流程描述:
根据学生提供的ID在Action中调用该方法,传入学生ID,到数据库任务书(charter)表中查找是否存在有此学生的任务书记录。

(2) public abstract void add(Charter charter); 前提:已知学生ID,此学生在数据库(charter)表中没有记录。

目标:为此ID的学生在任务书(charter)表中建立一条记录,即此学生提交一份任务书。

参数 类型 说明 chater Charter 一条任务书记录 主要流程描述:
根据学生填写的任务书记录在Action中调用该方法,传入前台参数charter,存到数据库中(调用ICharterDAO),完成插入一条任务书记录的操作。

(3)public abstract void doedit(Charter charter); 前提:已知某ID对应的学生在数据库任务书(charter)表中已有记录,并且状态state=2。

目标“为此ID的学生更新在charter表中的记录,即学生修改任务书。

参数 类型 说明 charter Charter 学生修改的任务书记录 主要流程:
重新获取前台提交的内容,更新数据库任务书(charter)表的记录。

(4)public abstract List findBySid(String sid); 前提:学生已经提交任务书 目标:找出学号为sid的某学生任务书记录 参数 类型 说明 sid String 学生的学号 主要流程:根据学生的学号sid,找出任务书(charter)表中此学生的任务书记录 IOpeningReportService接口类提供以下方法:
(1) public abstract boolean isexist(String sid); 前提:已知开题报告是开启状态以及任务书阶段文档记录存在并且其状态state=3 目标:判断学生是否提交开题报告 参数 类型 说明 sid String 学生ID 主要流程描述:
根据学生提供的学号sid在Action中调用该方法,传入学号sid,到数据库开题报告(opening_report)表中查找是否存在有此学号的学生。

(2)public abstract void add (OpeningReport openingreport); 前提:某已知ID对应的学生在数据库开题报告(opening_report)表中没有记录。

目标:为此学生在开题报告(opening_report)表中建立一条记录,即此学生提交一份开题报告。

参数 类型 说明 openingreport OpeningReport 此学生填写的开题报告记录 主要流程描述:
根据学生提供的学号ID在Action中调用该方法,传入前台参数openingreport,存到数据库中(调用IOpeningReportDAO),完成插入一条开题报告记录的操作。

(3)public abstract void doedit(OpeningReport openingreport) 前提:已知此ID对应的学生在数据库opening_report表中已有记录,并且状态state=2。

目标“为此ID的学生更新在opening_report表中的记录,即学生修改开题报告。

参数 类型 说明 openingreport OpeningReport 此学生的开题报告记录 主要流程:
重新获取前台提交的内容,更新数据库开题报告(opening_report)表的记录。

(4)public abstract List findBySid(String sid); 前提:学生已经提交开题报告 目标:找出学号为sid的某学生开题报告记录 参数 类型 说明 sid String 学生的学号 主要流程:根据学生的学号sid,找出开题报告(opening_report)表中此学生的任务书记录 过程进展情况记录中一共有五个相同的文档操作,分别是IPrepareService,IDesignService,ICodeTestService,IMidCheckService,IWritingPaperService IOpeningReportService接口类提供以下方法:
(1)public abstract boolean isexist(String sid); 前提:已知开题报告是开启状态以及任务书阶段文档记录存在并且其状态state=3 目标:判断学生是否提交开题报告 参数 类型 说明 sid String 学生ID 主要流程描述:
根据学生提供的学号sid在Action中调用该方法,传入学号sid,到数据库开题报告(opening_report)表中查找是否存在有此学号的学生。

(2)public abstract void add (OpeningReport openingreport); 前提:某已知ID对应的学生在数据库开题报告(opening_report)表中没有记录。

目标:为此学生在开题报告(opening_report)表中建立一条记录,即此学生提交一份开题报告。

参数 类型 说明 openingreport OpeningReport 此学生填写的开题报告记录 主要流程描述:
根据学生提供的学号ID在Action中调用该方法,传入前台参数openingreport,存到数据库中(调用IOpeningReportDAO),完成插入一条开题报告记录的操作。

(3)public abstract void doedit(OpeningReport openingreport) 前提:已知此ID对应的学生在数据库opening_report表中已有记录,并且状态state=2。

目标“为此ID的学生更新在opening_report表中的记录,即学生修改开题报告。

参数 类型 说明 openingreport OpeningReport 此学生的开题报告记录 主要流程:
重新获取前台提交的内容,更新数据库开题报告(opening_report)表的记录。

(4)public abstract List findBySid(String sid); 前提:学生已经提交开题报告 目标:找出学号为sid的某学生开题报告记录 参数 类型 说明 sid String 学生的学号 主要流程:根据学生的学号sid,找出开题报告(opening_report)表中此学生的任务书记录 FormatCheckService接口类提供以下方法:
(1)public void add (FormatCheck formatCheck); 前提:已知形式审查表是开启状态 目标:老师为学生添加形式审查表 参数 类型 说明 formatCheck) FormatCheck 形式审查表的一条记录 主要流程:
传入形式审查表的一条记录,保存到数据库。

同理:指导老师评价,评阅老师评价,答辩评分及成绩评定阶段 (2)public List findBySid(String s); 前提:已知学生的学号 目标:找到此学号学生的形式审查表记录 参数 类型 说明 s String 学生的学号 主要流程:通过学生的学号判断是否有学生的形式审查表记录。

同理:指导老师评价,评阅老师评价,答辩评分及成绩评定阶段 (3)public void doedit(FormatCheck formatCheck); 前提:已知学生的学号 目标:找到此学号学生的形式审查表记录 参数 类型 说明 formatCheck FormatCheck 形式审查表记录 主要流程:修改此条形式审查表记录 同理:指导老师评价,评阅老师评价,答辩评分及成绩评定阶段 4运行设计 4.1运行模块组合 4.2运行控制 用户通过图形用户界面发出请求,应用服务器和数据库服务器处理请求后给用户返回响应,并展现在用户界面上。具体操作步骤见详细设计说明书。

4.3运行时间 运行模块组合将占用各种资源的时间要满足性能要求,特别是响应速度要低于5秒。

5系统数据结构设计 5.1逻辑结构设计要点 上传课题表topic 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键  是  选题记录编号 name VARCHAR 否 ' 课题名 creater VARCHAR 否 外键 出题者 create_time VARCHAR 添加课题时间 introduction VARCHAR 否 课题简介 backup1 VARCHAR 备用字段 backup2 VARCHAR 备用字段 backup3 VARCHAR 备用字段 历届课题history_topic 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键  是  历史课题编号 topic_id integer 否 外键 否 课题编号 select_num VARCHAR 否 选择人数限制 selected_flag BINARY 否 0 课题是否被应用 Grade Integer 否 课题应用届数 backup1 VARCHAR 备用字段 backup2 VARCHAR 备用字段 backup3 VARCHAR 备用字段 网上选题 topic_select 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是  选题记录编号 student_id VARCHAR 否 ' 外键 学生编号 topic_id INTEGER 否 外键 课题编号 backup1 VARCHAR 备用字段1 backup2 VARCHAR 备用字段2 backup3 VARCHAR 备用字段3 消息平台(管理员可以发送公告)message 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键  是  选题记录编号 title VARCHAR 否 ' 消息标题 receiver VARCHAR 外键 接收人(当receiver为null 时,即为公告信息) sender VARCHAR 否 外键 发送人 content VARCHAR 否 消息内容 send_time VARCHAR 否 发送时间 backup1 VARCHAR 备用字段1 backup2 VARCHAR 备用字段2 backup3 VARCHAR 备用字段3 学生毕业论文过程控制相关表的建立:
任务书charter 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 任务书编号 sid VARCHAR(32) 否 ' 学号 sname VARCHAR(32) 否 学生姓名 major VARCHAR(32) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 content TEXT 研究主要内容及基本要求 reference TEXT 主要参考资料 first_time VARCHAR(45) 进程计划阶段一时间 已经没有使用此字段 second_time VARCHAR(45) 进程计划阶段二时间 已经没有使用此字段 third_time VARCHAR(45) 进程计划阶段三时间 已经没有使用此字段 fourth_time VARCHAR(45) 进程计划阶段四时间 已经没有使用此字段 fifth_time VARCHAR(45) 进程计划阶段五时间 已经没有使用此字段 first_begintime VARCHAR(45) 进程计划阶段一开始时间 first_endtime VARCHAR(45) 进程计划阶段一结束时间 second_begintime VARCHAR(45) 进程计划阶段二开始时间 second_endtime VARCHAR(45) 进程计划阶段二开始时间 third_begintime VARCHAR(45) 进程计划阶段三开始时间 third_endtime VARCHAR(45) 进程计划阶段三结束时间 fourth_begintime VARCHAR(45) 进程计划阶段四开始时间 fourth_endtime VARCHAR(45) 进程计划阶段四结束时间 fifth_begintime VARCHAR(45) 进程计划阶段五开始时间 fifth_endtime VARCHAR(45) 进程计划阶段五结束时间 headman_opinion TEXT 毕业设计(论文)工作指导小组(或教研室)审核意见 已经没有使用此字段 headman_sign VARCHAR(45) 毕业设计(论文)工作指导小组组长(或教研室主任)签名 已经没有使用此字段 headman_time VARCHAR(45) 毕业设计(论文)工 作指导小组组长( 或教研室主任)签 名时间 已经没有使用此字段 student_sign VARCHAR(32) 学生签名 student_time VARCHAR(45) 学生签名时间 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 开题报告opening_report 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 开题报告编号 sid VARCHAR(32) 否 ' 学号 sname VARCHAR(32) 否 学生姓名 institute VARCHAR(45) 学院 major VARCHAR(45) 专业 select_id INTEGER 选题编号 period VARCHAR(45) 届别 guider_name VARCHAR(45) 指导教师姓名 guider_title VARCHAR(45) 指导教师职称 read_name VARCHAR(45) 评阅教师姓名 read_title VARCHAR(45) 评阅教师职称 chinese_title VARCHAR(100) 中文题目 english_title VARCHAR(100) 外文题目 content TEXT 开题报告内容 student_sign VARCHAR(45) 学生签名 student_time VARCHAR(45) 学生签名时间 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 进展情况记录(前期准备阶段) prepare 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 前期准备阶段编号 sid VARCHAR(32) 否 ‘ 否 学号 sname VARCHAR(32) 否 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 begin_time VARCHAR(45) 前期准备阶段开始时间 end_time VARCHAR(45) 前期准备阶段结束时间 content TEXT 进展情况记录 student_sign VARCHAR(45) 学生签名 student_time VARCHAR(45) 学生签名时间 guider_opinion VARCHAR(255) 指导教师意见 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 进展情况记录(分析设计阶段)design 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 分析设计阶段编号 sid VARCHAR 否 ‘ 外键 否 学号 sname VARCHAR 否 外键 否 学生姓名 major 专业 paper_title 毕业设计(论文)题目 begin_time 分析设计阶段开始时间 end_time 分析设计阶段结束时间 content 进展情况记录 student_sign 学生签名 student_time 学生签名时间 guider_opinion 指导教师意见 guider_sign 指导教师签名 guider_time 指导教师签名时间 state Integer 0未提交;

1提交待审查;

2提交待修改 3提交已确定;

分析设计阶段状态 backup1 VARCHAR 备用字段 backup2 VARCHAR 备用字段 backup3 VARCHAR 备用字段 进展情况记录(编码测试阶段)code_test 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 编码测试阶段编号 sid VARCHAR(32) 否 ‘ 学号 sname VARCHAR(32) 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 begin_time VARCHAR(45) 编码测试阶段开始时间 end_time VARCHAR(45) 编码测试阶段结束时间 content TEXT 进展情况记录 student_sign VARCHAR(45) 学生签名 student_time VARCHAR(45) 学生签名时间 guider_opinion VARCHAR(255) 指导教师意见 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR 备用字段 backup2 VARCHAR 备用字段 backup3 VARCHAR 备用字段 进展情况记录(中期自查阶段)mid_check 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 中期自查阶段编号 sid VARCHAR(32) 否 ‘ 否 学号 sname VARCHAR(32) 否 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 begin_time VARCHAR(45) 中期自查阶段开始时间 end_time VARCHAR(45) 中期自查阶段结束时间 content TEXT 进展情况记录 student_sign VARCHAR(45) 学生签名 student_time VARCHAR(45) 学生签名时间 guider_opinion VARCHAR(255) 指导教师意见 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 进展情况记录(论文撰写阶段)writing_paper 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 论文撰写阶段编号 sid VARCHAR(32) 否 ‘ 学号 sname VARCHAR(32) 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 begin_time VARCHAR(45) 论文撰写阶段开始时间 end_time VARCHAR(45) 论文撰写阶段结束时间 content TEXT 进展情况记录 student_sign VARCHAR(45) 学生签名 student_time VARCHAR(45) 学生签名时间 guider_opinion VARCHAR(255) 指导教师意见 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR 备用字段 backup2 VARCHAR 备用字段 backup3 VARCHAR 备用字段 个人工作总结summary 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 个人工作总结编号 sid VARCHAR(32) 否 ‘ 学号 sname VARCHAR(32) 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 begin_time VARCHAR(45) 个人工作总结开始时间 end_time VARCHAR(45) 个人工作总结结束时间 content TEXT 工作总结 student_sign VARCHAR(45) 学生签名 student_time VARCHAR(45) 学生签名时间 guider_opinion VARCHAR(255) 指导教师意见 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 形式审查表(format_check) 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 个人工作总结编号 sid VARCHAR(32) 否 ‘ 学号 sname VARCHAR(32) 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 check1 INTEGER 封面填写完整正确(含外文题目) check2 INTEGER 文稿为A4打印稿 check3 INTEGER 文字编排格式规范统一 check4 INTEGER 有中文摘要(含中文关键词) check5 INTEGER 中文关键词为3-5个 check6 INTEGER 有外文摘要(含外文关键词) check7 INTEGER 有目录(标题文件,页码与内文相符) check8 INTEGER 正文有小标题 check9 INTEGER 正文标点符号使用正确 check10 INTEGER 正文无错别字或病句 check11 INTEGER 参考文献有10篇以上 check12 INTEGER 参考文献含外文资料 check13 INTEGER 参考文献含最新期刊资料 check14 INTEGER 参考文献序号在文中有标注 check15 INTEGER 参考文献格式规范 check16 INTEGER 过程进展情况记录含中期自查 check17 INTEGER 过程进展情况记录含个人工作总结 check18 INTEGER 过程进展情况记录反映了学生的实际工作 check19 INTEGER 过程进展情况记录填写完整 check20 INTEGER 过程进展情况记录内容无逻辑错误 check21 INTEGER 图表设计与绘制规范 check22 INTEGER 附带了软盘等程序载体 guider_qualified INTEGER 形式审查合格否 guider_sign VARCHAR(45) 指导教师签名 guider_time VARCHAR(45) 指导教师签名时间 headman_qualified VARCHAR(45) 学院毕业设计领导 小组形式核查 headman_ sign VARCHAR(45) 领导小组组长签名 headman_time VARCHAR(45) 领导小组组长签名 时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 指导教师评价表(guider_estimate) 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 指导教师评价编号 sid VARCHAR(32) 否 ‘ 学号 sname VARCHAR(32) 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 guider_command TEXT 指导教师评语 select_quality INTEGER 选题质量 ability_value INTEGER 能力水平 writing INTEGER 写作 study_style INTEGER 学风 score INTEGER 指导教师评分 qualified INTEGER 是否合格 guider_sign VARCHAR(45) 指导老师签名 guider_time VARCHAR(45) 指导教师签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 评阅教师评价表(read_estimate) 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 评阅教师评价编号 read_name VARCHAR(45) 评阅教师姓名 read_title VARCHAR(45) 专业技术职务 work_unit VARCHAR(45) 工作单位 sid VARCHAR(32) 否 ‘ 学号 sname VARCHAR(32) 否 学生姓名 major VARCHAR(45) 专业 paper_title VARCHAR(100) 毕业设计(论文)题目 read_command TEXT 评阅教师评语 select_quality INTEGER 选题质量 ability_leval INTEGER 能力水平 paper_quality INTEGER 毕业设计(论文) 质量 sum_mark INTEGER 总分 is_sure INTEGER 是否答辩 read_sign VARCHAR(45) 评阅教师签名 read_time VARCHAR(45) 评阅教师签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 答辩评分及成绩评定表(replay_score) 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键 是 答辩评分及成绩评定表编号 sid VARCHAR(32) 否 ‘ 外键 否 学生学号 select_id INTEGER 选题编号 paper_id INTEGER 外键 毕业设计(论文) 题目 statement_time VARCHAR(45) 陈述时间 answer_time VARCHAR(45) 问答时间 reply_record TEXT 答辩记录 record_sign VARCHAR(45) 记录人签名 record_time VARCHAR(45) 记录人签名时间 reply_command VARCHAR(45) 答辩小组评语 replymember_sign VARCHAR(45) 答辩小组成员签名 replymember_time VARCHAR(45) 答辩小组成员签名 时间 paper_quality INTEGER 毕业设计(论文) 质量 reply_performance INTEGER 答辩表现 reply_score INTEGER 总分 master_sign VARCHAR(45) 答辩小组组长签名 master_time VARCHAR(45) 答辩小组组长签名 时间 guider_score INTEGER 指导教师评分 read_score INTEGER 评阅教师评分 sum_score INTEGER 总分 mark VARCHAR(45) 成绩总评 leader_sign VARCHAR(45) 学院毕业设计(论 文)领导小组组长 签名 leader_time VARCHAR(45) 学院毕业设计(论 文)领导小组组长 签名时间 backup1 VARCHAR(255) 备用字段 backup2 VARCHAR(255) 备用字段 backup3 VARCHAR(255) 备用字段 论文表(paper) 名称 类型 空 默认值 主键/外键 是否自增 备注(C) id INTEGER 否 主键  是 论文编号 chinese_title VARCHAR   '   中文题目 english_titl VARCHAR 英文题目 sid VARCHAR 外键 否 学号 guider_id VARCHAR 外键 否 老师编号 chinese_abstract VARCHAR 中文摘要 english_abstract VARCHAR 英文摘要 chinese_keys VARCHAR 中文关键字 english_keys VARCHAR 英文关键字 loadpath VARCHAR 上传路径 loadtime VARCHAR 上传时间 backup1 VARCHAR 是 备用字段 backup2 VARCHAR 是 备用字段 backup3 VARCHAR 是 备用字段 1、权限分栏(模块)表—permission _column 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id Integer 否 主 是 name Varchar 否 分栏(模块)名称 backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 权限(动作)表—permission 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id Integer 否 主 是 name Varchar 否 动作名称 permission Varchar 否 动作字符串 permission_column_id Integer 否 外 是 所属分栏(模块) backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 权限-权限组映射表—permission _group(实现权限表与权限组表间的交互) 名称 类型 是否为空 默认值 主键/外键 是否自增 备注© id Integer 否 主 是 permission _id Integer 否 外 是 权限id group_id Integer 否 外 是 权限组id backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 权限组(即角色)表—group 名称 类型 是否为空 默认值 主键/外键 是否自增 备注© id Integer 否 主 是 name Varchar 否 权限组名称 info Varchar 权限组简介(描述) backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 老师-权限组映射表—teacher_group(实现权限组表与老师表间的交互) 名称 类型 是否为空 默认值 主键/外键 是否自增 备注© id Integer 否 主 是 group _id Integer 否 外 是 权限组id teacher_id Varchar 否 外 角色(老师)id backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 老师表—teacher 名称 类型 是否为空 默认值 主键/外键 是否自增 备注© id Varchar 否 主 工号 name Varchar 否 姓名 password Varchar 否 密码 sex Varchar 否 性别 office_phone Varchar 办公室电话 mobile Varchar 私人电话 email Varchar 否 电子邮箱 max_number Integer 老师所带学生最大值 team_id integer 外 所属答辩组 debate_team_id Integer 外 所属学生被该答辩组答辩 backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 学生表—student 名称 类型 是否为空 默认值 主键/外键 是否自增 备注© id Varchar 否 主 学号 name Varchar 否 学生姓名 password Varchar 否 密码 sex Varchar 否 性别 school Varchar 否 学院 grade Varchar 否 年级 class Varchar 否 班级 major Varchar 否 专业 period Varchar 届别 mobile Varchar 联系电话 email Varchar 否 电子邮箱 flag Integer 否 0 学生无视模块开关而填写手册的标记 teacher_id varchar 外 所属评阅教师 backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 模块开关表—module_open 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id Integer 否 主 是 name Varchar 否 外 是 模块名称(自己定义) flag Integer 否 0 开关标记 module_info Varchar 否 模块说明,说明对应系统哪个模块 backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 答辩组表—debate_team 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id Integer 否 主 是 name Varchar 否 答辩组名称 teacher_id Varcher 否 组长id backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 导师操作日志 teacher_log 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id Integer 否 主 是 teacher_id Varcher 否 导师id log Varchar 否 导师操作记录 module_id Integer 否 外键 阶段ID time date 操作时间 backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 首页公告 news 名称 类型 是否为空 默认值 主键/外键 是否自增 备注(C) id Integer 否 主 是 teacher_id Varcher 否 管理员 content Varchar 否 导师操作记录 time date 通知时间 backup1 Varchar 备用字段 backup2 Varchar 备用字段 backup3 Varchar 备用字段 5.2物理结构设计要点 本系统内使用MySQL关系型数据库,以便满足每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。MySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。它是目前市场上运行最快的 SQL(Structured Query Language结构化查询语言)数据库之一,它提供了其它数据库少有的编程工具,而且MySQL对于商业和个人用户是免费的。这里我们使用相对稳定的5.0.45版本。

MySQL的功能特点如下:可以同时处理几乎不限数量的用户;
处理多达50,000,000以上的记录;
命令执行速度快,也许是现今最快的;
简单有效的用户特权系统。

5.3数据结构与程序的关系 权限管理的一些表与权限有关 topic表和课题管理,选题管理,系统管理有关 teacher表和系统管理,选题管理和审核,课题管理有关,过程管理有关 message表和系统管理, 以及一般用户浏览的内容有关 userauth和用户管理,新闻管理和审核,通知管理有关 过程管理中的一些表与过程管理和系统管理有关 …… 6系统出错处理设计 6.1出错信息 软件设计中我们使用异常处理机制和log4j工具保证系统健壮性,运行时正常和出错信息要保留在日志文件中。硬件方面我们使用冗余备份方式保证负载平衡和系统可靠性。

6.2补救措施 当原始系统数据万一丢失时启用的副本的建立和启动的技术:周期性地把磁盘信息记录到磁带上去。

6.3系统维护设计 系统设计时模式及框架的使用、子系统和接口的设计、高重用及低耦合设计原则等可以保证系统维护的方便性

Tags: 管理系统   概要   毕业论文  

搜索
网站分类
标签列表