文档库 最新最全的文档下载
当前位置:文档库 › 《Java 》课程设计报告

《Java 》课程设计报告

《Java 》课程设计报告
《Java 》课程设计报告

南京晓庄学院《JAVA程序设计》

课程设计报告

题目: 接球游戏的设计与实现姓名: 吕琴

学号: 11130924

班级: 11计算机转本2班指导教师: 王铮

完成时间2014年6月

成绩:

数学与信息技术学院

2014年6月

目录

1引言 (1)

1.1 系统开发背景 (1)

1.1 系统开发的目的和意义 (1)

1.2 完成的主要工作 (1)

2需求分析和总体设计 (2)

2.1 需求分析与设计思路 (2)

2.1.1关键技术说明 (2)

2.1.2需求分析 (2)

2.1.3系统设计方案与思路 (2)

2.1.4系统目录结构说明 (2)

2.2 系统功能结构 (3)

3详细设计 (4)

3.1 系统模块实现 (4)

3.1.1 源程序模块实现 (4)

4系统运行结果 (7)

(7)

5 课程设计总结 (8)

接球游戏的设计与实现

1引言

1.1系统开发背景

接球游戏仿照手掌机上的打砖块游戏制作的,游戏难度及游戏速度可以调节。这是一款挑战型的小游戏,看你能成功接住多少小球。

1.1系统开发的目的和意义

这是一款休闲娱乐游戏,其实接球的游戏有很多种,主要还是考验敏捷的思考能力和反应能力,有助于集中精神的训练。

1.2完成的主要工作

(1)程序的界面会有移动的滑板,滑板会根据鼠标的移动而移动。

(2)程序会随机的出现不同的球。

(3)程序的主界面是还有选择项,可以选择重新开始或者退出。

2需求分析和总体设计

2.1需求分析与设计思路

2.1.1关键技术说明

1、用户界面的设计,使用画布来显示。

2、鼠标的监听事件的实现。

2.1.2需求分析

很多的人们在压力这么大的社会中,需要有小游戏来放松身心,而接球小游戏就可以。

2.1.3系统设计方案与思路

本程序是一个用java写的接球小游戏。游戏开始时会有小球从窗口上部随机位置下落,玩家要做的是通过鼠标控制窗口下部的板子来接住落下的小球,接住一个加一分,直到没有接到一个小球,游戏结束。为了增加游戏的娱乐性,本程序尝试提供3个难度,根据难度来调整小球的速度。

因为要通过鼠标来控制板子,所以需要一个来监听鼠标位置移动的监听器,来捕获鼠标的移动和鼠标的当前位置(用来更新板子的位置和判断是否接住小球),同时这个类负责板子的绘制与更新。本程序采用一个独立的线程来绘制下落的小球,这个线程仅仅负责小球的绘制和判断小球是否被接住,以及记录更新分数。这样可以增加程序的效率,不会出现卡顿的现象。程序的主要窗体由一个UI类控制,主要负责窗口和菜单的绘制以及线程的调用。

2.1.4系统目录结构说明

2.2系统功能结构

3详细设计

3.1系统模块实现

3.1.1源程序模块实现

本模块主要负责小球的绘制和判断小球是否被接住,以及记录更新分数

一、实现原理

MyThread继承于Thread,使用一个单独的线程进行小球的绘制。小球的绘制和滑板的绘制大同小异,都是使用java.awt.Graphics进行绘制的。MyThread还兼顾着进行小球是否被接住的判断。主要是通过返回的板子的坐标和小球的坐标来判断小球是否在板子上方的一定范围里,如果在,则判断为接住,否则,为掉落。

二、分层结构及调用关系说明

三、关键代码分析

public void run() {

drawOval();

}

/**

* 创建线程的方法

*/

public void drawOval() {

UI.text_field.setText(count + "分");

//start = System.currentTimeMillis();

while (isFinish) {

while (isPause) {

synchronized(this.g){

g.setColor(java.awt.Color.black);

g.fillOval(x, y, width, height);

y += y1;

getColors();

g.setColor(color);

g.fillOval(x, y, width, height);

}

int x2 = listener.getX();

if (y < 90) {

y1 = 5;

}

if (y > 595 && x > x2 && x < x2 + 100) {

this.fadeOval();

count += 1;

UI.text_field.setText(count + "分");

y1 = 5;

y = 100;

java.util.Random ran = new java.util.Random();

x = ran.nextInt(600) + 10;

}

if (y > 630) {

if (isexist) {

isAgain();

}

stopThread();

}

try {

Thread.sleep(speed);

} catch (Exception ef) {

ef.printStackTrace();

}

}

}

}

小球的绘制其实就是不断的绘制一个圆形,只不过圆形的y坐标在不停的变化。难度的控制是通过主程序传入的speed参数来控制的,这个参数用于Thread.sleep(speed),很显然,当这个参数与小球下落的速度成反比。通过调用UI.text_field.setText()来更新主窗口上的分数。

四、分析总结

这个模块应该是本程序的核心模块了,很多逻辑上的错误都发生过,应该是写的最为艰辛的模块了。不过好在程序本身的逻辑并不是太过复杂,走了几次弯路也就完成的差不多了。

4系统运行结果

5 课程设计总结

一个好的算法可以让你的程序更健壮,编写的代码量更少,处理异常一直是JAVA里的常事,通过试验,让我对基础的知识更加深入了解,也对更改代码错误有了一定的提升,能看的懂错误的代码错在哪里,并进行修改,使其正确。

这个游戏只是一个简单的接球游戏,如果可以做的更好,就会更好的训练人们的集中力和反应速度,敏捷的做出正确的判断。

附件:

GameUI.java:

import java.awt.Insets;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

/**

* 游戏界面类

*/

public class GameUI extends javax.swing.JFrame {

private static GameUI UI;

private java.awt.Graphics g;

private MyListener ml;

public javax.swing.JLabel text_field;

//public javax.swing.JProgressBar pBar;

private String command;

public java.util.ArrayList list = new java.util.ArrayList();

private javax.swing.JToggleButton button;

public static void main(String args[]) {

UI = new GameUI();

UI.initUI();

}

/**

* 初始化窗体的方法

*/

public void initUI() {

// 设置标题

this.setTitle("接球");

// 设置大小

this.setSize(610, 635);

// 设置关闭是退出程序

this.setDefaultCloseOperation(3);

// 设置打开窗体时在屏幕中间显示

this.setLocationRelativeTo(null);

// 设置窗体的流式布局管理器

this.setLayout(new java.awt.FlowLayout());

// 设置窗体背景颜色

this.getContentPane().setBackground(java.awt.Color.black);

// 创建文本标签对象

text_field = new javax.swing.JLabel();

javax.swing.JLabel lable = new javax.swing.JLabel("分数:");

// 设置文本标签前景颜色

lable.setForeground(java.awt.Color.red);

text_field.setForeground(java.awt.Color.red);

// 创建按钮对象

button = new javax.swing.JToggleButton();

button.setMargin(new Insets(0, 0, 0, 0));

button.setIcon(new javax.swing.ImageIcon("images/Pause.gif"));

button.setActionCommand("暂停");

// 通过匿名内部类来创建动作监听器

java.awt.event.ActionListener button_listener = new java.awt.event.ActionListener() {

public void actionPerformed(ActionEvent e) {

String com = e.getActionCommand();

if (com.equals("暂停")) {

button.setMargin(new Insets(0, 0, 0, 0));

button

.setIcon(new javax.swing.ImageIcon(

"images/start.gif"));

button.setActionCommand("继续");

for (int i = 0; i < list.size(); i++) {

list.get(i).PauseThread();

}

}

if (com.equals("继续")) {

button.setMargin(new Insets(0, 0, 0, 0));

button

.setIcon(new javax.swing.ImageIcon(

"images/Pause.gif"));

button.setActionCommand("暂停");

for (int i = 0; i < list.size(); i++) {

list.get(i).ContinueThread();

}

}

}

};

button.addActionListener(button_listener);

this.add(button);

this.add(lable);

this.add(text_field);

// 的到菜单条

javax.swing.JMenuBar bar = creatMenuBar();

// 为窗体设置菜单条

this.setJMenuBar(bar);

// 设置窗体的可见性

this.setVisible(true);

}

/**

* 创建菜单条的方法

*/

public javax.swing.JMenuBar creatMenuBar() {

// 创建菜单条对象

javax.swing.JMenuBar bar = new javax.swing.JMenuBar();

// 创建菜单对象

javax.swing.JMenu menu_menu = new javax.swing.JMenu("菜单");

javax.swing.JMenu difficulty_menu = new javax.swing.JMenu("难度");

// 创建菜单选项对象

javax.swing.JMenuItem star_item = new javax.swing.JMenuItem("开始");

javax.swing.JMenuItem exit_item = new javax.swing.JMenuItem("退出");

// 创建单选选项

javax.swing.JRadioButtonMenuItem easy_item = new javax.swing.JRadioButtonMenuItem( "简单");

javax.swing.JRadioButtonMenuItem middle_item = new javax.swing.JRadioButtonMenuItem( "中等");

javax.swing.JRadioButtonMenuItem hard_item = new javax.swing.JRadioButtonMenuItem( "困难");

// 创建一个按钮组

javax.swing.ButtonGroup group = new javax.swing.ButtonGroup();

// 将单选按钮添加到按钮组中

group.add(easy_item);

group.add(middle_item);

group.add(hard_item);

// 将单选按钮添加到菜单中

difficulty_menu.add(easy_item);

difficulty_menu.add(middle_item);

difficulty_menu.add(hard_item);

// 通过匿名内部类来创建动作监听器

ActionListener listener = new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) {

command = e.getActionCommand();

// 如果选择开始,则创建线程对象

if (command.equals("开始") && list.size() == 0) {

creatBall(20, 1);

}

// 如果选择退出按钮,则退出程序

if (command.equals("退出")) {

System.exit(0);

}

// 如果选择简单按钮

if (command.equals("简单") && list.size() == 0) {

creatBall(20, 1);

}

// 如果选择中等按钮

if (command.equals("中等") && list.size() == 0) {

creatBall(50, 2);

}

if (command.equals("困难") && list.size() == 0) {

creatBall(40, 2);

}

}

};

// 添加动作监听器

star_item.addActionListener(listener);

exit_item.addActionListener(listener);

easy_item.addActionListener(listener);

middle_item.addActionListener(listener);

hard_item.addActionListener(listener);

// 将菜单选项对象添加到菜单对象上

menu_menu.add(star_item);

menu_menu.add(exit_item);

// 将菜单对象添加到菜单条上

bar.add(menu_menu);

bar.add(difficulty_menu);

// 返回菜单条对象

return bar;

}

/**

* 创建线程对象的方法

* @param speed :速度

*

*/

public void creatBall(int speed, int num) {

java.util.Random ran = new java.util.Random();

if (ml == null) {

g = UI.getGraphics();

ml = new MyListener(g);

UI.addMouseListener(ml);

UI.addMouseMotionListener(ml);

}

for (int i = 0; i < num; i++) {

int x = ran.nextInt(600) + 10;

int y = 100;

MyThread th = new MyThread(g, ml, UI, x, y, speed);

list.add(th);

th.start();

}

}

/**

* 得到命令的方法

*/

public String getCommand() {

return command;

}

}

MyListener.java:

import java.awt.event.MouseEvent;

/**

* 鼠标监听器的类

*/

public class MyListener extends java.awt.event.MouseAdapter { private java.awt.Graphics g;

private int x = 5, y = 620;

private int width = 100, height = 10;

public MyListener(java.awt.Graphics g) {

this.g = g;

}

public void mouseMoved(MouseEvent e) {

// 设置画布对象颜色

synchronized (this.g) {

g.setColor(java.awt.Color.black);

g.fillRect(x, y, width, height);

x = e.getX();

g.setColor(java.awt.Color.green);

g.fillRect(x, y, width, height);

}

}

/**

* 得到x的方法

*

* @return:x

*/

public int getX() {

return x;

}

}

MyThread.java:

import javax.swing.JOptionPane;

/**

* 线程类

*/

public class MyThread extends Thread {

private int width = 20, height = 20;

private int x, y;

private int count = 0;

private java.awt.Graphics g;

private GameUI UI;

private boolean isexist = true;

private MyListener listener;

private int speed;

private int y1 = 5;

private int response;

private boolean isFinish = true;

private boolean isPause = true;

private java.util.ArrayList list;

private float value = 320;

private java.awt.Color color = java.awt.Color.blue;

/*

* 重写构造器

*/

public MyThread(java.awt.Graphics g, MyListener listener, GameUI UI, int x, int y, int speed) {

this.g = g;

this.UI = UI;

this.x = x;

this.y = y;

this.speed = speed;

this.listener = listener;

}

public void run() {

drawOval();

}

/**

* 创建线程的方法

*/

public void drawOval() {

UI.text_field.setText(count + "分");

//start = System.currentTimeMillis();

while (isFinish) {

while (isPause) {

synchronized(this.g){

g.setColor(java.awt.Color.black);

g.fillOval(x, y, width, height);

y += y1;

getColors();

g.setColor(color);

g.fillOval(x, y, width, height);

}

int x2 = listener.getX();

if (y < 90) {

y1 = 5;

}

if (y > 595 && x > x2 && x < x2 + 100) {

this.fadeOval();

count += 1;

UI.text_field.setText(count + "分");

y1 = 5;

y = 100;

java.util.Random ran = new java.util.Random();

x = ran.nextInt(600) + 10;

}

if (y > 630) {

if (isexist) {

isAgain();

}

stopThread();

}

try {

Thread.sleep(speed);

} catch (Exception ef) {

ef.printStackTrace();

}

}

}

}

/**

* 线程结束时消去最后一个圆的方法

*/

public void fadeOval() {

g.setColor(java.awt.Color.black);

g.fillOval(x, y, width, height);

}

/**

* 重来对话框的处理方法

*/

public void isAgain() {

isexist = false;

list = UI.list;

System.out.println(list.size());

for (int j = 0; j < list.size(); j++) {

// 停在线程,并且去掉最后一个圆

list.get(j).stopThread();

list.get(j).fadeOval();

}

Object[] options = { "是", "否" };

String command = UI.getCommand();

response = JOptionPane.showOptionDialog(null,

"你的得分为:" + count + "\n坚持就是胜利,是否再来一次?", null, JOptionPane.YES_OPTION,

JOptionPane.NO_OPTION, null, options, null);

System.out.println(response);

if (response == 0) {

if (command.equals("简单") || command.equals("开始")) {

AgainThread();

if (list.size() != 0) {

// 现将原来的对象从队列中移除

list.removeAll(list);

UI.creatBall(20, 1);

}

}

if (command.equals("中等")) {

AgainThread();

if (list.size() != 0) {

list.removeAll(list);

UI.creatBall(50, 2);

}

}

if (command.equals("困难")) {

AgainThread();

if (list.size() != 0) {

list.removeAll(list);

UI.creatBall(40, 2);

}

}

}

// 如果点击关闭,则将线程对象从队列中移除

if (response == -1 || response == 1) { list.removeAll(list);

}

}

/**

* 停止线程的方法

*/

public void stopThread() {

isFinish = false;

isPause = false;

}

/**

* 暂停线程的方法

*/

public void PauseThread() {

图书馆管理系统课程设计报告.doc

图书馆管理系统设计报告 一、实习题目:图书馆管理系统 二、实习工具:前台开发工具选择Visual Basic 6.0;后台数据库选择Access;中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装。 三、实习目的:通过建立一个图书馆管理系统来管理图书。掌握Visual Basic 的语言特点和编程技巧,熟悉控件的属性、事件和方法。掌握用ADO控件访问数据库的技术,实现在数据库中的添加、查询和删除等操作。 四、实习内容: 1)需求分析:在进行一个项目的设计之前,先要进行必要的需求分析。图书馆信息系统要求完成如下基本功能: ?可以实现图书的类别管理和图书的信息管理。对图书的各种信息的查询,包括逐个浏览,以及对图书信息的增加、删除和修改操作。另外,可以根据输入的信息来检索某个图书的信息。 ?可以实现读者的类别管理和读者的信息管理。对读者的各种信息的查询,包括逐个浏览,以及对读者信息的增加、删除和修改操作。另外,可以根据输入的信息来检索某个读者的信息。 ?可以实现图书借阅管理。包括借书信息、还书信息以及相关信息的查询。 ?可以实现对系统管理。 2)结构设计:根据上面的需求分析,开发设计不同的窗体系统,每一个窗体实现不同的功能,可以设计下面的几个模块。 ?图书管理模块:用来实现图书类别和信息管理。 ?读者管理模块:用来实现读者类别和信息管理。 ?图书借阅管理模块:用来实现借书和还书管理。 ?系统管理模块:用来实现用户的增加和修改等操作。 系统功能模块图如下: 3)

这里的数据库采用Access,用ADO作为连接数据对象。 设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤: ?数据库需要分析。 ?数据库概念结构设计。 ?数据库逻辑结构设计。 数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后而后具体设计打下基础。 数据库逻辑结构设计 逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图,转换为与选用的具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构。 E-R图向关系模型转换的结果如下所示: 读者类别表(种类编号、读者种类、借书数量、借书期限、有效期限)。 读者信息表(读者编号、读者姓名、读者种类)。 图书类别表(类别编号、类别名称)。 图书信息表(图书编号、图书名称、图书类别、作者姓名、出版社名称、出版日期、价格、登记日期)。 借书信息表(图书编号、图书名称、图书作者、图书类别、出版社)。 4)实现代码:(类似代码略) 主窗体代码:在本项目中,子菜单事件都是Click事件,这里先给出主窗体部分的代码。 下面是响应“添加图书类别”子菜单Click事件,调出添加图书类别窗体代码。 Private Sub tjts_Click() 添加图书类别.Show End Sub 下面是响应“添加读者信息”子菜单Click事件,调出添加读者信息窗体代码。 Private Sub tjdx_Click()

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算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

课程设计报告模板)

课程设计报告模板()

————————————————————————————————作者: ————————————————————————————————日期: ?

课程设计(论文)任务书 软件学院软件+电商专业09级(2)班 一、课程设计(论文)题目基本模型机设计与实现 二、课程设计(论文)工作自2011年6月 20 日起至2011年 6月 24日止。 三、课程设计(论文) 地点:计算机组成原理实验室(5#301) 四、课程设计(论文)内容要求: 1.课程设计的目的 通过课程设计的综合训练,在掌握部件单元电路实验的基础上,进一步掌握整机 概念。培养学生实际分析问题、解决问题和动手能力,最终目标是想通过课程设计的形式,帮助学生系统掌握该门课程的主要内容,更好地完成教学任务。 2.课程设计的任务及要求 1)基本要求? (1)课程设计前必须根据课程设计题目认真查阅资料; (2)实验前准备好实验程序及调试时所需的输入数据; (3)实验独立认真完成; (4)对实验结果认真记录,并进行总结和讨论。 2)课程设计论文编写要求 (1)按照书稿的规格撰写打印课设论文 (2)论文包括目录、绪论、正文、小结、参考文献、附录等 (3)正文中要有问题描述、实验原理、设计思路、实验步骤、调试过程与遇到问题的解决方法、总结和讨论等 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查:

(1)出勤情况和课设态度; (2)设计思路; (3)代码实现; (4)动手调试能力; (5)论文的层次性、条理性、格式的规范性。 4)参考文献 [1]王爱英.计算机组成与结构[M]. 北京:清华大学出版社, 2007. [2] 王爱英. 计算机组成与结构习题详解与实验指导[M]. 北京:清华大学出版社, 2007. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 实验与调试 3 实验室 撰写论文 1 图书馆 6)任务及具体要求 设计实现一个简单的模型机,该模型机包含若干条简单的计算机指令,其中至少包括输入、输出指令,存储器读写指令,寄存器访问指令,运算指令,程序控制指令。学生须根据要求自行设计出这些机器指令对应的微指令代码,并将其存放于控制存储器,并利用机器指令设计一段简单机器指令程序。将实验设备通过串口连接计算机,通过联机软件将机器指令程序和编写的微指令程序存入主存中,并运行此段程序,通过联机软件显示和观察该段程序的运行,验证编写的指令和微指令的执行情况是否符 合设计要求,并对程序运行结果的正、误分析其原因。 学生签名: 亲笔签名 2011年6月20 日 课程设计(论文)评审意见 (1)设计思路:优( )、良()、中( )、一般()、差( ); (2)代码实现:优()、良()、中()、一般()、差();

数据结构图书管理系统课程设计报告

一、设计题目与要求 【问题描述】 设计一个计算机管理系统完成图书管理基本业务。 【基本要求】 (1) 每种书的登记内容包括书号、书名、著作者、现存量和库存量; (2) 对书号建立索引表(线性表)以提高查找效率; (3) 系统主要功能如下: ①采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加; ②借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量; ③归还:注销对借阅者的登记,改变该书的现存量。 二、小组分工 小组成员: 小组分工:图书初始化、新书入库、登记读者信息、文件保存 借书系统、还书系统 图书信息查询、读者信息查询 三、需求分析 图书管理系统共需要八个模块,分别是1图书初始化、2新书入库、3添加读者信息、4借书模块、5还书模块、6查询图书信息、7查询读者信息、8退出。 我负责其中的四个模块,如下所示: 1)图书初始化 输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。 2)新书入库 新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。 3)添加读者信息 读者信息初始化,输入读书证号和姓名,只有输入书证号和姓名才能进行借书还书 4)退出和文件保存 退出读书管理系统并保存读者和图书信息。

四、概要设计 图书信息和读者信息都采用结构体类型保存。 图书信息里面包括:图书编号、图书名称、作者、现有量、库存量、指向下一节点的指针。 读者信息里面包括:读者编号、读者姓名、借书数量、可借图书数量、指向下一节点的指针。 所有图书和读者都分别以链表的形式存储,并以编号为唯一主键。采用链表形式便于数据的添加与删改。 主要的操作为:系统初始化,图书入库,读者信息登记,图书信息和读者信息文件的保存。 五、详细设计 数据结构的定义: 图书信息: typedef struct book {

Java课程设计报告模板

Java课程设计报告 模板

浙江科技学院 《Java程序设计》课程设计报告 设计题目:学生信息管理系统 姓名:邱焕明 学号: 所属院系:信息学院 专业:软件工程 小组成员:邱焕明 设计时间: -1-6 指导教师:虞建东

一、课程设计目的 (1)实验目的:结合开发的系统,给出学生信息管理系统 二、课程设计完成的任务 三、设计过程 (一)需求分析 1、基础资料管理 基础资料管理包括对院系、班级和学期的设置。该模块可实现以下功能: 添加、修改、删除和显示院系代码、院系名称和电话号码。 添加、修改、删除和显示班级代码、班级名称、学生人数和所属院系名。 添加、修改、删除和显示学期代码、学期名称。 2、学生信息管理 学生信息管理包括对学生档案和学籍的管理。该模块可实现以下功能: 添加、修改、查询和显示学生的基本信息、所属班级和院系。 记录学生学籍、学生离校信息和学生调动信息。 3、课程信息管理 课程信息管理包括对课程设置和班级选课的管理。该模块可实

现以下功能: 添加、修改、删除和显示课程代码、课程名称、学分和院系名称。 添加、删除和提交班级所选课程。 4、成绩信息管理 成绩信息管理包括对成绩录入和成绩分析的管理。该模块可实现以下功能: 录入班级课程成绩,以不同形式(列表统计、图表分析)显示班级课程成绩。 (二)系统设计概念、流程初定义 1、实体名:院系 2、实体名:班级 3、实体名:学生 4、实体名:课程 (三)系统内容规划 1、班级信息表 表3-1 班级信息表 2、课程信息表 表3-2 课程信息表

(四)系统总体设计 内 (五)系统详细设计 (六)系统测试 列名 数据类型 长度 备注 课程代码 char 10 主键 课程名称 varchar 50 无 学 分 tinyint 1 无 所属院系 varchar 50 无

课程设计报告【模板】

模拟电子技术课程设计报告设计题目:直流稳压电源设计 专业电子信息科学与技术 班级电信092 学号 200916022230 学生姓名夏惜 指导教师王瑞 设计时间2010-2011学年上学期 教师评分 2010年月日

昆明理工大学津桥学院模拟电子技术课程设计 目录 1.概述 (2) 1.1直流稳压电源设计目的 (2) 1.2课程设计的组成部分 (2) 2.直流稳压电源设计的内容 (4) 2.1变压电路设计 (4) 2.2整流电路设计 (4) 2.3滤波电路设计 (8) 2.4稳压电路设计 (9) 2.5总电路设计 (10) 3.总结 (12) 3.1所遇到的问题,你是怎样解决这些问题的12 3.3体会收获及建议 (12) 3.4参考资料(书、论文、网络资料) (13) 4.教师评语 (13) 5.成绩 (13)

昆明理工大学津桥学院模拟电子技术课程设计 1.概述 电源是各种电子、电器设备工作的动力,是自动化不可或缺的组成部分,直流稳压电源是应用极为广泛的一种电源。直流稳压电源是常用的电子设备,它能保证在电网电压波动或负载发生变化时,输出稳定的电压。一个低纹波、高精度的稳压源在仪器仪表、工业控制及测量领域中有着重要的实际应用价值。 直流稳压电源通常由变压器、整流电路、滤波电路、稳压控制电路所组成,具有体积小,重量轻,性能稳定可等优点,电压从零起连续可调,可串联或关联使用,直流输出纹波小,稳定度高,稳压稳流自动转换、限流式过短路保护和自动恢复功能,是大专院校、工业企业、科研单位及电子维修人员理想的直流稳压电源。适用于电子仪器设备、电器维修、实验室、电解电镀、测试、测量设备、工厂电器设备配套使用。几乎所有的电子设备都需要有稳压的电压供给,才能使其处于良好的工作状态。家用电器中的电视机、音响、电脑尤其是这样。电网电压时高时低,电子设备本身耗供电造成不稳定因家。解决这个不稳定因素的办法是在电子设备的前端进行稳压。 直流稳压电源广泛应用于国防、科研、大专院校、实验室、工矿企业、电解、电镀、充电设备等的直流供电。 1.1直流稳压电源设计目的 (1)、学习直流稳压电源的设计方法; (2)、研究直流稳压电源的设计方案; (3)、掌握直流稳压电源的稳压系数和内阻测试方法。 1.2课程设计的组成部分 1.2.1 设计原理

图书管理系统课程设计报告

《管理信息系统实习》报告 专业班级 学生姓名 指导教师王桃群 时间 2012.3.13~2012.3.23 成绩 评语

一、课程设计题目 图书管理系统 二、系统需求 1.系统的准备 操作系统:Windows xp 数据库系统:SQL Server 2000 或 SQL Server 2005 客户端开发工具:Visual Studio 2005或其他开发工具 2.知识准备 熟悉SQL Server 2000 或 SQL Server 2005的使用; 熟悉C#、https://www.wendangku.net/doc/bb11185848.html,或其他语言进行数据库编程。 3.系统分析 图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等; 读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等; 读者凭借书证借书,教师最多借书15本书,借书期限最长为90天,学生最多借书8本书,借书期限最长为30天。对于超期未还的读者不能继续借书,每本书每超期一天罚款0.05元。 三、系统设计 1.体系结构 本系统使用c/s模式的两层结构,表示层(USL)和数据访问层(DAL)。 表示层(USL):为客户提供对应用程序的访问,以Windows应用程序或Web 应用程序的形式提供实现的功能。 业务逻辑层(BLL):实现应用程序的业务功能,以类库的形式为表示层提供服务。 数据访问层(DAL):实现整个系统所有的数据库连接、数据存取操作,以组

件类库的形式为业务逻辑层提供服务。 此外,实体类,简单地说是描述一个业务实体的类。业务实体直观一点的理解就是整个应用系统业务所涉及的对象,从数据存储来讲,业务实体就是存储应用系统信息的数据表,将数据表中的每一个字段定义成属性,并将这些属性用一个类封装,这个类就称为实体类。 2.功能模块框图 3.数据库设计 1. 读者类别表(ReaderType)

软件工程报告-图书管理系统设计报告

课程设计报告 课程名称软件工程 课程题目:图书管理系统设计 院系:工程技术系 专业班级:计算机应用技术1101 组长:姚勤富 完成日期: 2013-10-31 指导老师:白晓明 组员 :杨晓峰杨阳杨翼天杨志强姚勤富姚莎2013年 10 月 31 日

目录 一实验目的: (4) 二可行性分析 (4) 2.1.项目背景分析 (4) 2.2.性能分析 (4) 2.3.可靠性和安全性分析 (5) 2.4.项目基本目标分析 (5) 2.5.技术条件可行性分析 (5) 2.6.经济可行性分析 (5) 2.7.社会因素方面的可行性 (5) 2.8.操作方面的可行性 (5) 2.9.可行性的结论 (5) 三项目开发计划 (5) 四需求分析 (6) 4.1需求分析概述 (6) 4.2数据流程图 (7) 1)顶层数据流程图 (7) 3)图书管理数据流程图 (8) 4)借书数据流程图 (8) 5)还书数据流程图 (9) 6)查询数据流程图 (9) 4.3数据字典 (10) 五概要设计 (11) 5.1编写的目的 (11) 5.2定义文档 (12) 5.3运行环境 (12) 5.4基本设计概要和流程图 (12) 5.5系统结构和模块外部设计 (13) 5.6系统软件结构图 (14) 5.7图书管理系统H图 (14) 六详细设计 (15) 6.1界面设计简介 (15) 1)系统登陆流程 (16) 2)图书录入流程图 (17) 3)图书修改流程图 (18) 6.3核心算法 (18) 七系统测试计划 (20) 7.1测试内容 (20) 7.2测试条件 (21)

7.3主要测试说明 (22) 7.3.1)身份验证测试 (22) 7.3.2控制 (22) 7.3.3输入、输出、过程 (22) 7.3.4借书测试 (23) 7.3.5控制 (23) 7.3.6输入、输出、过程 (23) 7.3.7还书测试 (24) 7.3.8控制 (24) 7.3.9输入、输出、过程 (24) 7.3评价准则 (24) 八项目总结报告 (25) 第一章第八章由组长和组员共同讨论编写 第二章:“可行性分析”由姚勤富负责编写 第三张:“项目开发计划”由杨晓峰负责编写 第四章:“需求分析”由杨阳负责编写 第五章:“概要设计”由杨翼天负责编写 第六章:“详细设计”由杨志强负责编写 第七章:“系统测试”计划由姚莎负责编写 最后由组长姚勤富负责文件的排版。

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位完全相同的情况,只 有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

EDA课程设计说明书参考格式

<>课程设计说明书 题目 院、部: 学生姓名: 指导教师:王晓丽职称助教 专业: 班级: 完成时间:

摘要(三号,黑体,居中,字间空两格字符) (空二行换行) 空4格打印摘要内容(小四号宋体,行距20)。 关键词:(摘要内容后下空一行打印“关键词”三字(小四号黑体),其后为关键词(小四号宋体),每一关键词之间用分号隔开,最后一个关键词后不打标点符号。 ABSTRACT ①居中打印“ABSTRACT”,再下空二行打印英文摘要内容。②摘要内容每段开头留四个空字符。③摘要内容后下空一行打印“Key words”,其后为关键词用小写字母,每一关键词之间用分号隔开,最后一个关键词后不打标点符号。 Key words :aaa;bbb;ccc

目录(3号,黑体,居中) (空1行,以小4号黑体设置字体及大小,行间距22、字间距标准) 1 XXXXXX………………………………………………………………………… 1.1 XXXXXX……………………………………………………………………… 1.2 XXXXXX……………………………………………………………………… ┇ 2 XXXXXX………………………………………………………………………… 2.1 XXXXXX……………………………………………………………………… 2.2 XXXXXX……………………………………………………………………… ┇ 3 4 结束语 参考文献………………………………………………………………………………. 致谢……………………………………………………………………………………附录……………………………………………………………………………………

JAVA图书管理系统课程设计

山东建筑大学 课程设计说明书 题目:图书管理系统 课程: JAVA程序设计基础课程设计院(部):信息与电气工程学院 专业:物联网工程 班级:物联121 学生姓名:李明钰 学号:032 指导教师:关华 完成日期:2015年7月10日

一摘要............................................ 错误!未定义书签。二所需软件......................................... 错误!未定义书签。 三 E-R图与结构功能图............................... 错误!未定义书签。 E-R图...................................... 错误!未定义书签。 功能结构图.................................. 错误!未定义书签。四所需表格......................................... 错误!未定义书签。 Sql创建语句................................ 错误!未定义书签。五页面的结构和关系................................. 错误!未定义书签。六程序截图......................................... 错误!未定义书签。七总结............................................ 错误!未定义书签。八参考文献......................................... 错误!未定义书签。附录................................................ 错误!未定义书签。 (1)登录模块代码............................... 错误!未定义书签。 (2)图书管理模块代码........................... 错误!未定义书签。

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算法设计 本系统需要实现的功能要求: 图一,数字按钮功能模块 图二,三个功能按钮模块

课程设计报告撰写规范

.课程设计报告撰写规范

————————————————————————————————作者:————————————————————————————————日期: 2

江西理工大学应用科学学院信息工程系 课程设计规范 (试行) 信息工程系 二○一○年六月

第1章内容要求 第1章内容要求 课程设计报告由以下几个部分组成组成,依次为: I、统一的封面,封面之后为课设评分表及答辩记录表; II、摘要; III、目录; IV、课程设计总结报告正文; V、总结(本课题核心内容、特点和方案的优缺点、改进方向和意见)VI、按统一格式列出主要参考文献。 1

第2章格式要求 第2章格式要求 课程设计报告每部分从新的一页开始,各部分要求如下: 2.1封面 统一的封面(含课程设计课题名称、专业、班级、姓名、学号、指导教师等,详见第五部分“格式范例”) 2.2摘要 应概括地反映出本课程设计的主要内容,包括工作目的、实验研究方法、研究成果和结论,重点是本论文的主要工作。摘要力求语言精炼准确,建议500字以内。摘要中不要出现图片、图表、表格或其他插图材料。 关键词是为了便于作文献索引和检索工作而从论文中选取出来用以表示全文主题内容信息的单词或术语。 关键词在摘要内容后另起一行标明,一般3~5个,之间用“;”分开。 2.3 目录 目录由标题名称和页码组成,包括:正文(含结论)的一级、二级和三级标题和序号。具体格式见第五部分“格式范例”。 2.4 符号说明 如果课程设计报告中使用了大量的物理量符号、标志、缩略词、专门计量单位、自定义名词和术语等,应将全文中常用的这些符号及意义列出。如果上述符号和缩略词使用数量不多,可以不设专门的主要符号表,但在报告中出现时须加以说明。缩略词应列出中英文全称。 2

图书管理系统课程设计报告

目录 第1章绪论 (2) 第2章需求分析 (2) 第3章总体设计 (3) 第4章数据库设计 (4) §4.1 概念结构设计 (4) §4.2 逻辑结构与物理结构设计 (5) 第5章详细设计 (7) 第6章编码 (8) 第7章测试 (14) §7.1 测试 (14) §7.2 发现错误和解决方法 (17) 第8章设计总结 (17) 学习体会(附录1) (17) 致谢(附录2) (18) 参考文献(附录3) (18)

第1章绪论 图书馆是信息交换和资源流通的重要媒介,对图书馆的信息化管理将大大提高图书资源的利用和信息的交换速度。图书管理系统是通过将借阅信息以数据库的形式由网络传输来完成各用户(教师或学生)所要的借阅方面的需求(如借阅,归还,预订等)。以打破传统的人工选课模式,极大地方便了使用人员和管理人员,节约了时间和空间,实现图书借阅自动化,自由化,使图书资源得到充分利用。建立图书管理系统,使每个用户自由地选到自己需要的图书,避免传统借书模式的繁琐、低效率、借阅程序臃肿等等的缺点,减轻相关人员的负担。 本图书管理系统运用SQLServer2000、C++Builder等软件实现了基本的管理员登录、图书管理、读者管理、借还图书、图书查询以及信息维护等功能的图书管理系统。 第2章需求分析 图书管理系统主要包括系统管理、读者管理、图书采购、图书编目、图书流通、统计、查询等一系列的功能。 1、读者管理 (1).新学期建立新班级,删除毕业班读者。 (2).为新生办理新借阅证。 (3).读者管理能完成读者调动、借书证挂失、补办、停止借阅、单独打印读者条码等日常事务。 (4).读者类别可以分类,可为每一类读者指定借阅规则。 (5).读者可以通过管理员远程预约图书。 2、采编管理 (1).有完善的采编功能,能对新采购图书可以进行有效采编。 (2).图书采编能对相关图书进行分类别号编号,借助可扩展的编目库减轻编目人员的工作。 (3).图书注销有完整的备查档案。 3、流通管理 (1).借书完全通过输入借阅证号,识别借书证是否有效,根据设定的规则进行管理。提示读者已借书数、超期图书应缴罚款等参考信息。根据图书的种类确定借阅期限。罚款单价根据图书种类确定。 (2).还书完全通过条码识别,自动作超期记录。 (3).图书预约可以为读者提供方便,可以进行管理及打印到书通知。 (4).图书损坏、丢失处理能显示每本书上次损坏的记录以及其它信息。 4、统计管理

软件工程图书管理系统设计报告

软件工程大作业 可行性研究报告 目录 1.引言 编写目的 项目背景 项目定义 参考资料 2.项目概述 可行性研究的前提 系统功能 主要性能 项目的输入和输出 安全与保密要求 条件、假定和限制 可行性研究方法 决定可行性的主要因素 技术可行性 系统经济可行性 系统运行可行性 3.对现有系统的分析 图书馆机构设置

主要职责 业务流程调查 数据流程调查 计算机应用情况 现行系统存在的问题 4.所建议技术可行性分析 对系统的简要描述 系统功能结构图和数据流程图 系统功能结构图 数据流程图 与现有系统比较的优越性 采用建议系统可能带来的影响 对设备的影响 对现有软件的影响 对用户的影响 对运行环境的影响 对经费支出的影响 技术可行性评价 5.所建议系统经济可行性分析 成本 基建投资 其他一次性支出 经常性支出

效益 一次性收益 经常性收益 不可定量收益 收益/投资比 投资回收周期 6.社会因素可行性分析 法律因素 用户使用可行性 7.结论意见 1.引言 1.1编写目的 图书馆是对信息的物质载体进行收集、加工、存储、控制、转化和传递、提供给一定社会读者使用的信息系统。简言之,图书馆是文献信息的存储与传递中心。图书馆提供图书、期刊、报纸、科技报告、会议文献、学位论文、专利文献、标准文献、产品资料、政府出版物等多种形式的文献。高等学校图书馆是在校学生和教师学习研究的重要场所,是为教学和科研服务的学术性机构,它提供的是一种专业性、学术性很强的服务。 由于当前部分高校图书馆仍然主要采用人工管理方式,不仅耗时费力且难以管理,起辅助作用的计算机管理系统存在诸多弊端,并不能在管理上起主导作用,因此开发新的图书馆管理系统势在必行。图书馆管理信息系统是基于图书管理者对用户的管理以及对图书的借阅、归还等提供便捷的管理方式,同时也能方便广大用户通过操作电脑来对馆内图书进行查询、借阅、归还、续借等。编写本报告的目的是从现在应用的技术方面、用户的操作方式方面以及经济性等方面分析开发该图书馆管理信息系统的可行性,为决策者是否开发该系统提供依据和建议。 1.2项目背景 开发软件名称:图书馆管理信息系统 项目开发者:西安电子科技大学电子工程学院图书馆管理信息系统开发小组:

Java课程设计报告书

华东交通大学理工学院课程设计报告书( 2010-- 2011年度第 2 学期) 所属课程名称 Java面向对象程序设计题目设计一个多功能计算器分院电信分院 专业班级 09信管<1>班 学号 20090210450106 蔡炜指导教师黄建华 2011年06月23日

华东交通大学理工学院 课程设计(论文)任务书专业09信管班级 <1>班姓名蔡炜 一、课程设计(论文)题目设计一个多功能计算器 二、课程设计(论文)工作:自 2011 年06 月 13日起至2011年 06 月 23日止。 三、课程设计(论文)的内容要求: 本应用程序继承自框架类(JFrame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如:Button b=new Button(); b.addActionListener(事件监听器); 事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”…”8”,”9”)、运算符按钮事件(”+”,”-“,”*”,”/”,”%”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”=”)、求倒按钮事件(”1/x”)、清零按钮事件(“C”)。

在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。 计算器完成的是一个数学表达式,如:3+2,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,+,2分别存储在链表中,最后运算时,可以一一取出来进行运算。 学生签名: ( ) 2011 年06 月 23 日 课程设计(论文)评阅意见 评阅人职称 20 年月日

图书管理系统设计与实现报告

JIANGSU UNIVERSITY 项目实践 II 图书管理系统 Library Management System 学院名称:计算机科学与通信工程 专业班级:嵌软1201 学号:3120609022 学生姓名:史禹 指导教师:宋和平 2014年6 月 [正文]

一、课程设计概述 目的: 通过本项目实践的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,为学生综合应用本专业所学习的多门课程知识创造实践机会,使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。 任务: 假设图书馆委托大学生为他创建一个图书管理系统,以便能够科学管理、提高效益。开发环境:vs2010 sqlserver2008 二、项目的需求分析 (1)所有人员需要登陆才能操作系统,可以修改密码。 (2)图书管理员可以添加图书(包括书号、书名、出版社、作者、图书简介、价格、封面图片等信息)、删除图书,假设每种图书只有一本。图书管理员可以 添加借阅者(包括借书证号、姓名、类别(教师或学生)、学院、性别、照片 等信息)、删除借阅者。 (3)借阅者可以根据书名或者作者模糊查询图书(模糊查询是指在查询语句中使用like关键字),可以查看自己所借图书信息。 (4)借阅者可以借阅图书,此时需要记录借书日期和应还日期信息(设置借阅日期为30天)。借阅者包括教师和学生,教师最多可以借阅10本图书,学生最 多可以借阅5本图书。借阅者如果有超期图书则不能再借。 (5)借阅者还书时,检查是否超期,如果超期,按照0.1元/天计算罚款金额,缴纳罚款后还书。如果图书丢失,按照图书价格的两倍赔偿。 (6)实现系统时请考虑数据的参照完整性,例如借阅图书时应该是存在的图书,删除图书时同时删除该图书的借阅信息。

课程设计报告书正文标准格式

课 程 设 计 报 告 书 专 用 纸 1 引言(或绪论)(可作为正文第1章标题,用小3号黑体,加粗, 并留出上下间距为:段前0.5行,段后0.5行) ×××××××××(小4号宋体,20磅行距)××××××××××××××××××××××××××××××………… 1.1 ××××××(作为正文2级标题,用4号黑体,加粗) ×××××××××(小4号宋体,20磅行距)×××××××××××××××××××××××××××××××………… 1.1.1 ××××(作为正文3级标题,用小4号黑体,不加粗) ×××××××××(小4号宋体,20磅行距)×××××××××××××××××××××××××××………… 2 ×××××××(作为正文第2章标题,用小3号黑体,加粗, 并留出上下间距为:段前0.5行,段后0.5行) ×××××××××(小4号宋体,20磅行距)×××××××××××××××××××××××××××××××××××………… ×××××××××××××××××××………… ………… 注:1.正文中表格与插图的字体一律用5号宋体; 2.正文各页的格式请以此页为标准复制。 请留出一个汉字的空间,下同

报告中的内容仅为参考字体格式,与本次设计无关! 题目 内部排序教学软件。 1需求分析和说明 内部排序教学软件的总体目标:在TURBO C2.0 的开发环境下,利用所学C语言和数据结构的相关知识,开发一个具有良好人机界面的内部排序教学软件,实现各种内部排序,并能使用户通过其显示结果对每种排序方法的性能有一个直观的了解,从而达到教学的目的。 1.1基本要求 (1)界面友好,易与操作。采用菜单或其它人机对话方式进行选择。 (2)实现各种内部排序。包括冒泡排序,直接插入排序,直接选择排序,希尔排序,快速排序,堆排序。 (3)待排序的元素的关键字为整数。可用随机数据和用户输入数据作测试比较。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换以3次计)。 (4)演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标 的列表,以便比较各种排序的优劣。 1.2各功能模块的功能描述: 1.主函数模块 本模块的主要功能是初始化图形界面,调用各模块,实现软件功能。 2.排序功能及输出子模块 本模块的主要功能是根据用户的选择进行数组的创建,并对输入数据或者随机产生的数据使用六种排序方法进行排序并统计每种方法的移动次数和比较次数,然后输出以表格形式输出。 3.封面和结束画面子模块 本模块的主要功能是当用户打开本软件时模拟软件加载,延时数秒后关闭,并进入图形界面,在用户退出软件时显示结束画面,延时数秒后关闭程序。 4.图形界面子模块 本模块的主要功能是根据用户的选择显示不同的画面,引导用户使用软件所提供的各种功能,并在用户提供必要数据,并选择排序功能时调用排序模块,并显示结果画面。 5.输入子模块 本模块的主要功能是进行光标定位,输出提示文字,并对用户输入数据进行处理,创建数组。 6.鼠标实现模块 本模块的主要功能是为用户提供鼠标操作支持,使用户能使用鼠标进行功能的选择。2详细设计

java课程设计2013级大纲以及设计报告

珠海学院课程教学大纲 课程名称:java程序课程设计 适用专业: 2013级计算机科学与技术 课程类别:专业基础课 制订时间:2014年12月 计算机科学与技术系制

目录 1java程序课程设计教学大纲 2 java程序课程设计说明书 3 java程序课程设计报告(模板) 4 java程序课程设计成绩评定表 java程序课程设计教学大纲 (2011年制订,2014年修订) 一、课程编号: 二、前修课程:java程序设计 三、学分:2学分 四、学时: 32学时 五、课程性质与任务: 1.课程性质:《java程序课程设计》是吉林大学珠海学院计算机科学与技术系为本科生各专业开设的专业实践课。计算机科学与技术系本科生在完成《java 程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《java程序设计》课程中所学的有关知识,通过课程设计增强学生的实践动手能力,提高学生独立分析和解决实际问题的能力。培养学生配合完成任务的能力,为学生毕业后的实际工作打好基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。Java语言的应用十分广泛,例如大型信息系统、通信、网络控制等。java课程设计对增强学生对基础知识的掌握和综合运用是非常必要,对后续许多专业课程的学习和实践训练都具十分重要的意义。 2.课程任务:本课程要求学生在学习了java基础编程的相关技术后,将课本中多个章节的编程技术灵活运用到一些复杂的综合例题中去,使学生了解应用问题

的分析方法和设计解决实际问题的具体过程,掌握应用java进行程序设计的基本规范和技巧,掌握面向对象编程的设计思想,重点掌握java的基本语法规则、输入输出方法、网络编程、多线程编程、小应用程序、数据库编程的综合应用。通过编程掌握调试java程序的基本技巧、模块化应用程序和测试运行复杂应用程序的基本流程。 六、课程教学基本要求提供足够多的程序设计选题,题目应覆盖面较为广泛,部分题目要具有开放性,要求每个学生根据自己的实际情况选择题目,经教师批准后即可进入实际工作阶段。 课程设计结束对每个学生进行验收,要求每个学生提交合格的课程设计报告,还要保证程序能够运行,能够讲清楚自己的工作。老师在检查过程中可针对程序提出问题,学生回答,若程序无法运行得到结果并且具有大量编译错误,而且对程序的内容无法正确解释,则实践老师可以根据实际情况给予评分为不及格,若程序可以运行,但完成的界面以及方法不够完善,则酌情扣分,若程序运行无问题,则提问回答不好的也要相应扣分。课程设计课程集中安排在第十一周。每个同学都要提交初期、中期和最后的文档,提交课程设计报告,要求在规定时间内提交文档。最后验收时,若文档不全,成绩受到一定影响。 七、学时分配表 2011年 12 月8日 java程序课程设计说明书

相关文档
相关文档 最新文档