java学生管理系统实训报告

您所在的位置:网站首页 java学生成绩管理系统实验报告 java学生管理系统实训报告

java学生管理系统实训报告

2024-05-21 20:47| 来源: 网络整理| 查看: 265

java学生管理系统实训报告 时间:2024.5.15

Java学生管理系统

实训报告

学    号:                    

姓    名:                    

班    级:                    

指导老师:                    

一、项目计划

(1)项目名称:学生信息管理系统

(2)实训地点:

(3)小组成员:

二、系统总体设计

(1)需求分析

学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。

    通过实际调查,要求学生信息管理系统具有以下功能:

1. 界面设计美观大方,方便,快捷,操作灵活。

2. 实现强大的学生个人信息,课程信息,成绩信息的查询,修改,录入,删除管理。

3. 实现强大的联系人信息及其类别的查询,录入,删除管理。

4. 能够在不同的的操作系统下运行,不局限于特定的平台。

5. 提供数据库备份与恢复功能。

6. 提供友情平台,例如:计算机,方便对成绩的操作;

(2)项目计划安排

    一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。

(3)概要设计

    概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。

(4)详细设计

    概要设计是为了明确开发人员的工作步骤和工作目标。详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。

(5)数据表设计

根据系统所需,可以得出需要以下数据表信息:

需要管理学生信息:学生表。

需要管理教师信息:教师表。

需要管理课程信息:课程表。

需要管理选课信息:选课表。

需要管理院系信息:院系表。

需要管理管理员信息:管理员表。

(6)系统功能结构

(7)系统功能设计

    系统功能框架:作为一个学生管理系统,本系统的设计主要包含:系统登录、学生信息管理、班级管理、课程管理和用户管理。学生管理系统主框架的主要结构。

(8)数据库设计

(9)生成数据库

    设计好软件所需要的全部数据表后,如何将设计好的这些图形元素转化成SQL Server中的数据库呢?PowerDesigner的一个优点就是对数据库可逆。下面是连接数据库的具体步骤:

① 打开PowerDesigner,出现工作界面。

② 单击“数据库|生成数据库”菜单命令,弹出对话框。这里可以看到所有与生成数据库有关的选择,比如生成文件目的地、是否生成视图、是否生成主键索引等。

③ 修改SQl脚本的保存地址,单击“确定”按钮,如果不提示错误,在所选的目的地就能发现一个crebas.sql脚本文件。所生成的脚本文件中并没有关于数据库的信息,因为所创建的仅仅是数据库中表的所有信息。下面就要创建一个数据库。

④ 打开SQL Server,出现其控制台窗口。这里主要包含对象资源管理器和摘要2个区域。

⑤ 在对象资源管理器中,右键单击“数据库”项目,在弹出的菜单中选择“新建数据库”,就出现了新建数据库的窗口。

⑥ 在“数据库名称”文本框内,填写本项目数据库的名称:StudentManager。单击“确定”按钮,就生成了程序所需的数据库,并返回到数据库界面。

⑦ 单击“常规工具栏|新建查询”按钮,系统自动创建一个名为“SQLQuery1.sql”的文本窗口,并显示在摘要区内。

⑧ 打开第3步生成的脚本文件,按Ctrl+A组合键,选择文件里的所有内容,复制到打开的查询文件中。

⑨ 检查一下复制过来的代码是否完整,然后在“常规工具栏|数据库选择”下拉框中选择“StudentManager”。

⑩ 单击“常规工具栏|执行”按钮,执行脚本。如果提示“命令成功执行”,则生成了完整的数据库文件。

在完成对数据库中自动生成的表的检查后,如果没有问题,整个数据库设计就完成了。为了避免日后的重复操作,在设计数据库时,一定要全面掌握每个表的信息内容,因为后期再添加字段将会带来极高的维护成本。

(10)项目的测试

    测试是为了更好地完成项目的功能,虽然测试并不能完全模拟实际发生的流程,但可以降低错误的发生概率,提高软件项目的稳定性。按照极限编程的理论,写测试就是对软件进行设计的过程,它的重要性甚至超过了完成实际功能的代码。先将测试写完,然后再来实现代码,这样所有的测试通过之日也就是程序完成之时。虽然这些理论并不能完全实践,但测试的重要性是毋庸置疑的。

四、实训总结

1.第一次完成项目,深刻的体会到软件整体架构的重要性,编程不能想到哪编到哪,这样在项目的后期会出现很多无法解决的致命错误,所以软件的整体架构的成败将会决定软件的成败,软件分析架构的时间应该占整个项目的大部分时间。

2.Java不仅仅是一个实训更是检验一个人综合能力的测试题。它在考察知识的同时,也考验了一个人的心理素质,沟通交流,表达能力,所以,在做好java任务的同时必须能够协调好这些。

3.软件测试的过程应该贯穿整个软件设计的过程,而不是等做好了再测试,需求分析的时候就应该测试了,而且要反复循环的测试。

4.虽然现在对需求分析还很模糊,但应该强化自己的需求分析的能力,一个好的需求分析才是软件的灵魂。

5.团队精神非常重要,需要不断的沟通。

6.总体上由于自己本身能力有限,还需要进一步学习。

五、实训心得

在几天的实训中我真正体会到这几点。首先兴趣是关键,我的学习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想充分理解一切细节。又因为理解,所以许多原本片片断断的知识都可以渐渐互相融会贯通,累积技术能量、理论和实务之间的玻璃被打破了,学习效率才能倍增。

    其次态度要端正,摆正自己的心态,不要以为什么东西上网搜搜就可以了,一定要有自己的东西。只有自己付出过,当程序运行成功时的那种喜悦才会令自己有一种莫名的自豪感。态度决定一切!然后还要有敢于挑战不安于现成的程序,要敢于用多种方法实现一个目的。

这次的实训也让我明白了要做好一个系统,团队合作永远是最重要的,一个人的力量永远是渺小的,团队分工、合作会使得问题更加的简单、解决的迅速。

 QQ1091770910

第二篇:Java面向对象程序设计购物管理系统实训报告

Java面向对象程序设计

购物管理系统

实训报告

班    级:      软 件1001      

指导教师:      宋  全  记     

学    生:      陈  杨  欢     

实训时间:      20##年秋期     

四川建筑职业技术学院计算机工程系

   20##年 12月 29日

一、 Java的特点

Java具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中优秀的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发。Java确实具备了“一旦写成,处处可用”的特点,这也是Java最初风靡全球的主要原因。Java不仅是一门正在被广泛使用的编程语言,而且许多新的领域都涉及了Java语言,Java已成为网络时代最重要的语言之一。

二、 实训要求

1.  开发环境需要有良好的计算机硬件配置及MyEclipse和Office软件。

2.  按实训任务书与指导书的要求,借助教材和所提供的素材认真思考,独立完成项目案例。

3.  第一、二天,菜单功能的实现,购物、小票、积分和工资模块;第三、四天,录入、抽奖、切换和折扣模块;第五、六天,查询、统计、录入、验证模块;第七、八天,管理、礼品、密码、馈赠模块;第九、十天,系统信息定义与初始化,系统整体效果,测试与完善。

三、 实训目的

培养编程的思想,加深对Java这门专业知识的了解,锻炼个人独立思考和逻辑思维能力,为今后步入工作岗位打下能吃苦耐劳、不气不馁的精神基础。

四、 主要步骤分析

1.用户首先要登录后才能进入系统,因此在登录页面需设置验证用户的用户名和登录密码。

2.当用户登录后进入系统主页面,在系统主页面列出“1.客户信息管理”、“2.我要购物”、“3.真情回馈”等选项,当用户选择不同的数字时就进入相应的页面。

3.在客户信息管理页面设置“1.所有客户信息”、“2.添加客户信息”、“3.修改客户信息”、“4.查询客户信息”等选项以使管理员能有效且方便地管理整个客户信息系统。

4.  用Office办公软件中的Access建立客户信息数据库,以让上面第3点的操作顺利进行。

5.  在客户信息管理中,当管理员输入不同的数字后,返回不同的页面供管理员对客户信息进行增、删、改、查等操作。

6.  在系统主页面选择“2.我要购物”后,首先显示后台所建数据库的所有的商品信息。然后请顾客输入商品编号和对应编号的商品数量,并询问顾客是否继续购买,当用户选择“y”时继续重复前面的步骤,直到用户选择“n”时进入购物结算页面。

7.  在购物结算页面显示该用户的消费单,消费单包括商品名称、个数、折扣、金额、金额总计、实际交费、找钱和所获积分。

8.  当用户在购物系统主页输入数字“3”时跳转到真情回馈页面,在真情回馈页面有“1.幸运抽奖”和“2.返回”两项,当用户输入数字“1”时进入幸运抽奖页面,然后询问用户“是否开始?”,当选择“y”后再请用户输入会员卡号和会员积分,后台判断积分在哪个范围,不同的范围返回不同的礼品,积分不够的不返回。

五、 主要代码和运行效果

1.进入我行我素购物管理系统

文本框: 图1.从登录页面跳转到系统管理页面

2. 显示“所有客户信息”的主要代码和运行效果

Connection con;

       Statement sql;

       ResultSet rs;

       System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * *");

       System.out.println("我行我素购物管理系统>客户信息管理>所有客户信息");

       System.out.println("会员号      生日       积分");

       System.out.println("-----|-----------|------");

       try {//建立桥接器

           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

       } catch (ClassNotFoundException e) {

           System.out.print(e);

       }

       try {//与数据源建立连接     con=(Connection)DriverManager.getConnection("jdbc:odbc:star2","", "");

           sql = ((java.sql.Connection) con).createStatement();

           rs = sql.executeQuery("SELECT*FROM CustomerInformation"); //从数据表中进行查寻命令

           while (rs.next()) {//将客户所有信息以特定的格式输出来

              int custNo = rs.getInt(1);

              String date = rs.getString("custBirth");

              long custScore = rs.getLong("custScore");

              System.out.printf("%-7s", custNo);

              System.out.printf("%-10s", date);

              System.out.printf("%6s\n", custScore);

           }

           con.close();

       }

       catch (SQLException e) {

           System.out.print(e);

       }

3.“添加客户信息”的主要代码和运行效果

System.out.print("请输入会员号(整数):");

       custNo = input2.nextInt();//读入会员号

       System.out.print("请输入会员生日(月/日):");

       String custBirth = input2.next();//读入会员生日

       System.out.print("请输入积分:");

       custScore = input2.nextInt();//读入积分

       AddCustomerLink man = new AddCustomerLink();

       man.setDatasourceName("star2");//数据源名称为“star2”

       String backMess;

       man.setSQL("INSERT INTO CustomerInformation VALUES('" + custNo + "','"+ custBirth + "','" + custScore + "')");// 将从键盘输入的会员号、会员生日和积分录入数据库表中

       backMess = man.modifyRecord();

       System.out.println(backMess);

       System.out.print("已录入的会员信息是:\n" + custNo + "\t" + custBirth + "\t"+ custScore);

 

4.“修改客户信息”的主要代码

String datasourceName = "";

    String SQL, message = "";

    public ModifyCustomerLink() {

       try {// 建立JDBC-ODBC桥接器

       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

       } catch (Exception e) {

       }

    }

    public void setSQL(String SQL) {

       this.SQL = SQL;

    }

    public void setDatasourceName(String s) {

       datasourceName = s.trim();

    }

    public String modifyRecord() {

       Connection con;

       Statement sql = null;

       try {

           String uri = "jdbc:odbc:" + datasourceName;

           String id = "";

           String password = "";

           con = (Connection) DriverManager.getConnection(uri, id, password);// 与数据库建立连接

           sql = con.createStatement();

           sql.execute(SQL);

           message = "修改用户成功!";

           con.close();

       } catch (SQLException e) {

           message = e.toString();

       }

       return message;

    }

System.out.print("请输入要修改的客户的会员号:");

       CustNo1 = member.nextInt();

       System.out.print("将此客户原来的生日修改为:");

       CustBirth1 = member.next();

       System.out.print("将此客户原来的积分修改为:");

       CustScore1 = member.nextInt();

       ModifyCustomerLink link = new ModifyCustomerLink();

       link.setDatasourceName("star2");//数据源名称为“star2”

       String backMess;

       link.setSQL("UPDATE CustomerInformation SET custBirth=" + CustBirth1

              + " where custNo=" + CustNo1);// 查询对应会员号的客户并将对应的会员生日和积分做修改

       link.setSQL("UPDATE CustomerInformation SET custScore=" + CustScore1

              + " where custNo=" + CustNo1);

       backMess = link.modifyRecord();

       System.out.println(backMess);

5.由于查询和删除客户信息与此类似,在这里不做详细说明。

6.购物系统

7.“购物结算”菜单的主要代码及运行效果

System.out.println("我行我素管理系统>我要购物>购物结算");

       System.out.println("* * * * * * * * * * * * 您的消费单 * * * * * * * * * * * *");

       System.out.println("物品-----单价----折扣-----个数-----金额");

       System.out.println(goodsList);// 打印出该客户购买的所有商品情况以供客户浏览

       System.out.println("\n金额总计:\t" + "¥" + sum);

       System.out.print("实际交费:\t");

       float payment;

       Scanner pa = new Scanner(System.in);

       payment = pa.nextFloat();

       System.out.println("找钱:\t" + "¥" + (payment - sum));

       int score = (int) sum / 2;//积分的算法为总消费的一半

       System.out.println("你本次购物所获积分是:" + score);

       int CustNo1;

       String number2;

       Scanner member = new Scanner(System.in);

       System.out.print("\n下面请查询你的积分,请输入你的会员号:");

       CustNo1 = member.nextInt();

       ModifyCustomerLink link = new ModifyCustomerLink();

       link.setDatasourceName("star2");//数据源名称为“star2”

       String backMess;

       link.setSQL("UPDATE CustomerInformation SET custScore=" + "custScore+"+ score + " where custNo=" + CustNo1);// 更新该会员的积分

文本框: 图5.打印消费单

8.“真情回馈”主要代码及运行效果

int custScore = rs.getInt("custScore");

if (number1 != custScore) {

System.out.println("抱歉,没有对应的积分!");

} else if ((number1 == custScore)&& ((number1 >= 1000) && (number1 < 2000))) {

System.out.println("恭喜你获得一部价值¥1200的手机!");

} else if ((number1 == custScore)&& ((number1 >= 2000) && (number1 < 3000))) {

System.out.println("恭喜你获得一部价值¥2400的摄影机!");

} else if ((number1 == custScore)&& ((number1 >= 3000) && (number1 < 4000))) {

System.out.println("恭喜你获得一台价值¥3500的数字电视!");

} else if ((number1 == custScore)&& ((number1 >= 4000) && (number1 < 5000))) {

System.out.println("恭喜你获得一台价值¥4800的电冰箱!");

} else if ((number1 == custScore) && (number1 >= 5000)) {

System.out.println("恭喜你获得一台价值¥5200的笔记本电脑!");

} else {

System.out.println("抱歉,你的积分不足!");

}

 

六、 总结

1.  实训期间遇到的问题及解决办法

①  要将显示效果达到像任务书上的那样并不容易,需要一次次地更正。我在设置购物页面的显示效果时,在控制台上显示的编号、商品名称、单价和折扣总是不能与标题对齐,后来从任务书上看到了使用“\t”来打印横向跳格,然后才纠正了过来。

②  后台数据库中数据的类型与我前台编制的代码设置的输入类型不一致,导致错误。根据显示的错误我用百度查后,找到了问题的所在,然后更正了。

③  最先我没注意到类的取名,没做到见名知意,在使用类的时候有混淆的情况,后来又逐一做了修改。

④  与数据库有关的代码我本以为只有一种,后来查阅了课本,才知道有两种。查寻数据用的一种,添加、修改等操作则使用了另一种。前一种只需一个类,后一种使用了两个类来完成相关操作。

⑤  对于直接关系到添加、修改、删除等操作的关键代码,最初我对相关语句很陌生,无从下手,后经查阅课本和网络上的资料,多番调试后终于得到了解决。

⑥  关于当用户输入错误的信息时,需要弹出错误提示并请用户重新输入,这块程序的编写需要一定的逻辑思维,比如什么时候弹出,如何调用类和方法,该使用何种循环等,不得不考虑。有好几次我在调试时,弹出错误的地方都不对,而且有时还弹不出来,此时我不得不停下来静思,分析前因后果,逐步改正。

2.  实训感受及收获

本次实训,让我学到了平时自己没有学会的Java知识。平时老师虽然给我们讲过了有关知识,可是由于自己没有在课堂上认真听讲,课下练习得少,我掌握的知识也就甚少。但是实训期间我坚持独立完成实训任务,通过自己的大脑去思考,通过自己的双手去敲代码、查资料,真的学到了很多。比如方法的调用,与数据库连接的操作,在控制台显示一定格式的信息等。

实训的时候,很多次当我没调试出来实际效果时,都感觉到很失望、很烦。但是我知道任务始终不得不完成,今后到了工作岗位会遇到更多的不顺心的事,所以我没敢放弃,相信坚持就一定胜利。现在,我虽然没有完整地将整个系统做好,但是基本的功能已经实现。我对自己做出的效果还是感到比较满意的。

最后,我要感谢宋老师平时对我们的精心教导,预祝宋老师新年快乐!

更多相关推荐: java学生成绩管理系统实验报告

JAVA课内实验报告学生成绩管理系统一.实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有…

学生管理系统JAVA实训报告

实训报告书实训名称基础项目实训系部专业班级网络工程121学生姓名芦志强学号20xx23010117指导教师王鸽完成日期20xx1214山东科技大学课程实训报告书目录目录31实训概述32Java访问并处理数据库的...

学生管理系统实训报告(java语言)

Java实训设计报告学生管理系统一项目需求通过与科信学院教务人员的详细交流目标系统具备以下功能1教师客户端功能可以更改密码可以添加学生并要求填写学生基本信息可以根据学号查询学生基本信息及其成绩有权限控制每个管理...

java学生成绩管理系统实验报告

JAVA课内实验报告学生成绩管理系统一实验目的及实验环境实验目的在如今的高校日常管理当中学生成绩管理系统就是其中非常重要的一环特别是当前学生规模大课程门类多校区分散等实际情况学生成绩管理系统更具有非常大的实际应...

基于Java的学生管理系统设计实验报告

河北工业大学Java程序设计课程设计报告学生信息管理系统的设计与实现班级软件Z102班姓名曹立红学号104431指导教师姜子敬目录1前言12系统功能121运行环境122操作说明13系统流程图24程序调试及参数设...

java超市管理系统实训报告

11课程设计的目的通过本次课程设计使学生能够全面深刻地掌握数据库系统的设计流程根据在数据库原理课程中所学到的数据库理论知识结合某个具体的实际需求最终开发出一个较为实用的数据库系统12课程设计的背景和意义121课...

java超市进销存管理系统实训报告

基于Java的超市管理系统姓名学号课程名称JavaCS架构超市管理系统综合实训指导老师CS摘要超市的日常管理工作往往是很复杂很繁琐的再加上管理的货物种类繁多因此超市管理必须实现计算机化超市进销存管理系统是用计算...

基于Java的用户注册管理系统实训报告

课题用户注册管理系统第1章概述第2章需求分析第3章功能设计第4章设计思路第5章关键代码第6章设计总结第1章概述11JAVA简介Java是一种简单易用完全面向对象具有平台无关性且安全可靠的主要面向Internet...

java学生通讯录管理系统实验报告

宁波大红鹰学院课程设计课程设计名称Java学生姓名学生学号班级名称指导教师学生通讯录管理系统实验报告1封面2目录3设计任务书实验题目用Java语言编写一个简单的学生通讯录程序能实现通讯录的基本功能实验目的详细设...

Java面向对象程序设计购物管理系统实训报告

Java面向对象程序设计购物管理系统实训报告班级软件1001指导教师宋全记学生陈杨欢实训时间20xx年秋期四川建筑职业技术学院计算机工程系20xx年12月29日一Java的特点Java具有面向对象与平台无关安全...

学籍管理系统(简易)(java代码实现)实验报告

江西师范大学计算机信息工程学院学生实验报告专业计算机科学与技术姓名学号日期20xx05061实验目的1熟悉和掌握字符串数组等两种高级数据类型2进一步应用Scanner类的对象读取不同类型的数据3进一步训练自顶向...

Java综合性实验 学生成绩管理系统

综合性实验学生成绩管理系统班级数学092学号20xx120xx210姓名同艳云实验仪器设备多媒体计算机实验目的在掌握相关基础知识的基础上学会自己设计实验熟练掌握JDBC技术访问数据库或数据文件的方法在Java中...

java学生管理系统实训报告(16篇)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3