学生成绩管理系统说明书分析.docx

上传人:b****9 文档编号:25702314 上传时间:2023-06-11 格式:DOCX 页数:19 大小:594.60KB
下载 相关 举报
学生成绩管理系统说明书分析.docx_第1页
第1页 / 共19页
学生成绩管理系统说明书分析.docx_第2页
第2页 / 共19页
学生成绩管理系统说明书分析.docx_第3页
第3页 / 共19页
学生成绩管理系统说明书分析.docx_第4页
第4页 / 共19页
学生成绩管理系统说明书分析.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统说明书分析.docx

《学生成绩管理系统说明书分析.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统说明书分析.docx(19页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统说明书分析.docx

学生成绩管理系统说明书分析

*******************

实践教学

*******************

 

兰州理工大学

计算机与通信学院

2013年秋季学期

Java课程设计

题目:

学生成绩管理系统

专业班级:

姓名:

学号:

指导教师:

成绩:

摘要

本次课程设计要求用Java设计一个学生成绩管理系统,利用图形用户界面实现。

要求可以增加学生成绩信息,修改学生成绩信息,查询学生成绩信息,删除学生成绩信息,按平均分排序学生成绩,退出系统。

设计中利用一个类实现功能模块,类中有几个方法,每个方法实现一个功能模版,利用类声明对象来调用各个方法。

开始主界面面板,面板中加有菜单项,菜单中有添加信息、查询信息、修改信息等。

本系统实现了学生成绩的管理功能(添加成绩,修改成绩,查询成绩等)。

每一个功能都有相应的模版,每个模块都有相应的操作。

关键字:

成绩管理;面板;添加;查询;修改。

序言

本设计要求用java的基础知识设计GUI的学生成绩管理系统,将学生成绩统一,方便管理。

系统界面包括面板,菜单,标签,文本框,主界面包括菜单,版权。

菜单里面放有添加信息、修改信息、查询信息、成绩排序、导出信息、退出这几面板。

添加信息面板有学号、姓名、成绩等标签;修改信息也是学号、姓名、成绩这几个标签;查询面板中是按学号查询,也根据查询到的学生信息可以删除该学生的所有信息;成绩排序面板中是按平均分排序的,可以显示所有的学生信息;导出面板则是直接可以将学生信息按照自己想要的文件格式导出到特定的文件夹中;退出按钮是直接退出系统。

整个系统实现了学生成绩的统一管理功能,可以方便的管理整个学校的学生成绩,还能进行成绩排序。

第1章系统分析与设计

1.1系统功能分析

1.系统以菜单方式工作;

2.录入信息用文件保存,可以不通过代码直接去查看、修改文件的内容;

3.能按学号完成对学生成绩的录入、修改、查询、删除和导出;

4.能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序;

5.能查询学生成绩,不及格科目及学生名单;

6.能输出学生的成绩单,查看学生的成绩。

1.2总体设计

Java程序编辑器是:

图形界面、流与文件等技术的综合应用。

图形界面的实现:

考虑到简单、实用、高效等特点,就选择了Swing来完成实现,在选择组件上,选用了JFrame作为主要的部件。

主窗口含有一菜单栏,菜单栏包含菜单,版权两个选项。

其中菜单选项包含添加和退出、查询,修改和删除,版权包括关于系统制作者的个人信息。

添加是输入学生的信息,按确定储存,退出即关闭程序。

查询是对系统中存储的信息进行查询,修改和删除是需要输入学生的学号。

程序采用文本形式对数据进行储存,对输入的学生信息以类的形式储存,然后串行化储存到记事本(data.txt)中,修改和查询的时候再对信息进行反串行化。

程序整体设在设计类的时候,为了更利于用户操作,设立了多个类,之间相互调用,更利于对程序的理解。

各模版设置了功能的选择。

第2章详细设计

2.1各个类的详细设计

Studentgrade类首先创建主面板,然后创建菜单栏(createdMemu),在菜单栏里有菜单(manageMenu)和帮助(helpMenu)两个主菜单,菜单里面有以下菜单项:

添加信息(m_add)、修改信息(m_modify)、查询信息(m_manage)、成绩排序(m_sort)、导出信息(m_export)和退出(m_exit);帮助里面有说明(m_help)和版权(m_copy)两个菜单项。

主界面的设置是privateJPanelcreateWelcomePanel(){

JPanelpanel=newJPanel();

JLabeltitle=newJLabel("学生成绩管理系统");

title.setFont(headFont);

panel.setBackground(Color.cyan);

panel.add(title);

panel.setVisible(true);

returnpanel;

}

每一个菜单项都有其相应的事件监听器,例如添加信息菜单项的时间监听器为m_add.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

resetPanel(insertPanel);

}

});

添加信息面板首先设置一个标签文本为“录入学生成绩”,然后添加六个便签依次为"学号","姓名","Java面向对象","数字电子技术","计算机网络","操作系统原理",每一个便签后加一个文本用来填写信息。

在学号标签上注册一个监听器,当填写学号时没有填写或者点到其他文本时会产生焦点缺失,提示“学号不能为空!

”;当填写已有的学号时会提示“系统中已存在相同学号的信息!

”。

面板中还有录入信息按钮,为其注册监听器,当信息填写完成后点击“录入信息”系统会检测成绩文本上的成绩是否符合要求,出现小数或为填写时则会提示错误“成绩未填写或输入不是整数!

”,当信息都符合要求时系统录入成绩,提示“录入成功!

”。

除了录入成绩按钮还有清空按钮,清空按钮的时间监听器为当发现错误时可以点击清空按钮来清除所有信息,方便快捷。

修改信息面板和添加成绩面板类似,都有事件监听器,为每个按钮提供相应的功能。

查询面板中是按学号进行查询,填写学号点击“查询”按钮,监听器响应,当学号不存在时会提示“不存在该学号的学生信息!

”当未输入时会提示“未输入学号!

”,面板中还存在删除按钮,当查找到相应的学号,点击删除按钮后会提示“确定要删除学号为”+no+“的学生的信息吗?

”,点击确定后提示“已经删除了该学号学生的信息!

”,还有“查看所有信息”按钮,点击查看所有学生的信息。

排序面板中添加有“按平均分排序”按钮和“显示所有信息”按钮,两个按钮的弄能不一样,监听器也不一样,按平均分查询则是将添加进去的学生按平均分排序,从高成绩至低成绩排好显示在表格中。

导出面板则是为导出按钮注册监听器,点击导出会显示文件存储对话框,提示输入保存文件的名字,保存的格式,保存位置。

点击保存提示保存成功。

另一个帮助菜单中有两个菜单项,“说明”和“版权”,点击说明显示的是“此系统利用文件流进行存储!

”点击版权显示的是制作者的个人信息。

2.2编码实现

1.Studentgrade类/*构造器:

初始化窗体*/

publicStudentgrade(){

/*设置窗体基本信息*/

setLocation(350,150);

setSize(600,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setResizable(false);

setTitle(title);

createMenu();

add(welcomePanel);

/*如果数据文件不存在则默认创建一个*/

if(!

data.exists()){

try{

newFileWriter(data);

}

catch(IOExceptione){}

}

this.setVisible(true);

}

类中的方法有:

检查输入的数字信息是否是整数方法(privatebooleancheckInteger(Stringtext));

清空表单信息方法(privatevoidclearForm(JTextField[]textField));

获取指定学号的学生信息方法(privateStudentselectStudent(Stringno));获取所有学生数据方法(privateArrayListdisplayDataList()

ArrayListdataList=newArrayList(););

获取成绩排序后的信息方法(privateArrayListsortData1List()ArrayListdataList=newArrayList(););

主要的参数有:

privateContainercurrentContainer=this;/*当前窗体*/

privateStringtitle="学生成绩管理系统";/*窗体标题*/

privateFontheadFont=newFont("宋体",Font.PLAIN,18);/*标题字体*/

privateFiledata=newFile("C:

\\data.txt");/*数据文件*/

privateDataTabledataModel=newDataTable();/*数据模型*/

privateJTabledataTable=newJTable(dataModel);/*数据表格*/

privateJTabledataTable1=newJTable(dataModel);/*数据表格*/

privateJLabelextraLabel=newJLabel();/*备注*/

privateJPanelwelcomePanel=createWelcomePanel();/*主界面面板*/

privateJPanelinsertPanel=createInsertPanel();/*添加信息面板*/

privateJPaneldisplayPanel=createDisplayPanel();/*显示信息面板*/

privateJPanelmodifyPanel=createModifyPanel();/*修改信息面板*/

privateJPanelsortPanel=createSortPanel();/*显示信息面板*/

2.Student类此类为学生信息获取与定义的类方法有:

publicStringgetNo(){};

publicvoidsetNo(Stringno){};

publicStringgetName(){};

publicvoidsetName(Stringname){};

publicintgetAsmScore(){};

publicvoidsetAsmScore(intasmScore){};

publicintgetJavaScore(){};

publicvoidsetJavaScore(intjavaScore){};

publicintgetNetScore(){};

publicvoidsetNetScore(intnetScore){};

publicintgetOsScore(){};

publicvoidsetOsScore(intosScore){};

publicintgetaverageScore(){};

publicvoidsetaverageScore(intaverageScore){};

publicintgetaverageScore1(){};

主要参数为:

privateStringno;

privateStringname;

privateintasmScore,javaScore,netScore,osScore,averageScore;

3.DataTable类为数据表格类,为系统建立表格主要的方法为:

更新学生信息对象数组方法:

publicvoidupdate(ArrayListdataList);

更新学生信息对象方法:

publicvoidupdate(Studentstudent)、publicintgetColumnCount()、publicintgetRowCount()、publicObjectgetValueAt。

String[]label={"学号","姓名","Java面向对象","数字电子技术","计算机网络","操作系统原理","平均分"};

ArrayListdataList=newArrayList();

 

第3章系统测试

3.1测试方案

1.进入系统,点击菜单中的添加信息;

2.在添加信息面板中填写几个学生的信息测试;

3.在菜单中点击修改信息进行修改测试;

4.在菜单中点击查询进行查询与删除测试;

5.在菜单中点击导出进行导出文件测试。

3.2测试用例

添加信息:

11240101,学生1,100,100,100,100

11240102,学生2,99,99,99,99

11240103,学生3,88,88,88,88

11240104,学生4,77,77,77,77

11240105,学生5,66,66,66,66

11240106,学生6,55,55,55,55

11240107,学生7,44,44,44,44

11240108,学生8,33,33,33,33

11240109,学生9,22,22,22,22

11240111,孙悟空,100,100,100,100

修改则选择孙悟空学生进行修改;

删除也是选择孙悟空进行删除。

3.3测试结果

测试结果:

1.添加信息

图1.添加信息

2.修改信息

图2修改信息

3.查询信息

图3.查询信息

4.删除信息

图4.删除信息

5.导出信息

图5导出信息

导出成功

图6导出成功

3.4软件的可靠行分析

该软件实现了学生成绩管理的功能。

从总体上来说该软件还是比较可靠的,学生的信息都可以进行保存,保存的信息也都能进行查看、删除、修改等操作。

该软件给学生成绩管理者提供了方便,不用再使用纸质的管理,操作方便,管理轻松,而且成绩也不易泄漏,比较安全。

第4章软件使用说明书

4.1初始界面

运行系统,得到如下图4.1界面:

图7初始界面

 

4.2添加学生成绩

点击菜单的“添加信息”按钮按照面板中的提示信息进行填写信息,填写完成后点击“录入信息”就能将信息加入文本中。

图8添加信息

 

4.3修改学生成绩

点击菜单中的“修改信息”按钮后显示界面,根据界面中的提示信息进行修改学生信息,修改完成后点击“修改信息”就可完成修改。

图9修改信息

4.4查询、删除信息

点击菜单中的“查询信息”按钮后显示界面,根据界面中的提示信息进行查询学生信息,填写学号时不能为空,错误的学号会提示错误,填写正确即可查询对应的学生信息;删除时主要查找到对应的学生信息即可点击“删除”按钮进行删除。

图10查询信息

图11删除信息

 

4.5导出信息

点击菜单中的“导出信息”按钮出现界面,根据界面中的提示信息进行保存操作,即可完成对信息的导出。

图12导出信息

4.6返回主界面

点击帮助中的返回主界面即可返回到欢迎界面。

图13返回主界面

 

设计总结

经过两个星期的努力,完成了此次课程设计。

通过这次的课程设计,将书本上的知识运用到实践上,从而进一步巩固和丰富所学知识,也让我更加深层次的认识了java及其功能的强大。

为了更好地完成这次课程设计,我上网查阅资料,到图书馆翻阅书籍。

这个过程中也锻炼了我的思维分析、遇到问题及想法设法通过各种途径解决问题的能力。

本次课程设计要求以图形用户界面技术来实现,用到许多GUI的知识,比如:

各种组件、容器、布局管理、事件监听、事件响应等。

因此我了解了更多的GUI方面的知识。

在课程设计过程中,在把书本上的知识给系统的复习了一下的同时,同时也发现了自己的太多不足,对java语言整体知识构架不够熟悉,不能灵活地运用所学的知识点,掌握的知识不够多,在课程设计过程中遇到了许多困难,因此应该在将来学习更多的java方面的知识。

参考文献

[1]赵付青,高峰.Java面向对象程序设计.北京:

国防工业出版社,2010.2

[2]耿祥以,张跃平.Java大学生实用教程.北京:

电子工业出版社,2012.6

[3]明日科技.Java经典编程.北京:

清华大学出版社,2012.10

[4]李尊朝,苏军.Java语言程序设计.北京:

中国铁道出版社,2004.2

[5]王博.面向对象的建模、设计技术与方法.北京希望电脑公司,1990.

[6]王洋.Java就该这样学.北京:

电子工业出版社,2013,6

致谢

能够完成这次操作系统课程设计,我要感谢我的课程设计指导老师XX老师。

X老师在我的课程设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,我的能力得到了提高,养成了科学、严谨的学习习惯。

X老师在我们的学习中给了我们许多启发性的建议并使我们积累了大量的java程序设计知识,为我们的课程设计奠定了坚实的基础。

在本次课程设计当中,有很多同学帮助我完成对程序的测试,使得我的很多疑问得到解决,进一步巩固了所学习的内容,对我的课程设计的完成也起了不小的作用,在他们的帮助下,我才能够比较好的完成着次课程设计,在此一并表示感谢。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技

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

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