学生成绩管理系统JAVAEE实现
javaEE 学生个人成绩管理系统

软件学院课程设计报告书课程名称java web 程序设计教程课程设计设计题目学生个人成绩管理系统专业班级学号姓名指导教师2011年12 月表4-2 页面定义表页面名称作用add.jsp 添加页面delete.jsp 删除页面update,jsp 修改页面error.jsp 登陆失败页面,返回登录界面index.jsp 用户界面Sava.jsp 操作页面ShowAllCost.jsp 显示页面success.jsp 登陆成功页面,跳转至用户界面acci.jsp 计算平均成绩页面4.2.3运行界面登录界面如下登录成功和失败的页面如下:增删改查操作的成绩表格:添加后表为:删除掉张思成绩后表格如下:将李四的成绩改为99后表格如下:4.2.4主要代码1.登录的JSP代码:<form action="servlet/LoginServlet" method="get">用户名<input type="text" name="username"/>密码<input type="password" name="password"/><br><input type="submit" value="登录"/>登录失败进入error.jsp页面重新输入用户名和密码,登录成功进入success.jsp页面,进行相关操作。
2.SERVLET控制层代码:添加成绩代码:public class AddServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {ScoreService scoreservice=new ScoreService();List list=scoreservice.getAddScores();。
Java实操考核:编写一个简单的学生成绩管理系统

Java实操考核:编写一个简单的学生成绩管理系统简介学生成绩管理系统是一个常见的计算机实践项目,用于管理学生的课程成绩并进行基本的学生信息管理。
这个文档将指导你如何使用Java编写一个简单的学生成绩管理系统。
功能学生成绩管理系统应该具有以下功能: - 添加学生信息:包括学号、姓名、性别、年龄等基本信息。
- 添加课程成绩:包括课程名称和对应的分数。
- 查询学生信息:根据学号或姓名查询学生的基本信息和课程成绩。
- 修改学生信息:根据学号或姓名修改学生的基本信息和课程成绩。
- 删除学生信息:根据学号或姓名删除学生的信息。
设计思路学生成绩管理系统可以分为三个主要的类:Student、Course和Grade。
Student类表示学生,包含学生的基本信息,如学号、姓名、性别和年龄。
Course 类表示课程,包含课程名称和对应的分数。
Grade类表示学生成绩,包含学生的学号、课程名称和分数。
系统的主要逻辑如下: 1. 用户可以选择添加学生信息、添加课程成绩、查询学生信息、修改学生信息和删除学生信息等功能。
2. 添加学生信息时,用户需要输入学生的基本信息,并将其存储在一个学生列表中。
3. 添加课程成绩时,用户需要输入学生的学号和对应的课程名称及分数,并将其存储在一个成绩列表中。
4. 查询学生信息时,用户可以根据学号或姓名查询学生的基本信息和课程成绩。
5. 修改学生信息时,用户可以根据学号或姓名修改学生的基本信息和课程成绩。
6. 删除学生信息时,用户可以根据学号或姓名删除学生的信息。
实现步骤1.创建Student类,包含学生的基本信息(学号、姓名、性别、年龄)的成员变量和对应的get和set方法。
2.创建Course类,包含课程的名称和分数的成员变量和对应的get和set方法。
3.创建Grade类,包含学生的学号、课程名称和分数的成员变量和对应的get和set方法。
4.创建管理系统类,包含学生列表(ArrayList)和成绩列表(ArrayList)的成员变量。
用java写的一个简单的学生成绩管理系统(含代码)

用java写的一个简单的学生成绩管理系统一.简洁的需求描述学生成绩管理系统(以下简称系统)为教师和学生的信息交流提供了一个统一的平台,方便了教师对成绩的管理,学生对于成绩的查询等1.教师可以通过系统查询所授课程的信息以及课程所对应的学生的信息;教师通过系统管理学生分数信息,包括查询,输入,修改学生成绩。
2.学生用户仅仅拥有查询功能,查询的信息包括所选修课程信息和分数信息。
系统用例图:用例图解释系统功能大致上分为分数管理,课程管理,个人信息查询,分数查询四大块。
其中教师用户使用分数管理和课程管理功能,学生用户使用个人信息查询和分数查询功能。
细分来,分数管理指的是分数的录入,更新,查询;课程管理包括所授课程查询,课程信息录入,修改等;个人信息查询针对学生而言,包括姓名,学号,班级等;分数查询则指的是某一学期所有课程的分数信息的查询。
二.简单的设计说明2.1系统类图2009-04-12 18:38三。
简单的数据库设计ER图:数据库详细设计说明:1).数据库说明数据库取名为score_manage_system其中有五个表,分别为:TEACHER(TNO ,TNAME,SEX,TITLE,PASSWORD)..............教师信息表STUDENT (SNO,SNAME,SEX,CLASS,PASSWORD) .................学生信息表COURSE(CNO,CNAME,CXUEFEN,HOUR)..............................课程信息表TEACH(TNO,CNO)............................................................................教师授课信息表STUDY(SNO,CNO,SCORE)...........................................................学生选课信息表2009-04-12 18:412).字段说明3)TEACHER字段类型主码外码说明TNO CHAR(20) √ √ 教师代码TNAME CHAR(10) 教师姓名SEX CHAR(1) 教师性别TITLE CHAR(10) 职称PASSWORD CHAR(20) 登录密码STUDENT字段类型主码外码说明SNO CHAR(20) √ √ 学号SNAME CHAR(10) 学生姓名SEX CHAR(2) 性别CLASS CHAR(5) 班级PASSWORD CHAR(20) 登录密码DEPARTMENT CHAR(20) 学生所属院系SCHOOL CHAR(20) 学生所属学校COURSE字段类型主码外码说明CNO CHAR(20) √ √ 课程代码CNAME CHAR(10) 课程名称XUEFEN int 学分,取值大于0小于10HOUR int 学时,大于等于0YEAR CHAR(5) 学年TERM CHAR(1) 学分TEACH字段类型主码外码说明TNO CHAR(20) √教师代码CNO CHAR(20) √课程代码STUDY字段类型主码外码说明SNO CHAR(20) √学号CNO CHAR(20) √课程代码SCORE DOUBLE 分数,0--1003).建表语句TEACHER建表语句:create table TEACHER(TNO char(20) not null, TNAME char(10) not null, SEX char(1) not null,TITLE char(10) not null, PASSWORD char(20) not null, primary key (TNO),check(SEX in('男','女')));STUDENT建表语句:create table STUDENT(SNO char(20) not null, SNAME char(10) not null, SEX char(2) not null,CLASS char(5) not null, PASSWORD char(20) not null,DEPARTMENT char(20) not null,SCHOOL char(20) not null, primary key (SNO),check(SEX in('男','女')));COURSE建表语句:create table COURSE(CNO char(20) not null, CNAME char(10) not null, XUEFEN int not null, HOUR int not null, YEAR char(5) not null,TERM char(1) not null,primary key (CNO),check(XUEFEN > 0 and XUEFEN < 10 and HOUR >= 0 ));TEACH建表语句:create table TEACH(TNO char(20) not null, CNO char(20) not null, primary key (TNO, CNO)foreign key(TNO,CNO)REFERENCES TEACHER COURSE ,foreign key(CNO)REFERENCES COURSE);alter table TEACHadd constraint FK_TEACH_REFERENCE_TEACHER foreign key (TNO) references TEACHER (TNO)on update restricton delete restrict;alter table TEACHadd constraint FK_TEACH_REFERENCE_COURSE foreign key (CNO) references COURSE (CNO)on update restricton delete restrict;2009-04-12 18:41STUDY建表语句:create table STUDY(SNO char(20) not null, CNO char(20) not null,SCORE double ,primary key (SNO, CNO),check(SCORE >=0 and SCORE <= 100));alter table STUDYadd constraint FK_STUDY_REFERENCE_COURSE foreign key (CNO) references COURSE (CNO)on update restricton delete restrict;alter table STUDYadd constraint FK_STUDY_REFERENCE_STUDENT foreign key (SNO) references STUDENT (SNO)on update restricton delete restrict;2009-04-12 18:42四。
学生成绩管理系统(JAVA课程设计)

Java课程设计课题:学生成绩管理系统一、问题及功能分析1、身份验证,和使用系统的权限设置、判定。
2、实现同学的学号、性别、成绩等信息的录入、编辑3、提供对学号或姓名,进行成绩或所有信息的查询。
4、计算学生平均成绩,显示最高成绩学生信息5、能实现按成绩、学号、姓名排序列出学生信息。
6、能统计学生成绩分数段的分布(60以下、60~70、70~80、80~90、90~100)情况,并输出。
7、用文件保存数据,以便反复使用。
二、概要设计三、详细设计学生成绩管理系统代码设计:import java.util.*;import ng.*;import java.io.*;class Mytest{public static void main(String[] args)throws IOException{{int select;select = 1;Student stu[]= new Student[10];StudentMis mis=new StudentMis();Scanner sc = new Scanner(System.in);System.out.println();System.out.println(" ---------------------------------------");System.out.println(" * *");System.out.println(" 欢迎进入学生成绩管理系统 ");System.out.println(" * *");System.out.println(" ---------------------------------------");while(true){System.out.println( );System.out.println(" 请选择您的操作:");System.out.println(" 1.录入学生成绩信息;");System.out.println(" 2.显示学生成绩信息;");System.out.println(" 3.计算学生平均成绩;");System.out.println(" 4.显示最高成绩学生信息;");System.out.println(" 5.查找学生信息;");System.out.println(" 6.修改学生信息;");System.out.println(" 7.按成绩排序学生信息;");System.out.println(" 8.学生信息库扩容;");System.out.println(" 9.学生成绩分段输出;");System.out.println(" 0.退出;");System.out.println(" 请输入数字选项(0-9): ");select =sc.nextInt();System.out.println();//判断输入,0退出if(select>=0 && select<=9){switch(select){case 1:mis.Inputstu(stu);break;case 2:System.out.println(" 所有学生成绩信息如下:");mis.print(stu);System.out.println("您选择了显示所有学生成绩信息。
基于JAVA的学生成绩管理系统设计

一、系统需求分析
一、系统需求分析
在系统需求分析阶段,我们需要明确系统的基本功能和要求。基于Java的学 生成绩管理系统应该具备以下功能:
一、系统需求分析
1、管理员可以添加、修改、删除和查询学生信息; 2、学生可以查看自己的成绩; 3、教师可以添加、修改、删除和查询学生成绩;
5、系统应该具备较高的安全性 和稳定性。
五、测试与调试
在完成系统实现后,我们需要进行测试和调试。我们可以通过编写测试用例 来验证系统的功能是否正确,例如:
五、测试与调试
1、测试登录功能:尝试使用不同的用户名和密码登录系统,验证是否可以成 功登录。
2、测试学生信息管理功能:尝试添加、修改、删除和查询学生信息,验证系 统是否可以正确处理这些操作。
权限表(permission):包含系统的权限信息,如权限ID、权限名称等。
3.后端实现
3.后端实现
后端主要实现系统的各项功能,包括用户登录、权限管理、数据查询和统计 等。我们使用Spring框架中的控制器(Controller)和服务层(Service)来处 理业务逻辑。具体实现如下:
3.后端实现
四、系统实现
四、系统实现
在系统实现阶段,我们需要使用JAVA编程语言来实现系统的各个模块。具体 来说,我们需要使用JAVA的类和对象来定义数据和操作,使用JAVA的GUI框架 (如Swing或JavaFX)来创建用户界面,使用JAVA的数据库操作库(如JDBC)来 操作数据库。
四、系统实现
1、数据库连接:使用JDBC连接到数据库。获取数据库连接是每个数据库操作 的第一步,可以使用以下代码获取连接:
java
java
Statement stmt = conn.createStatement(); String sql = "INSERT INTO students (id, name, grade) VALUES (1, 'Tom', 'A')";
基于java的学生成绩管理系统毕业设计

基于java的学生成绩管理系统毕业设计一、项目背景随着教育的发展,学生成绩管理系统已经成为学校管理的重要组成部分。
学生成绩管理系统可以帮助学校管理学生的成绩信息,包括学生的基本信息、课程信息、成绩信息等。
通过学生成绩管理系统,学校可以更加方便地管理学生的成绩信息,提高学校的管理效率。
二、项目目的本项目旨在设计和实现一个基于Java的学生成绩管理系统,实现以下目标:1. 实现学生信息的录入、修改、删除和查询功能。
2. 实现课程信息的录入、修改、删除和查询功能。
3. 实现成绩信息的录入、修改、删除和查询功能。
4. 实现学生成绩的统计和分析功能。
5. 实现学生成绩的导出和打印功能。
三、项目功能1. 学生信息管理(1)学生信息的录入、修改、删除和查询功能。
(2)学生信息的导出和打印功能。
2. 课程信息管理(1)课程信息的录入、修改、删除和查询功能。
(2)课程信息的导出和打印功能。
3. 成绩信息管理(1)成绩信息的录入、修改、删除和查询功能。
(2)成绩信息的导出和打印功能。
4. 学生成绩统计和分析(1)学生成绩的统计和分析功能。
(2)学生成绩的导出和打印功能。
四、项目技术1. 开发语言:Java2. 数据库:MySQL3. 开发工具:Eclipse4. 框架:Spring、SpringMVC、MyBatis五、项目实现1. 数据库设计(1)学生表:包括学生ID、学生姓名、学生性别、学生年龄、学生班级等字段。
(2)课程表:包括课程ID、课程名称、课程学分等字段。
(3)成绩表:包括成绩ID、学生ID、课程ID、成绩等字段。
2. 系统架构设计(1)MVC架构:将系统分为模型、视图和控制器三个部分,实现系统的解耦和可维护性。
(2)Spring框架:实现系统的依赖注入和AOP编程。
(3)MyBatis框架:实现系统的ORM映射和数据库操作。
3. 系统实现(1)学生信息管理:实现学生信息的录入、修改、删除和查询功能,实现学生信息的导出和打印功能。
成绩管理系统课程设计java

成绩管理系统课程设计java一、课程目标知识目标:1. 让学生理解成绩管理系统的基本概念,掌握Java语言在系统开发中的应用;2. 使学生掌握面向对象编程思想,能够运用类和对象构建简单的成绩管理系统;3. 帮助学生掌握Java中的数据存储和访问,包括文件读写、数据库操作等方法;4. 让学生掌握Java中的异常处理和界面设计,提高系统稳定性和用户体验。
技能目标:1. 培养学生运用Java语言进行成绩管理系统开发的能力;2. 培养学生独立分析和解决实际问题的能力;3. 提高学生的编程实践能力,使其能够熟练使用Java开发工具;4. 培养学生的团队协作能力,能够与他人共同完成项目。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发其主动学习的热情;2. 培养学生严谨、细致的编程习惯,提高其程序质量意识;3. 培养学生面对问题积极思考、勇于克服困难的精神;4. 培养学生具备良好的团队合作精神,尊重他人,共享成果。
本课程针对高年级学生,课程性质为实践性较强的编程课程。
结合学生特点,课程目标注重培养编程实践能力和团队协作精神。
在教学过程中,要求教师关注学生个体差异,提供个性化的指导,确保学生在完成课程学习后,能够具备实际开发成绩管理系统所需的知识和技能。
同时,注重培养学生的情感态度价值观,使其在编程实践中形成积极、健康的人生态度。
通过分解课程目标为具体的学习成果,便于后续教学设计和评估,确保教学效果。
二、教学内容1. Java基础回顾:变量、数据类型、运算符、控制流程(条件语句、循环语句);2. 面向对象编程:类与对象、构造方法、封装、继承、多态;3. 数据存储与访问:文件读写、数据库连接与操作;4. 异常处理:异常的概念、try-catch语句、异常的抛出与捕获;5. Java图形用户界面:Swing组件、事件处理、界面布局;6. 成绩管理系统的设计与实现:需求分析、系统设计、功能模块划分、编码实现;7. 项目实践与团队协作:分组进行项目开发,分工合作,共同完成一个简单的成绩管理系统。
java阶段项目:学生成绩管理系统(面向对象)

Java 学生信息管理系统(面向对象)一:效果如下:二:具体实现代码如下:Student类Student .javapublic class Student {private int id;private String name;private int age;private int java;private int csharp;private int html;private int sql;private int sum;private int avg;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getJava() {return java;}public void setJava(int java) { this.java = java;}public int getCsharp() {return csharp;}public void setCsharp(int csharp) { this.csharp = csharp;}public int getHtml() {return html;}public void setHtml(int html) { this.html = html;}public int getSql() {return sql;}public void setSql(int sql) {this.sql = sql;}public int getSum() {return sum;}public void setSum() {this.sum = this.java+this.csharp+this.html+this.sql;}public int getAvg() {return avg;}public void setAvg() {this.avg = this.sum/4;}public String toString(){Stringmsg="\t"+this.id+"\t"++"\t"+this.age+"\t"+this.java+"\t"+this.csharp+"\t"+this.html+"\t"+this.sql+"\t"+this.sum+"\t" +this.avg;return msg;}}学生信息管理类StudentAdmin.javaimport java.util.Scanner;public class StudentAdmin {String msg="\t编号\t姓名\t年龄\tjava\tcsharp\thtml\tsql\t总分\t平均分";//打印现有学生public void print(Student [] stu){System.out.println(msg);for(int i=0;i<stu.length;i++){if(stu[i]!=null){System.out.println(stu[i]);}}}//添加学生public void addStudent(String name,int age,Student [] stu) {Student student=new Student();student.setName(name);student.setAge(age);int i=this.getIndex(stu);if(i==9999){System.out.println("数组已经容纳最大量,不能再接受");}else{student.setId(i);}stu[i]=student;}//获取编号public int getIndex(Student [] stu){for(int i=0;i<stu.length;i++){if(stu[i]==null){return i;}}return 9999;}//根据学生编号查找学生public void selectStudent(int id,Student [] stu){System.out.println(msg);for(int i=0;i<stu.length;i++){if(stu[i]!=null){if(this.exits(id, stu[i])){if(stu[i].getId()==id){System.out.println(stu[i]);return;}}}}System.out.println("\t没有这个学生存在!!!");}//查询学生是否存在public boolean exits(int id,Student stu){if(stu!=null){if(stu.getId()==id){return true;}else{return false;}}return false;}//更新学生信息public void updateStudent(int id,String name,int age,Student [] stu) {for(int i=0;i<stu.length;i++){if(stu[i]!=null){if(this.exits(id, stu[i])){if(stu[i].getId()==id){stu[i].setName(name);stu[i].setAge(age);System.out.println("--更新学生信息成功--");return;}}}}System.out.println("该学生不存在!!!");}public void deleteStudent(int id,Student [] stu){for(int i=0;i<stu.length;i++){if(this.exits(id, stu[i])){stu[i]=null;this.print(stu);System.out.println("\t--删除学生成功--");return;}}System.out.println("删除学生失败");}//根据学生编号获取学生姓名public String getName(int id,Student [] stu){for(int i=0;i<stu.length;i++){if(this.exits(id, stu[i])){return stu[i].getName();}}return null;}//根据学生编号输入学生成绩public void inputScore(int id,Student [] stu,Scanner input) {String name=this.getName(id, stu);System.out.println("请输入"+name+"的java成绩:");int java=input.nextInt();System.out.println("请输入"+name+"的csharp的成绩:");int csharp=input.nextInt();System.out.println("请输入"+name+"的html的成绩:");int html=input.nextInt();System.out.println("请输入"+name+"的sql的成绩:");int sql=input.nextInt();for(int i=0;i<stu.length;i++){if(this.exits(id, stu[i])){stu[i].setJava(java);stu[i].setCsharp(csharp);stu[i].setHtml(html);stu[i].setSql(sql);stu[i].setSum();stu[i].setAvg();break;}}this.print(stu);}//指定某门课的成绩排序public void scoreSort(int num,Student [] stu){Student [] arr=stu;if(num==1){for(int i=0;i<stu.length-1;i++){for(int j=i+1;j<stu.length;j++){if(stu[i]!=null&&stu[j]!=null){if(stu[i].getJava()<stu[j].getJava()){Student s=arr[i];arr[i]=arr[j];arr[j]=s;}}}}this.print(arr);}else if(num==2){for(int i=0;i<stu.length-1;i++){for(int j=i+1;j<stu.length;j++){if(stu[i]!=null&&stu[j]!=null){if(stu[i].getCsharp()<stu[j].getCsharp()){Student s=arr[i];arr[i]=arr[j];arr[j]=s;}}}}this.print(arr);}else if(num==3){for(int i=0;i<stu.length-1;i++){for(int j=i+1;j<stu.length;j++){if(stu[i]!=null&&stu[j]!=null){if(stu[i].getHtml()<stu[j].getHtml()){Student s=arr[i];arr[i]=arr[j];arr[j]=s;}}}}this.print(arr);}else if(num==4){for(int i=0;i<stu.length-1;i++){for(int j=i+1;j<stu.length;j++){if(stu[i]!=null&&stu[j]!=null){if(stu[i].getSql()<stu[j].getSql()){Student s=arr[i];arr[i]=arr[j];arr[j]=s;}}}}this.print(arr);}}//总分排序public void sumSort(Student [] stu){Student [] arr=stu;for(int i=0;i<arr.length-1;i++){for(int j=i+1;j<arr.length;j++){if(arr[i]!=null&&arr[j]!=null){if(arr[i].getSum()<arr[j].getSum()){Student s=arr[j];arr[j]=arr[i];arr[i]=s;}}}}this.print(arr);}}测试类Test.Javaimport java.util.Scanner;public class Test {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubScanner input=new Scanner(System.in);StudentAdmin admin=new StudentAdmin();System.out.println("请输入学生的人数:");int studentNumber=input.nextInt();Student [] students=new Student[studentNumber];while(true){System.out.println("请选择要执行的功能(输入编号):");System.out.println("10:添加一个学生");System.out.println("11:查找一个学生");System.out.println("12:根据学生编号更新学生基本信息");System.out.println("13:根据学生编号删除学生");System.out.println("14:根据编号输入学生各门科的成绩");System.out.println("15:根据某门成绩进行排序");System.out.println("16:根据总分进行排序");System.out.println("99:退出系统");int number=input.nextInt();if(number==10){System.out.println("--执行添加学生操作--");System.out.println("请输入要添加学生的姓名:");String name=input.next();System.out.println("请输入要添加学生的年龄:");int age=input.nextInt();admin.addStudent(name, age, students);admin.print(students);}else if(number==11){System.out.println("--执行查找学生操作--");System.out.println("请输入要查找学生的编号:");admin.selectStudent(input.nextInt(), students);}else if(number==12){System.out.println("执行更新学生信息操作");System.out.println("请输入要修改信息学生的编号");int id=input.nextInt();System.out.println("请输入修改后学生的姓名:");String name=input.next();System.out.println("请输入修改后学生的年龄:");int age=input.nextInt();admin.updateStudent(id, name, age, students);admin.print(students);}else if(number==13){System.out.println("--执行删除操作--");System.out.println("请输入要删除学生的编号:");int id=input.nextInt();admin.deleteStudent(id, students);}else if(number==14){System.out.println("--执行输入学生成绩操作--");System.out.println("请输入要输入成绩学生的编号:");int id=input.nextInt();admin.inputScore(id, students, input);}else if(number==15){System.out.println("执行成绩排序操作");System.out.println("请选择用什么成绩排序:(1:java 2:charp 3:html 4:sql)");int score=input.nextInt();admin.scoreSort(score, students);}else if(number==16){System.out.println("执行总分排序操作");admin.sumSort(students);}else if(number==99){System.out.println("退出系统成功!!!");break;//System.exit(0);}else{System.out.println("输入有误,请重新输入");}}}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末报告课程名称:和学习指南学院:信息工程与自动化学院 _ 学生姓名: _学号:专业:物联网工程年级: 2012级指导老师:一、实验内容1.1题目:基于设计、实现一个课程管理应用程序,该程序实现如下功能:(1)、有登录页面,登录用帐号、密码保存在数据库中,合法登录后进入学习成绩管理页面。
否则给出错误提示。
(2)、在学习成绩管理页面可添加一门课程的成绩,添加内容包括:课程编号、课程名称、学生姓名、课程成绩等内容。
添加后信息保存在数据库中。
(3)、可根据课程名称和学生姓名进行查询。
(4)、可删除和修改课程信息的内容。
(即删除一条课程记录或修改课程记录中的某一字段)。
二、需求分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息。
教师可以通过成绩管理系统查阅学生成绩信息,教师信息,等相关操作。
系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,等相关操作。
本次的实验的功能相对于一个完整的系统来说算是比较简单的,功能并不完善,角色也只有一种,但是做一个管理系统需要用到的技术却是基本都涵盖了,数据库与项目的连接、对数据库的更删查改操作、语法标签、、等知识的应用,本实验需要两个数据库表,一个是存用户账号和密码的表,一个是保存学生的信息的表,总之通过本实验,中本学期的的知识基本都会得到应用。
虽然说功能并不完整,但是认真的做完这个项目还是要花很多心思的。
三、设计思路及流程3.1设计思路3.1.1登录与注册部分用户需要登录才可以进入学生成绩管理页面,在登陆界面有注册功能,如果没有用户,可以注册,注册以后就可以用它来登陆,所有注册的账号密码都会保存在数据库的表中,如果登陆的时候输入的账号、密码和数据库中已有账号密码一致,则为合法登录,就可以进入学习成绩管理初始页面,否则出现错误提示,给个链接返回登陆界面,需重新确认输入。
实现登陆与注册功能用到了、这两个、这两个和一个实现数据库操作的;登陆成功进入。
3.1.2登陆成功之后展示界面登陆成功以后显示的是数据库当前所有的学生信息,以列表形式展示出来,这是一个完成的,该用到了标签的方法,用来遍历显示数据库所有信息。
在页面左上角有一个按钮,这是一个事件,它的作用是转让用户到有增删查改的链接的。
3.1.3添加部分点击上面的操作按钮后进入操作选择页面,然后点击“增加”按钮既可以进入增加信息的界面,该界面也有展示数据库当前信息的功能,进来以后就可以看到数据库当前信息和实现增加课程号,课程名,学生名、成绩的功能。
增加完毕以后有个提交,这会提交到对应,然后调用,把增加的数据保存到数据库,而且增加以后就会在上面的“当前数据库信息”下面看到刚刚增加的信息。
该部分用到了、、、四个文件,在增加信息的下面有个超链接,该超链接用于返回初始页。
3.1.4删除部分在进入删除的界面之前跟上面的增加部分一样,进入删除页面以后在信息展示的下面会提示“请输入需要删除信息的学生姓名”,也就是说只能看着上面的信息展示来通过输入学生姓名删除数据库对应的记录,调用过程跟上面的增加差不多,该部分用到了、、、来完成。
3.1.5修改部分这部分跟上面的模块做法依旧很相似,最大的不同是只是对数据库的操作不一样,本模块有一个缺点,由于开始做项目之气前,在设计数据库的时候没有想到主键等问题,导致最后不得不用学生信息的某一个字段作为主键,因为一旦增加数据库字段,那么涉及到要改的地方就很多,所以我用了分数作为主键来用,也就是说在修改信息的时候成绩是不能修改的,否则将修改失败。
本部分用到了、和、来完成。
3.1.6查询部分查询部分有两种查询方法,一种是按课程名查询,另一种是按学生姓名查询。
在编写的时候我考虑了所有的输入状况,输入其中一个和输入两个或者都没输入我都做了相应的处理,只要输入的正确,在数据库能找到数据就会显示出来,否则就没有数据显示,查找出来的数据都是在文本框里面的。
该部分用到了、、、、五个文件。
3.2设计框图四、关键代码:< "" "用户注册""''"/><> <>< "" ""><p><h3>学;号:< "" "" "" /><3><> <p><h3>密;码:< "" "" "" /> <3><> < "" "" "登录" /> ; ; ; < "" "" "重置" />:<> <h1>当前数据库学生信息!<1><> < "" "0"> <>< "150" "" "" "">课程编号<> < "150" "" "" "">课程名称<> < "150" "" "" "">学生姓名<> < "150" "" "" "">学生成绩<> <>< "${}" "" "s"> <>< "100" "1" "" "">${}<> < "100" "" "" "">${}<> < "100" "1" "" "">${}<> < "100" "" "" "">${}<> <> <> <><><h1>增加学生信息页面<h1><> < "" ""> < "" "0">< "50" "" "" "" >课程编号<> <>< "" "c" ""><>< "50" "" "" "">课程名称<><>< "" "" ""><>< "50" "" "" "">学生姓名<> <>< "" "" ""><>< "50" "" "" "">学生成绩<> <>< "" "" ""><>{= ":1433";= ;= ;;="";= "";= "";(){{();= ();} ( e){(e);}}}五、实验结果1、登录:2、注册:2、3、;4、增加5、删除:删除后:6、修改:修改后:6、查询:按姓名查询;结果:7、按课程名查询:查询结果:六、总结这次实验室我大学以来做的最认真,最费力,也收获最多的一次,我从一个简单的页面开始写起,慢慢的完善各个功能,通过这次试验我基本上把本学期的的知识用了个遍,这次试验也让我学到了很多、以及的知识,之前在实验室跟老师做项目的时候很多知识不会,通过这次试验我又让自己的能力有了很大的提升。
我相信以后在做项目的时候,在工作的时候我肯定会轻松很多。
这次试验是我第一次自己把数据库和项目连起来,我用了很久才弄好,连上以后我想试试,然后我又试了很久才连上,最后用的也是,最深的感触就是,当我想在页面展示数据库信息的时候也,需要用到的知识,这一部分我是从零开始学的,很艰辛。
由于时间仓促,本次试验我并不够满意,存在的几个问题是:1.中文字符乱码未解决。
2.通过在地址栏输入名字就可以访问项目。
3.数据库设计不合理。
4. 好几个页面也没有得到优化。
我本来想用过滤解决登陆验证和中文字符乱码问题,但是最后试了几下没有成功,所以我的项目里虽然有和的相关配置,但是并没有作用。
数据库的不合理之处在于只有四个字段,缺一个字段,所以在更改信息的时候不可以更改分数,一旦更改了分数就会失败,如果有两个分数是一样的也会出现混乱。
这次试验让我学到了很多东西,至此我是真的喜欢上了,感觉很有趣,相对其他语言它的开发效率也要高得多,我也希望以后从事相关工作。
要源代码的可以联系我. 这个是用实现的。