Labview设计报告

123_p1

      实 训 报 告

                             01

       基于Labview的音乐彩灯设计  

               电子与电气工程学院        

  业、             ,,,,,,,,,,,,,,,,,,,,,,,,,,,      

学生姓名、学号        ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,    

                 ,,,,,,,,,,,,,,,,,               

            

           2013110

一、引言

Labview是一款程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是 Labview与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而 Labview使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。

同C语言和BASIC语言一样,Labview也是通用的编程系统,有一个完成任何编程任务的庞大函数库。Labview的函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。Labview也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序的结果、单步执行等等,便于程序的调试。

Labview是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而Labview采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。VI指虚拟仪器,是Labview的程序模块。

Labview提供很多外观与传统仪器类似的控件,可用来方便地创建用户界面。用户界面在Labview中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是 图形化源代码,又称G代码。Labview的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。

而本学期通过对于Labview的学习对于Labview有了一定的认识,在此基础上,我们根据老师的要求,制作了基于Labview的声音和彩灯的小装置,通过Labview与PCI6221 DAQ数据采集卡的结合运用达到采集声音信号从而控制彩灯的闪烁的效果。

二、项目方案

1、设计项目方案:

在Labview开发环境下,应用DAQ助手以及采集卡来采集声音,并将此所检测到的声音文件,输出为不同的数字信号来控制彩灯的闪烁,从而达到随着声音的强弱和节奏彩灯有规律的闪烁的效果。

2、人员分配情况:

郑广强:方案制定、编写程序、软件调试

刘进向:方案制定、硬件电路的搭建、论文报告

3、硬件设计:

     1)硬件设备:

   PC机一台、PCI6221实验端口、Labview程序平台、导线、LED灯若干、试验用面包板。

     2)硬件结构图:

通过上位PC机的Labview程序,根据由PCI6221采集上来的声音信号,转换为数字信号后,控制彩灯闪烁。

 


    4、仪器平台:

虚拟仪器的硬件平台有两部分构成:

1)计算机   一般为一台PC机或者工作站,它是硬件平台的核心。

2)I/0接口设备   它主要完成被测输入信号的采集,放大,模/数转换。根据采用不同的总线及其相应的I/O接口硬件设备,如利用PC机总线的数据采集卡/板(DAQ),GPIB总线仪器,VXI总线仪器模块,串口总线仪器等,虚拟仪器的构成方式主要有5种类型,如图1.1所示:                  


               图1.1  虚拟仪器的构成框图

1. PC-DAQ系统:它是以数据采集板,信号调理电路及计算机为仪器硬件平台组成的插卡式虚拟仪器系统。这种系统才要PCI和ISA计算机本身的总线,故将数据采集卡/板(DAQ)插入计算机的空槽即可

2. GPIB系统:它是以GPIB标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。

3. VXI系统:它是以VXI标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。

4. PXI系统:以PXI标准总线仪器模块玉计算机为仪器硬件平台组成的虚拟仪器测试系统。

5. 串口系统:它是以SERIAL标准总线仪器与计算机为仪器硬件平台组成的虚拟仪器测试系统。   

无论上述哪种VI系统,都是通过应用软件将仪器硬件与通用计算机相结合,其中PC-DAQ测量系统是构成VI的最基本的方式,也是最廉价的方式。

虚拟仪器软件由两大部分组成:

a) 实现虚拟面板功能的前板软件程序;     

b)  定义测试功能的流程图软件程序。

(2) I/O接口仪器驱动程序 I/O接口仪器驱动程序完成特定外部硬件设备的筐子,驱动与通信。开发虚拟仪器必须有合适的软件工具,目前的虚拟仪器 软件开发工具有如下两类:

a) 文本式编程语言如VISUALC++,BASIC,LABWINDOWS/CVI等;

b) 图形化编程语言如LABVIEW,HPVEE等。

这些软件开发工具为用户设计虚拟仪器应用软件提供了最大限度的方便条件与良好的开发环境。

三、系统程序设计

    1、程序流程

系统的PC上位机软件界面上开始按钮按下之后,系统会读取并播放所选定的音乐文件,然后DAQ模块会检测并读取所播放的音乐信号,并产生所需的数字信号,然后由所检测到的数字信号控制不同的彩灯闪烁,从而表示音乐的强弱和节奏。

2、设计原理:

经由Labview软件编写的程序来控制读取音乐文件,转化输出为数字信号,从而控制数据采集卡达到控制LED灯闪烁频率及规则的实验目的。

采用labview自带的声卡程序,来设置播放的音乐,从而达到音效和产生音乐信号的目的。熟练掌握彩灯的控制方式,从而达到各式各样的彩灯闪烁效果。

3.3程序控制面板

设有开关及音乐文件选择按钮,通过控制开关控制彩灯闪烁方式,通过音乐文件选择按钮选择所配音乐。其中彩灯分为两列,一个是由8个彩灯组成的数列彩灯,用来表示音乐强弱,而其余的彩灯组成LZ两个字母。如下图:

3.4 Labview程序框图以及程序分析:

通过DAQ数字采样系统和循环语句以及选择语句将数字信号输出至PCI6221数据采集卡,开始执行程序后,通过运行次数的余数运算选择输出信号,当运算次数为1时,除法余子式选择执行y=3,而当y=3时运算输出8位二进制高低电平到DAQ数字采样系统,PCI端口控制LED灯组亮起第一对灯,同理,当运行次数为2时,除法余子式选择执行y=4时的命令,将y=4时运行所出的8位二进制高低电平送到DAQ数字采样系统中,PCI端口控制LED灯组的第二对灯亮,依此类推,从而达到预定的实验效果。

程序开始执行事件结构,通过运行次数的除法运算选择输出信号,如,当运算次数为1时,除法余子式选择执行y=0,而当y=0时运算输出8位二进制高低电平到DAQ数字采样系统,PCI端口控制LED灯组2亮起第一对灯,同理,当运行次数为2时,除法余子式选择执行y=1时的命令,将y=1时运行所出的8位二进制高低电平送到DAQ数字采样系统中,PCI端口控制LED灯组2的第二对灯亮,依此类推,从而达到预定的实验效果。

                             彩灯控制模块程序

运用事件结构当开关2或3值改变时运行程序,选择不同的背景音乐搭配2组和3组的彩灯闪烁,通过控制2组3组的延时系统来配合音乐节奏达到节日彩灯的效果。

当开关1值改变时程序开始执行,通过运行次数的除法运算选择输出信号,当运算次数为1时,除法余子式选择执行y=4,而当y=4时运算输出8位二进制高低电平到DAQ数字采样系统,当y=4时,系统执行播放指定音乐,PCI端口控制LED灯组1亮起第一对灯,同时设置延时使音乐能够在延迟时间内顺利播放完毕;同理,当运行次数为2时,除法余子式选择执行y=5时的命令,将y=5时运行所出的8位二进制高低电平送到DAQ数字采样系统中并播放指定音乐,PCI端口控制LED灯组1的第二对灯亮,从而达到预定的实验效果

                            声音控制模块程序

四、程序测试

启动程序,当开关按下时,读取并播放所选的音乐文件,伴随着音乐的播放,LED灯组延时闪烁,并在每个LED灯闪烁时会伴随着音乐的节奏,并伴有不同背景音乐直至循环闪烁结束,关闭开关。关闭程序,程序测试完毕。

五、小结

1) Labview的发展前景:

虚拟仪器正在继续迅速发展。它可以取代测量技术传统领域的各类仪器。虚拟仪器在组成和改变仪器的功能和技术性能方面具有灵活性与经济性,因而特别适应于当代科学技术迅速发展和科学研究不断深化所提出的更高更新的测量课题和测量需求。“没有测量就没有鉴别,科学技术就不能前进”。虚拟仪器将会在科学技术的各个领域得到广泛应用。

随着计算机技术、仪器技术和网络通信技术的不断完善,虚拟仪器将向以下三个方向发展:
  (1)外挂式虚拟仪器
  PC-DAQ式虚拟仪器是现在比较流行的虚拟仪器系统,但是,由于基于PCI总线的虚拟仪器在插入DAQ时都需要打开机箱等,比较麻烦,而且,主机上的PCI插槽有限,再加上测试信号直接进入计算机,各种现场的被测信号对计算机的安全造成很大的威胁,同时,计算机内部的强电磁干扰对被测信号也会造成很大的影响,故以USB接口方式的外挂式虚拟仪器系统将成为今后廉价型虚拟仪器测试系统的主流。
  (2)PXI型高精度集成虚拟仪器测试系统
  PXI系统高度的可扩展性和良好的兼容性,以及比VXI系统更高的性价比,将使它成为未来大型高精度集成测试系统的主流虚拟仪器平台。
  (3)网络化虚拟仪器
  尽管Internet技术最初并没有考虑如何将嵌入式智能仪器设备连接在一起,不过NI等公司已开发了通过Web浏览器观测这些嵌入式仪器设备的产品,使人们可以通过Internet操作仪器设备。根据虚拟仪器的特性,我们能够方便地将虚拟仪器组成计算机网络。利用网络技术将分散在不同地理位置不同功能的测试设备联系在一起,使昂贵的硬件设备、软件在网络上得以共享,减少了设备重复投资。现在,有关MCN(Measurement and Control Networks)方面的标准正在积极进行,并取得了一定进展。由此可见,网络化虚拟仪器将具有广泛的应用前景。

    2项目小结:

这学期的课程设计,主要讲授了一些LabVIEW的基本操作和编程技巧,Labview作为一门新式的以图形化编程的语言,不仅提供了简单易学的编程方法,而且提供了海量的可调用的模块,子vi,涉及到各个方面。本次实训主要用到Labview软件程序以及PCI6221数据采集卡。从硬件的接线到软件的编写,接线排版,编程运行,之前我们已经系统的学习过Labview这一软件,因此此次实训中对其应用可谓驾轻就熟有了更深一层的认识,而硬件设备PCI6221数据采集卡之前只是粗略的了解了一下,本次实训过后已经可以熟练的找到引脚编号以及并知道其作用。

这是一门实践性很强的课,很多知识是从书上看来的,而且看完之后,自己还觉的不错,觉得自己已经掌握的很好了,但真到实际做东西的时候,就会觉得困难重重,这时再去查书,便有了对知识的更深层次的理解,其实在这方面更应该感谢网络给我们带来的方便,有任何问题,上网搜一下,很多问题都可以迎刃而解,而且很多网友都有自己独特的见解,在他们的讨论中看到了很多有用的东西。而且我们能感受到学院老师对这门课的重视,也能看到这门课的发展前景,即使我们在以后的工作中不在这方面发展,这门课留给我们的学习思想和技术技能都是很宝贵的。

学以促用,用以促学,我们感觉这也是这门课教给我们的重要知识。带着问题学习才能学到真正的知识。在这学期的学习中我们学到了很多,也认识到我们需要学的东西更多,仅凭现在学到的东西是远远不够的,要想在这方面作出一些成绩,必须继续学下去的。

 

第二篇:java课程设计报告,java Eclipse PowerDesigner实现文件分割合并功能

  Java程序设计语言课程设计(论文)

题目:       文件合并、分割软件     

院 (系):          

专业班级:         

学    号:          

学生姓名:          

指导教师:         

教师职称:          

起止时间:          


目  录

第1章 课程设计的目的与要求. 1

1.1   课程设计的目的. 1

1.2   课程设计的实验环境. 1

1.3   课程设计的预备知识. 1

1.4   课程设计的要求. 1

第2章 课程设计的内容. 2

2.1   设计内容概述. 2

2.1.1 设计目标. 2

2.1.2 设计思路. 2

2.2   系统概要设计. 2

2.2.1 系统开发环境. 2

2.2.2 系统主界面设计. 2

2.2.3 系统功能说明. 3

2.2.4 类图ClassDiagram设计. 5

2.3   系统详细设计. 6

2.3.1 使用的java系统类说明. 6

2.3.2 自定义类及方法说明. 6

2.4   系统测试分析. 14

2.4.1 系统运行测试. 14

2.4.2 系统测试结果分析. 16

第3章 课程设计总结. 17

参考文献  18

                                                                         第1章 课程设计的目的与要求

1.1      课程设计的目的

《JAVA面向对象程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA面向对象程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

1.2      课程设计的实验环境

本课程设计借助的硬件环境为能运行Windows XP、Vista或Windows 7的微机系统,软件需求为Eclipse代码编辑器、PowerDesigner类图设计软件。

1.3      课程设计的预备知识

熟悉《JAVA 面向对象程序设计》教材,熟悉Eclipse软件和PowerDesigner软件的功能并能熟练运用。

1.4      课程设计的要求

按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

                                                                                   第2章 课程设计的内容

2.1      设计内容概述

2.1.1 设计目标

本次课程设计内容为设计一个文件分割、合并器。实现对任意文件的分割,并且能够对分割后的文件进行合并还原。并将处理后的文件存入指定路径的目录当中。实现系统托盘,最小化时到系统托盘。

2.1.2 设计思路

要实现对任意文件的分割,这就需要找到所有文件的共同之处。其实,也很简单,我们把文件都看作是一连串的字节流组成的即可。利用java.io包中的FileOutputStream和FileInputStream 对文件进行字节流的读写。文件和并,通过对欲合并文件的辨认(本程序通过后缀“-split”来确定),将分割后的文件加入一个ArrayList<File>中,利用迭代器用文件分割同样的道理进行合并还原。

2.2      系统概要设计

2.2.1 系统开发环境

开发平台:Microsoft Windows XP Professional Service Pack 2

开发工具:PowerDesigner 11.0 + JDK 1.6.0_02 + Eclipse

2.2.2 系统主界面设计

软件主界面如图2.1A和2.1B所示。

图2.1A 软件分割功能主界面图

图2.1B 软件合并功能主界面图

2.2.3 系统功能说明

1、软件功能特点

(1)可以实现对系统磁盘中的任意文件的分割。

(2)可以实现对系统磁盘中的任意文件的合并。

(3)可以将指定文件按大小或按数目进行分割。

(4)可以按不同的单位量对文件进行分割。

(5)可以设置文件分割时参数。

(6)可以将处理后的文件存入指定的磁盘路径中。

(7)可以调用系统的计算器在文件处理时帮助计算相关数据。

(8)在文件处理过程中显示相关处理状态的信息。

2、工作流程图

系统工作流程图如图2.2所示。

图2.2 系统工作流程图

2.2.4 类图ClassDiagram设计

系统的类图设计如图2.3所示。

图2.3 类图ClassDiagram

2.3      系统详细设计

2.3.1 使用的java系统类说明

本软件的设计使用到的java系统类为以下包中的类:(设计代码)

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.net.*;

import java.sql.Date;

import java.util.*;

import javax.swing.*;

import javax.swing.border.LineBorder;

其中主要的类为JFrame、Canvas。

使用到的java系统中接口有四种:WindowListener、ActionListener、ItemListener、ActionListener。

2.3.2 自定义类及方法说明

1、类名: FileCut

作用: 自定义的主类。
继承的父类: JFrame类。
实现的接口: Cloneable接口。

public class FileCut extends JFrame implements Cloneable{

public FileCut() {// 构造函数  }

public static void main(String[] args) {//主函数  }

}
2、类名: BrowseSourceFile
作用: 自定义的类,实现浏览文件或文件夹的功能,当找不到指定文件或文件夹时捕获异常。
继承的父类: 没有。 
实现的接口: ActionListener接口。

class BrowseSourceFile implements ActionListener {

public void actionPerformed(ActionEvent e) {

try {  }

catch (Exception ex) {  }

}

}

弹出浏览窗口如图2.4A和2.4B所示。

图2.4A 分割文件时选择目标文件浏览窗口

图2.4B 合并文件时选择目标文件浏览窗口

3、类名: SplitItemListener
作用: 自定义的类,实现分割文件的功能。
继承的父类: 没有。
实现的接口: ItemListener接口。

class SplitItemListener implements ItemListener {//分割文件功能

public void itemStateChanged(ItemEvent e) {

}

}
4、类名: UnionItemListener
作用: 自定义的类,实现合并文件的功能。
继承的父类: 没有。
实现的接口: ItemListener接口。

class UnionItemListener implements ItemListener {//合并文件功能

public void itemStateChanged(ItemEvent e) {

}

}
5、类名: BigOrSmallItemListener
作用: 自定义的类,实现在分割文件时按大小分割的功能。
继承的父类: 没有。 
实现的接口: ItemListener接口。

class BigOrSmallItemListener implements ItemListener {//按大小分割

public void itemStateChanged(ItemEvent e) {

}

}
6、类名: FileNumberItemListener
作用: 自定义的类,实现在分割文件时按数目分割的功能。
继承的父类: 没有。 
实现的接口: ItemListener接口。

class FileNumberItemListener implements ItemListener {//按数目分割

public void itemStateChanged(ItemEvent e) {

}

}
7、类名: SourceActionListener
作用: 自定义的类,对文件进行不同方式处理时设定对象限制,即在分割处理时只能选择指定文件,在合并处理时可选择文件或文件夹,当指定目标为空时或找不到指定文件或文件夹时捕获异常。
继承的父类: 没有。 
实现的接口: ActionListener接口。

class SourceActionListener implements ActionListener {//源文件

public void actionPerformed(ActionEvent e) {

try {  }

catch (NullPointerException npe) {

return;// 直接关闭窗体退出的情况}

catch (Exception exception) {

FileCut.message.setText("找不到指定文件或文件夹!");}

}

}
8、类名: TargetActionListener
作用: 自定义的类,实现将处理后的文件存放到指定路径的文件当中的功能。
继承的父类: 没有。 
实现的接口: ActionListener接口。

class TargetActionListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

}

}

弹出的浏览窗口如图2.5A和2.5B所示。

图2.5A 分割文件时指定存储位置浏览窗口

图2.5B 合并文件时指定存储位置浏览窗口

9、类名: CalcuAction
作用: 自定义的类,实现调用微机系统中计算器的功能。
继承的父类: 没有。 
实现的接口: ActionListener接口。

class CalcuAction implements ActionListener {

public void actionPerformed(ActionEvent e) {

}

}
10、类名: EnterAction
作用: 自定义的类,实现“确定”按钮的功能,对文件进行相关处理。
继承的父类: 没有。
实现的接口: ActionListener接口。

class EnterAction implements ActionListener {

public void actionPerformed(ActionEvent e) {// 调用核心功能代码

if (FileCut.operateKind == 1)

ProcessFile.cutFile();

else

ProcessFile.unionFile();

}

}
11、类名: CancelAction
作用: 自定义的类,实现“取消”按钮的功能,所有编辑框以及信息提示框清空。
继承的父类: 没有。
实现的接口: ActionListener接口。

class CancelAction implements ActionListener {

public void actionPerformed(ActionEvent e) {

FileCut.JTextField1.setText("");

FileCut.JTextField2.setText("");

FileCut.JTextField3.setText("");

FileCut.message.setText("");

}

}
12、类名: ClearAction
作用: 自定义的类,实现“重置”按钮的功能,所有编辑框清空。

继承的父类: 没有。
实现的接口: ActionListener接口。

class ClearAction implements ActionListener {

public void actionPerformed(ActionEvent e) {

FileCut.JTextField1.setText("");

FileCut.JTextField2.setText("");

FileCut.JTextField3.setText("");

}

}
13、类名: ProcessFile

作用: 自定义的类,实现在对文件分割或合并时显示相关处理状态和结果的功能。
继承的父类: 没有。 
实现的接口: 没有。

class ProcessFile {

public static void cutFile() { // 文件分割 }

public static void unionFile() {// 文件合并 }

}
14、类名: MyCanvas
作用: 自定义的类,用于实现对软件主界面顶部图片的添加功能。
继承的父类: Canvas类。
实现的接口: 没有。

class MyCanvas extends Canvas {// 加载顶部图片

MyCanvas() {setSize(438, 45); }

public void paint(Graphics g) {

g.drawImage(myimage, 0, 0, myimage.getWidth(this), myimage.getHeight(this), this);}

}
15、类名: MyWindowListener
作用: 自定义的类,实现对系统主窗口的一些基本操作的功能。
继承的父类: 没有。 
实现的接口: WindowListener接口。

class MyWindowListener implements WindowListener {

// 利用singleton(单态)模式获取唯一对象

private static MyWindowListener mwl = new MyWindowListener();

private MyWindowListener() {

}

public static MyWindowListener getInstance() {

return mwl;

}

public void windowActivated(WindowEvent e) {

}

public void windowClosed(WindowEvent e) {

}

public void windowClosing(WindowEvent e) {

System.exit(0);//关闭窗体,退出程序

}

public void windowDeactivated(WindowEvent e) {

}

public void windowDeiconified(WindowEvent e) {

}

public void windowIconified(WindowEvent e) {//最小化到托盘图标

e.getWindow().dispose();

DesktopTray.creatDesktopTray();

}

public void windowOpened(WindowEvent e) {

}

}
16、类名: DesktopTray
作用: 自定义的类,实现将系统窗口进行最小化托盘或最大化的功能。
继承的父类: 没有。 
实现的接口: 没有。

class DesktopTray {//实现托盘图标

public static void creatDesktopTray() {  }

public static void disposeDesktopTray() { }

public static void sendMail(String mail) {  }

public static void calculator(String proName) {  }

public static void createPopupMenu() {//托盘的弹出菜单  }

}

2.4      系统测试分析

2.4.1 系统运行测试

系统设计完成之后,需要进一步对系统的运行情况进行测试,目的是检验程序代码的完整性和准确性,同时检验窗口是否出现异常情况。在系统测试中,检验方法主要是运行系统,即分别利用软件的分割和合并功能对目标文件进行相关处理,然后检查处理结果是否正确。本次测试选取的目标文件为Word文件,以按数目的方式对同一个文件进行分割和合并,测试结果如图2.6及图2.7A、图2.7B、图2.7C所示。

图2.6 按数目分割文件测试结果

将第一个分割后的子文件放入指定文件夹中。

图2.7A 合并文件第一步结果图

将第二个分割后的子文件放入同一个指定文件夹中。

图2.7B 合并文件第二部结果图

将第三个分割后的子文件放入同一个指定文件夹中。

图2.7C 合并文件第三步结果图

2.4.2 系统测试结果分析

经过测试,系统的各个部分的功能均能完整实现,测试结果完全正确。因此,该系统软件可以用于实际应用当中。

                                                                                      第3章 课程设计总结

我自己感觉此次课程设计做得挺成功的,通过这一次课程设计我学到了不少实际编程的知识。最重要的是我在这一学期对《Java 面向对象程序设计》这一教材学习得很努力,掌握了一定的java基础知识,使得此次课程设计进展相对顺利,基本遇到的问题都能自己独立解决了。

在课程设计开始的几天里,我主要搜取相关资料,在互联网上搜取了大量关于java课程设计的材料,然后从中选取了一份作为主要参考依据,进行此次的java课程设计。

设计过程中我主要完成了类图的设计以及java课程设计说明的编写。

在这课程设计期间我的学长帮助了我,有些东西是我们一起探讨,一起解决方法的。当然在学习Java和设计程序的过程中还得到了刘维军老师的辛勤指导,为我解答了不少的疑问。同时,在刘老师身上我们学到了很多实用的东西,在此表示衷心的感谢!同时,还要感谢帮助过我的学长及其他同学! 
    此次课程设计使我学到了不少书本上没有的知识;学到了很多java编程知识,并学会了简单的使用PowerDesigner来设计类图,由此我发现了不少的问题。他使我对PowerDesigner软件有了一定的了解,并掌握了一些基础的功能使用方法。

经过这次的课程设计,尽管遇到了很多难题,但是让我更加受益的是在这次课程设计中得到的经验、心得和锻炼。这让我发现编译程序的过程其实就是不断解决问题的过程,从中也感受到了编写软件的乐趣,一个人永远有学不完的知识,就算开发软件的各项知识都学会了,但在实际开发过程中仍然会遇到不少问题,这是就要做到以下这两点:一个是“查”,另一个则是“问”。通过仔细的查阅资料和询问老师以及同学,最终解决了不少的问题。这也是使我认识到解决问题一方面依靠外界的帮助,更重要的是依靠自己的能力。这次课程设计给我以前学过的知识做了一个总结,为我深入学习编程做了铺垫。

参考文献

[1] 陈明.JAVA学教程.科技出版社,2002.

[2] 飞思科技产品研发中心.JAVA应用开发.北京:电子工业出版社.2003.5

[3] JAVA高手突破.北京:清华大学出版社.2002.8

[4] 乔林.JAVA应用技术.中国铁道出版社.2003.12

[5] 张立科.实用JAVA应用学.北京:人民邮电出版社.2002.9

[6] 严蔚敏.JAVA第二版.北京:清华大学出版社.2001.7

[7] 王珍玲.实用JAVA工程教程.北京:高等教育出版社.2004.6

[8] 李维.面向对象开发实践之路.北京:电子工业出版社.2004.4

[9] 袁绍欣,赵祥模,葛玮等.Java面向对象程序设计.北京:清华大学出版社.2007.8

相关推荐