当前位置:首页 > 数据结构课程设计实验报告 - 图文
3.输入一个错误的学号,如“001”“dfdf”,弹出消息对话框,提醒“没找到该学生,请检查学号”;
4.文件菜单暂时无法使用,正在修正当中。
2.6.2.“学生信息查看”界面
点击下方的排序按钮,文本域中的学生进行相应的排序显示。
- 19 -
2.6.3.“学生成绩录入”界面
1.该界面的学号跟姓名是无法编辑的,学号默认是从第一个学生开始。
2.输入三门功课的成绩,点击“保存”,则保存信息到系统,并显示在“学生信息查看”界面的文本域中。
3.点击“《==”“==》”,在“保存”的基础上进入上一个或下一个学生。
2.6.4.“学生信息管理”界面
1.该界面初始化的形式是只有学号文本框是可编辑的,进行操作前,需要输入你要操作的学生的学号。输入正确的学号后,才可进行下面的操作;
2.点击“修改”,显示该学生姓名,成绩文本框变成可编辑模式,“修改”按钮变成“保存”按钮,在文本框中输入要修改的成绩,没输入或者输入错误则不对该门成绩进行修改;
- 20 -
3.点击“保存”,便保存信息到系统,并显示在“学生信息查看”界面的文本域中。
4.点击“删除”,弹出确认对话框删除该学号的学生记录,点“是”删除该学生成绩记录,点“否”,则取消删除。
5.成功删除后,弹出消息对话框,提醒“已删除该学生成绩记录”。
6.每次就行修改,或删除操作后,界面会变回刚开始时的形式,即只有学号文本框是可编辑的。
3. 课程设计总结或结论
在刚开始进行课程设计时,并没有想到用一个界面的方式完成这个题目,因为之前一直都没接触过这方面的内容,也从未尝试开发过界面。结果我们两个人在第一天晚上就各自编写出一个小程序,这个程序没有用太复杂的数据结构和排序算法,基本实现了对学生进行录入,读取,删除等操作。但这并不能使我们满意,因为操作太麻烦了,而且也不直观,后来便决定开发一个具有界面的管理系统。
接下来的几天里便开始查阅Jave界面开发相关的书籍,以前这方面的东西还只是空白,现在所有的东西都得学了。界面开发,主要是界面的设计跟控件事件的处理。进行各种事件操作时也会进行各种异常处理,数据的保存读取需要用到IO。在这段时间里,基本上都是
- 21 -
边学习边编写代码。很多方法的设计技巧有些是模仿书上的,有些则是靠自己以前编写代码的一些经验。
经过几天的学习,我们每人做出了一个界面程序,但都有共同的缺点,界面使用了很多面板来摆放按钮,因为要实现的功能也比较多,所以按钮也有两排,用于排序的按钮就有5个,这种界面很不好看。同时很多按钮的事件也没有完成。
后来我便对界面进行重新设计,修改成一个多界面模式的程序,也就是像现在这样,分为一个主界面,三个子界面。每个界面都很简单,只有几个按钮,并且能够实现各种不同的功能,界面与界面之间也相互联系,比如在管理界面进行操作时,在查看界面会进行显示,成绩录入的界面也类似。这种分工的设计还是比较满意的。重要的是,在题目要求的功能基础上,添加了一些其他的功能,操作以来也很简单。不用查看用户使用说明,也可以对程序进行各种操作。
但因为经验不足的原因,很多事件的处理都出现或多或少的bug。在程序完成之后,进行了很多测试,基本上每次都要对程序代码进行一次修改。对方法抛出的一些异常也不知该怎么处理。很多bug都是在测试过程中发现的,在测试结果那里也写了一些。
在这次是课程设计的过程中,我们并没有完全按照书上介绍的软件开发周期那样去开发这个程序,这里面主要是经验的原因。在没有编写代码之前完全不知道怎么去进行概要设计之类的模块。这样做明显出现了很多的坏处,对于后期出现的一些错误,有的修改一两个方法就行了,有的甚至要修改所有的类才能改正。界面不行时,要重新开始写代码。在测试、修改的过程中耗费了大量的时间。
因为能力经验有限,目前该程序有一些部分需要的功能还无法实现,或者还有一些功能是我们未考虑到的。还未实现的功能或未解决的问题有:
1. 数据没有采用数据库的方式来操作。 2. 文件保存跟打开方法还不完善。
3. 该程序我假设的是对一个班级的成绩管理,所以数据的对象很小,排序算法用的是
比较容易实现的插入排序。不过,如果开发一个真正实用的系统就没这么简单了。从这方面看来这个程序做得并不好。
4. 该程序缺少添加学生的功能,因为刚开始进行分析的时候,题目并没要求这个,所
以设计时,没加进去这个功能。
5. 这程序的界面是书上教的一些最简单的控件的集合,也导致界面不够美观。
6. 也有一些东西现在还没学到,比如有时会提醒出现异常:Exception while removing
reference: java.lang.InterruptedException,暂时不知道如何处理。
这次的课程设计,包括写报告的时间在内,总共投入的时间超过了一个星期。通过我们的共同努力,终于完成现在这个作品,实在是不容易。在这期间也学到了很多东西,也对从前学过的知识进行一次回顾。相信不管结果如何,这次的经历对自己的编程能力的提升肯定会不少帮助,甚至也可以在以后的程序中受益。
4. 小组成员分工说明:
许建城 需求分析 类设计 界面设计与实现 测试分析 刘汉明 需求分析 类设计 测试分析 报告撰写 上面的分工情况只能说是个大概,因为很多模块都是一起负责的。
- 22 -
参考文献
[1] [美]Robert Lafore著. 计晓云,赵研,曾希,狄小菡译. Java数据结构和算法. 北京:
中国电力出版社,2004.
[2] [美]Y.Daniel Liang著. 万波,郑海红,潘蓉,李娜译. Java语言程序设计 基础篇(第
六版).北京:机械工业出版社,2008.6.
[3] 林信良. Java JDK6学习笔记. 北京:清华大学出版社,2007.4.
[4] [美]Chapman,S.J.著. 傲富江译. Java程序设计——面向工程和科学人员(第2版).
北京:机械工业出版社,2005.5.
- 23 -
共分享92篇相关文档