学员管理系统详细分析文档.docx

上传人:b****2 文档编号:2207023 上传时间:2022-10-27 格式:DOCX 页数:27 大小:1.81MB
下载 相关 举报
学员管理系统详细分析文档.docx_第1页
第1页 / 共27页
学员管理系统详细分析文档.docx_第2页
第2页 / 共27页
学员管理系统详细分析文档.docx_第3页
第3页 / 共27页
学员管理系统详细分析文档.docx_第4页
第4页 / 共27页
学员管理系统详细分析文档.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

学员管理系统详细分析文档.docx

《学员管理系统详细分析文档.docx》由会员分享,可在线阅读,更多相关《学员管理系统详细分析文档.docx(27页珍藏版)》请在冰豆网上搜索。

学员管理系统详细分析文档.docx

学员管理系统详细分析文档

学员管理系统项目需求文档

第一部分需求描述

1.1需求描述:

为将教务从繁琐、无序、低端的工作中解放出来,处理更有价值、更重要的事务,整体提高教务办事效率和对学员信息的可控性,使学员管理趋于完善,提高执行力,特开放此套学员管理系统。

现在要开发一套学员管理系统,要求如下:

1)管理员登录以及验证;

2)管理课程,实现添加、删除、批量删除、修改、查询以及分页;

3)管理班级,实现添加、删除、批量删除、修改、查询以及分页;

4)管理教师,实现添加、删除、批量删除、修改、查询以及分页。

第二部分开发环境

WindowXp;MyEclipse5.5.1GA;MySql5.0;tomcat6.0

第三部分技能点描述

(1)会使用Ext+Spring+Hibernate+Struts搭建框架;

(2)会使用Mysql数据库操作数据;

(3)会使用Visio进行需求分析;

(4)会使用Hibernate对关系型数据库进行持久化操作;

(5)会使用Struts进行前台页面交互;

(6)会使用Sring作为控制层

(7)会使用Ext开发富客户端。

第四部分概要设计

4.1功能清单

标号(Ref#)

功能

R1.1

用户登录

R1.2

查询课程

R1.3

修改课程

R1.4

添加课程

R1.5

查询班级

R1.6

修改班级

R1.7

添加班级

R1.8

查询教师

R1.9

修改教师

R1.10

添加教师

4.2功能详细说明

(1)用户登录

用户登录界面,如图1.1所示:

图1.1用户登录

用户登录验证,如图1.2所示:

图1.2用户登录验证

(2)管理课程

查询所有课程,如图1.3所示:

图1.3查询所有课程

分页显示,如图1.4所示:

图1.4课程分页显示

修改课程名称,如图1.5所示:

图1.5修改课程名称

修改是否已选,如图1.6所示:

图1.6修改是否已选

删除课程,如图1.7所示:

图1.7删除课程

批量删除课程,如图1.8所示:

图1.8批量删除课程

添加课程,如图1.9所示:

图1.9添加课程

(3)管理班级

分页查询班级,如图1.10所示:

图1.10分页查询班级

修改班级,如图1.11所示:

图1.11修改班级

删除(或批量删除)班级,如图1.12所示:

图1.12删除班级

添加班级,如图1.13所示:

图1.13添加班级

(4)管理教师

分页查询教师,如图1.14所示:

图1.14分页查询教师

修改教师,如图1.15所示:

图1.15修改教师

删除(或批量删除)教师,如图1.16所示:

图1.16删除教师

添加教师,如图1.17所示:

图1.17添加教师

4.3系统数据库设计

根据需求设计业务数据库表。

如表1.1:

表1.1SCCE协同工作平台系统业务表设计

Name

Code

账号表

ACCOUNT

课程表

COURSE

班级表

TEAMS

教师表

TEACHER

各表明细如下:

账号表

Name

Code

用户ID

USER_ID

用户名称

USER_NAME

用户密码

PASSWORD

用户性别

SEX

EMAIL

EMAIL

注册时间

REG_DATE

用户组

GRADE

课程表

Name

Code

编号

COURSE_ID

课程名称

COURSE_NAME

是否选择

CHOICES

班级表:

Name

Code

班级ID

TEAM_ID

专业

SPECIALTY

班级名称

TEAM_NAME

老师名称

TEACHER_NAME

老师编号

TEACHER_NUM

教师表:

Name

Code

教师ID

TEACHER_ID

教师编号

TEACHER_NO

教师姓名

TEACHER_NAME

教师性别

SEX

出生日期

TEACHER_DATE

职称

TEACHER_LEVEL

学历

TEACHER_GRADE

工龄

TEACHER_LOS

第五部分实现步骤

(1)建立数据库;

数据库见数据库设计

(2)搭建SSH工程,添加Ext支持

(3)编写基类BaseDAO,代码如下:

publicclassBaseDAOextendsHibernateDaoSupport{

//实体对象全路径名称,包括包名

privateStringpoName="";

//把实体对象增加或者修改同步到数据库

publicvoidsaveOrUpdate(BasePOpo){

getHibernateTemplate().saveOrUpdate(po);

}

//根据实体对象删除数据记录

publicvoiddelete(BasePOpo){

this.getHibernateTemplate().delete(po);

}

//根据主键ID删除数据记录

publicvoiddelete(Integerid){

BasePOpo=findById(id);

this.delete(po);

}

//根据主键ID值查找实体对象

publicBasePOfindById(Integerid){

if(id==null){

returnnull;

}

BasePOpo=null;

try{

po=(BasePO)this.getHibernateTemplate().get(poName,id);

}catch(Exceptione){

e.printStackTrace();

}

returnpo;

}

//查询对象的所有记录

publicListgetObjects(){

ListpoList=null;

try{

Stringhql="from"+poName;

poList=this.getHibernateTemplate().find(hql);

}catch(Exceptione){

e.printStackTrace();

}

returnpoList;

}

//HQL,多条件查询

publicListsearchByHQL(Stringhql,Object[]params){

Queryquery=this.getSession().createQuery(hql);

for(inti=0;i

query.setParameter(i,params[i]);

}

returnquery.list();

}

//HQL,单个条件查询

publicListsearchByHQL(Stringhql,Objectparam){

returnsearchByHQL(hql,newObject[]{param});

}

/**

*根据HQL进行分页查询,有一个参数或者没有参数的

*@paramhql

*@paramparas查询的参数

*@paramoffset当页的第一条记录是整个数据第几条数据

*@parampagesize每页显示的条数

*@return

*/

publicPageModelsearchByHQL(Stringhql,Objectparas,intoffset,intpageSize){

returnsearchByHQL(hql,newObject[]{paras},offset,pageSize);

}

/**

*根据HQL进行分页查询,有多个参数的

*@paramhql

*@paramparas查询的参数,用对象数组表示

*@paramoffset当页的第一条记录是整个数据第几条数据

*@parampagesize每页显示的条数

*@return

*/

publicPageModelsearchByHQL(Stringhql,Object[]paras,intoffset,intpageSize){

PageModelpm=newPageModel();

Sessionsession=this.getSession();//取得session

StringcountHQL=this.getCountQuery(hql);//获得记录总数HQL

Queryquery=session.createQuery(countHQL);

if(paras!

=null){

for(inti=0,j=paras.length;i

query.setParameter(i,paras[i]);

}

}

inttotal=((Long)query.uniqueResult()).intValue();

//获取当前的结果集

query=session.createQuery(hql);

if(paras!

=null){

for(inti=0,j=paras.length;i

query.setParameter(i,paras[i]);

}

}

query.setFirstResult(offset);

query.setMaxResults(pageSize);

Listdatas=query.list();

pm.setDatas(datas);//设置当页的数据集合

pm.setTotal(total);//设置总的记录

session.close();

returnpm;

}

//封装查询语句,对传入的HQL语句进行组装,封装查询所有记录的HQL

privateStringgetCountQuery(Stringhql){

Stringsql="";

intnum=hql.indexOf("from");

if(num!

=-1){

sql="selectcount(*)"+hql;

}

returnsql;

}

publicvoidsetPoName(StringpoName){

this.poName=poName;

}

}

(4)编写课程DAO(教师DAO,班级DAO略),代码如下:

publicclassCourseDAOextendsBaseDAO{

/**

*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1