java课程设计.docx

上传人:b****6 文档编号:8038588 上传时间:2023-01-28 格式:DOCX 页数:12 大小:101.01KB
下载 相关 举报
java课程设计.docx_第1页
第1页 / 共12页
java课程设计.docx_第2页
第2页 / 共12页
java课程设计.docx_第3页
第3页 / 共12页
java课程设计.docx_第4页
第4页 / 共12页
java课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

java课程设计.docx

《java课程设计.docx》由会员分享,可在线阅读,更多相关《java课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

java课程设计.docx

java课程设计

 

四川工商职业技术学院

Java

应用程序课程设计

班级:

软件10310班

姓名:

毛天星(组长)

刘洋

邓霞

指导老师:

黄铭

成绩:

 

2011年6月27日

 

需求分析…………………………………………3

功能模块…………………………………………6

详细设计…………………………………………6

应用程序界面……………………………………7

参考文献…………………………………………8

最后总结…………………………………………9

代码清单…………………………………………10

 

学生成绩管理系统

一、需求分析

现在的学校需要一个很好的学生成绩管理系统,以方便对学生的成绩进行有效的管理,系统有老师对学生信息的查询功能、添加功能、修改功能、删除功能,也可以让学生对自己成绩查询的功能。

1.功能需求分析。

2.性能需求分析。

3.数据库需求分析――数据流图。

1.1功能需求分析

该学生成绩管理系统具备三方面的功能:

一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行一些基础查询(学生信息查询、班级信息查询、课程信息查询)、成绩管理(成绩查询、计算平均分)重新登陆系统;一方面老师进入该系统则比学生多一些权限:

成绩输入、成绩查询。

具体功能的详细描述如下

1.1.1选择[学生基本维护]菜单命令,即可进入[学生基本维护]功能窗体,在其中输入学生的相关信息,如果需要添加或修改学生信息,则单击相应的按纽,输入新信息后单击[添加]就可以了。

需要删除一条信息,则只要选择这条信息再点击[删除]。

在搜索条件中输入相关的条件,单击[查询]就可查找信息。

1.1.2选择[学生信息查询]菜单命令,即可进入[学生信息查询]功能窗体,在其中的下拉列表中选择你要看的信息,则在下面的表格中显示你要的信息。

1.1.3选择[成绩管理][添加成绩]菜单命令,即可进入[添加成绩]功能窗体,此功能权限只有管理员和教师。

1.1.4选择[成绩管理][输入成绩]菜单命令,即可进入[输入成绩]功能窗体,

此功能权限只有管理员和教师。

1.1.5选择[成绩管理][修改成绩]界面,此功能规管理员所有。

1.1.6选择[成绩管理][查询成绩]界面此界面对学生也是可见的,它的权限规所有用户所有。

1.1.7选择[登陆][重新登陆]则会返回登陆界面,为用户提供方便。

1.1.8选择[退出]将退出整个系统。

1.2性能需求分析

时间特性要求:

在软件方面,响应时间有点慢,因为是用Eclipse做的,它占用内存比较大,更新处理时间比较快而且迅速。

安全性:

设立口令号和密码验证方式,防止非法用户登录进行操作。

也就是用户只有管理员、学生和教师才能进入这个系统,用户凭口令号和密码进入此系统,系统会自动判断用户是那种类型,分别拥有不同的权限。

1.3数据库需求分析——数据流图

1.3.1数据结构

在系统中功能模块主要牵涉到的信息包括:

是学生信息(Student)、课程信息(Course)、成绩表(SC).

学生信息:

包含学号(STNO)、姓名(SNAME)、年龄(SAGE)、性别(SSEX)、系别(SDEPT)

课程信息:

包括课程编号(Cno)、课程名称(Cname)、先行课(Cpno)

成绩表;学号(STNO)、课程号(Cno)、成绩(Grade)

1.3.2数据流:

1)数据流名:

口令号

说明:

根据这个口令号定位到用户管理数据库,以便进行身份验证。

数据流来源:

登陆界面输入的口令号和密码。

数据流去向:

其中用户口令信息将存在于整个操作过程中,防止非法登陆。

数据流组成:

口令号(文本);密码(文本)

2)数据流名:

寻找信息

说明:

根据用户在学生信息维护的时候所填写的信息。

数据流来源:

学生信息维护界面学生输入包含学号、班级编号、名称等。

数据流去向:

学号将存在整个操作,其它的存入数据库。

数据流组成:

学号(文本);姓名(文本)等

 

1.3数据库需求分析――数据流图

1.3.1数据结构

在系统中功能模块主要牵涉到的信息包括:

是学生信息(Student)、课程信息(Course)、成绩表(SC).

学生信息:

包含学号(STNO)、姓名(SNAME)、年龄(SAGE)、性别(SSEX)、系别(SDEPT)

课程信息:

包括课程编号(Cno)、课程名称(Cname)、先行课(Cpno)

成绩表;学号(STNO)、课程号(Cno)、成绩(Grade)

1.3.2数据流:

1)数据流名:

口令号

说明:

根据这个口令号定位到用户管理数据库,以便进行身份验证。

数据流来源:

登陆界面输入的口令号和密码。

数据流去向:

其中用户口令信息将存在于整个操作过程中,防止非法登陆。

数据流组成:

口令号(文本);密码(文本)

3)数据流名:

寻找信息

说明:

根据用户在学生信息维护的时候所填写的信息。

数据流来源:

学生信息维护界面学生输入包含学号、班级编号、名称等。

数据流去向:

学号将存在整个操作,其它的存入数据库。

数据流组成:

学号(文本);姓名(文本)等

二、功能模块

1.学生查询功能:

为了方便学生查找成绩等信息,将所有信息按照需要进行分类。

这样学生就能很方便的找到自己所需要的信息。

 

2.老师查询功能:

老师可以通过条件选择查询所有信息,并进行排序。

 

3.添加功能:

老师可以通过填写表格的形式输入学生成绩等相关信息。

系统可以自动避免重复信息。

 

4.修改功能:

老师可以对数据库中的信息进行修改。

系统能够通过老师给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。

 

5.删除功能:

老师可以对数据进行删除操作。

系统能够通过老师给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除。

三、详细设计

1.用户登陆模块(代码实现)。

2.管理员界面(代码实现)。

3.学生用户界面(代码实现)。

4.添加模块(代码实现)。

5.删除模块(代码实现)。

6.修改模块(代码实现)。

7.添加模块(代码实现)。

8.查询模块(代码实现)。

四、应用程序界面

4.1用户登录界面

4.2学生用户界面

五、参考文献

5.1利用数据流图。

5.2利用SQL-Server。

5.3张友生.软件体系结构原理、方法与实践.清华大学出版社。

 

六、最后总结

邓霞:

这次综训,我重新学习了不少平时上课没听的知识点,对java这门学科也增加了不少兴趣。

对java程序的基本知识也了解比以前多了,最主要的是以前连java程序的基本步骤都不知道,现在

我清楚的知道了,首先要用编辑工具编写好程序,其次是编译程序,然后是执行程序,最后是程序

说明。

刚开始接触java时看到代码很茫然,感觉就一个字“晕”,现在至少我学会了看代码,知道

代码写的是什么意思了。

在综训完成作业的过程中,自己对代码的书写也比以前明了化了,虽然很多代码不去看书还是不

会写,但是一些常用的、简单代码还是可以自己完成了,大小写的书写、英语的拼写也不会出现太多

的错误。

自己也可以完成一些简单的,基本的程序了,信心也得到了提升。

通过这次综训,也培养了我的合作精神,和处理问题时应有的思维,不会再像以前那样,一碰

问题就问了,学会了首先自查,学会找出问题,再去思考解决问题的方法,实在没法完成的再向同

学或者老师请教。

让我的思维能力得到提高,提升了一些应变能力,这对于我以后的学习很重要。

所以这次综训对于我个人来说非常的有意义,也非常的重要。

它巩固了很多平时我上课没听或

者没懂得的知识点。

也有了一个集中的时间来完成一个任务,锻炼了我的学习能了,增强了自己的

学习信心和面对问题时该有的思维方式。

刘洋:

本次综训让我学会了很多也熟悉了java的基本操作和编译工具。

该学生成绩管理系统总体说来功能比较齐全,学生和教师的一些基本的功能都已经具备;数据库的设计方面,建有学生表、课程表、、成绩表、、登陆表,数据库中存在一些问题,如数据冗余,不够完善。

但在做课程设计的过中也遇到很多问题,一开始时其中最大的问题是不知道用哪种编译工具,前一两天还不知道怎莫做也找不到头绪,在同学的帮助下和在网上查找资料才慢慢了解到。

也在连接数据库花了一些时间,。

编写程序起来也有点困难,但是也越来越顺利了。

经过调试后终于把自已想到实现的功能一步步实现了,通过这次课程设计使我收获了好多,熟悉了Eclipse和JAVA的运用,还复习了数据库相关语句的编写。

最后在这次的综训中我体会到团队合作的重要性。

毛天星:

本次综训让我最感触最深的事就是对代码不熟悉,在编译代码的时候经常出错,在老使自己的代码没有错误。

不知道怎莫与数据库连接,在网上查找还是不能全懂,但了解到数据库中存在一些问题,如数据冗余,不够完善。

所以这次宗训没有完成好只是编译了几个窗口。

但自己觉得还是有很大的收获和进步。

总之在这次综训中我学会了很多知识,不关是java的知识还是数据库的知识都多多少少掌握了一些。

至少这次能培养一下自己的能力。

也体会到团队合作的重要性。

 

七、代码清单

1.importjava.applet.Applet;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjava.sql.*;

publicclassglextendsAppletimplementsActionListener{

LabelusernameLabel;

LabelpasswordLabel;

TextFieldusernameField;

TextFieldpasswordField;

Buttonsure;

Buttoncancel;

publicvoidinit(){

setLayout(newBorderLayout());

usernameLabel=newLabel("用户名");

passwordLabel=newLabel("密码");

usernameField=newTextField();

passwordField=newTextField();

passwordField.setEchoChar('*');

sure=newButton("登录");

cancel=newButton("取消");

add(usernameLabel);

add(usernameField);

add(passwordLabel);

add(passwordField);

add(sure);

add(cancel);

setSize(200,100);

sure.addActionListener(this);

}

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==sure){

Strings=usernameField.getText().trim();

Stringz=passwordField.getText().trim();

if(s.equals("hm"))

{

if(z.equals("1"))

JOptionPane.showMessageDialog(null,"你是合法用户!

");

else

JOptionPane.showMessageDialog(null,"你的用户名或密码出错,请重新输入!

");

}

else

JOptionPane.showMessageDialog(null,"你的用户名或密码出错,请重新输入!

");

}

}

}

2.

importjava.awt.Container;

importjavax.swing.table.JTableHeader;

importjava.awt.FlowLayout;

importjava.util.Vector;

importjavax.swing.JFrame;

importjavax.swing.JTable;

publicclassJTableTest{

publicvoidcreateTable(){

JFramemainFrame=newJFrame();

mainFrame.setLayout(newFlowLayout());

VectorcolumnNames=newVector();

columnNames.add("姓名");

columnNames.add("学号");

columnNames.add("语文");

columnNames.add("数学");

columnNames.add("英语");

columnNames.add("物理");

columnNames.add("化学");

columnNames.add("历史");

columnNames.add("地理");

VectortableInfo=newVector();

Vectorrow1=newVector();

Vectorrow2=newVector();

Vectorrow3=newVector();

row1.add("张三");

row1.add("8");

row1.add("98");

row1.add("96");

row1.add("45");

row1.add("65");

row1.add("99");

row1.add("76");

row1.add("87");

row2.add("李四");

row2.add("23");

row2.add("77");

row2.add("68");

row2.add("89");

row2.add("65");

row2.add("98");

row2.add("85");

row2.add("96");

row3.add("钟磊");

row3.add("45");

row3.add("67");

row3.add("86");

row3.add("78");

row3.add("96");

row3.add("75");

row3.add("75");

row3.add("86");

tableInfo.add(row1);

tableInfo.add(row2);

tableInfo.add(row3);

JTabletable=newJTable(tableInfo,columnNames);

JTableHeaderjtableH=table.getTableHeader();

mainFrame.getContentPane().add(jtableH);

mainFrame.getContentPane().add(table);

mainFrame.setSize(300,300);

mainFrame.setVisible(true);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

privateJTableHeadergetTabelHeader(){

returnnull;

}

publicstaticvoidmain(String[]args){

JTableTestjtt=newJTableTest();

jtt.createTable();

}

}

 

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

当前位置:首页 > 解决方案 > 学习计划

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

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