ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:90.66KB ,
资源ID:11286352      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11286352.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(算法与数据结构课程设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

算法与数据结构课程设计.docx

1、算法与数据结构课程设计郑州科技学院算法与数据结构课程设计 题 目 学生成绩管理系统 学生姓名 敖荣成 专业班级 09级计科一班 学 号 * 所 在 系 信息科学与工程系 指导教师 王 玉 萍 完成时间 年 月 日 第1章 课程设计的目的与要求1.1 课程设计目的算法与数据结构是计算机相关专业的选修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完算法与数据结构课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,

2、为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2 课程设计的实验环境硬件要求能运行Windows 2000操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE、TOMCAT等开发工具。1.3 课程设计的预备知识熟悉JAVA语言及ECLIPSE开发工具。1.4 课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;

3、能编写出具有良好风格的程序;掌握JSP网站设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。第2章 课程设计内容21 需求分析学生成绩管理系统作为高校校园网建设的一个模块,主要是为了学生在校园网内能了解更多与学生生活相关的信息。学校在公告网上发布,学生在信息网上查询,方便教师和学生查询学生信息,成绩查询使学生能及时了解自己的成绩以及方便学生选课,同时也方便教师及时作出课程调整等。学生成绩管理系统可作为一个高校学生获取信息、查询成绩、交流、选课和教

4、务管理的平台。一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。该学生成绩管理系统有学生信息管理,成绩信息管理,管理员等功能。各个模块各有不同的功能,各模块的数据都存放在数据库中。数据的调用和连接都由程序来完成。学生成绩信息浏览功能:学生和管理员都可进行查询和浏览,学生可以按学号查询成绩,管理员可以按班级和专业查询。这些功能的具体描述如下:1用

5、户注册模块:用户可已成为本论坛的会员,通过表单把用户的相关信息提交给数据库。2登录模块:基本是每个系统必备的模块,本论坛的登录的模块分为两个小模块:一个是学生登录,另一个是管理员登录。3成绩查询模块:学生可以通过学号查询自己的成绩,也可以查询同班同学的成绩,管理员可以查询所有的成绩。4数据库更新前的数据记录模块:管理员可通过输入要添加成绩的同学的学号、输入要添加成绩的同学的姓名、输入新的数学成绩、输入新的英语成绩、输入新的法律成绩来更新数据记录。5添加新记录后的表的模块:学生可看到管理员更新完记录后的表。6删除记录的模块:管理员通过输入被删除记录的学号来实现删除某学生的成绩记录,同时数据库删除

6、妻啊的数据记录也将显示出来。7.删除记录后的表的模块:管理员将表中某个学生删除完之后,将会显示出删除记录后的表。22 分析和设计(页面和数据库) 设计网站时,首先应该区别是学生登录还是管理员登录。如果是学生登录,那么该学生只有查看和回复留言的权限。如果是管理员登录,则除了具有查看和回复权限外,还用具有管理学生成绩管理网站的权限。在学生发表留言后,将显示该学生的姓名、性别、留言内容和留言时间等内容。如果在某个留言有回复内容,则显示出是谁恢复了该篇留言和回复的内容。另外还能在页面中显示当前的系统的时间和访问权限。 1.数据库设计通过以上的分析:我所设计的网站需要1个表,为学生成绩表。由于是个小型的

7、论坛,选择了sql server 2000数据库。具体各表的设计如下:分析得知student_info表功能的记录学生的信息,具有如下字段:Sno、Sname、Math、English、Law。见下表:表2.1 学生成绩表(student_info)名称类型长度说明SnoChar12学号SnameChar12姓名MathInt4高等数学成绩EnglishInt4英语成绩LawInt4法律成绩2. 网站的流程体如下:学生成绩管理数据流程图如下:图2.2 数据流程图3.各页面功能实现说明:(1)各页面功能说明1)系统登录实现系统登录的功能(login.jsp),并验证用户输入的信息是否正确。图2.

8、3所示是系统登录界面图,其中提供了数据输入接口。当单击“登录”按钮后,则调用loginservlet的post方法,然后查询数据库,验证用户身份,如果是学生,则调用 StuSucess.jsp页面,否则调用 AdminSucess.jsp页面。实现过程:首先用户提交用户名和密码,并选择用户类型,再提交loginservlet 的dopost方法进行处理,其中longinservlet中通过下拉框中对应的ID号,确定当前用户类型,再分别调用判断学生信息的方法(checkStuUser)和判断管理员信息方法(checkManUser),来完成不同级别用户登录功能。启动Tomcat,在地址栏里输入:

9、http:/localhost:8080/http:/localhost:8080/SchoolManagement/login.jsp(8080为Tomcat的默认端口,可以自行修改)即可看到系统的运行效果,选择不同的用户类型进行登录,如图2.3所示:图2.3 系统登录核心代码如下:public static boolean checkStuUser(Connection conn, String username, String password) throws Exception String strSql;Statement stmt;ResultSet rs;strSql = sel

10、ect * from studentinfo where Sno= + username+ and password= + password + ;stmt = DB.createStmt(conn);rs = DB.executeQuery(stmt, strSql);if (rs.next() return true; else return false;/验证学生信息方法public static boolean checkManUser(Connection conn, String username,String password) throws Exception String s

11、trSql;Statement stmt;ResultSet rs;strSql = select * from administrator where number= + username+ and password= + password + ;stmt = DB.createstmt(conn);rs = DB.executeQuery(stmt, strSql);if (rs.next() return true; else return false; /验证管理员方法2)学生成绩查询对于学生成绩查询模块,由于管理员和学生权限不同,所以学生只能查看个人的各科成绩和同学的各科成绩(如高等

12、数学成绩、英语成绩、法律成绩),而管理员则可以修改所有学生的所有成绩。当管理员要修改某个学生的成绩时,必须首先找到所要修改的学生成绩信息,再进行学生成绩信息更新操作。实现过程:其中学生查看学生成绩查询界面时,都是只读,不能更改。而对于管理员则可以修改学生的全部成绩信息。首先用户通过selectGra.jsp提交成绩信息修改表单数据,并响应对应的action:selectGrade中的doPost方法,获取表单数据,并将学生信息保存在Grade的实例中,最后调用grade类中的selectGra (conn,stu)方法,实现对学生成绩信息的查询操作,如图2.4所示:图2.4 成绩表代码如下:

13、% Statement sql=null; ResultSet rs=null; String driv=com.microsoft.jdbc.sqlserver.SQLServerDriver; String url1= jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=tengfei; /第一个客户负责建立连接对象: if(con=null) tryClass.forName(driv); catch(ClassNotFoundException e) out.print(e); try con=DriverManager.getC

14、onnection(url1,sa,); sql=con.createStatement(); rs =sql.executeQuery(SELECT * FROM CJ); out.print(成绩表); catch(SQLException e) out.print(e); /其它客户通过同步块使用这个连接: else synchronized(con) /把共享变量放在synchronized块中,或用synchornized方法来修饰,可以修改synchornized块(方法)来共享一个成员变量 try sql=con.createStatement(); rs =sql.execut

15、eQuery(SELECT * FROM CJ); out.print(成绩表); catch(SQLException e) out.print(e); try out.print(); out.print(); out.print(+学号); out.print(+姓名); int physics=rs.getInt(法律成绩); out.print(+physics+); out.print() ; out.print(); catch(SQLException e1) out.print(+高等数学成绩); out.print(+英语成绩); out.print(+法律成绩); out

16、.print(); while(rs.next() out.print(); String number=rs.getString(1); out.print(+number+); String name=rs.getString(2); out.print(+name+); int math=rs.getInt(高等数学成绩); out.print(+math+); int english=rs.getInt(英语成绩); out.print(+english+); %3)删除记录后的表学生成绩删除模块,首先需要查找到要删除学生的成绩信息,再进行确认删除。实现过程:首先用户通过delStu.

17、jsp页面获取需要删除的学生成绩的学号或成绩信息,并将其保存到grade实例对象中,再跳转到delGrade.jsp,显示学生成绩信息,再确认提交deleteGraservlet,调用dopost方法,通过Grade.DelStu(conn,s,keyword),处理删除学成绩记录操作。如图2.5所示:图2.5 删除记录后的表核心代码如下: String driver=com.microsoft.jdbc.sqlserver.SQLServerDriver; String url1= jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=t

18、engfei; /获取提交的学号: String number=request.getParameter(number); if(number=null) number=; byte b=number.getBytes(ISO-8859-1); number=new String(b); Connection con=null; Statement sql=null; ResultSet rs=null; tryClass.forName(driver); catch(ClassNotFoundException event) try con=DriverManager.getConnecti

19、on(url1,sa,); sql=con.createStatement(); /删除操作: String deleteAll=DELETE FROM CJ WHERE 学号+ = +number+; sql.executeUpdate(deleteAll); % 删除记录后的表: % rs=sql.executeQuery(SELECT * FROM CJ ORDER BY 学号 ); out.print(); out.print(); out.print(+学号); out.print(+姓名); out.print(+高等数学成绩); out.print(+英语成绩); out.pri

20、nt(+法律成绩); out.print(); while(rs.next() out.print(); String n=rs.getString(1); out.print(+n+); String xingming=rs.getString(2); out.print(+xingming+); int math=rs.getInt(高等数学成绩); out.print(+math+); int english=rs.getInt(英语成绩); out.print(+english+); int physics=rs.getInt(法律成绩); out.print(+physics+);

21、out.print() ; out.print(); con.close(); catch(SQLException event) out.print(+event); 4)更新前的记录数据库更新前的数据记录模块,首先要确认要添加成绩的同学的学号、输入要添加成绩的同学的姓名、输入要添加成绩的同学的姓名、输入新的数学成绩、新的英语成绩和输入新的法律成绩等信息,再确认提交更新。实现过程用UpdateGrade类,如图2.6所示:图2.6 更新前记录核心代码如下:数据库更新前的数据记录是: % String name,number; int math,physics,english; Connect

22、ion con; Statement sql; ResultSet rs; tryClass.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); catch(ClassNotFoundException e)try con=DriverManager.getConnection(jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=tengfei,sa,); sql=con.createStatement(); rs=sql.executeQuery(SELECT * FROM cj

23、); out.print(); out.print(); out.print(+学号); out.print(+姓名); out.print(+高等数学成绩); out.print(+英语成绩); out.print(+法律成绩); out.print(); while(rs.next() out.print(); number=rs.getString(1); out.print(+number+); name=rs.getString(2); out.print(+name+); math=rs.getInt(高等数学成绩); out.print(+math+); english=rs.g

24、etInt(英语成绩); out.print(+english+); physics=rs.getInt(法律成绩); out.print(+physics+); out.print() ; out.print(); con.close(); catch(SQLException e1) %输入要修改成绩的同学的姓名:输入新的数学成绩:输入新的英语成绩:输入新的法律成绩:23 关键技术和说明在网站的设计中用到的关键就技术如下:根据系统的基本功能需求,以及客户的信息系统环境,计划采用浏览器/服务器模式来构建管理系统,这样方便维护和使用。同时,根据客户对技术的具体建议,计划采用 J2EE 技术来开

25、发。具体的软硬件环境要求如下: (1)硬件环境:采用普通办公用个人计算机作为服务器即可。(2)操作系统:可以采用 Windows XP 以上系统。 (3)数据库系统:采用sql sever2000数据库。(4)Web服务器:采用Tomcat5以上系统。 (5)Java运行环境:采用 JRE 1.5以上中文版本。 (6)客户端:采用浏览器工具即可。(7)在本程序中包含如下异常处理: try con=DriverManager.getConnection(url1,sa,); sql=con.createStatement(); rs =sql.executeQuery(SELECT * FROM

26、 CJ); out.print(成绩表); catch(SQLException e) out.print(e); /其它客户通过同步块使用这个连接: else synchronized(con) /把共享变量放在synchronized块中,或用synchornized方法来修饰,可以修改synchornized块(方法)来共享一个成员变量24待改进的部分说明数据库应该用Mysql,因为MySQL的源码是公开的,使得我们有机会从源码级,更深入的了解MySQL。从这一层面上可以探求、了解MySQL数据库的特性:良好的内存管理机制,尤其是内存泄漏的管理,通过了Purify的严格测试;支持多种平台; 提供多种形式的API,为我们开发工具的选择提供了便利; 使用多线程的技术,可充分发挥系统的特点,避免在SMP系统中出现仅使用单CPU的现象;对磁盘表的管理采用B树加密及索引的技术,为我们快速访问数据提供了可能; 高性能的内存申请技术;临时表采用在内存中以哈希表实现;提供多种数据类型;支持定长的和变长的纪录;所有的列都有缺省值,为我们的某些“粗心”提供了方便;灵活、安全的权限和

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

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