基于某JAVA地学生成绩管理系统地设计与实现.docx

上传人:b****5 文档编号:8072841 上传时间:2023-01-28 格式:DOCX 页数:13 大小:209.78KB
下载 相关 举报
基于某JAVA地学生成绩管理系统地设计与实现.docx_第1页
第1页 / 共13页
基于某JAVA地学生成绩管理系统地设计与实现.docx_第2页
第2页 / 共13页
基于某JAVA地学生成绩管理系统地设计与实现.docx_第3页
第3页 / 共13页
基于某JAVA地学生成绩管理系统地设计与实现.docx_第4页
第4页 / 共13页
基于某JAVA地学生成绩管理系统地设计与实现.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于某JAVA地学生成绩管理系统地设计与实现.docx

《基于某JAVA地学生成绩管理系统地设计与实现.docx》由会员分享,可在线阅读,更多相关《基于某JAVA地学生成绩管理系统地设计与实现.docx(13页珍藏版)》请在冰豆网上搜索。

基于某JAVA地学生成绩管理系统地设计与实现.docx

基于某JAVA地学生成绩管理系统地设计与实现

课程设计报告

课程名称

学生成绩管理系统

 

专业

软件工程

学生姓名

雷乾鹏

班级

09421

学号

09421028

指导教师

李杰

完成日期

 

 

一.系统概述...................................................

二.可行性分析...............................................

三.需求分析....................................................

四.概要设计....................................................

五.详细设计....................................................

六.程序代码....................................................

引言

通过本课程设计,使自己更加系统地理解和掌握数据结构的基本概念;能自如地根据实际要求,设计相应的数据结构,并运用java语言和SQL语言实现所设计的算法,编写较大型的程序,分析和解决实际应用问题,进一步加深、巩固所学专业课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。

掌握java语言或sqlserver语言独立的编写、调试应用程序和进行其它相关设计的技能。

此项目主要是考察我们对结构体、数组、文件等具体操作,以及对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.登录模块代码

packagemonth11.date23;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjavax.swing.*;

publicclassEnterextendsJFrameimplementsActionListener{

//?

?

?

?

?

?

JLabeljl1;//?

?

?

?

?

?

?

?

?

//?

?

?

?

JTabbedPanejtp;//?

?

?

?

?

?

?

?

?

?

JPanel,?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

JPaneljp1,jp2,jpa;

JLabeljl2,jl3,jl31,jl32,jl4,jl5;

JTextFieldjt1,jt2;

JPasswordFieldjpw1,jpw2;

JButtonjb1,jb2,jb1t,jb2t;

//?

?

?

?

JPaneljp3;

JButtonjb3,jb4,jb5;

publicstaticvoidmain(String[]args){

Enteret=newEnter();

}

publicEnter(){

//?

?

?

?

?

?

?

?

?

jl1=newJLabel(newImageIcon("?

?

?

?

?

?

?

?

?

?

?

?

1.png"));

//?

?

?

?

?

?

?

?

?

jtp=newJTabbedPane();

jp1=newJPanel();

jl2=newJLabel("?

?

",JLabel.CENTER);

jl3=newJLabel("?

?

",JLabel.CENTER);

jt1=newJTextField(10);

jpw1=newJPasswordField(10);

jb1=newJButton("?

?

?

?

");

jb2=newJButton("?

?

?

?

");

jl31=newJLabel("?

?

?

?

123");

jl32=newJLabel("

jp2=newJPanel();

jl4=newJLabel("?

?

?

?

",JLabel.CENTER);

jl5=newJLabel("?

?

",JLabel.CENTER);

jt2=newJTextField(10);

jpw2=newJPasswordField(10);

jb1t=newJButton("?

?

?

?

");

jb2t=newJButton("?

?

?

?

");

jpa=newJPanel();

//?

?

?

?

?

?

?

?

?

?

?

?

jp1.setLayout(newGridLayout(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(newGridLayout(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=newJPanel();

jb3=newJButton("?

?

");

jb3.setActionCommand("?

?

");//?

?

jb3?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

jb4=newJButton("?

?

");

jb5=newJButton("?

?

");

//?

?

?

?

?

?

?

//jp3.setLayout(newGridLayout(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("?

?

?

?

?

?

?

?

");

ImageIconicon=newImageIcon("?

?

.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);

}

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

if(jt1.getText().equals("09421028")&&jpw1.getText().equals("123")){

if(e.getActionCommand().equals("?

?

")){

this.dispose();//?

?

?

?

?

?

?

?

?

?

?

?

?

StudentSearchstudent=newStudentSearch();

}

}elseif(jt2.getText().equals("teacher")&&jpw2.getText().equals("123")){

if(e.getActionCommand().equals("?

?

")){

this.dispose();

TeacherSearchteacher=newTeacherSearch();

}

}

}

}

2.学生查询模块代码

packagemonth11.date23;

importjava.awt.*;

importjavax.swing.*;

publicclassStudentSearchextendsJFrame{

//?

?

?

?

JLabelsjl1;

JPanelsjp1,sjp2;

JButtonsjb1,sjb2,sjb3,sjb4,sjb5,sjb6;

publicStudentSearch(){

//?

?

?

?

sjl1=newJLabel(newImageIcon("ws.png"));

sjp1=newJPanel();

sjp1.setBackground(Color.LIGHT_GRAY);//?

?

?

?

?

?

?

?

?

sjb1=newJButton("?

?

?

?

?

?

");

sjb2=newJButton("?

?

?

?

?

?

");

sjb3=newJButton("?

?

?

?

?

?

");

sjb4=newJButton("?

?

?

?

?

?

");

//?

?

?

?

?

?

?

sjp1.setLayout(newGridLayout(4,1));

sjp1.add(sjb1);

sjp1.add(sjb2);

sjp1.add(sjb3);

sjp1.add(sjb4);

sjp2=newJPanel();

//sjp2.setBackground(Color.);

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

当前位置:首页 > 工作范文 > 行政公文

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

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