学生成绩管理系统综合试验报告汇编.docx
《学生成绩管理系统综合试验报告汇编.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统综合试验报告汇编.docx(32页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统综合试验报告汇编
学习-----好资料
《Java高级编程》课程报告
学生成绩管理系统
小组成员及分工
姓名
角色
负责功能
组长
设计与编码
测试
王纲伟
是
是
是
增加学生、删改查学生、存取数据
彭坤
否
是
是
登录用户、修改密码
张建锐
否
是
是
删除学生、查找学生、修改学生
一、实验环境
操作系统:
Windows7
编程环境:
Eclipse
实验内容与完成情况二、
登录用户1.
(1)登录用户:
有3种不同的方式登录,管理员登录、教师登录和学生。
每个用户都有自己的账号和密码,通过输入账号和密码来登录,输入账号和密码后会检查是否合理,即账号只能由数学组成,密码只能数字和字母组成,否则会提示错误登录不成功;然后再查找数据库,如果找到匹配的账号和密码,就登录成功,否则登录不成功。
登录成功后会添加相应的功能,管理员可以增删改查学生,教师可以修改和查找学生,学生只能查找学生。
(2)流程图:
更多精品文档.
学习-----好资料
输入账号和密码
是
否查找管理员数据库学习-----好资料
输入学生姓名、学号等信息
是是提示错误,增加学生失败输入学号提示:
该学生不存是输出该学生的姓
名、学号等信息
输入学号
修改表格的某一行(即学生信息)。
提示:
信息(姓名、学生信息是否性别、学号、班别和为空?
成绩)不能为空!
是
登录方式是否为管理员?
否登录方式是否为教师?
是查找教师数据库姓名、学号等信息是否为空?
否姓名、学号等信息是否合理?
将学生信息封装否否
查找学生数据库提示错误,增加学生失败
到学生对象数据库里否找到否该学号?
在!
是否找到匹配的否弹出提示:
账号或账号和密码?
密码错误
是
登录失败登录成功
3()代码:
Strings1=textField.getText();
Strings2=passwordField.getText();
StudentDaodao=newStudentDao();
booleanresult=false;
if(radioButton.isSelected()==true){//管理员登录
result=dao.seachadministrators(s1,s2);
if(result){//登录成功
menuEdit.removeAll();
menuEdit.add(AddItem);
menuEdit.add(SDEItem);
更多精品文档.
学习-----好资料
}
}
教师登录elseif(radioButton_1.isSelected()==true){//
result=dao.seachteacher(s1,s2);
登录成功if(result){//menuEdit.removeAll();
);?
?
整?
敳呴硥?
改查学生
menuEdit.add(SDEItem);
}
}
elseif(radioButton_2.isSelected()==true){//学生登录
result=dao.seachstudent(s1,s2);
if(result){//登录成功
menuEdit.removeAll();
);?
?
整?
敳呴硥?
查找学生menuEdit.add(SDEItem);
}
}
增加学生2.
(1)增加学生:
输入学生姓名、学号、性别、班别、成绩等信息,判断输入的信息是否为空,如果为空提示错误(如姓名为空,就提示姓名不能为空,其他的一样),增加学生失败。
如果不为空判断学号和成绩是否合理,如果不合理就提示错误(如学号中含有字母和其他不是数字的字符,就提示学号只能由数字组成)。
如果合理,则把学生信息封装成学生对象,再通过学生对象把学生信息添加到学生数据库里。
(2)流程图
更多精品文档.
将学生对象里的信息储存到学生数据库
增加学生成功
代码)(3
更多精品文档.
学习-----好资料
更多精品文档.
学习-----好资料
更多精品文档.
-----好资料学习修改学生3.
就输出该学生的如果存在该学号的学生,修改学生:
输入学号,查找数据库,
(1)姓名、学号、性别、班别与成绩等信息,并可以进行修改,保存修改时会判的0~100断你修改的信息是否为空,是否合理(如学号不能修改,成绩只能正整数),是的话就修改成功,否的话就修改不成功,并会弹出提示。
流程图)(2
修改该学生的信息
是学生信息是否提示:
信息不能为空为空?
否
提示:
不能修改学号,学生信息是否否0~100或成绩只能是合理?
的正整数
是
在数据库里找到该学生,并修改。
修改成功更多精品文档.
学习-----好资料
(3)代码:
更多精品文档.
学习-----好资料
删除学生4.就输出该学生的输入学号,查找数据库,如果存在该学号的学生,)删除学生:
(1姓名、学号、性别、班别与成绩等信息,不存在就提示该学生不存在!
然后确认是否删除该学生。
)流程图(2输入学号
否数据库里否找到提示:
该学生不存该学号?
在!
是
输出该学生的姓名、学号等信息
在数据库里找到该学
生,并删除。
删除成功
更多精品文档.
学习-----好资料
(3)代码
更多精品文档.
学习-----好资料
查找学生5.
(1)查找学生:
输入学号,查找数据库,如果存在该学号的学生,就输出该学生的姓名、学号、性别、班别与成绩等信息,不存在就提示该学生不存在!
(2)流程图
数据库里否找到否提示:
该学生不存该学号?
在!
是
输出该学生的姓名、学号等信息
3()代码
更多精品文档.
好资料学习-----
删改查学生6.如班别和性别来查询学生成绩,1()删改查学生:
用户可以通过输入姓名、学号、班所有学生的信息(姓名、学号、班别、性别1输入电子1班可以查询电子和各科成绩),并把这些学生信息显示在表格上,每一行显示一个学生的信息。
用户可以修改表格的某一行,或删除表格的某一行,来实现修改学生和删除学生。
)流程图2(1()
输入查询条件(姓名、(即删删除表格的某一行学号、性别和班别)除学生)。
查找数据库,找到符合从数据库里删除该查询条件的所有学生学生
将学生的信息显删除成功示在表格上
2)或(1()更多精品文档.
学习-----好资料
(2)
提示:
不能修改学号,学生信息是否或成绩只能是0~100合理?
的正整数
是
在数据里找到该学生,
并修改。
修改成功
(3)代码
查找并显示在表格:
更多精品文档.
学习-----好资料
更多精品文档.
学习-----好资料
修改:
更多精品文档.
学习-----好资料
更多精品文档.
学习-----好资料
更多精品文档.
学习-----好资料
删除:
修改密码7.
(1)修改密码:
输入一次旧密码,输入两次新密码,判断密码是否为空,为空就弹出提示信息“密码不能为空”,否则查找数据库,检查旧密码是否正确,不正确就弹出提示“旧密码错误!
”,否则就判断新密码的组成,如果密码由数字和字母以外的字符组成,就弹出提示“密码只能由数字和字母组成!
”,否则就将旧密码替换成新密码,保存到数据库里。
流程图2)(输入一次旧密码,两次新密码。
否提示:
密码不能为空密码是否为空?
否
否提示:
旧密码错误!
旧密码是否正确?
是
两新密码是否一致?
提示:
两次密码不一致否是
旧密码替换成新密码,并保存到数据库
更多精品文档.
学习-----好资料
(3)代码
更多精品文档.
学习-----好资料
更多精品文档.
学习-----好资料
存取数据8.
(1)存取数据:
先创建Document的对象document,然后通过document来访问xml文档里。
保存到xml文档,并对其进行增删改查操作,最后把document
(2)流程图
创建Document的对象document
document访问xml文档,并对其进行增删改查。
文档documentxml保存到
2代码功能)(3文档里所有学生及信息读取出来,保存到student.xml把List.更多精品文档.
学习-----好资料
删除学生
更多精品文档.
学习-----好资料
修改学生
增加学生
更多精品文档.
学习-----好资料
查找学生
保存学生密码更多精品文档.
学习-----好资料
保存管理员密码
更多精品文档.
学习-----好资料
查找管理员密码
保存教师密码
更多精品文档.
学习-----好资料
查找老师密码
更多精品文档.
学习-----好资料
三、
四、功能测试
增加学生:
如果我不小心点击了两次增加学生的按扭,就出现两个一模一样的学生(如下图),解决方法:
增加学生之前,先判断是否存在该学生,如果不存在,就增加;存在,就修改。
修改学生:
如果我修改了学生的班别(如电子2班,改为电子1班),就出现电子2班有该学生,电子1班也有(如下图),解决方法:
在修改学生之前,先判断该学生的班别跟原来的班别是否一致,如果一致,就修改;不一致,就先把原来的学生删除,然后保存,最后增加该学生。
更多精品文档.
学习-----好资料
,b)(但实际创建了一个表格的建立:
本来想创建一个7列的表格,8列的表格(如下图多出了一列)。
原因:
创建一行的时候,就已经创建了一列,目标的列数应该要比实际的列把,数少一列。
解决方法:
如下图(a)。
i<6i<7改为
更多精品文档.
学习-----好资料
(a)
(
(b)
查找学生:
如果我第一次查找学生的结果正确,第二次再查出现错误(如下图),原因是第一次查询的结果没有被清掉,导致下次查找时出现错误。
解决方法:
再每次查找学生之前,先把表格清理(即上一次查询的结果清理),然后进行查找学生。
更多精品文档.
学习-----好资料
清一表格代码如下:
出现错误图:
登录用户:
登录教师用户时,总是提示密码错误,但查看数据库时,发现密码并没有错误。
原因:
原来在读取教师账号密码时,创建了错误的Document对象,创建的是管理员账号密码文档的对象。
解决方法:
把Document的对象改为教师账号密码的对象。
现象:
更多精品文档.
学习-----好资料
原因:
。
改为XmlUtils.getteacher()解决方法:
将XmlUtils.getadministrators()项目总结五、:
王纲伟成员1()增加学生:
在保存学生成绩之前需要判断输入的成绩是否正确(成绩只能是1)(所以要先把,因为我们输入的成绩是以字符串形式保存的,0~100的正整数)字符串转换成浮点型。
但这就遇到了一个问题,如果我不小心输入了一个错误的成绩,即成绩里含有非数字的字符组成时,在字符串转换成浮点型后就会出现错误。
因此,要先判断成绩的组成,如果成绩里含有其他非数字的字符组成时,应该提示错误并不进行字符串转换成浮点型。
否则就将字符串转的正整数。
换成浮点型,然后再对浮点型的数据进行判断,是否是0~100更多精品文档.
学习-----好资料
(2)学生信息的显示:
把数据库里所有学生信息都显示在表格上,要怎么做?
①先从数据库里读取第一个学生信息,然后把读取出来的学生信息显示在表格上,再从数据库里读取第二个学生信息,然后显示在表格上,如此循环。
如果数据库里有上万个学生的信息,就要读取上万次数据。
所以不用这种方法。
②先把数据库里读取所有学生信息并保存到学生列表)里,然List(后再用循环语句把学生列表)里所有学生信息显示在表格List(上。
这种方法可用。
成员2(彭坤):
(1)登录用户:
要怎么做才能实现3种不同登录方式(管理员、教师和学生),用3个按扭,分别是管理员登录、教师登录和学生登录,点击哪个登录按扭就登录相应用户;这方法比较简单但界面不好看不灵活。
用3个单选按扭,分别是管理员、教师和学生,设置3个单选按扭的独立性(即只要有一个被选,另外两个就不能被选),哪个单选按扭被选中,点击登录时就登录相应的用户;这方法比上一种复杂,但直观并灵活。
成员3(张建锐):
(1)修改学生:
在修改学生时,把学号也修改了,结果出现了一些错误。
修改学生的学号时,如果我把当前学生的学号修改成了别的学生的学号,那就相当于修改了别的学生信息,而不是我想要改学生的信息,因为在保存修改学生信息时,是通过判断当前要修改学生的学号是否与数据库里学生的学号相等,如果相等就修改数据库该学生的信息。
所以把学号修改了,就出现了问题,要修改的学生信息没有改,却修改了别的学生的信息。
因此,学生的学号应该是唯一的,即学号不能被修改。
否则提示错误。
更多精品文档.