java课程设计实践

java课程设计实践
java课程设计实践

课程设计说明书(论文)

课程名称 Java程序设计实践

题目文字聊天软件设计

专业软件工程班级软件1201 学号 1211030115姓名赵阳

起止日期 2012.06.24----2012.06.28

指导教师王洪亮成绩

辽宁石油化工大学计算机与通信工程学院

摘要

计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。而聊天系统正是当前人们使用最多的中介。在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。因此,开发和构架这种平台符合时代发展的需要。

本系统在开发中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流分析,包含了一些基本的软件工程方法。

Abstract

The rapid development of computer networks, many areas of human society had a huge impact. In particular, with the advent of the information age, more and more people tend to pass between the networks to communicate and convey information. The chat system is currently the most people to use intermediaries. On this platform, a lot of people know or do not know each other can freely mutual exchange. Therefore, the development and architecture of this platform meets the needs of the times.

The system used in the development of a local area network communication mechanism principle, through the direct successor to the Thread class to create multiple threads. Developed a computer network using basic theoretical knowledge of programming, such as TCP / IP protocol, the client / server mode (Client / Server mode) network programming design method. In network programming to read the information, sending, is the use of the exchange of information flow to achieve, which describes the realization of a systematic information flow analysis, contains some basic software engineering methods.

目录

1设计要求 (7)

2设计原理和技术 (7)

2.1设计原理与开发工具 (7)

2.2设计技术 (7)

3总体设计 (8)

4详细设计及实现 (8)

4.1详细设计 (8)

4.1.1设计方法 (8)

4.1.2流程图 (9)

4.2实现过程 (9)

4.2.1源代码 (9)

4.2.2运行截图 (24)

5结束语 (26)

参考文献 (27)

课程设计任务书

正文

1设计要求

设计并实现一个基于TCP协议或者UDP协议的文字聊天软件,是点对点的,通信双方都可以主动发起连接。要求:采用Windows应用程序风格,功能完整,显示直观,色彩协调,界面友好,操作简单。

2设计原理和技术

2.1设计原理与开发工具

文字聊天软件设计所用的原理主要是网络编程原理,其中使用到的多线程原理和图形界面原理,所用的开发工具为MyEclipse。

2.2设计技术

此次使用了基于TCP协议的Socket通讯技术。Socket通信程序的功能基本结包括以下5个基本步骤:

①服务器端创建ServerSocket,并调用accept()方法监听。

②客户端创建Socket连接服务器。

③连接上之后,客户端和服务器端都打开连接到Socket的输入/输出流。

④客户端和服务器端利用输入/输出流,按照一定的协议进行读/写操作。

⑤客户端和服务器端关闭输入/输出流和Socket。

图2-1 Socket通信的步骤

3总体设计

通过了解课程设计要求,实现文字聊天功能,并且要把客户端和用户端整合在一个程序里,为保证要求与实现功能方便,将监听和通信功能代码设计在界面类里,简单明了,容易实现。

4详细设计及实现

4.1详细设计

实现课程设计要求,设计时采用了一个模块,将链接、监听、通信功能放在一个类里。

4.1.1设计方法

类里包括server()函数、client()函数,server()函数创建了一个监听线程,用于监听对方的链接。client()函数也创建了一个线程,链接对方IP地址,server()函数和client()函数中都含有通信功能,以便通信。

程序采用图形界面结构,这样使界面更加友好,在这里我使用了MyEclipse8.6,选择使用Swing组件,进行界面的排版,在里面有有许多按钮,对其中一个Button按钮进行监听,输出文本信息,达到双方通信的要求。

4.1.2流程图

4.2实现过程

4.2.1源代码

import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import https://www.360docs.net/doc/561420950.html,.ServerSocket; import https://www.360docs.net/doc/561420950.html,.Socket;

import java.util.Calendar;

server()函数线程client()函数线程

@SuppressWarnings("serial")

public class ConversationWindow extends javax.swing.JFrame {

public ConversationWindow() {

initComponents();

}

//GEN-BEGIN:initComponents

//

private void initComponents() {

jTextField1 = new javax.swing.JTextField();

jTextField2 = new javax.swing.JTextField();

jTextField3 = new javax.swing.JTextField();

jToggleButton1 = new javax.swing.JToggleButton();

jToggleButton2 = new javax.swing.JToggleButton();

jToggleButton3 = new javax.swing.JToggleButton();

jScrollPane1 = new javax.swing.JScrollPane();

jScrollPane2 = new javax.swing.JScrollPane();

jTextArea1 = new javax.swing.JTextArea();

jTextArea2 = new javax.swing.JTextArea();

jButton1 = new javax.swing.JButton();

jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("聊天页面");//设置标题为“聊天页面”

setResizable(false);//设置框架不可变

jTextField1.setText("\u7528\u62371");

jTextField1.setToolTipText("\u8bbe\u7f6e\u4f60\u7684\u6635\u79f0");

jToggleButton1.setText("\u9501\u5b9a");

jToggleButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jToggleButton1ActionPerformed(evt);

}

});

jLabel1.setText("\u5bf9\u65b9IP:");

jToggleButton2.setText("\u8fde\u63a5");

jToggleButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jToggleButton2ActionPerformed(evt);

}

});

jTextArea1.setColumns(20);

jTextArea1.setEditable(false);

jTextArea1.setRows(5);

jScrollPane1.setViewportView(jTextArea1);

jTextArea2.setColumns(20);

jTextArea2.setRows(5);

jScrollPane2.setViewportView(jTextArea2);

jButton1.setText("\u53d1\u9001");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jTextField3.setText("\u7528\u62372");

jTextField3.setToolTipText("\u8bbe\u7f6e\u5bf9\u65b9\u6635\u79f0");

jToggleButton3.setText("\u9501\u5b9a");

jToggleButton3.addActionListener(new java.awt.event.ActionListener()

{

public void actionPerformed(java.awt.event.ActionEvent evt) {

jToggleButton3ActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(

getContentPane());

getContentPane().setLayout(layout);

layout

.setHorizontalGroup(layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

layout

.createSequentialGroup()

.addContainerGap()

.addGroup(

layout .createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup( javax.swing.GroupLayout.Alignment.TRAILING,

layout

.createSequentialGroup()

.addComponent(

jScrollPane2,

javax.swing.GroupLayout.DEFAULT_SIZE,

505,

Short.MAX_VALUE)

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED) .addComponent(

jButton1,

javax.swing.GroupLayout.PREFERRED_SIZE,

106,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(

jScrollPane1,

javax.swing.GroupLayout.DEFAULT_SIZE,

618,

Short.MAX_VALUE)

.addGroup( layout

.createSequentialGroup()

.addComponent(

jTextField1,

javax.swing.GroupLayout.PREFERRED_SIZE,

80,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED) .addComponent(

jToggleButton1)

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED) .addComponent(

jTextField3,

javax.swing.GroupLayout.PREFERRED_SIZE,

80,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED) .addComponent(

jToggleButton3)

.addGap(

84,

84,

84)

.addComponent(

jLabel1)

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED) .addComponent(

jTextField2,

javax.swing.GroupLayout.PREFERRED_SIZE,

132,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED) .addComponent(

jToggleButton2,

javax.swing.GroupLayout.DEFAULT_SIZE,

javax.swing.GroupLayout.DEFAULT_SIZE,

Short.MAX_VALUE)))

.addContainerGap()));

layout

.setVerticalGroup(layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(

layout

.createSequentialGroup()

.addContainerGap()

.addGroup(

layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(

jTextField1,

javax.swing.GroupLayout.PREFERRED_SIZE,

25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(

jToggleButton1,

javax.swing.GroupLayout.PREFERRED_SIZE,

25,

javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(

jTextField3,

javax.swing.GroupLayout.PREFERRED_SIZE, 25,

javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(

jToggleButton2,

javax.swing.GroupLayout.PREFERRED_SIZE, 25,

javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(

jToggleButton3,

javax.swing.GroupLayout.PREFERRED_SIZE, 25,

javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(

jTextField2,

javax.swing.GroupLayout.PREFERRED_SIZE,

25,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1))

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED)

.addComponent(

jScrollPane1,

javax.swing.GroupLayout.PREFERRED_SIZE,

198,

javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(

https://www.360docs.net/doc/561420950.html,ponentPlacement.RELATED)

.addGroup(

layout

.createParallelGroup(

javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(

jButton1,

javax.swing.GroupLayout.DEFAULT_SIZE,

76,

Short.MAX_VALUE)

.addComponent(

jScrollPane2,

javax.swing.GroupLayout.PREFERRED_SIZE,

76,

javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap()));

jToggleButton1.getAccessibleContext().setAccessibleName("");

pack();

setVisible(true);

}//

//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Calendar c = Calendar.getInstance();//调用系统时间,使输出显示时间。

int y = c.get(Calendar.YEAR);

int M = c.get(Calendar.MONTH) + 1;

int d = c.get(Calendar.DAY_OF_MONTH);

int h = c.get(Calendar.HOUR_OF_DAY);

int mm = c.get(Calendar.MINUTE);

int ss = c.get(Calendar.SECOND);

String st = jTextArea2.getText();

Name = jTextField1.getText();

jTextArea1.append(y + "-" + M + "-" + d + " " + h + ":" + mm + ":"

+ ss + "\n" + Name + "说: " + st + "\n");

jTextArea2.setText("");//清空文本

out.println(st);//将输入的文本传出

}

private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {

//打开开关时将文本条里的内容作为本机用户名,并将文本条设置为不可写

//关闭开关时将文本条设置为可写

if (jToggleButton1.isSelected()) {

jTextField1.setEditable(false);

jToggleButton1.setText("\u66f4\u6539");

Name = jTextField1.getText();

} else {

jTextField1.setEditable(true);

jToggleButton1.setText("\u786e\u5b9a");

}

}

private void jToggleButton2ActionPerformed(java.awt.event.ActionEvent evt) {

//打开开关时将文本条里的内容作为ip地址,调用clinet(),并将文本条设置为不可写

//关闭开关时将文本条设置为可写

if (jToggleButton2.isSelected()) {

IP = jTextField2.getText();

client();

jTextField2.setEditable(false);

jToggleButton2.setText("\u66f4\u6539");

} else {

jTextField2.setEditable(true);

jToggleButton2.setText("\u8fde\u63a5");

}

}

private void jToggleButton3ActionPerformed(java.awt.event.ActionEvent evt) {

//打开开关时将文本条里的内容作为对方用户名,并将文本条设置为不可写

//关闭开关时将文本条设置为可写

if (jToggleButton3.isSelected()) {

jTextField3.setEditable(false);

jToggleButton3.setText("\u66f4\u6539");

JAVA课程设计 时钟

辽宁工业大学 JA V A程序设计课程设计(论文)题目:时钟 院(系):软件学院 专业班级:软件技术班 学号: 学生姓名: 指导教师:丁宝柱 教师职称:助教 起止时间: 2009.12.1至2009.12.16

程序设计专题(报告)任务及评语

目录 第1章课程设计的目的与要求 (1) 1.1 课程设计目的 (1) 1.2 课程设计的实验环境 (1) 1.3 课程设计的预备知识 (1) 1.4 课程设计要求 (1) 第2章课程设计内容 (2) 2.1课程设计主要内容 (2) 2.2概要设计 (2) 2.2.1自定义类说明 (2) 2.3详细设计 (3) 2.4测试分析 (16) 2.4.1程序运行情况 (16) 2.4.2程序异常处理 (16) 第3章课程设计总结 (17) 参考资料18

第1章课程设计的目的与要求 1.1 课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.3 课程设计的预备知识 熟悉JAVA语言及ECLIPSE开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

职工管理系统java课程设计简单实现

目录 一、绪论 (1) 1.1关键技术介绍 (1) 1.1.1JAVA技术 (1) 1.1.2SQL数据库 (1) 二、需求分析 (2) 三、系统概要设计: (3) 3.1问题描述 (3) 3.2要求 (3) 3.3数据库设计 (3) 四、系统详细设计 (5) 4.1新员工信息录入 (5) 4.2显示员工信息 (7) 4.3修改员工信息 (8) 4.4查询员工信息 (10) 4.5删除员工信息 (13) 4.6员工信息排序 (15) 4.7员工信息统计 (16) 4.8注销 (17) 五、系统测试 (18) 5.1系统登录 (18) 5.2系统主界面.................................. 错误!未定义书签。 5.3新员工信息录入.............................. 错误!未定义书签。 5.4显示员工信息................................ 错误!未定义书签。 5.5修改员工信息................................ 错误!未定义书签。 5.6查询员工信息................................ 错误!未定义书签。 5.7删除员工信息................................ 错误!未定义书签。 5.8排列系统.................................... 错误!未定义书签。 5.9统计界面.................................... 错误!未定义书签。

5.10注销....................................... 错误!未定义书签。 六、总结 (19) 八、附录.......................................... 错误!未定义书签。

Java课程设计报告

湖北大学 本科课程设计 题目 ATM 自助机模拟程序姓名 学号 专业年级 指导教师 职称

目录 第一章系统描述 (2) 1 前言 (2) 2 系统功能需求 (2) 第二章系统分析与设计 (3) 1 功能模块划分 (3) 2 功能模块的描述 (3) 3 系统设计流程图 (4) 4 测试数据及期望结果 (6) 第三章系统详细设计 (7) 1 主界面开发设计 (7) 2 功能选择界面开发设计 (7) 3 取款界面开发设计 (7) 4 存款界面开发设计 (8) 5 转账界面开发设计 (8) 6 查询界面开发设计 (9) 7 修改密码界面开发设计 (9) 8 界面开发设计使用函数 (9) 第四章系统测试 (11) 第五章源程序部分清单 (21) 第六章实验心得 (30) 参考文献 (31)

第一章系统描述 1 前言 Java技术是一门简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言,它也是一个平台,它基于Java虚拟机技术,借助这个东西建立了跨平台的优势。Java编程语言与众不同之处在于:Java程序既是编译型的,又是解释型的。 Java平台是一种纯软件平台,它有三个版本Java SE、Java EE、Java ME。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 本课程设计采用Eclipse作为开发工具,并采用Window Builder下的SWT Designer来实现相应的功能。着重通过模拟实现当前非常快捷又使用的ATM机来加深对java开发设计的了解,从而进一步提高自己对java图像界面的设计及相关知识的认识。 2 系统功能需求 当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM 柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元。 (2)ATM取款:每次取款金额为100的倍数,一次取款不能超过1000,总额不 超过5000元,支取金额不允许透支,有快捷取款和用户自定义取款。 (3)ATM存款:每次存款金额为100的倍数,一次存款不能超过1000,不能出 现负存款。 (4)ATM转账:只有在两次输入账号相同且输入转账金额正确的情况下才允许 转账,不允许透支。 (5)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

Java课程设计万历

河北科技大学 课程设计报告学生姓名:学号: 专业班级: 课程名称: Java程序设计课程设计 学年学期: 2 014 —2 015 学年第 2 学期指导教师:刘伟 2 0 年月 课程设计成绩评定表

目录 1.课程设计目的................................................................................. .. (1) 2.需求分析................................................................................... (1) 3.总体设计................................................................................... (1) 4.详细设

计................................................................................... (1) 5.软件测试................................................................................... (10) 6.课程设计总结................................................................................... . (11)

一、课程设计目的 (1)熟练使用java语言编写程序,解决实际问题。 (2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析 本程序的要求为: 1.使用图形用户界面; 2.本程序能够实现日期与星期的查询。 三、总体设计 (1)可以通过图形界面显示日历。 (2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。 四、详细设计 1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。 2.输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是0,则为星期日。 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 4.查询年份必须为四位有效数字,否则不予显示。 程序源代码: import import import import import

JAVA课程设计银行管理系统

大连科技学院java程序设计课程设计(B) 题目银行取款管理系统 学生姓名姚伟奇专业班级计算机(Z)13-1 指导教师李红职称讲师 所在单位信息科学系软件工程教研室 教学部主任王立娟 完成日期 2016年9月30日 课程设计报告单

综合评定: (优、良、中、及格、不及格)指导教师签字:2016年9月30日《java程序设计课程设计(B)》任务书 一、课程设计任务及要求: 任务:针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。 要求: (1) 根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。 (2)提交课程设计报告。 (3)指标: 要求完成课程设计报告3000字以上(约二十页);完成所设计的题目,设计题目的语句行数的和在200行语句以上。 二、工作量 2周(10个工作日)时间 三、计划安排 第1个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第2个工作日-第4个工作日:设计程序结构、模块图。 第5个工作日-第9个工作日:完成程序的编码,并且自己调试、测试。穿插进行课程设计报告的撰写。 第10个工作日:上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。

指导教师签字:2016年9月19日

目录 题目:.................................................... 错误!未定义书签。 1.需求分析............................................ 错误!未定义书签。 2.概要设计............................................ 错误!未定义书签。 3.详细设计............................................ 错误!未定义书签。 4.编码................................................ 错误!未定义书签。 5.调试分析............................................ 错误!未定义书签。 6.测试结果及运行效果.................................. 错误!未定义书签。 7.系统开发所用到的技术................................ 错误!未定义书签。 8.课程设计总结........................................ 错误!未定义书签。参考文献................................................. 错误!未定义书签。5 附录全部代码............................................. 错误!未定义书签。

java课程设计报告书

《Java程序设计》课程设计报告 2015—2016学年第二学期 设计题目:《数字连连看》 学生:黄杰 学号: 2 专业班级:软件工程1402 指导教师:国权 2016 年 7 月 2 日 目录 1.JAVA程序设计书 3 1.1《简易连连看》3 1.1.1具体要求 3 1.2本系统设计的知识点 3

2.功能设计 3 2.1算法设计 3 2.2部分模块流程图 4 3.代码设计 5 4.界面及运行效果,测试工具与测试效果14 5.设计总结 16 5.1.程序调试情况:16 5.2.本人在程序设计中感想: 16 6.致 16 主要参考文献16

: 1.1Java程序课程设计任务书 1.1《简易连连看游戏》 本程序基本实现了小游戏连连看的功能,玩家找出游戏中2个相同图案的方块,如果它们之间的连接线不多于3根直线,则将其连接起来,就可以成功将图案相同的方块消除,否则不会消失,当游戏中已没有满足条件的图案时,点击重列,可重新排序,游戏结束会跳出所得分数,该游戏的特点是与自己竞争,超过自己之前所创纪录。 1.1.1具体要求(包括技术要求等): <1>. 该游戏界面为方格类型,由纵6横7的直线平行垂直交叉组成,分别是6行5列方块拼接,共有30格小方块。方块上随机分布一些数字,数字的要至少两两相同,位置随机打乱。 <2>. 当将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则无效,若连接一对成功就消失于界面,继续游戏,直到游戏结束,并能返回所得分数。 <3>. 重列按钮(帮助)的功能:游戏过程中,遇到困难难以寻找下一符合要求的一对数字,可按左下按钮重置重新排列方可继续游戏。 <4>. 退出按钮:击左下方的“退出游戏”按钮,即可结束游戏。 1.2本系统涉及的知识点: 循环,javaGUI组件,函数,数组,分支等 2.功能设计 2.1算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

java课程设计实验报告

一实验目的 加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。在对Java 程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。 二、实验要求 (1)问题描述准确、规范; (2)程序结构合理,调试数据准确、有代表性; (3)界面布局整齐,人机交互方便; (4)输出结果正确; (5)正确撰写实验报告。 三、设计内容 1、计算器 计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。允许正负数间的运算。要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。 2、文本编辑器 可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。其他功能参照windows的文本编辑器。

四.实验步骤 (1)上机实验之前,为课程设计的内容作好充分准备。对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容进行上机操作。录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告。 五. 源代码及运行结果 1.计算器源代码 import .*; import .*; import .*; public class jisuanqi extends WindowAdapter { , "=", "+","n!" ,"关闭" }; static double a, sum=1; static String s, str ;rame(); } public void frame() { etBackground; txt = new TextField(""); (false);ddActionListener(new buttonlistener());ddActionListener(new close()); (this); (new BorderLayout());.计算器运行界面(1)计算器主界面

java课程设计方案

JAVA课程设计方案 1.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“写字留痕”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 设计方案 3.1总体设计 (1)问题定义:创建写字留痕,实现对某日期的事情进行记录这主要功能,并能显示设置的图片,增加美观。 (2)问题分析:通过对“写字留痕”这一题材的分析,我需要四个类来实现其“日历”和“记事本”这两大功能。通过主类N2创建动写字留痕软件的主窗口,该类含有main方法,程序从该类开始执行。再用余下YearMonth 、MonthPane类来显示并改变日期和实现记事本的功能。而ImagePanel类用来显示图片,Music类用来实现音乐的播放控制。 (3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合实际的能力。 3.2设计要求 (1)日记本使用Java语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个部分。 (2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑,默认为当前日期。 (3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表示,当日可用特别的字号和颜色 (4)记事本区,记事本容按年月日记录且保存。 (5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事件,当单击任何一个日期时,若该日有记事容,则在日记本中显示该日期的记录文字;若该日无记录,记事区保持空白。 (6)日记本应该是开放的,容可按日期增减,保存应即时,删除需谨慎删除记录时,应进行对话框询问确定。

Java课程设计电子版

2016届课程设计 《Java程序设计》 课程设计说明书 学生姓 学号 所属学院信息工程学院 专业计算机科学与技术 班级 指导教师 教师职称 塔里木大学教务处制

塔里木大学课程设计任务书课程名称: Java程序设计 课程所属教研室:计算机系指导教师: 学号学生姓名(专业)班级设计题目软件代码开发技术 实习技术内容(1)安装Java环境及环境变量配置。 (2)熟练掌握Java类、对象的概念。 (3)熟练掌握Java封装、继承和多态的概念。 (4)熟练掌握Java重写和重载的概念,并实现重写和重载。(5)熟练掌握Java程序的编写方法和思路。 (6)完成课设论文。 实习要求(1)通过课设加深对Java技术的学习与掌握。 (2)训练运用Java技术完成简单程序的开发和设计。(3)训练运用Java技术完成对数据库的连接与访问。(4)掌握课设论文的撰写要求与技巧。 参考资料JAVA程序设计基础教程人民邮电大学出版社。上网(internet)查资料,查程序,模仿程序。 从零到学java程序设计北京大学出版社。 周次第一周第二周 应完成内容根据所选择题目,查阅资料配置 java开发环境及tomcat web 服务 器。完成对Java程序的设计、修改 及调试。 运用Java技术完成对数据库的连接与 访问,同时按要求完成课设论文。 指导教师签字 教研室主任签字

目录 1.输出如下图形: (4) 2.打印下面图形 (5) 3.打印下面图形 (6) 4.编程计算1+2+3+......+100的和: (8) 5. 编程计算2+4+6+......+100的和:. (9) 6. 编程计算1+3+5+......+99的和:. (10) 7. 编程计算1!+2!+3!+4!+5!的和: (11) 8. 编程计算1!+2!+3!+4!+5! +6!+7!+8!+9!+10!的和: (12) 9.实现打印100—1000之内的水仙花数(所谓水仙花数是一个三位整数,它的各个数位的立方和等于这个数本身)。 (13) 10.编程输出1-100中的所有素数的程序: (14) 11.假设有一个父类Person,其子类是Student,请你设计父类的属性和方法,然后再设计子类的属性和方法,要求子类重写父类的部分方法,然后实现多态: (15) 12.一个动物类包括猫和狗,但是它们有不同的叫声,请你利用java多态性机制设计出合理的解决方案。 (16) 13.编程打印九九乘法表 (17) 14.将123反序输出321: (18) 15.编写实现a,b两个数交换的程序: (19) 16. 编写实现a,b,c三个数从小到大排序的程序 (20) 17.什么是继承?继承机制为面向对象程序设计带来哪些好处? (22) 18.什么是类?什么是对象?它们之间的关系是怎样的? (22) 19.试写出一个语句创建一个名为myPackage的包,这个语句应该放在程序的什么位置? 22 20.根据你的理解,请说明java中重载与重写的异同。 (22)

2048小游戏java课程设计报告书

《JA V A语言程序设计》 课程设计报告 2048智力小游戏设计 专业班级:计算机科学与技术嵌入13-1 学生姓名:卓海有 学生学号: 小组成员:单建飞堵文斐李栋承梅孔伟指导教师姓名:宋强

目录 1.前言 (1) 2.游戏需求分析 (1) 需求分析 (1) 可行性分析 (2) 3.概要设计 (3) 4.详细设计 (4) 流程图 (4) 界面的整体布局 (4) 方法模块分析 (5) 5.测试 (8) 6.总结 (10) 6.参考文献 (10) 7.部分源代码: (10)

一、前言 最近以来,移动手游越来越成为当下游戏产业中重要的一环,市场也在加大对这一产业的投入,涌现出了愤怒的小鸟,水果忍者,flappy bird,2048等诸多优秀的手游,然而任何一款手游能够风靡,主要还是依靠其简单的操作性,因此本次java课设我选择其中的典型2048PC版作为本次课设的课题。 2048游戏规则很简单,玩家每次可以选择上下左右其中一个方向去移动,每移动一次,所有的数字方块都会往移动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。 二、游戏需求分析 需求分析 现代社会对休闲小游戏的需求是:提高游戏的操作可行性,降低游戏的操作难度,降低游戏的上手难度,降低游戏的竞争需求,对使用设备的要求趋于简单化和多样化,游戏界面更加人性化,功能更加贴合使用。 (1)界面 一款的好的游戏其界面必须友好,简洁已经成为当今UI设计的主流,简单易上手才能得到玩家的青睐。 (2)功能需求 能够显示游戏的当前得得分,并记录游戏的最高分并显示,当在次打开游戏时,能够显示最高分;在游戏进行的过程中循环播放音乐,并能够关闭音乐或者打开音乐;游戏的主界面上,相同的数字要显示相同的颜色。游戏结束要有相应的提示。游戏的主要目的是通过上下左右移动来将相邻相同的数字相加,通过不断地累加最终加到2048。 (3)操作性需求 游戏的体验是衡量一款游戏的关键,本游戏可通过键盘w,s,a,d以及方向键来控制方块的移动,还可以通过在游戏的主面板中向上下左右拖动鼠标

java课程设计

面向对象程序设计课程设计报告 专业计算机科学与技术姓名吐尔巴依班级软件2班学号12001216 题目理财助手日期2014-12-6 功 能 描述 这个设计是一款具有简单的理财功能的小设计,可以选择开销的类型进行输入,当你每月的消费输入完成之后,最后统计完成之后输出你这个月的消费去向。 开销 房屋 贷款 汽车 贷款 汽油 费用 请客 开销 购物 花销 贷 款 还 款 年 限 利 率 贷 款 年 限 利 率 汽 油 类 型 费 用 日 期 费 用 支 出 目 的 支 出 目 的 费 用

设计思路 1.建立一个抽象类loan和一个贷款接口, 2.在建立一个FD类(房屋贷款类)继承Daikuan接口, 3.carloan(汽车费用)继承loan类并且用daikuan这个接口实现, 4.建立一个请客吃饭类Eatloan来继承loan类,在建立shopping类继承Eatloan 5 switch语句进行输入,跳转到以上类。 运行结果 选择界面 房屋贷款类, 汽车贷款: 汽油费用 请客开销:

购物开销: 查看这个月的消费: 源文件:import java.io.*; //总的花销的抽象类 abstract class Loan { String type;//类型 float price;//花费 abstract String getType(); abstract float getPrice(); } //贷款借口 interface Sf { float getMoney(int years,float i); } //房屋贷款类

class Fd implements Sf { float fwz;//房屋总贷款 public float getMoney(int years,float i)//计算每月还贷{ return fwz*(1+i/100)/(years*12); } } //汽车贷款、汽油费用 class CarLoan extends Loan implements Sf { float qch; CarLoan() { System.out.println("汽车贷款。"); } CarLoan(String s,float p) { super.type=s; super.price=p; } public float getMoney(int year,float i) { return qch*(1+i/100)/(year*12); } String getType() { return super.type; } float getPrice() { return super.price; } } //请客吃饭类 class EatLoan extends Loan {

学生信息管理系统java课程设计源代码

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩: 指

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 1.1、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 1.2、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 1.3、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 1.4、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 1.5、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 1.6、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

Java课程设计学生信息管理系统

《面向对象程序设计》课程设计报告题目:《**********》课程设计 学院:信息工程学院 姓名: *** **** ****** 学号: ** ** ** 专业:计算科学与技术 班级: ***** 指导教师: ***** 2015 年 12月

目录 目录 ................................................................... 摘要 ................................................................... 1.引言 ................................................................. 2.设计目的与任务 ........................................................ 3. 设计方案 ............................................................. 3.1总体设计...................................................... 3.2开发环境...................................................... 3.3层次图........................................................ 3.4界面预览...................................................... 3.4.1登录界面 .................................................. 3.4.2该管理员不存在( 用户名:name 用户密码:psw ) ............. 3.4.3学生信息管理界面 .......................................... 3.4.4填写学生信息 .............................................. 3.4.5录入学生信息 .............................................. 3.4.6查询学生信息 ..............................................

JAVA课程设计报告

计算机科学技术与工程系 《Java课程设计》 课 程 设 计 报 告 题目:简易媒体播放器 班级:0633081 姓名:063308123郭伟 063308164张志朋 063308125靳浩兵063308168周小晨指导教师:陈红军、赵军民 设计日期:2010.01.11-15 专业:计算机网络技术

目录 1 、引言................................ 错误!未定义书签。 2 、设计依据 ........................... 3错误!未定义书签。 2.1设计平台 ..............................................................错误!未定义书签。 2.2设计思想 ..............................................................错误!未定义书签。 3、主要框架图、......................... 错误!未定义书签。 4、详细设计 (4) 5 、软件调试分析......................... 错误!未定义书签。 6 、源程序代码.......................... 6错误!未定义书签。 7、执行结果 (15) 8、学习心得 ........................... 15错误!未定义书签。 9、参考文献 ........................... 16错误!未定义书签。

1、引言: 旨在考察在经过一个学期的学习,对JA V A知识的理解与应用。同时把所学的理论知识用于实战编程,进而培养同学们的动手能力和团结协作的团队意识。综合应用java语言的相关知识,独立设计中型的Java应用程序。通过本课程设计,使学生巩固《JA V A课程设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关。 2、设计依据: 1、设计平台 Eclipse是开发源码项目,由于其开放源码,任何人都可以免费使用,并可以在此基础上开发各自的插件,eclipse不只作为一个JA V A IDE的开发平台,而且是作为一个平台框架,各种各样的插件都可以安装在它上面,从而形成各种各样的工具,它有开源软件,使用插件功能,可以完成比较复杂的开发等优点。此Java程序设计就是在Eclipse环境平台下开发的。 Java API文档: Java API文档包含了Java的大部分类,方面查询不熟悉的类,所以它是一款不错的帮助文档! 2、设计思想 根据一学期对JA V A知识的学习,在Eclipse平台下,导入JMF包通过不断查询API 文档,编写媒体播放器在现有类的基础上组织一个新类。有时,我们也将组织称作“包含”关系。播放器主要针对面向对象,并且实现序列化接口,多线程等知识。 对象的组织具有极大的灵活性。新类的“成员对象”通常设为“私有”(Private),使用这个类的客户程序员不能访问它们。这样一来,我们可在不干扰客户代码的前提下,从容地修改那些成员。也可以在“运行期”更改成员,这进一步增大了灵活性。后面要讲到的“继承”并不具备这种灵活性,因为编译器必须对通过继承创建的类加以限制。 由于继承的重要性,所以在面向对象的程序设计中,它经常被重点强调。作为新加入这一领域的程序员,或许早已先入为主地认为“继承应当随处可见”。沿这种思路产生的设计将是非常笨拙的,会大大增加程序的复杂程度。相反,新建类的时候,首先应考虑“组织”对象;这样做显得更加简单和灵活。利用对象的组织,我们的设计可保持清爽。一旦需要用到继承,就会明显意识到这一点。 3、程序主要框架图

java课程设计-文件管理系统

课程设计 课程设计名称:java课程设计 专业班级: XXX班级 学生姓名: XXXX 学号: XXXXX 指导教师: XXXXX 课程设计时间:

目录 目录 ------------------------ 1 课程设计任务书 ------------------------- 2 一、需求分析 ------------------------- 3 二、概要设计 ------------------------- 4 三、开发语言 ------------------------- 4 四、详细设计 ------------------------ 4 五、调试与分析 ------------------------- 13 六、功能测试 ------------------------- 14 七、结论与心得 -------------------------- 15 八、参考资料 -------------------------- 16 九、成绩评价表 -------------------------- 17

计算机科学技术(卓越计划)专业课程设计任务书

文件管理系统 一、需求分析 题目要求对文件进行复制,压缩,解压等操作,相当于一个简单的文管理系统。对此我新加了剪切,删除,和重命名等功能。程序的整体输入控制是采用图形用户界面,同时为了减少用户输入时不必要的错误,程序还支持文件选择器功能,用户可以直接点击相应的按钮选择相应的文件或文件夹。 (1)复制功能实现了将文件复制到指定的文件夹中(包括文件夹的复制和单个文件的复制),同时允许用户选择不同类型的文件复制。其 中有全文件复制(文件夹里所有文件全部复制)、无空文件夹的文 件复制(即复制的文件夹不含空文件夹)、指定参数的文件复制(即 文件夹复制时可以指定相应的类型参数doc、txt等选择要被复制 的文件类型)。 (2)压缩功能实现将文件压缩到指定路径(包括单个文件的压缩和文件夹的压缩)。 (3)解压功能实现将指定的压缩文件解压到指定的路径 (4)剪切功能实现将制订文件夹下的文件剪切到制订的文件夹下,与复制不同的,剪切后该文件只存在于剪切后的文件夹。 (5)删除功能实现了文件的删除和文件夹删除,其中文件的删除可以直调用文件的方法删除文件,而文件夹的删除必须递归删除文件夹中 的所有文件,然后再层层调用方法删除文件夹。 (6)重命名功能实现对指定文件夹下的文件的重命名,如果该文件夹下已经存在该文件名,则提示重新命名

JAVA课程设计(计算机)

武汉理工大学华夏学院课程设计报告书 课程名称:JAVA课程设计 题目:简单投票管理系统 系名:信息工程系 专业班级:计算机 1 1 2 1 姓名:商德楼 学号:10210412108 指导教师:刘春燕 2014年9 月5日

课程设计任务书 学生姓名:商德楼专业班级:计算机1121 指导教师:刘春燕工作单位:信息工程系 设计题目:简单投票管理系统的设计与实现 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)设计一个投票管理系统界面,完成以下简单的功能 (1)设计一个文本框,输入候选人的姓名; (2)点击确定后候选人姓名进入复选框; (3)选中候选人的选择框,表示给该候选人投一票; (4)点击确定按钮产生一张选票。 设计报告撰写格式要求: 1、明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法。严格要求自己,要独立思考,按时、独立完成课程设计任务。 2、设计报告:要求层次清楚、整洁规范、不得相互抄袭,凡正文内容有整段完全相同者一律以抄袭论处。设计报告正文字数不少于0.2万字(不包括附录) 时间安排: 消化资料、系统调查 1天 项目原型开发1天 系统功能实现 1天 系统验收 1天 指导教师签字:2014年9 月 5 日 系主任签字:2014 年9 月 5 日

目录 1 目标 (4) 2 软件开发环境与技术简介 (4) 2.1 开发工具介绍 (4) 2.2 硬件环境 (4) 2.3 软件环境 (5) 3 系统需求分析 (5) 4 系统总体设计 (5) 4.1 系统功能简介 (5) 4.2 系统功能模块规划 (6) 5 系统详细设计 (6) 5.1界面设计时 (6) 5.2功能实现 (7) 6 系统测试与运行 (9) 7 总结 (12) 参考文献 (12) 附录:系统核心代码 (13)

java课程设计报告(教室管理系统)

课程设计报告 学院、系:吉林大学珠海学院计算机科学与技术系专业名称:网络工程 课程设计科目java程序课程设计学生姓名:王佳 指导教师:吕健波 完成时间:2010年9月-11月

教师管理系统 一、设计任务与目标 1)负责教师管理的主界面(用菜单方式打开下面的四个功能界面) 录入教师管理的界面 修改教师管理的界面 查询教师管理的界面 删除教师管理的界面 2)教师数据表的字段要求至少包含:工号、姓名、年龄、职称、所在系、教授的主要课程、联系电话、联系地址等字段。要求字段类型设计合理、使用方便。 3)要求界面美观大方、功能实现完整 此程序的设计,主要包括两个主体部分,一是界面部分,二是创建按钮并监听,实现录入,修改,查询,删除等功能。 以前在C++编写过类似的教师管理系统,其主要思路和本题保持一致,但代码不同。 需要准备的工作是创建主界面并完善各项分功能,连接数据库,实现录入和查看同步。此次设计将会提高我对真正的JAVA程序设计的实战能力,对以前学过的知识融会贯通,并且深化和应用。意在最终程序可以美观,实用,人性化,尽最大的能力扩充相关分模块。 二、方案设计与论证 针对这道设计题的特点,首先做一个界面,界面中包括相关的分功能,录入,修改,查询,删除等,用surface做界面,分别设置各自的监听器,监听每一个button,并且各个分功能是对应各自的类。这样的话,有利于用户提出不同修改的要求,此时只要单独修改个别类即可,提高程序的便捷化并且满足不同客户的需要。在做这道题时遇到最大的障碍就是连接access数据库,因为以前没学过,所以这部分知识完全不会,必须考自学。自己做这道题与其他设计人员

学生成绩管理系统Java课程设计

目录 1 设计题目 (1) 2 设计目的 (2) 3设计分析 (3) 4 概念结构设计 (6) 5 逻辑结构设计 (11) 6 表结构设计 (13) 7 具体功能实现 ................................................. .15 8 总结 (26) 9 附录 (27)

1.设计题目学生成绩管理系统

2.设计目的 本学生成绩管理系统模块是为了实现学校人力资源的优化和学生成绩管 理的科学管理而设计的,通过试用本系统,可以更加有效的管理学生成绩信息,用数据库对大量数据的复杂操作进行保存,其中包括学生的基本信息,成绩信息和班级成绩信息并且具有信息的增加,查询,修改和修改等功能。

3.设计分析 3.1 可行性研究 (1)利用面向对象的JAVA语言来进行系统开发,可以很方便的根据实际定义各个所需要的对象,并对这些对象进行操作。同时由于本系统是在用戶图形界面进行各种用户操作,可以使界面多样化满足人们的对美观的要求,更易懂、更方便操,能够更方便验证用户的输入是否正确,并进行相应的提示,这些需求和功能在目前情况下利用所学知识完全可以实现。并且本系统采用文件来存储数据,操作比较简单,方便学生成绩的导出与打印,省去了人力的大量抄写,但是在一定程度上限制数据量和系统的运行速度。 该学生成绩管理系统可以在Microsoft Windows XP 和 Windows 7系统下进行开发和运行的,这些系统目前已经比较普及,用户在该系统中可以方便的进行各种操作,实现预期的目的。该系统的开发成本比较低,符合了人们对低资源高效率的追求,利用较低的成本换取更高的回报。 (2)具体的定义问题: 此次开发的项目是一个学生成绩管理系统,进行学生信息的增删改查、学生成绩的管理和班级成绩的管理,在进入系统之前需要登陆,登陆成功后即可进入系统的相应的用户界面。 本系统的身份主要分为教务处、老师和学生。 ①若是教务处登录可以进行多条件查询学生的信息,也可以增加、删除、修改、学生的信息,并可多条件查询学生成绩的信息,以及成绩的增加和修改,查询班级成绩,可按班级查询或按日期查询。 ②若是老师登录,则可以查询所有的学生信息、学生成绩和班级成绩。 ③若是学生登录,则只可以查询自己的信息和成绩,不可进行对任何信息的任何修。 ④在登录界面有注册功能,并以学号为线索贯穿整个系统。 系统的基本流程图,如图3.1所示:

相关文档
最新文档