课程设计报告.docx

上传人:b****8 文档编号:27875276 上传时间:2023-07-05 格式:DOCX 页数:21 大小:96.63KB
下载 相关 举报
课程设计报告.docx_第1页
第1页 / 共21页
课程设计报告.docx_第2页
第2页 / 共21页
课程设计报告.docx_第3页
第3页 / 共21页
课程设计报告.docx_第4页
第4页 / 共21页
课程设计报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

课程设计报告.docx

《课程设计报告.docx》由会员分享,可在线阅读,更多相关《课程设计报告.docx(21页珍藏版)》请在冰豆网上搜索。

课程设计报告.docx

课程设计报告

课程设计报告

一、课程设计任务

完成学生选课管理系统的开发

二、需求描述

本系统是一个WEB版的小型的学生成绩管理系统,在本系统中,开发了一个面向管理员平台,对管理员提供的服务有增加学生、删除学生和修改学生、查询学生的服务,还有对成绩、增加、删除、查询的管理。

三、系统总体设计

1.系统架构设计

(1)架构:

单机

(2)运行软件环境:

windows10、、Apache、eclipseee

(3)开发环境:

硬件平台:

CPU:

内存:

4gb以上

软件平台:

windows10、

操作系统:

Windows10

数据库:

开发工具:

Eclipseee

2.功能模块设计

各模块功能:

学生信息管理模块:

管理员用于添加和删除、修改、查询学生信息的模块。

成绩信息管理模块、用于对成绩的增加、删除、查询

3.数据库设计(概要设计...)

(1)E-R图

(2)关系模式

学生(学生学号,学生姓名,学生性别,所在班级,所在院系)

班级(班级号,教师姓名,班级名)

课程(课程号,课程名,学分)

选课(课程号,学生学号,课程名、成绩)

院系(院系号,院系名)

(3)数据库管理系统:

MYSQL

(4)数据库命名

test

(5)数据库表

students

主要用来保存学生信息

字段名

数据类型

长度

是否为空

是否主键

SID

Varchar

11

不为空

主键

SNAME

Varchar

255

GENTER

Varchar

255

SCLASS

Varchar

255

SCOLLEGEOF

Varchar

255

newclass(班级信息表)

主要用来保存学生信息。

字段名

数据类型

长度

主键否

是否为空

描述

NEWCLASSID

Varchar

255

主键

不为空

班级编号

NEWCLASSNAME

Varchar

255

班级名称

courses(课程信息表)

用来储存教师的基本信息

字段名

数据类型

长度

主键否

是否为空

描述

COURSEID

Varchar

255

主键

不为空

课程编号

COURDENAME

Varchar

255

课程名字

collegeof(院系信息表)

字段名

数据类型

长度

主键否

是否为空

描述

COLLEGEOFID

Varchar

255

主键

不为空

院系编号

COLLEGEOFNAME

Varchar

255

院系名称

selectcollege(学生成绩表)

用于存储学生成绩

字段名

数据类型

长度

是否为空

是否主键

SELECTID

Varchar

255

SELECTCOURSENAME

Varchar

255

不为空

SELECTSID

Varchar

255

主键

SELECTCOURSEID

Varchar

255

不为空

主键

SELECTSCORE

Varchar

255

(8)数据库账户及权限(截图)

学生信息表

班级表

院系表:

(9)数据库存储过程:

本次实验采用的为Struts2+hibernate+mysql的方式开发

储存采用的是hibernate框架

主要代码:

见附加文档

四、系统实现技术小结

为了方便管理,将数据库的封装分成两部分,数据库资源配置文件和封装数据库操作的类:

Hibernate框架配置文件version=''encoding='UTF-8'>

DOCTYPEhibernate-configurationPUBLIC

"--->

123456

root

jdbc:

thread

true

true

update

update

Struts2框架配置文件:

DOCTYPEstrutsPUBLIC

"-1}Action"method="{2}">

/selects/

/selects/

/selects/

/students/

/students/

/students/

/students/

Hibernate工具类:

HibernateUtil。

Java

packagedb;

importclassHibernateUtil{

privatestaticSessionFactorysessionFactory;

privateHibernateUtil(){

}

publicstaticSessionFactorygetSessionFactory(){

if(sessionFactory==null){

Configurationconfig=newConfiguration().configure();

ServiceRegistryserviceRegistry=newServiceRegistryBuilder().applySettings()).buildServiceRegistry();

sessionFactory=(serviceRegistry);

returnsessionFactory;

}else{

returnsessionFactory;

}

}

}

具体的实现类详见附加文件

五、课程设计体会

该系统主要实现了学生信息以及成绩信息的修改的功能,这个系统是我独立完成,从需求分析,web界面,到数据库的连接,表格,存储过程和存储过程等的建立,在这段时间的摸索中,我确实学到了很多东西,特别是对以前不太了解的Java的框架了更深刻的了解。

比如Hibernate,对于它的用法我在网上找了很多资料,Hibernate的配置有很多规则,每一个属性都要对应一个字段、并且是具体确定到具体的类,对于struts2,关于action的配置以及动态action的配置,还有如何接受前台的内容,如何从后台获取内容,如何将前台的jsp页面与后台的action联系起来,还有再编写前端代码时,因为时间问题所以没有对前端进行美化,只是将应用的功能添加进去,在这其中,因为没有学过,所以每一次的前后台的交互都需要一番功夫,不过从其中学习到了很多。

对于数据库,我尽量将对数据库的操作放在存储过程中,这样的抽象和封装使得源程序代码更加容易理解,而且在web应用系统中也可以避免发生不安全的状况,我想这是一个好的程序员应当要养成的习惯,我对于五个表分别创建了五个接口collegeofDAO、courseDAO、sclassDAO、SelectCourseDAO、StudentsDAO。

之后再分别用五个实现类来实现五个接口,将它们的条理逻辑清晰化。

在这次的课程设计中,层次化,模块化,抽象化也是我学到的一个重要的经验,参考一些资料后发现模块化能使程序设计更加简单,设计代码时目标更加明确,效率更高,以前虽然也知道这些道理,但自己真正实施起来却感到无从下手,比如前面的数据库操作和数据库资源配置文件,就是我从书中看来的,这样做的好处是,在程序中操作数据库的时候避免了使用很多try和catch语句,是代码更加简洁,更容易理解,此外需要连接不同的数据库时只要修改数据库的资源配置文件就可以了。

=后我会尝试用jsp来做这个系统。

六、系统主要源程序清单

五个实体类

 

packageentity;

/*

*创建院系实体类

*设置的属性有院系号、院系名、其中院系号作为主键

*/

publicclassCollegeOf{

privateStringcollegeofid;

privateStringcollegeofname;

publicStringgetCollegeofid(){

returncollegeofid;

}

publicvoidsetCollegeofid(Stringcollegeofid){

=collegeofid;

}

publicStringgetCollegeofname(){

returncollegeofname;

}

publicvoidsetCollegeofname(Stringcollegeofname){

=collegeofname;

}

publicCollegeOf(){

}

publicCollegeOf(Stringcollegeofid,Stringcollegeofname){

//super();

=collegeofid;

=collegeofname;

}

}

 

packageentity;

/*

*创建课程实体类

*设置属性课程号、课程名、学分

*其中课程号作为一个主键

*/

publicclassCourses{

privateStringcourseid;

privateStringcoursename;

privateStringcoursescore;

publicStringgetCourseid(){

returncourseid;

}

publicvoidsetCourseid(Stringcourseid){

=courseid;

}

publicStringgetCoursename(){

returncoursename;

}

publicvoidsetCoursename(Stringcoursename){

=coursename;

}

publicStringgetCoursescore(){

returncoursescore;

}

publicvoidsetCoursescore(Stringcoursescore){

=coursescore;

}

publicCourses(){

}

publicCourses(Stringcourseid,Stringcoursename,Stringcoursescore){

//super();

=courseid;

=coursename;

=coursescore;

}

}

 

packageentity;

/*

*创建班级实体类

*设置属性班级号、班级名称

*其中将班级号设置为主键

*/

publicclassNewClass{

privateStringnewclassid;

privateStringnewclassname;

publicStringgetNewclassid(){

returnnewclassid;

}

publicvoidsetNewclassid(Stringnewclassid){

=newclassid;

}

publicStringgetNewclassname(){

returnnewclassname;

}

publicvoidsetNewclassname(Stringnewclassname){

=newclassname;

}

publicNewClass(){

}

publicNewClass(Stringnewclassid,Stringnewclassname){

//super();

=newclassid;

=newclassname;

}

}

 

packageentity;

/*

*创建选课的实体类

*设置的属性有选课号、课程号、学号、成绩、

*其中选课号作为主键,课程号作为外键与课程号相关联,学号作为外键与学号相关联

*/

publicclassSelectCourse{

privateStringselectid;

privateStringselectcourseid;

privateStringselectcoursename;

privateStringselectsid;

privateStringselectscore;

publicStringgetSelectid(){

returnselectid;

}

publicvoidsetSelectid(Stringselectid){

=selectid;

}

publicStringgetSelectcourseid(){

returnselectcourseid;

}

publicvoidsetSelectcourseid(Stringselectcourseid){

=selectcourseid;

}

publicStringgetSelectsid(){

returnselectsid;

}

publicvoidsetSelectsid(Stringselectsid){

=selectsid;

}

publicStringgetSelectscore(){

returnselectscore;

}

publicvoidsetSelectscore(Stringselectscore){

=selectscore;

}

publicSelectCourse(){

}

publicStringgetSelectcoursename(){

returnselectcoursename;

}

publicvoidsetSelectcoursename(Stringselectcoursename){

=selectcoursename;

}

publicSelectCourse(Stringselectid,Stringselectcourseid,Stringselectcoursename,Stringselectsid,

Stringselectscore){

super();

=selectid;

=selectcourseid;

=selectcoursename;

=selectsid;

=selectscore;

}

}

 

packageentity;

/*

*创建学生实体类的javabean

*分别有学号、姓名、性别、班级、院系

*/

publicclassStudents{

privateStringsid;

privateStringsname;

privateStringgenter;

privateStringsclass;

privateStringscollegeof;

publicStringgetSid(){

returnsid;

}

publicvoidsetSid(Stringsid){

=sid;

}

publicStringgetSname(){

returnsname;

}

publicvoidsetSname(Stringsname){

=sname;

}

publicStringgetGenter(){

returngenter;

}

publicvoidsetGenter(Stringgenter){

=genter;

}

publicStringgetSclass(){

returnsclass;

}

publicvoidsetSclass(Stringsclass){

=sclass;

}

publicStringgetScollegeof(){

returnscollegeof;

}

publicvoidsetScollegeof(Stringscollegeof){

=scollegeof;

}

publicStudents(){

}

publicStudents(Stringsid,Stringsname,Stringgenter,Stringsclass,Stringscollegeof){

//super();

=sid;

=sname;

=genter;

=sclass;

=scollegeof;

}

}

五个接口类

 

packageservice;

import;

publicinterfacecollegeofDAO{

publicListqueryCollegeOf();

}

 

packageservice;

/*

*course接口

*/

import;

publicinterfacecourseDAO{

publicListqueryCourse();

publicStringqueryCourseid(Stringcoursename);

}

 

packageservice;

import;

publicinterfacesclassDAO{

publicListqueryNewClass();

}

 

packageservice;

import;

/*

*实现选课的逻辑业务接口

*实现查询、增加、删除的功能

*/

publicinterfaceSelectCourseDAO{

//实现查询

publicSelectCoursequerySelectById(Stringselectsid,Stringselectcourseid);

//实现删除

publicbooleandeleteSelect(Stringselectsid,Stringselectcoursename);

//实现增加

publicbooleanaddSelect(SelectCoursesc);

publicStringgetNewSid();

publicListqueryall();

}

 

packageservice;

import;

/*

*实现选课的逻辑业务接口

*实现查询、增加、删除的功能

*/

publicinterfaceSelectCourseDAO{

//实现查询

publicSelectCoursequerySelectById(Stringselectsid,Stringselectcourseid);

//实现删除

publicbooleandeleteSelect(Stringselectsid,Stringselectcoursename);

//实现增加

publicbooleanaddSelect(SelectCoursesc);

publicStringgetNewSid();

publicListqueryall();

}

还有后续代码,为了考虑篇幅就不贴上去了

 

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

当前位置:首页 > 求职职场 > 职业规划

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

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