网上家教预约系统课程设计.docx

上传人:b****5 文档编号:7679085 上传时间:2023-01-25 格式:DOCX 页数:23 大小:635.19KB
下载 相关 举报
网上家教预约系统课程设计.docx_第1页
第1页 / 共23页
网上家教预约系统课程设计.docx_第2页
第2页 / 共23页
网上家教预约系统课程设计.docx_第3页
第3页 / 共23页
网上家教预约系统课程设计.docx_第4页
第4页 / 共23页
网上家教预约系统课程设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

网上家教预约系统课程设计.docx

《网上家教预约系统课程设计.docx》由会员分享,可在线阅读,更多相关《网上家教预约系统课程设计.docx(23页珍藏版)》请在冰豆网上搜索。

网上家教预约系统课程设计.docx

网上家教预约系统课程设计

课程设计

 

课程名称:

信息系统开发方法与建模

题目:

家教预约服务系统

院(系):

专业班级:

姓名:

学号:

指导教师:

2012年6月12日

西安建筑科技大学课程设计(论文)任务书

专业班级:

学生姓名:

指导教师(签名):

一、课程设计(论文)题目

家教预约服务系统

二、本次课程设计(论文)应达到的目的

1.针对一个实际系统的开发,使学生深刻理解和掌握管理信息系统系统分析、系统设计和系统实施的理论和方法;

2.巩固和加深理解所学编程语言、开发工具,提高综合应用能力;掌握系统UML建模、界面设计、数据库设计、程序代码设计,提高实践能力;

3.初步了解学术研究的基本方法与步骤,并通过设计报告(论文)的撰写,了解学术报告(论文)的写作方法。

三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)

1、设计内容:

根据现行家教服务的实际情况,开发一套符合需求的家教预约服务系统,将所有家教资源信息发布于网站,使学员能够便捷的找到合适的家教资源。

2、设计过程:

按照系统设计目的、系统需求、系统功能分析与设计、用户界面设计、源程序设计、使用说明等环节整理课程设计的成果,形成设计报告,设计报告应包括的内容:

(1)系统需求分析:

需求描述、系统UML主要用例、主要类图、主要活动图、状态及部署图(如果必要)、业务流程图、数据流图、数据字典附必要的文字说明

(2)系统设计:

功能结构设计、I/O设计、代码设计、界面设计、数据库设计、网络环境。

撰写设计总结报告。

3、设计成果提交:

A.设计报告;B.源程序。

报告要符合学校格式规范要求。

四、应收集的资料及主要参考文献:

[1]覃钊璇,曾一,柴艳欣,等.基于UML活动图的多态性测试用例生成[J].计算机工程,2010

[2]李留英,王戟,齐治昌.UMLstatecharts的测试用例生成方法[J].2011,

[3]RobertVB.面向对象系统的测试[M].华庆一,王斌君,陈莉,译.

五、审核批准意见

 

教研室主任(签字)

目录

1系统概述3

1.1需求描述3

1.2可行性分析3

2系统模型5

2.1系统类图5

2.2系统对象图5

2.3系统用例图6

2.4系统时序图8

2.5系统协作图8

2.6系统活动图9

3系统分析10

3.1功能需求分析10

3.2.系统流程分析10

4系统实现12

4.1搭建开发环境12

4.2界面设计14

4.3数据库设计16

4.4功能实现18

5.总结25

参考文献26

设计总说明

随着信息技术与网络的普及,高校对勤工俭学的大力支持,开发一个高校家教服务平台迫在眉睫,本系统采用“自上而下总体规划,自下而上应用开发”的策略开发高校家教服务系统,前台应用JSP技术开发界面,后台选取MySQL为数据库管理系统,以Hibernate技术实现对后台数据的访问。

本系统采用B/S架构模式,采用Java语言和Struts2+Hibernate+Spring(即SSH2)集成框架技术搭建开发平台,整个系统分成了三层:

即表示层、中间层、持久层。

使得系统具有较好的移植性和扩展性能。

本系统主要功能有公共模块和注册用户模块。

公共模块为广大用户提供大量的家教信息资源,并设置了强大而全面的搜索功能,使得用户更容易找到适合自己的资源信息。

系统界面友好,操作简单。

关键字:

家教;jsp;MySQL;B/S;SSH2

1系统概述

1.1需求描述

根据网络家教服务系统的实际情况,该系统需求的主要功能包括:

公共模块和用户模块两大模块。

1、公共模块:

为广大用户提供大量的家教资源信息,同时,该系统设置了全方位的查询功能,用户不用登陆,直接就能进入本站,通过多条件的筛选,就能方便的得到适合自己的信息资源。

2、用户模块:

用户通过简单地注册,就能获得自己的账户,通过登陆,就能进入到个人的主界面。

主界面有以下主要功能:

(1)查看个人信息

(2)修改个人信息

(3)填写个人简历进行信息的发布

(4)可申请一个或多个职位

(5)账户管理,可修改个人的密码,可注销该账户

1.2可行性分析

1.2.1技术可行性

随着社会的不断发展,家教服务系统也日益成为一个复杂的管理系统。

而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统,其基本操作还是对存在数据库进行添加、删除、修改等。

所以就单纯的数据库应用来看,暂时不存在太大的技术问题。

本系统采用B/S架构模式,采用Java语言和Struts2+Hibernate+Spring(即SSH2)集成框架技术搭建开发平台,整个系统分成了三层:

即表示层、中间层、持久层。

使得系统具有较好的移植性和扩展性能。

本系统主要功能有公共模块和注册用户模块。

公共模块为广大用户提供大量的家教信息资源,并设置了强大而全面的搜索功能,使得用户更容易找到适合自己的资源信息。

系统界面友好,操作简单。

1.2.2经济可行性

主要表现有以下几个方面:

第一,本系统可以代替人工重复性劳动,从而节省人力财力资源;

第二,本系统可以异地操作简单化,大大提高工作效率和质量;

第三,本系统可以为营运成本计划提供辅助决策性信息。

2系统模型

2.1系统类图

1、根据对家教服务基本情况的调查,本家教服务系统由公共模块和用户模块两方面组成的。

因此,可设计出以下类图:

图2.1系统类图

2.2系统对象图

根据上述类图,直接画出本系统的对象图

 

图2.2系统对象图

2.3系统用例图

在前期课业项目工作的基础上,根据项目业务需要,撰写项目的需求特性列表

(1)根据家教预约服务系统的需求分析和业务需求的分析,项目需求列表如下表所示:

表2.1项目需求列表

编号

说明

FEAT01

查询家教资源信息

FEAT02

注册用户

FEAT03

登录本系统

FEAT04

查看个人信息

FEAT05

查看个人简历

FEAT06

修改个人简历

FEAT07

修改密码

FEAT08

注销账户

(2)本系统涉及到的用户只有两类,及学员和教员,因此,可以抽象出两个个用例,具体的用例图如下所示:

图2.3系统用例图

2.4系统时序图

本系统的主要流程就是教师用户,其流程为:

注册-填写个人信息-进入主界面-填写简历-申请职位。

因此,该系统的时序图如下图所示。

图2.4系统时序图

2.5系统协作图

通过时序图可以画出该流程的协作图:

图2.5系统协作图

 

2.6系统活动图

本系统中,教师用户注册的活动图如下所示:

图2.6系统活动图

 

3系统分析

3.1功能需求分析

通过对用户需求的分析,本系统的功能主要教员管理和学员管理。

各个功能的具体描述如下:

1、教员管理的功能主要有:

学员查询、教员注册、教员登录、查看个人信息、修改个人信息、填写简历、修改简历、修改密码等功能设置。

2、学员管理的主要功能是:

查询家教资源信息。

3.2.系统流程分析

1、本系统的主要流程是教员操作,教员的操作如下:

(1)填写注册信息

(2)用户自己的账户

(3)登录系统

(4)查看个人信息

(5)修改个人信息

(6)填写个人简历

(7)查看个人简历

(8)修改个人简历

(9)修改密码

(10)注销账户

因此,教员操作流程图如下:

图3.1系统流程图

4系统实现

4.1搭建开发环境

4.1.1页面开发技术

页面开发技术采用JSP,所有的页面文件都是jsp文件。

如下图所示:

图4.1页面文件

4.1.2核心开发技术

采用Struts2.3+Hibernate3.3+Spring2.5集成框架;如下图所示:

图4.2核心开发包

 

该集成框架中共有3类配置文件,分别为Spring的配置文件,Struts的配置文件如上图所示,还有web.xml配置文件以及三大框架所用到的部分jar包如下图所示:

图4.3核心jar

4.1.3服务器技术

本系统采用的服务器为Tomcat7.0.26版本:

图4.4在myeclipse中部署服务器

4.1.4数据库

本系统采用MySQL数据库,其数据源的配置如下:

图4.4Mysql的数据源配置

4.2界面设计

4.2.1用户注册界面

图4.5系统注册界面

4.2.2用户登录界面

当用户注册成功之后,会拥有自己的用户名和密码,然后进行登录,如下图所示:

图4.6用户登录界面

4.2.3用户主界面

图4.7用户主界面

4.2.4用户系统菜单

图4.8用户系统菜单

4.3数据库设计

1、建立数据库模型如下图所示

图4.9数据库模型

2、建立表结构如下:

tb_user

tb_teacher

tb_profile

tb_city

4.4功能实现

4.4.1用户注册功能

(1)填写注册信息

(2)注册成功提示

(3)部分实现代码

/**

*添加新用户

*@return

*/

publicStringadd(){

Stringrealpath=ServletActionContext.getServletContext().getRealPath("/images");

Filefile=newFile(realpath);

if(!

file.exists())file.mkdirs();

try{

FileUtils.copyFile(uploadFile,newFile(file,this.uploadFileFileName));

}catch(IOExceptione){

e.printStackTrace();

}

teacher.setPic(uploadFileFileName);

booleanret=userServiceImpl.save(user,teacher,prov,region,clgsName);

if(ret){

ActionContextctx=ActionContext.getContext();

ctx.getSession().put("user",user.getUsername());

return"add";

}

return"error";

}

4.4.2用户登录功能

(1)登录系统

(2)登录成功

(3)部分实现代码

publicStringlogin(){

Stringusername=user.getUsername();

Stringpassword=user.getPassword();

Stringpwd=userServiceImpl.getPassword(username);

if(pwd!

=null&&pwd.equals(password)){

ActionContextctx=ActionContext.getContext();

ctx.getSession().put("user",username);

return"jump";

}

return"error";

}

4.4.3查询家教资源功能

(1)选择筛选条件

(2)显示查询结果

(3)部分实现代码

publicListqueryTeachersByScroll(Stringprovince,intregion,

intpageSize,intpageNow){

Stringhql=null;

if(region==0){

hql="fromTeacherwhereprov.name='"+province+"'";

}else{

hql="fromTeacherwhereregion.id="+region+"";

}

Queryquery=sessionFactory.getCurrentSession().createQuery(hql);

query.setFirstResult(pageSize*(pageNow-1));

query.setMaxResults(pageSize);

Listteachers=query.list();

returnteachers;

}

4.4.4查询个人信息功能

(1)个人信息显示

(2)部分实现代码

publicStringquery(){

ActionContextctx=ActionContext.getContext();

Stringuser=(String)ctx.getSession().get("user");

ctx.put("teacher",userServiceImpl.getTeacher(user));

return"teacher";

}

4.4.5修改密码功能

(1)修改界面

(2)修改成功

(3)部分实现代码

publicStringmodify(){

Stringusername=(String)Struts2Utils.getSession().get("user");

Stringpass=userServiceImpl.getPassword(username);

if(pass.equals(user.getPassword())){

booleanret=userServiceImpl.updatePassword(username,newPassword);

if(ret){

Struts2Utils.getSession().remove("user");

return"modify";

}

}

return"modifyerr";

}

4.4.6注销用户账户功能

(1)注销提示

(2)部分实现代码

publicStringcancel(){

Stringusername=(String)Struts2Utils.getSession().get("user");

Stringpass=userServiceImpl.getPassword(username);

if(pass.equals(user.getPassword())){

booleanret=userServiceImpl.cancelUser(username);

if(ret){

Struts2Utils.getSession().remove("user");

return"cancel";

}

}

return"error";

}

 

5.总结

本系统采用Struts2.3+Hibernate3+Spring2.5集成框架开发而成,在开发业务的时候,遇到了许多技术层面的问题,有些BUG很明显,很快就能修正;但有些BUG就不是那么明显了,让人无从下手,需要花费很大的心思才能发现问题所在,才能准确定位错误。

经过重重艰难,这个系统终于全部实现了,最重要的是让我对三大框架技术有了一个更深的认识,积累了许多开发经验。

在开发业务过程中还有一个很重要的收获就是学会了一门新技术,那就是AJAX,这个技术我之前学过,但没有自己实际操作过,这次通过实现一个下拉联动功能,让我学会了如何去使用这项技术。

总之,本次课程设计给予了我很大的收获。

从中学到了课本上没有的知识和技能。

或许,以后还会遇到更大的困难,但我依然信心百倍。

参考文献

[1]王先国.UML统一建模实用教程.清华大学出版社,2011.

[2]徐锋.UML面向对象建模基础.中国水利水电出版社,2010.

[3]邱郁惠.UML和OOAD快速入门.机械工业出版社,2010.

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

当前位置:首页 > 工程科技 > 电子电路

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

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