通瀛教务管理系统详细设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高校教职工工作业绩管理系统详细设计说明书
DD-DETAILED /TY20131008/TY-YJGL-1。
00
颜鹏飞
文件状态:[ √]草稿[] 正式发布[ ] 正在修改文件标识:TY-YJGL- DD-DETAILED 当前版本: 1.0
作者:工作业绩管理系统开发小组完成日期:2013– 10– 10
目录
一、概述 (7)
1。
编写目的 (7)
2. 项目背景 (7)
3。
术语和缩写 (7)
4. 参考资料 (8)
二、软件模块标识 (8)
三、所有模块管理 (10)
公共数据访问层(DAO) (10)
1、系统权限管理 (12)
1.1展现层(View) (12)
1.1.1模块 (12)
1。
1.2角色 (13)
1.1。
3用户 (15)
1.2控制层(Controller) (16)
1。
2.1模块 (16)
1。
2。
2角色 (17)
1。
2.3用户 (18)
1。
3业务逻辑层(Service) (19)
1.3。
1模块 (19)
1.3.2角色 (19)
1。
3.3用户 (20)
1。
4数据模型(Model) (20)
2、班级管理 (20)
2.1展现层(View) (20)
2。
1。
1培训班类型 (20)
2。
1。
2班级 (22)
2。
2控制层(Controller) (24)
2。
2。
1培训班类型 (24)
2.2.2班级 (25)
2.3业务逻辑层(Service) (26)
2。
3.1培训班类型 (26)
2。
3.2班级 (26)
2.4数据模型(Model)(略) (27)
3、学藉管理 (28)
3.1展现层(View) (28)
3.2控制层(Controller) (31)
3.3业务逻辑层(Service) (32)
3.4数据模型(Model)(略) (32)
4、成绩管理 (32)
4.1展现层(View)(见用户手册) (32)
4.2控制层(Controller) (32)
4.3业务逻辑层(Service) (33)
4。
4数据模型(Model) (34)
5、考勤管理 (34)
5。
1展现层(View) (34)
5。
1.1学生点名 (34)
5.1。
2教职工考勤 (35)
5。
2控制层(Controller) (36)
5。
2.1学生考勤及教职工考勤 (36)
5。
3业务逻辑层(Service) (38)
5.3。
1学生考勤及教职工考勤 (38)
5。
4数据模型(Model) (39)
6、课程管理 (39)
6。
1展现层(View) (39)
6。
2控制层(Controller) (40)
6。
3业务逻辑层(Service) (41)
6.4数据模型(Model) (41)
7、部门管理 (41)
7。
1展现层(View) (41)
7。
2控制层(Controller) (43)
7.3业务逻辑层(Service) (43)
7.4数据模型(Model) (44)
8、教职工管理 (44)
8。
1展现层(View)(见用户手册) (44)
8.2控制层(Controller) (44)
8.3业务逻辑层(Service) (47)
8。
4数据模型(Model) (48)
一、概述
1.编写目的
本文挡提供给开发人员进行开发参考,以及测试人员编写单元测试所用。
2.项目背景
系统名称:高校教职工工作业绩管理系统
开发者:西安通瀛软件项目开发小组
详细设计的原则和方法:项目整体结构清晰,按照概要设计的结构来进行详细设计。
系统详细设计后容易扩展,降低对其他模块的耦合性。
详细设计要做到可操作性,使读者能清楚所要实现的功能,以及如果去实现。
粒度设计到方法.不具体设计到方法内的伪代码。
3.术语和缩写
术语
4.参考资料
二、软件模块标识
三、所有模块管理
公共数据访问层(DAO)
功能描述:所有数据访问公用,为业务逻辑提供和数据库进行交互的通用模块。
设计:采用Hibernate模板封装BaseDaoImpl实现了通用的数据库访问接口.
公共接口Dao定义了各个模块要和数据交互的通用方法,定义如下:
public interface DAO〈E〉{
public void save(E Model);//保存对象
public void update(E Model); //更新对象
public void merge(E Model); //更新对象
public void saveOrUpdate(E Model);//保存或者修改对象
public void delete(E Model);//删除对象
public E findById(Serializable id);//根据标识查找对象
public void deleteById(Serializable id);//根据标识删除对象
public List〈E〉list(); //获取所有的对象
public List<E〉list(int offset,int pageSize); //分页显示所有的对象
public List〈E> findByExample(E exampleModel);//根据实体查找对象
public List<E〉findByCriteria(DetachedCriteria criteria); //使用标准查询查找实体集合
public List〈E〉findByQuery(String Hql);//使用hql语句查找对象
}
Dao接口的实现类BaseDaoImpl通过泛型反射可实现各个模块的数据库操作。
定义如下:
public class BaseDaoImpl〈E> extends HibernateDaoSupport implements DAO<E〉(实现见具体的代码实现)
1、系统权限管理1。
1展现层(View)1。
1。
1模块
单击添加模块信息:
1.1。
2角色
点击给角色授权:(要求选中顶级模块的复选框权限时自动选中其二级模块的复选框)
1.1。
3用户
创建账户界面:
分配角色界面:
1.2控制层(Controller)
1。
2。
1模块
功能描述:对模块管理流程进行控制
模块编号:1。
3
模块名称:模块管理
实现:增加模块信息及模块修改、删除及查询的流程处理
包名:cn。
rjtraining.action
模块类定义:public ModuleAction extends BaseAction implements ModelDriven 〈Module〉
成员属性:
private ModuleService moduleService
private Module module
方法:
public String add()//新增模块信息,并根据返回的字符串确定如何给用户响应数据。
public String update()//更新模块信息,并根据返回的字符串确定如何给用户响应数据.
public String list()//查询模块的信息,并根据返回的字符串确定如何给用户响应数据。
public String delete()//删除模块的信息,并根据返回的字符串确定如何给用户响应数据。
1.2.2角色
功能描述:对角色管理流程进行控制
模块编号:1.2
模块名称:角色管理
实现:添加角色信息和角色的修改、删除及查询的流程处理
包名:cn.rjtraining。
action
模块类定义:public RoleAction extends BaseAction implements ModelDriven<Role>
成员属性:
private RoleService roleService
private Role role
方法:
public String add()//新增角色信息,并根据返回的字符串确定如何给用户响应数据.
public String update()//修改角色信息,并根据返回的字符串确定如何给用户响应数据。
public String list()//查询角色的信息,并根据返回的字符串确定如何给用户响应数据。
public String delete()//删除角色的信息,并根据返回的字符串确定如何给用户响应数据。
1。
2.3用户
功能描述:对用户管理流程进行控制
模块编号:1.1
模块名称:用户管理
实现:给教职工分配用户信息、并给用户分配角色、启用或禁用、删除及查询的流程处理
包名:cn.rjtraining。
action
模块类定义:public UserAction extends BaseAction implements ModelDriven 〈User〉
成员属性:
private UserService userService
private User user
方法:
public String add()//对教职工分配账户,并根据返回的字符串确定如何给用户响应数据.
public String update()//修改账户信息,并根据返回的字符串确定如何给用户响应数据。
public String list()//查询账户的信息,并根据返回的字符串确定如何给用户响应数据.
public String delete()//删除账户的信息,并根据返回的字符串确定如何给用户响应数据.
1。
3业务逻辑层(Service)
1.3。
1模块
功能描述:对模块管理的业务逻辑的处理
模块编号:1.3
模块名称:模块管理
实现:对模块基本信息的增加,修改,查询
包名:cn。
rjtraining。
service
模块类定义:
public ModuleServiceImpl extends BaseDaoImpl<Module〉implements ModuleService
成员属性:无
方法:(继承下来)
1。
3。
2角色
功能描述:对角色管理的业务逻辑的处理
模块编号:1.2
模块名称:角色管理
实现:对角色基本信息的增加,修改,查询,删除
包名:cn.rjtraining.service
模块类定义:
public RoleImpl extends BaseDaoImpl<Role> implementsRoleService
成员属性:无
方法:(继承下来)
1。
3.3用户
功能描述:对用户管理的业务逻辑的处理
模块编号:1。
1
模块名称:用户管理
实现:给教职工分配用户,及用户基本信息的修改,删除和查询
包名:cn.rjtraining。
service
模块类定义:
public UserImpl extends BaseDaoImpl〈User〉implementsUserService 成员属性:无
方法:(继承下来)
1。
4数据模型(Model)
见数据库设计
2、班级管理
2。
1展现层(View)
2.1.1培训班类型
创建培训班类型页面:
培训班类型管理页面
2。
1.2班级
创建班级页面
班级管理页面(见用户手册)班级统计页面(略)
2。
2控制层(Controller)
2。
2。
1培训班类型
功能描述:对创建培训班类型及培训班类型管理流程进行控制
模块编号:2。
1和2.2
模块名称:创建培训班类型和培训班类型管理
实现:对培训班类型基本信息的增加,修改,查询
包名:cn。
rjtraining。
action
模块类定义:public ClassesTypeAction extends BaseAction implements ModelDriven<ClassesType〉
成员属性:
private ClassesTypeService classesTypeService
private ClassesType classesType
方法:
public String addInput()//跳转到添加班级类型界面
public String updateInput()//跳转到修改班级类型界面
public String add()//实现对培训班类型的创建,并根据返回的字符串确定如何给用户响应数据。
public String update()//培训班类型信息的更新,并根据返回的字符串确定如何给用户响应数据。
public String list()//查询培训班类型的信息,并根据返回的字符串确定如何给用户响应数据。
public String findByName()//查询指定名称的培训班类型信息,并根据返回的字符
串确定如何给用户响应数据。
2.2.2班级
功能描述:对开班及班级管理和班级统计功能进行流程控制
模块编号:2。
3、2.4和2.5
模块名称:开班、班级管理和班级统计
实现:对培训班类型基本信息的增加,修改,查询
包名:cn.rjtraining。
action
模块类定义:public ClassesAction extends BaseAction implements ModelDriven<Classes〉
成员属性:
private ClassesService classesService
private Classes classes
方法:
public String addInput()
public String updateInput()
public String add()//开班信息存储,并根据返回的字符串确定如何给用户响应数据.
public String update()//班级信息的更新,并根据返回的字符串确定如何给用户响应数据。
public String list()//查询班级信息,并根据返回的字符串确定如何给用户响应数据。
public String statistics() //根据给定的条件统计班级信息
2.3业务逻辑层(Service)
2。
3。
1培训班类型
功能描述:对创建培训班和培训班管理的业务逻辑的处理
模块编号:2。
1和2。
2
模块名称:创建培训班类型和培训班类型管理
实现:对培训班类型基本信息的增加,修改,查询
包名:cn.rjtraining.service
模块类定义:
public ClassesTypeServiceImpl extends BaseDaoImpl<ClassesType〉implements ClassesTypeService
成员属性:无
方法:(继承下来)
2.3.2班级
功能描述:对开班和班级管理业务逻辑的处理
模块编号:2.3、2.4、2.5
模块名称:开班、班级管理、班级统计
实现:对班级基本信息的增加,修改,查询
包名:cn。
rjtraining.service
模块类定义:
public ClassesServiceImpl extends BaseDaoImpl〈Classes> implements ClassesService
成员属性:无
方法:(继承下来)
2。
4数据模型(Model)(略)
3、学藉管理
3。
1展现层(View) 添加页面
学生管理页面:
3。
2控制层(Controller)
功能描述:对添加学生和学生信息管理流程进行控制
模块编号:3.1和3.2
模块名称:添加学生和学生信息管理
实现:对对学生信息的增加,修改,查询
包名:cn。
rjtraining.action
模块类定义:public StudentAction extends BaseAction implements ModelDriven< Student>
成员属性:
private StudentService studentService;
private Student student;
方法:
public String addInput()//跳转至添加学生界面。
public String updateInput()//跳转至修改学生界面
public String add()//实现学生信息的添加,并根据返回的字符串确定如何给用户响应数据。
public String update()//对学生信息的更新,并根据返回的字符串确定如何给用户响应数据。
public String list()//查询学生的信息,并根据返回的字符串确定如何给用户响应数据。
public String findByIdORName()//查询满足条件的学生集合,并根据返回的字符串确定如何给用户响应数据。
public String existNO() //查询对应得学号是否存在,并根据返回的字符串确定如何给用户响应数据.
3.3业务逻辑层(Service)
功能描述:对添加学生和学生信息管理的业务逻辑的处理
模块编号:3。
1和3。
2
模块名称:添加学生和学生信息管理
实现:添加学生和学生信息的增加,修改,查询
包名:cn.rjtraining.service
模块类定义:
public StudentServiceImpl extends BaseDaoImpl〈Student〉implements StudentService
成员属性:无
方法:(继承下来)
3.4数据模型(Model)(略)
4、成绩管理
4。
1展现层(View)(见用户手册)
4。
2控制层(Controller)
功能描述:对成绩录入和成绩的查询、统计进行管理流程的控制
模块编号:4.1 、4.2、4.3
模块名称:学员成绩录入、学员成绩查询、学员成绩统计
实现:对学员成绩进行录入、查询、和一些日常统计
包名:cn.rjtraining.action
模块类定义:
public ScoreAction extends BaseAction implements ModelDriven<ClassesType>
成员属性:
private ScoreService scoreService;// 业务逻辑层service
private Score score; //成绩表类
方法:
public String listAll();//通过该方法查询学生信息及分数(其中包括/学号、姓名、班级、课程、时间、成绩,任课老师)信息,根据返回字符串的来确定我们具体需要跳转的页面
public String findByStudent();//通过该方法查询指定学生的所有成绩
public String update();//通过该方法来更新成绩表,通过返回的字符串来确定用户所需要的信息
public String statistics()://通过该方法来显示统计界面,处理显示信息表,同时获得相关的统计数据和图表
4。
3业务逻辑层(Service)
功能描述:对创建的成绩统计模块的业务流程进行处理
模块编号:4。
1、4。
2和4.3
模块名称:创建学生成绩表和对学生的成绩进行统计
实现:对成绩管理模块进行增加成绩、查询成绩、统计程序管理
包名:cn。
rjtraining。
service
模块类定义:public ScoreServiceImp extends BaseDaoImp implement ScoreService
成员属性:无
方法:
public Object getScoreChart();//该方法通过statistics()方法获得的数据生成图表
4。
4数据模型(Model)
5、考勤管理
5.1展现层(View)
5.1.1学生点名
5。
1。
2教职工考勤
[教职工编号,…,]▽|________|到|________|【查询】
共450条记录,45页首页<<123456789〉〉尾页跳转到[2 ]页
5.2控制层(Controller)
5。
2.1学生考勤及教职工考勤
功能描述:对学生点名的管理
模块编号:5。
1
模块名称:学生点名
实现:对学生进行点名,查询
包名:cn.rjtraining.action
模块类定义:
public StudentRollcallAction extends BaseAction implements ModelDriven 〈Rollcall>
成员属性:
private StudentRollcallService studentRollcallService
private Rollcall rollcall
方法:
public String addOrUpdate()//实现对学生点名的存储,已经存在该信息就更新
public String list()//查询当前班级的所有学生信息
功能描述:对学生请假管理的流程处理
模块编号:5.2
模块名称:学生请假管理
实现:对学生的请假信息的添加,查询,批准的操作
包名:cn。
rjtraining.action
模块类定义:
public StudentAbsenceAction extends BaseAction implements ModelDriven 〈Absence>
成员属性:
private StudentAbsence studentAbsence
private Absence absence
方法:
Pubic String addInput()//跳转到请假条填写页面
public String add()//添加请假条信息
public String list()//默认查询所有无状态的请假条
public String update()//修改假条的方法(就是批准或不批准假条)
public String findByAbsenceId()// 查询指定的请假条具体信息
功能描述:对学生考勤统计
模块编号:5.3
模块名称:学生考勤统计
实现:对学生的考勤信息的统计
包名:cn.rjtraining.action
模块类定义:public StudentStatisticAction extends BaseAction implements
成员属性:
private StudentStatisticService studentStatisticService
方法:
public String statisticsAbsence()//根据指定的条件统计学生的请假信息
public String statisticsRollcall()//根据指定的条件统计学生的到课情况
功能描述:老师考勤统计。
模块编号:5.5
模块名称:教职工考勤统计
实现:对老师考勤统计
包名:cn。
rjtraining。
action
模块类定义:
public TeacherStatisticAction extends BaseAction implements ModelDriven<Signed>
成员属性:
private TeacherStatisticService TeacherStatisticService
方法:
public Strng findByTime()//查询指定时间段的教职工出勤情况
5.3业务逻辑层(Service)
5.3。
1学生考勤及教职工考勤
(略)名称:StudentRollcallService
处理接口:添加学生的签到信息,制定学生的签到时间为系统服务器端(数据库)的时间,
在添加的时候,如果签到时间在8:00—12:00之间,则将其签到状态设为am,如果签到时间在13:00—20:00之间,则将其签到状态设为pm,指定上午和下午的签退时间分别是:上午的签退时间是在11:00以后;而下午的签退时间实在17:00以后,最晚签退时间为晚上20:00。
模块名称:StudentAbsenceService
功能:学生请假
接口实现:添加一条学生的请假信息,请假时间和结束时间均以天为计数单位,学生请假以后,在请假时间段内不能签到和签退
接口实现:使用save方法保存一个StudentAbsenceService实体,请假时必须填写所有的请假项目
5。
4数据模型(Model)
(见数据库设计)
6、课程管理
6.1展现层(View)
添加课程界面:
课程管理(见用户手册)
6。
2控制层(Controller)
功能描述:对添加课程及课程管理的流程进行控制
模块编号:6.1和6.2
模块名称:添加课程和课程管理
实现:对课程信息的增加,修改,查询
包名:cn.rjtraining.action
模块类定义:
public CourseAction extends BaseAction implements ModelDriven〈Course> 成员属性:
private CourseService courseService;
private Course course;
方法:
public String add();//实现对课程信息的添加,并根据返回的字符串确定如何给用户响应数据.
public String update();//实现对课程信息的更新,并根据返回的字符串确定如何给用户响应数据。
public String list();实现对课程信息的查询,并根据返回的字符串确定如何给用户响应数据.
6。
3业务逻辑层(Service)
功能描述:对添加课程和课程管理的业务逻辑的处理
模块编号:6。
1和6.2
模块名称:添加课程和课程管理
实现:对课程信息的增加,修改,查询
包名:cn。
rjtraining。
service
模块定义:
public CourseServiceImpl extends BaseDaoImpl<Course> implements CourseService
成员属性:
private CourseService courseService;
private Course course;
方法:
6.4数据模型(Model)
(见数据库设计)
7、部门管理
7。
1展现层(View)
添加页面
部门管理界面(见用户手册)
7。
2控制层(Controller)
功能描述:对部门基本信息进行管理
模块编号:7。
1 ,7。
2
模块功能:对部门的基本信息的操作和维护,包括:增加部门基本信息,修改部门的基本信息,查询部门的基本信息,删除部门
包名:cn。
rjtraining。
action
模块类定义:
public DeptAction extends BaseAction implements ModelDriven<Dept>
成员属性:
private DeptService DeptService
private Dept dept
方法:
public String add()//添加部门信息,并根据返回的字符串确定如何给用户响应数据. public String update()//对部门信息的更新,并根据返回的字符串确定如何给用户响应数据.
public String list()//查询所有的部门信息,并根据返回的字符串确定如何给用户响应数据.
7。
3业务逻辑层(Service)
功能描述:对部门相关的业务逻辑的处理
模块编号:7.1 ,7.2
模块名称:部门添加和部门管理
实现:对部门信息的增加,修改,查询
包名:cn。
rjtraining.service
模块类定义:
public DeptServiceImpl extends BaseDaoImpl〈Dept> implements ClassesTypeService
成员属性:无
方法:
7.4数据模型(Model)
(见数据库设计)
8、教职工管理
8.1展现层(View) (见用户手册)
8.2控制层(Controller)
功能描述:对员工基本信息进行管理
模块功能:对员工的基本信息的操作和维护,包括:增加员工基本信息,修改员工的基本信息,查询员工的基本信息,删除员工
功能描述:对添加教职工和教职工信息管理流程进行控制
模块编号:8。
1和8.2
模块名称:添加教职工和教职工信息管理
实现:对教职工信息的增加,修改,查询
包名:cn。
rjtraining.action
模块类定义:
public TeacherAction extends BaseAction implements ModelDriven 〈Teacher>
成员属性:
private TeacherService teacherService;
private Teacher teacher ;
方法:
public String addInput()//跳转至添加教职工界面。
public String UpdateInput()//跳转至修改教职工界面
public String add()//实现教职工信息的添加,并根据返回的字符串确定如何给用户响应数据。
public String find()//查询某一个教职工的具体信息
public String update()//对教职工信息的更新,并根据返回的字符串确定如何给用户响应数据。
public String list()//查询教职工的信息,并根据返回的字符串确定如何给用户响应数据。
public String findByIdORName()//查询满足条件的教职工集合,并根据返回的字符串确定如何给用户响应数据。
public String existNO()//查询对应得职工编号是否存在,并根据返回的字符串确定如何给用户响应数据。
-——-—-————-—-—---—-——-—-—-—-——--—----——---—-———-———----—-———---—--—-—-—-—-—-—--—————-—
功能描述:对教职工评价信息管理的流程进行控制
模块编号:8.3
模块名称:教职工评价信息统计
实现:对教职工评价信息的增加,查询
包名:cn.rjtraining。
action
模块类定义:
public EvaluateAction extends BaseAction implements ModelDriven< Evaluate〉
成员属性:
Private EvaluateService evaluateService;
Private Evaluate evaluate;
方法:
public String addInput()//跳转至评价教职工界面.
public String add()//对教职工评价信息的添加,并根据返回的字符串确定如何给用户响应数据。
public String listTeacherEvaluate()//查询所有被评价过的教职工的评价信息,并根据返回的字符串确定如何给用户响应数据。
public String findByIdORName()//查询满足条件所有被评价过的教职工的评价信息,并根据返回的字符串确定如何给用户响应数据。
public String findByTeacherID()//查询指定教职工的所有评价信息,并根据返回的字符串确定如何给用户响应数据。
8.3业务逻辑层(Service)
功能描述:对添加教职工和教职工信息管理的业务逻辑的处理
模块编号:8.1和8.2
模块名称:添加教职工和教职工信息管理
实现:添加教职工和教职工信息的增加,修改,查询
包名:cn。
rjtraining。
service
模块类定义:
public TeacherServiceImpl extends BaseDaoImpl<Teacher> implements TeacherService
成员属性:无
方法:
无
功能描述:对教职工评价信息的业务逻辑的处理
模块编号:8。
3
模块名称:教职工评价信息统计
实现:教职工评价信息增加,修改,统计
包名:cn.rjtraining。
service
模块类定义:
public TeacherServiceImpl extends BaseDaoImpl〈Teacher> implements TeacherService
成员属性:无
方法:
public List〈evaluate> evaluatetCount(List〈evaluate>);//对查询出的所有评价信息统计
8。
4数据模型(Model)
(见数据库设计)。