Oracle数据库课程设计报告学生成绩管理系统 (2)

上传人:痛*** 文档编号:103539049 上传时间:2022-06-08 格式:DOC 页数:40 大小:123.50KB
收藏 版权申诉 举报 下载
Oracle数据库课程设计报告学生成绩管理系统 (2)_第1页
第1页 / 共40页
Oracle数据库课程设计报告学生成绩管理系统 (2)_第2页
第2页 / 共40页
Oracle数据库课程设计报告学生成绩管理系统 (2)_第3页
第3页 / 共40页
资源描述:

《Oracle数据库课程设计报告学生成绩管理系统 (2)》由会员分享,可在线阅读,更多相关《Oracle数据库课程设计报告学生成绩管理系统 (2)(40页珍藏版)》请在装配图网上搜索。

1、Oracle数据库课程设计题目 学生成绩管理系统 班级 10级软工数据库一班 姓名 谢铮 学号 1指导老师 刘杨涛 2013年 1 月 5 日目录一、 前言2二、 需求分析3三、 系统设计5四、 数据库设计7五、 编程步骤19六、 测试25七、 课程设计总结33八、 参考资料34九、 附录34一、前言 学生成绩管理是一个学校必不可少的部分,随着计算机和计算机知识的普和,学生成绩管理系统得到了更大的发展空间,通过对学生成绩管理系统的开发,可以提高校务人员的工作效率。本次课程设计以java web技术设计学生成绩管理系统为前台,使用oracle数据库作为后台数据存储。学生成绩管理是一个学校不可缺少

2、的部分,一个良好的学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生成绩管理系统对学校加强学生成绩管理有着极其重要的作用.由于各个大学都在持续扩招,学生的数量日益庞大,对于如何管理如此庞大的学生成绩数据显得更为复杂,传统的手工成绩管理不仅工作量大,而且容易出现问题,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。已不能适应时代的发展。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管

3、理所无法比拟的优点。例:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理者管理的效率,也是学校走向科学化、正规化管理,与世界接轨的重要条件。因此,开发设计这样一套学生成绩管理软件成为很有必要的事情.二、需求分析1.功能需求1. 学生基本信息和所选科目成绩的录入或导入。2. 基本信息的查询(分系、班级;分科目)与修改。3. 对每系或每班各科成绩进行分析(即求单科平均成绩、和格率和优秀率);4. 对所开课程的成绩分析(求其平均成绩,最高分和最低分);5. 对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行排名,并显

4、示各科成绩信息)6. 不和格情况的统计、导出、打印2.系统需求该学生成绩管理系统采用java语言开发研制, JavaBean作为行为模型,servlet作为响应服务器,DIV+CSS+javascript设计网页,oracle作为数据存储。在完成用户需求同时,完成条件查询等功能。针对学生成绩和其数据特点,可以全面实现对学生成绩的插入、查询、修改、删除和输出等功能的计算机管理。它能使学生成绩数据的工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高学生成绩管理的效率,从而使学校对于学生成绩的管理水平和技术水平跃上一个新的台阶。3.系统开发环境1.开发语言:java+js

5、p2.开发工具: IE 8.0,Tomcat ,jdk 1.7,dreamweaver3.数据库:Oracle 10g4.文档编写工具:word5. 服务器端运行环境:oracle 10g,Tomcat ,jdk 1.76. 客户端运行环境:浏览器三、系统设计1.功能模块学生成绩管理系统信息录入信息查询信息修改信息删除成绩统计分析班级信息录入科目信息录入学生信息录入班级内部排名按学号查询按姓名查询学生信息修改成绩信息修改学生信息删除成绩信息删除单科成绩排名单科成绩分析成绩信息录入不及格情况统计学生总成绩排名2.系统流程图开始登陆密码正确?是否进入系统修改密码控制面板退出系统?结束是否3.数据字

6、典(1)数据存储数据表:用户表表组成:用户名,密码数 据 项:用户名数据类型:varchar数据长度:50数 据 项:密码数据类型:varchar数据长度:50(2)数据流定义:登陆名 称:登陆简 述:用户登陆系统数据来源:用户数据去向:用户表数据组成:用户名+密码四、数据库设计1.数据库结构设计院系表(cs)字段名数据类型是否为空说明Cs_classVarchar2(50)Not null班级名(主键)Cs_deptVarchar2(50)Not null系别Cs_gradeVarchar2(50)Not null年级成绩表(gd)字段名数据类型是否为空说明Gd_stu_noVarchar2

7、(15)Not null学号(联合主键、外键)Gd_sub_subjectVarchar2(50)Not null科目(联合主键、外键)Gd_gradeNumber(3)Not null成绩科目表(sub)字段名数据类型是否为空说明Sub_subjectVarchar2(50)Not null科目名(主键)Sub_teacher_nameVarchar2(10)任课老师名学生表(student)字段名数据类型是否为空说明Stu_noVarchar2(15)Not null学号(主键)Stu_nameVarchar2(10)Not null学生名Stu_cs_classVarchar2(50)班

8、级名(外键)Stu_sexVarchar(4)Not null性别(约束)Stu_birthdayVarchar2(50)出生日期Stu_phoneVarchar2(200)联系电话用户表(user_)字段名数据类型是否为空说明nameVarchar2(50)Not null用户名(主键)PasswdVarchar2(50)notnull密码2.实体联系图学生信息姓名出生日期性别学号联系电话所在班级成绩信息科目名学号成绩教师用户管理用户名密码班级信息班级名年级科目信息科目名任课老师系别管理管理管理3.数据库源代码select userenv(language) from dual;shutdo

9、wn immediatestartup mountALTER SYSTEM ENABLE RESTRICTED SESSION;ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;ALTER DATABASE OPEN;alter database character set INTERNAL_USE UTF8;shutdown immediatestartupcreate user xz1 identified by xzgrant dba to xzconn xz1/xzset serverou

10、tput oncreate table user_(name varchar(50) primary key,passwd varchar(50) not null)insert into user_ values(xz,xz);Commitcreate table cs(cs_class varchar(50) primary key,cs_dept varchar(50) not null,cs_grade varchar(50) not nullcreate table student(stu_no varchar(15) primary key,stu_name varchar(10)

11、 not null,stu_sex varchar(4) not null check (stu_sex=男or stu_sex=女), stu_birthday varchar(50) ,stu_phone varchar(50),stu_cs_class varchar(50),constraint class_fk foreign key(stu_cs_class) references cs(cs_class)on delete cascadecreate table sub(sub_subject varchar(50) primary key,sub_teacher_name va

12、rchar(10)create table gd(gd_stu_no varchar(15),gd_sub_subject varchar(50),gd_grade number(3) not null,primary key(gd_stu_no,gd_sub_subject),constraint fk_gd_stu_no foreign key(gd_stu_no) references student(stu_no),constraint fk_gd_sub_subject foreign key(gd_sub_subject) references sub(sub_subject)cr

13、eate or replace procedure p_insert_stu(p_stu_no in student.stu_no%type,p_stu_name in student.stu_name%type,p_stu_sex in student.stu_sex%type,p_stu_birthday in student.stu_birthday%type,p_stu_phone in student.stu_phone%type,p_stu_cs_class in student.stu_cs_class%type,s_state_values out number) asbegi

14、n insert into student(stu_no,stu_name,stu_sex ,stu_birthday,stu_phone,stu_cs_class) values (p_stu_no,p_stu_name,p_stu_sex,p_stu_birthday,p_stu_phone,p_stu_cs_class);if sql%rowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;commit;end ;create or replace procedure c_in

15、sert_stu(c_stu_no in student.stu_no%type,c_state_values out number)asbeginselect count(*) into c_state_values from studentwhere stu_no=c_stu_no;end ;create or replace procedure c_insert_stu_fk(c_cs_class in cs.cs_class%type,c_state_values_fk out number)asbeginselect count(*) into c_state_values_fk f

16、rom cswhere cs_class=c_cs_class;end ;create or replace procedure p_insert_cs(p_cs_dept in cs.cs_dept%type,p_cs_grade in cs.cs_grade%type,p_cs_class in cs.cs_class%type,s_state_values out number)asbegininsert into cs(cs_dept,cs_grade,cs_class)values(p_cs_dept, p_cs_grade, p_cs_class);if sql%rowcount=

17、1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;commit;end ;create or replace procedure c_insert_cs(c_cs_class in cs.cs_class%type,c_state_values out number)asbeginselect count(*) into c_state_values from cswhere cs_class=c_cs_class;end ;create or replace procedure p_inser

18、t_sub(p_sub_subject in sub.sub_subject%type,p_sub_teacher_name in sub.sub_teacher_name%type,s_state_values out number)asbegininsert into sub(sub_subject,sub_teacher_name)values(p_sub_subject, p_sub_teacher_name);if sql%rowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:

19、=1;commit;end;create or replace procedure c_insert_sub(c_sub_subject in sub.sub_subject%type,c_state_values out number)asbeginselect count(*) into c_state_values from subwhere sub_subject=c_sub_subject;end ;create or replace procedure p_insert_gd(p_gd_stu_no in gd.gd_stu_no%type,p_gd_sub_subject in

20、gd.gd_sub_subject%type,p_gd_grade in gd.gd_grade%type,s_state_values out number)asbegininsert into gd(gd_stu_no,gd_sub_subject,gd_grade)values(p_gd_stu_no,p_gd_sub_subject,p_gd_grade);if sql%rowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;if p_gd_grade=nullthen s_

21、state_values:=2;end if;commit;end ;create or replace procedure c_insert_gd(p_gd_stu_no in gd.gd_stu_no%type,p_gd_sub_subject in gd.gd_sub_subject%type,c_state_values out number)asbeginselect count(*) into c_state_values from (select gd_stu_no from gdwhere gd_sub_subject=p_gd_sub_subjectwhere gd_stu_

22、no=p_gd_stu_no;end ;create or replace procedure c_insert_gd_fk1(c_stu_no in student.stu_no%type,c_state_values_fk1 out number)asbeginselect count(*) into c_state_values_fk1 from studentwhere stu_no=c_stu_no;end ;create or replace procedure c_insert_gd_fk2(c_sub_subject in sub.sub_subject%type,c_stat

23、e_values_fk2 out number)asbeginselect count(*) into c_state_values_fk2 from subwhere sub_subject=c_sub_subject;end ;create or replace procedure p_select_stu_no_info(p_stu_no in out student.stu_no%type,p_stu_name out student.stu_name%type,p_stu_sex out student.stu_sex%type,p_stu_birthday out student.

24、stu_birthday%type,p_stu_phone out student.stu_phone%type,p_stu_cs_class out student.stu_cs_class%type,p_cs_dept out cs.cs_dept%type,p_cs_grade out cs.cs_grade%type,c_state_values out number)asbeginc_state_values:=0;select stu_no, stu_name,stu_sex ,stu_birthday ,stu_phone ,stu_cs_class ,cs_dept ,cs_g

25、rade into p_stu_no, p_stu_name, p_stu_sex, p_stu_birthday, p_stu_phone, p_stu_cs_class, p_cs_dept, p_cs_gradefrom student, cswhere stu_cs_class=cs_class and stu_no=p_stu_no;exceptionwhen NO_DATA_FOUND then c_state_values:=1;when others then c_state_values:=2;end ;create or replace procedure p_select

26、_stu_no_gd(p_stu_no in student.stu_no%type , cursor_gd out sys_refcursor)asbeginopen cursor_gd forselect gd_sub_subject,gd_gradefrom gdwhere gd_stu_no=p_stu_no;end;create or replace procedure p_select_stu_name(p_stu_name in student.stu_name%type , cursor_stu out sys_refcursor,c_state_values out numb

27、er)asbeginc_state_values:=0;open cursor_stu forselect stu_no, stu_name,stu_sex ,stu_birthday ,stu_phone ,stu_cs_class ,cs_dept ,cs_grade from student, cswhere stu_name=p_stu_name and stu_cs_class=cs_class;exceptionwhen others then c_state_values:=2;end;create or replace procedure p_pm_sum(cursor_gd_

28、sum out sys_refcursorasbeginopen cursor_gd_sum forselect distinct sno,stu_name,sumfrom student,(select gd_stu_no as sno,sum(gd_grade) as sum from gd group by gd_stu_nowhere stu_no=snoorder by sum desc;end;create or replace procedure p_pm_sub(p_gd_sub_subject in gd.gd_sub_subject%type,cursor_gd_sub o

29、ut sys_refcursorasbeginopen cursor_gd_sub forselect gd_stu_no,stu_name,gd_gradefrom gd,studentwhere gd_sub_subject=p_gd_sub_subject and stu_no=gd_stu_noorder by gd_grade desc;end;create or replace procedure p_pm_class(p_stu_cs_class in student.stu_cs_class%type,cursor_gd_class out sys_refcursorasbeg

30、inopen cursor_gd_class forselect distinct sno,stu_name,sumfrom student,(select gd_stu_no as sno,sum(gd_grade) as sum from gd group by gd_stu_nowhere stu_no=sno and stu_cs_class=p_stu_cs_classorder by sum desc;end;create or replace procedure p_fx(cursor_fx out sys_refcursorasbeginopen cursor_fx forse

31、lect gd_sub_subject,max(gd_grade) as zuigao,min(gd_grade) as zuidi,avg(gd_grade) as pingjun,SUM(CASE WHEN gd_grade=60 THEN 1 ELSE 0 END)/COUNT(*)*100 AS jigelv,SUM(CASE WHEN gd_grade=80 THEN 1 ELSE 0 END)/COUNT(*)*100 AS youxiulvfrom gdgroup by gd_sub_subject;end;create or replace procedure p_bujige

32、(cursor_bujige out sys_refcursorasbeginopen cursor_bujige forselect gd_stu_no,gd_sub_subject,gd_gradefrom gdwhere gd_grade60;end;create or replace procedure p_update_stu(p_stu_no in student.stu_no%type,p_stu_name in student.stu_name%type,p_stu_sex in student.stu_sex%type,p_stu_birthday in student.st

33、u_birthday%type,p_stu_phone in student.stu_phone%type,p_stu_cs_class in student.stu_cs_class%type,s_state_values out number) asbeginupdate studentset stu_name=p_stu_name,stu_sex=p_stu_sex,stu_birthday=p_stu_birthday,stu_phone=p_stu_phone,stu_cs_class=p_stu_cs_classwhere stu_no=p_stu_no; if sql%rowco

34、unt=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;commit;end ;create or replace procedure p_delete_stu(p_stu_no in student.stu_no%type,s_state_values out number)asbegindelete from gd where gd_stu_no=p_stu_no;delete from student where stu_no=p_stu_no;s_state_values:=0;exc

35、eptionwhen others then s_state_values:=1;rollback;commit;end;create or replace procedure p_update_gd(p_gd_stu_no in gd.gd_stu_no%type,p_gd_sub_subject in gd.gd_sub_subject%type,p_gd_grade in gd.gd_grade%type,s_state_values out number)asbeginupdate gd set gd_stu_no=p_gd_stu_no,gd_sub_subject=p_gd_sub

36、_subject,gd_grade=p_gd_gradewhere gd_stu_no=p_gd_stu_no and gd_sub_subject=p_gd_sub_subject;if sql%rowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;rollback;commit;end ;create or replace procedure p_delete_gd(p_gd_stu_no in gd.gd_stu_no%type,p_gd_sub_subject in gd.

37、gd_sub_subject%type,s_state_values out number)asbegindelete from gdwhere gd_stu_no=p_gd_stu_no and gd_sub_subject=p_gd_sub_subject;if sql%rowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;rollback;commit;end ;create or replace procedure p_denglu(p_name in user_.name

38、%type,p_passwd in user_.passwd%type,s_state_values out numberasbeginselect count(*) into s_state_valuesfrom user_where name=p_name and passwd=p_passwd;end;create or replace procedure p_update_passwd(p_name in user_.name%type,p_passwd in user_.passwd%type,s_state_values out numberasbeginupdate user_

39、set passwd= p_passwdwhere name=p_name;if sql%rowcount=1then s_state_values:=0;end if;exceptionwhen others then s_state_values:=1;rollback;commit;end;create or replace procedure p_select_no(cursor_stu_no out sys_refcursorasbeginopen cursor_stu_no forselect stu_no from studentorder by stu_no;end;creat

40、e or replace procedure p_select_all(cursor_all out sys_refcursorasbeginopen cursor_all forselect stu_no, stu_name,stu_sex ,stu_birthday ,stu_phone ,stu_cs_class ,cs_dept ,cs_grade from student, cswhere stu_cs_class=cs_classorder by stu_no;end;create or replace procedure p_select_count(myrowcount out

41、 number asbeginselect count(*) into myrowcountfrom student;end;五、编程步骤1.连接数据库的javabean 由于在本系统的多个JSP页面中都需要访问数据库,因此使用一个JavaBean来专门完成数据库的连接。把数据库连接封装在一个类中,每次需要访问数据库是只需实例化这个类并利用类里面提供的共有方法来完成连接即可。这样,既可以节省编码时间,也提高了代码的利用率。1.1模块描述负责完成与数据库的连接1.2.类的设计与实现(1)名称:jdbc.java(2)功能:负责完成与数据库的连接。1.3构造方法设计1.3.1 方法定义:publi

42、c jdbc() IPO图输入:无。处理:加载驱动程序,若加载中出现异常,则显示异常描述信息。输出:无。 程序清单:public class jdbc private static final String DB_NAME= xz1;private static final String DB_PASSWORD=xz;private static final String DB_URL = jdbc:oracle:thin:localhost:1521:orcl;static try Class.forName(oracle.jdbc.driver.OracleDriver); catch (

43、ClassNotFoundException e) e.printStackTrace();System.out.println(class not found!);1.3.2 方法定义:public getConnection() IPO图输入:无。处理:创建驱动程序和指定数据库间的连接对象,建立语句对象输出:无。 程序清单:public static Connection getConnection()try return DriverManager.getConnection(DB_URL, DB_NAME, DB_PASSWORD); catch (SQLException e) e.

44、printStackTrace();return null;2.登陆模块2.1.模块描述提供用户登录、退出、修改密码功能。2.2.原文件定义(1)denglu.jsp名称:登陆页面。功能:系统登录页面,获取用户登录系统时的用户名和密码。 (2)cl-denglu.jsp名称:登录处理页面。功能:主要负责读取用户在登录页面输入的用户名、密码,判断是否为合法用户。若是合法用户,则将该用户的用户名写入到session中,并重定向到系统内部的功能页面;否则,重定向到denglu.jsp,阻止该用户进入系统。输入:用户在登录页面输入的信息(用户名和密码)。处理:连接数据库,调用存储过程p_denglu,

45、传入参数name、password,接收存储过程返回值s_state_values,如果返回值为1则为合法用户,将该用户的用户名写入到session中,并重定向到系统主页面index.jsp;否则,弹出错误警告用户名密码错误,重定向到denglu.jsp,阻止该用户进入系统。输出:根据验证结果重定向到不同页面。 程序清单:Connection conn = jdbc.getConnection(); String j_name=request.getParameter(j_name);String j_passwd=request.getParameter(j_passwd);Callable

46、Statement cstmt1 = conn.prepareCall(call p_denglu(?,?,?);cstmt1.setString(1,j_name);cstmt1.setString(2,j_passwd);cstmt1.registerOutParameter(3,java.sql.Types.INTEGER); cstmt1.execute();int s_state_values=(cstmt1.getInt(3);if(s_state_values=1)session.setAttribute(user_name,j_name);response.sendRedire

47、ct(index.jsp); else if(s_state_values=0)out.println(alert(用户名密码错误!);location.href=denglu.jsp);cstmt1.close(); conn.close(); (3)tuichu.jsp名称:用户退出页面功能:主要负责登录用户的退出功能,将退出系统的用户信息从session中清除掉。输入:无。处理:清楚session中存储的一切信息输出:重定向到登录也页面。程序清单: session.invalidate(); response.sendRedirect(denglu.jsp);(4)xg-mm.jsp名称

48、:修改密码页面功能:主要负责登录用户的修改密码,将用户密码传给cl-xgmm.jsp。(5)cl-xg-mm.jsp名称:处理修改密码页面功能:主要负责登录用户的修改密码功能,首先验证两次输入的新密码是否一致,然后调用存储过程p_denglu验证原密码是否正确,最后调用存储过程p_update_passwd修改密码。程序清单:Connection conn = jdbc.getConnection();String j_name=request.getParameter(j_name);String j_passwd=request.getParameter(j_passwd);String

49、j_passwd_new1=request.getParameter(j_passwd_new1);String j_passwd_new2=request.getParameter(j_passwd_new2);if(j_passwd_new1.equals(j_passwd_new2)CallableStatement cstmt1 = conn.prepareCall(call p_denglu(?,?,?);cstmt1.setString(1,j_name);cstmt1.setString(2,j_passwd);cstmt1.registerOutParameter(3,java

50、.sql.Types.INTEGER); cstmt1.execute();int s_state_values=(cstmt1.getInt(3);if(s_state_values=1)CallableStatement cstmt2 = conn.prepareCall(call p_update_passwd(?,?,?);cstmt2.setString(1,j_name);cstmt2.setString(2,j_passwd_new1);cstmt2.registerOutParameter(3,java.sql.Types.INTEGER); cstmt2.execute();

51、int s_state_values2=(cstmt2.getInt(3);if (s_state_values2=0)out.print(恭喜你,密码修改成功!);else out.print(密码修改失败!); else if(s_state_values=0)out.print(原名密码错误!请重新填写);cstmt1.close(); cstmt2.close(); conn.close(); else out.print(两次输入的密码不一致,请重新输入!);3.控制面板模块3.1.模块描述提供信息录入、查询、修改、删除、成绩统计分析功能。3.2.原文件定义源代码详见附件(1)lr-

52、cs.jsp名称:录入班级信息页面。功能:录入班级信息。(2)cl-lr-cs.jsp名称:处理录入班级信息页面。功能:录入班级信息。(3)lr-sub.jsp名称:录入科目信息页面。功能:录入科目信息。(4)cl-lr-sub.jsp名称:处理录入科目信息页面。功能:录入科目信息。(5)lr-stu.jsp名称:录入学生信息页面。功能:录入学生信息。(6)cl-lr-stu.jsp名称:处理录入学生信息页面。功能:录入学生信息。(7)lr-gd-sub.jsp名称:录入成绩信息选择科目页面。功能:录入成绩信息。(8)lr-gd.jsp名称:录入成绩信息页面。功能:录入成绩信息。(9)cl-l

53、r-stu.jsp名称:处理录入成绩信息页面。功能:录入成绩信息。(10)cx-by-no.jsp名称:通过学号查询信息页面。功能:通过学号查询信息。(11) cl-cx-by-no.jsp名称:处理通过学号查询信息页面。功能:通过学号查询信息。(12) cx-by-name.jsp名称:通过姓名查询信息页面。功能:通过姓名查询信息。(13) cl-cx-by-name.jsp名称:处理通过姓名查询信息页面。功能:通过姓名查询信息。(14)xg-stu.jsp名称:修改学生信息页面。功能:修改学生信息。(15)cl-xg-stu.jsp名称:处理修改学生信息页面。功能:修改学生信息。(16)x

54、g-gd.jsp名称:修改成绩信息页面。功能:修改成绩信息。(17)cl-xg-gd.jsp名称:处理修改成绩信息页面。功能:修改成绩信息。(18)sc-stu.jsp名称:删除学生信息页面。功能:删除学生信息。(19)cl-sc-stu.jsp名称:处理删除学生信息页面。功能:删除学生信息。(20)sc-gd.jsp名称:删除成绩信息页面。功能:删除成绩信息。(21)cl-sc-gd.jsp名称:处理删除成绩信息页面。功能:删除成绩信息。(22)pm-sum.jsp名称:学生总成绩排名页面。功能:显示学生总成绩排名。(23)pm-sub.jsp名称:学生单科成绩排名页面。功能:选择科目。(2

55、4)cl-pm-sub.jsp名称:显示学生单科成绩排名页面。功能:显示学生单科成绩排名。(25)pm-class.jsp名称:班级内部排名页面。功能:选择班级。(26)cl-pm-sub.jsp名称:显示班级内部排名页面。功能:显示班级内部排名。(27)cl-fx.jsp名称:单科成绩页面。功能:显示单科成绩分析。(28)bujigetj.jsp名称:不和格情况统计页面。功能:显示不和格情况。六、测试1.登陆界面2.系统主界面3修改密码4退出系统5录入信息6录入成绩信息7成绩信息录入8按学号查询9查询结果10学生总成绩排名11按单科成绩排名12按单科成绩排名13班级内部排名14单科成绩分析1

56、5不和格情况统计七、课程设计总结虽然只是很小很简单的系统,但是不仅仅是对这阶段学习的知识的一个巩固,对项目的开发又多增了一层了解和领悟。经过这次课程设计的锻炼,我对数据库存储过程、触发器、PL/SQL编程掌握的更加牢固,对oracle10g的体系结构有了更深的理解,对sql语句进行了一次复习,对jsp学习也有很大提升,受益匪浅。在这次课程设计中,我也发现了许多不足之处:1. 前期的准备还不足,需求分析不完善,这就导致了在项目开发过程中还出现了功能反复修改的情况。2. 数据库设计不够完善,没多方面的考虑完善,导致在编码过程中还多次的修改数据库。3. 整体项目框架没规划好,项目的前期就应该把项目的

57、整体框架和包类,列出和规范分类,这样能使在其后编码阶段统一的模块化的编码,也能给整合项目的时候节省时间。4. 数据库文字编码和项目开发工具文字编码不一致,导致中期测试时输入数据库的中文数据变成乱码,经老师指导统一改为utf-8后解决5. 系统还存在许多问题,如界面不够友好,美化不好,不符合软件工程的要求等最后感谢老师对我的指导和建议,在实训期间我遇到了许多困难,老师总是很认真的为我解答,通过老师的细心指导使我们在数据库设计方面的知识得到了扩充,懂得了许多以前不知道的知识,我也在老师的细心指导中体会到了老师对学生那种从内心发出的关爱,让我非常感动。在本次课程设计中,我有幸得到了刘老师的细心指导,

58、使我学习到了许多专业知识和数据库设计方面的宝贵经验。通过本次课程设计,我从指导老师身上学到了很多东西,老师认真负责的工作态度,严谨的治学的精神和深厚的理论水平都使我收益匪浅,并给我留下了深刻的印象。老师在整个设计过程中,帮助我解决了不少的难题,给予了我巨大的帮助和鼓励,并细心的为我介绍在数据库设计方面的知识,这使我得到不少的长进,这对于我以后的工作和学习都起着巨大的影响。八、参考资料1.oracle10g数据库管理应用与开发清华大学出版社2.jsp使用教程(第二版) 清华大学出版社3.java程序设计基础教程清华大学出版社4.数据库原理和应用河南科学技术出版社5.网页设计基础教程 北京邮电大学出版社6.网络资料九、附录1.数据库源代码2.jsp页面源代码第 40 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!