基于JAVA的学生成绩管理系统的设计与实现.doc_第1页
基于JAVA的学生成绩管理系统的设计与实现.doc_第2页
基于JAVA的学生成绩管理系统的设计与实现.doc_第3页
基于JAVA的学生成绩管理系统的设计与实现.doc_第4页
基于JAVA的学生成绩管理系统的设计与实现.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课程名称学生成绩管理系统专业软件工程学生姓名雷乾鹏 班级09421学号09421028指导教师李杰完成日期 目 录一系统概述.二可行性分析.三需求分析.四概要设计.五详细设计.六程序代码.14引 言通过本课程设计,使自己更加系统地理解和掌握数据结构的基本概念;能自如地根据实际要求,设计相应的数据结构,并运用java语言和SQL语言实现所设计的算法,编写较大型的程序,分析和解决实际应用问题,进一步加深、巩固所学专业课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握java语言或sql server语言独立的编写、调试应用程序和进行其它相关设计的技能。此项目主要是考察我们对结构体、数组、文件等具体操作,以及对java语言语法的掌握,所以做成此项目要求比较高的设计要求,对整体有很熟悉的概括,同时调试过程也是很重要的,对程序界面的要求也比较高,要设计的合理同时也要美观一点,能够人性化的描述清楚你的各个功能,一目了然,对其他用户使用本程序简单易懂,这才能成本程序或本系统是成功的。对于学生成绩管理系统,此项目每年都有学生去做,但是能够在其他项目中脱颖而出,还要有自己的设计特色,用简单的语言详细描述系统的功能,这才是关键。这个设计能够练习我们的理解和运用结构化程序设计的思想和方法,掌握开发一个小型实用系统的基本方法,学会调试一个比较长的程序的基本方法,同时掌握书写程序设计开发文档的能力。1 系统概述该学生成绩管理系统具备三方面的功能:一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础查询(学生信息查询、班级信息查询、课程信息查询)、成绩管理(成绩查询、计算平均分)重新登陆系统;一方面老师进入该系统则比学生多一些权限:成绩输入、成绩查询等。此系统总共包含的模块如下:1. 登录模块2.2 可行性分析1. 经济可行性学生成绩查询系统开发的预算基本可满足设备投入和人力投入。就收益而言,由于学生成绩查询系统的效益是社会效益。系统一旦投入使用,将会极大提高教师和管理人员的工作效率和工作质量,为学生创造一个更好的环境和服务。2. 技术可行性现行的计算机技术、数据库技术和网络技术完全能实现本系统的功能要求,并且系统开发人员都是学校计算机系软件工程专业的学生,既有理论知识,又有实践经验,完全可以开发出满足要求的学生成绩查询系统。3. 社会可行性系统开发和开发后的运行等活动不违反现行法律,没有对他人的专利、版权造成侵犯,与现行的管理制度没有冲突。从系统的使用人员来看,可大致分为以下几类:学生、教职工和教务处管理人员。用户的素质较高,大部分受过高等教育,而且新开发的软件系统友好的界面及简便的操作方法,保证能满足绝大多数用户使用该系统的要求。鉴于以上分析可知,该学生成绩查询系统的开发项目不仅技术上可行,而且还会带来巨大的社会效益。因此,可行性研究最后认为:该学生成绩查询系统具备系统开发的条件,项目可行,建议开始开发。 3 需求分析1. 需求分析概述需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。通过需求分析充分认识系统的目标、系统的各个组成部分、各部分的任务职责、业务范畴、工作流程、工作中使用的各种数据及数据结构、各部门的业务关系和数据流程等,为系统设计打下基础。需求分析的好坏往往决定了系统开发的成败。需求分析从系统的调查研究入手,需求分析要对系统的各个方面有全面的了解,既包括系统内部的各个方面,也包括与系统有联系的各种外部因素。通过调查研究和分析,对系统产生比较深刻的认识。需求分析阶段的最终结果是“需求分析说明书”,它涵盖了对用户环境、事务处理和信息流程分析的一切成果,供项目开发组和用户共同遵守。如果采用瀑布模型,就要对“需求分析说明书”进行冻结,使它成为凝固可靠的基线。万一要求变更基线,开发者和用户双方,都必须执行基线变更程序,此变更程序在合同中已做了明确规定。现针对“学生成绩查询系统”的组织结构、业务流程、用户角色职能、系统数据流进行分析。利用结构化分析和UML中的用例从大到小、从粗到细进行系统建模。2. 组织结构调查系统的组织结构,反映了单位内部各个部门的职责划分和它们之间的关系。为了对系统有一个全貌性的了解,首先要对系统内部部门结构、人员组织及用户情况有所了解。对系统组织结构的调查,是从总的方面对系统进行宏观了解和分析。信息的流动关系是以组织结构为背景的,而且总是伴随着组织部门之间的资金流和物流的传递而产生。学生成绩查询系统的组织结构图如下:学生成绩查询系统管理员查询学生查询教师查询3. 系统需求分析此系统需要实现的功能如下: A.按照教师,学生,管理员三种角色设计系统功能。 B.学生成绩查询(学生):查询自己每门课的成绩,单科成绩,成绩平均分,成绩总分。 C.学生成绩查询(教师):登记,修改,删除某班某个学生的成绩,可以一次输入入某班全部学生的成绩。 D.管理员查询(管理员):登记,对学生,老师进行管理,可以添加某个学生,删除某个学生,添加某个老师,删除某个老师。4. 系统用户分析“学生信息查询系统”主要是针对学生和教师查询工作而开发的应用软件。通常有系统管理员、教师和学生三种用户,他们的使用权限如下:系统管理员:计算机人员,对系统、数据库进行维护,主要对不同人员赋予不同的权限。教师:对学生的成绩进行查询,增加,修改。学生:一般操作水平,能够在本系统查询个人的学习才成绩。5. 其他需求分析a. 性能要求查询服务部分:读者通过本地计算机,从提交查询命令到返回结果不超过8秒钟。数据管理部分:图书管理员从提交一次录入到结果返回不超过8秒钟。b. 灵活性要求如果要为数据项设计编码,尽可能采用行业标准,自行编码也应合乎规范,并留有扩充余地,还要征得相关业务部门认可。数据库设计也应考虑可扩充性,以适应今后图书馆发展和系统升级的需要。c. 故障处理要求正常使用时不应出错,一般性错误时应给出错误提示。应提供定期自动备份数据库的功能,当遇到不可恢复的系统错误,可以保证数据库完好无损。在系统出错后,应能恢复最近一次备份数据库的状态。d. 其他要求安全性。不同的用户具有不同的使用权限,只有具有最高权限的系统管理员才能修改、注销数据库中的信息,具有一般权限的人员只能读取与自己相关的内容。一致性。系统的数据要保证一致性、准确性,当某一数据库中记录改变时,与之相关联的数据库也会随之变化。易操作性。界面设计要符合大多数用户的操作习惯,系统还要提供操作指南,便于用户操作使用。 4 概要设计软件开发的第二个阶段是概要设计,在需求分析阶段确定了系统“做什么”的基础上,设计系统“怎么做”。概要设计注重于宏观上和框架上的设计,它的设计内容包括软件系统的总体结构设计、数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的接口设计等。1系统结构设计(1) . 系统功能模块的划分概要设计的核心问题是确定系统总体结构和模块划分。系统功能要层层划分,直到每一个模块可以作为一个可以执行的程序单元为止。功能模块划分的最终结果,是系统结构图。根据需求分析,该学生成绩查询系统可由学生查询、教师管理等子系统组成,如下图所示:学生成绩查询系统管理员管理教师查询学生查询(2). 各子系统的主要功能A. 学生查询子系统学生通过学号作为用户名可以进入学生查询子系统,可以查询自己的所有科目的成绩,单科成绩,成绩总分,成绩平均分B. 教师查询子系统教师可以通过自己的教师号进入教师管理系统,教师可以录入自己学生的成绩,可以查询学生的成绩,可以修改学生的成绩C. 管理员查询子系统管理员可以对教师和学生进行管理2. 数据库设计数据库是应用系统的核心,应当精心设计,以保证系统的正确、可靠、高效运行。数据库设计包括数据库需求分析、数据库概念设计、数据库逻辑结构设计和数据库物理设计。数据库设计的目的,是为信息系统在数据库服务器上建立一个理想的数据模型。(1).数据库需求分析学生成绩查询系统的数据库主要用于学生信息、教师信息、系统管理员信息和成绩查询信息的管理,因此数据库设计必须充分满足这些功能要求。根据系统结构设计中各子系统的功能要求,可确定数据库的具体需求如下:A. 学生成绩查询部分(学生)B. 学生成绩管理部分(教师)C. 管理员查询部分(管理员)(2). 数据库概念设计根据数据库的需求分析,接着开始数据库概念设计。数据库概念设计是指设计出数据库的概念数据模型,即实体-联系图(简称E-R图)。为突出重点,这里只给出图书借阅部分的E-R模型,如图8-8所示。(3). 数据库逻辑结构设计数据的概念结构设计完毕后,要将设计出来的数据库概念模型转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。(4) .数据库物理设计数据库物理设计是指设计出数据库的物理数据模型,它是数据库在物理设备上的具体实现,即数据库服务器物理空间上的表空间、表、字段、索引、视图、存储过程、触发器以及相应的数据字典的设计。经过数据库的需求分析和概念模型设计,得到数据库的逻辑结构。现在可以设计好的逻辑结构在Access中建立数据库及数据库中的数据表了,具体实现步骤就不再赘述了。 5 详细设计详细设计是在概要设计的基础上,进一步确定实现系统各层次上所需的具体功能,它的任务不是编写主要的程序代码,而是设计出程序的实现过程,使程序员据此编写程序。一登录模块详细设计1. 登录窗体功能:用户选择自己的用户名并输入正确密码登录系统。(1)输入项:用户名及该用户所对应的密码。(2)输出项:相应的系统登录提示信息。(3)界面设计:如图所示2. 登录成功后窗体界面菜单功能项设计登录成功后,系统提供的主菜单及其选择菜单的功能设计1. 学生登录菜单如图所示2. 教师登录菜单如图所示3. 管理员登录菜单如图所示6 程序代码1.登录模块代码package month11.date23;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class Enter extends JFrame implements ActionListener/定义北部区域JLabel jl1; /北部区域放一张图片/中部区域JTabbedPane jtp; /选项卡窗格,里面放两个JPanel,分别是学生登录窗口,教师登录窗口,JPanel jp1,jp2,jpa;JLabel jl2,jl3,jl31,jl32,jl4,jl5;JTextField jt1,jt2;JPasswordField jpw1,jpw2;JButton jb1,jb2,jb1t,jb2t;/南部区域JPanel jp3;JButton jb3,jb4,jb5;public static void main(String args) Enter et=new Enter();public Enter()/创建北部区域的组件jl1=new JLabel(new ImageIcon(西安电子科技大学长安学院1.png);/创建中部区域的组件jtp=new JTabbedPane();jp1=new JPanel();jl2=new JLabel(学号,JLabel.CENTER);jl3=new JLabel(密码,JLabel.CENTER);jt1=new JTextField(10);jpw1=new JPasswordField(10);jb1=new JButton(清除号码);jb2=new JButton(忘记密码);jl31=new JLabel(默认密码123);jl32=new JLabel(更改密码);jp2=new JPanel();jl4=new JLabel(教职工号,JLabel.CENTER);jl5=new JLabel(密码,JLabel.CENTER);jt2=new JTextField(10);jpw2=new JPasswordField(10);jb1t=new JButton(清除号码);jb2t=new JButton(忘记密码);jpa=new JPanel();/设置中部区域的布局管理器jp1.setLayout(new GridLayout(3,3); /学生登录jp1.add(jl2);jp1.add(jt1);jp1.add(jb1);jp1.add(jl3);jp1.add(jpw1);jp1.add(jb2);jp1.add(jl31);jp1.add(jl32);jp2.setLayout(new GridLayout(2,3); /教师登录jp2.add(jl4);jp2.add(jt2);jp2.add(jb1t);jp2.add(jl5);jp2.add(jpw2);jp2.add(jb2t);/将面板添加到选项卡窗格上jtp.add(学生登录,jp1);jtp.add(教师登录,jp2);jtp.add(管理员登录,jpa);/创建南部区域的组件jp3=new JPanel();jb3=new JButton(登录);jb3.setActionCommand(登录); /点击jb3按钮后,就会把信息传给事件处理的方法jb4=new JButton(取消);jb5=new JButton(退出);/定义布局管理器/jp3.setLayout(new GridLayout(1,3);jp3.add(jb3);jp3.add(jb4);jp3.add(jb5);/添加组件this.add(jl1,BorderLayout.NORTH);this.add(jtp,BorderLayout.CENTER);this.add(jp3,BorderLayout.SOUTH);/添加键盘监听jb3.addActionListener(this);this.setTitle(学生成绩管理系统);ImageIcon icon=new ImageIcon(头像.png);this.setIconImage(icon.getImage();this.setSize(350, 270);this.setLocation(500, 300);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubif(jt1.getText().equals(09421028)&jpw1.getText().equals(123)if(e.getActionCommand().equals(登录)this.dispose(); /调出新的界面,原来的界面关闭StudentSearch student=new StudentSearch();else if(jt2.getText().equals(teacher)&jpw2.getText().equals(123)if(e.getActionCommand().equals(登录)this.dispose();TeacherSearch teacher=new TeacherSearch();2. 学生查询模块代码package month11.date23;import java.awt.*;import javax.swing.*;public class StudentSearch extends JFrame/定义组件JLabel sjl1;JPanel sjp1,sjp2;JButton sjb1,sjb2,sjb3,sjb4,sjb5,sjb6;public StudentSearch()/创建组件sjl1=new JLabel(new ImageIcon(ws.png);sjp1=new JPanel();sjp1.setBackground(Color.LIGHT_GRAY); /给面板设置背景颜色sjb1=new JButton(学生信息查询);sjb2=new JButton(班级信息查询);sjb3=new JButton(课程信息查询);sjb4=new JButton(学生成绩查询);/设置布局管理器sjp1.setLayout(new GridLayout(4,1);sjp1.add(sjb1);sjp1.add(sjb2);sjp1.add(sjb3);sjp1.add(sjb4);sjp2=new JPanel();/sjp2.setBackground(Color.); sjb5=new JButton(重新登录);sjb6=new JButton(退出);sjp2.add(sjb5);sjp2.add(sjb6);/添加组件this.add(sjl1,BorderLayout.NORTH);this.add(sjp1,BorderLayout.CENTER);this.add(sjp2,BorderLayout.SOUTH);this.setTitle(学生成绩查询系统);ImageIcon icon=new ImageIcon(头像.png);this.setIconImage(icon.getImage();this.setSize(350, 270);this.setLocation(500, 300);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);3. 教师查询模块代码package month11.date23;import java.awt.*;import javax.swing.*;public class TeacherSearch extends JFramepublic static void main(Str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论