Java实训报告

Java专业实训

项目报告

题  目:       超市管理系统               

     院(系):           软件学院                     

专业年级:   10级软件工程java工程师2班                     

姓    名:            ***                   

学    号:          1015302**              

指导教师:            黄  淼               

20##年5 月 26

目录

一、项目简介... 3

1、开发背景... 3

2、关键技术... 3

二、详细设计... 4

3.1、jiemian1.java类... 4

3.2、cangku.java类... 5

3.3、cangku1.java类... 9

3.4、pandian.java类... 11

3.5、qiantai.java类... 15

3.6、进货.java. 21

3.7、下架.java. 22

3.8、新货.java、修改.java. 23

四、代码调试... 24

五、软件发布... 24

六、结论... 24

致谢... 24

参考文献... 24

 


一、项目简介

1、开发背景

随着现代科学技术的迅猛发展,计算机技术已经渗透到哥哥领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。

作为国内自由市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。

通过对市场的调查,针对现在各中小型超市对经营业务和人事管理的实际需要,开发了这套超市管理系统。在开发过程中,我们针对当前各超市管理的特点和技术人员的实际水平,采用基于Windows图形用户界面这一易学易用的操作环境,在系统设计过程中,我们尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握。

2、关键技术

SQl Server20##、java程序设计语言、java多线程机制

一、    总体设计

再设计本系统时,需要编写10个java源文件:Jshixun.java、cangku.java、cangku1.java、jiemian1.java、qiantai.java、pandian.java、进货.java、下架.java、新货.java、修改.java。各个类之间的组合关系如图:


 

2.1、Jshixun.java(主类)

Jshixun.java是系统主类,通过调用jiemian1.java类创建的对象来启动系统。

2.1、jiemian1.java

Jiemian1.java类是负责创建系统主界面,共包含三个菜单项,分别是:前台销售、仓库管理、安全退出。

2.3、qiantai.java

Qiantai.java类负责创建前台销售界面

2.4、cangku.java

Cangku.java负责创建管理人员进行仓库管理时的登陆界面

2.5、cangku1.java

Cangku1.java类负责创建管理人员用户名、密码验证成功后进入的管理主界面

2.6、pandian.java

Pandian.java类负责创建仓库盘点界面

2.7、进货.java

进货.java类负责创建进货后对库存进行跟新的界面

2.8、下架.java

下架.java类负责创建商品下架界面

2.9、新货.java

新货.java类负责创建新增加商品的添加界面

2.10、修改.java

修改.java类负责创建商品信息的修改界面

二、详细设计

3.1、jiemian1.java类

3.11、效果图

Jiemian1.java类创建的窗口效果如图3-3所示。


3.12、UML图

jiemian1.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3-2所示。

3.13、代码(jiemian1.java)

(略)

3.2、cangku.java类

3.2.1效果图

Cangku.java创建的界面效果如图3—3所示。

3.2.2、UML图

cangku.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--4所示。

 

3.2.3、代码(cangku.java)

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

public class cangku extends Frame implements ActionListener

{

   Button b1,b2;

   Label l1,l2;

   TextField t1,t2;

   Box basebox,box1,box2;

  

   cangku()

   {

       b1=new Button("登陆");

       b2=new Button("取消");

       l1=new Label("用户名:");

       l2=new Label("密码:");

       t1=new TextField(12);

       t2=new TextField(12);

       t2.setEchoChar('*');

       t2.addActionListener(new ActionListener(){

          public void actionPerformed(ActionEvent e){

          System.out.println(t2.getText());

          t2.setText(" ");

          }});

       addWindowListener(new WindowAdapter()

       {

          public void windowClosing(WindowEvent e)

          {

              dispose();

          }

       });

      

       box1=Box.createVerticalBox();

       box1.add(l1);

       box1.add(Box.createVerticalStrut(8));

       box1.add(l2);

       box1.add(Box.createVerticalStrut(8));

       box1.add(b1);

       box2=Box.createVerticalBox();

       box2.add(t1);

       box2.add(Box.createVerticalStrut(8));

       box2.add(t2);

       box2.add(Box.createVerticalStrut(8));

       box2.add(b2);

       basebox=Box.createHorizontalBox();

       basebox.add(box1);

       basebox.add(Box.createHorizontalStrut(8));

       basebox.add(box2);

      

       b1.addActionListener(this);

       b2.addActionListener(this);

      

       setLayout(new FlowLayout());

       add(basebox);

       setBounds(250,250,250,250);

       setVisible(true);

   }

   public void actionPerformed(ActionEvent e)

   {

       if(e.getSource()==b1)

       {

          String name=t1.getText();

          String psd=t2.getText();

          try

          {

              Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

          }

          catch(ClassNotFoundException e1)

          {

              System.out.print(e1);

          }

          //读取数据

          Connection conn=null;

          Statement sta=null;

          ResultSet rs=null;

          try

          {

              //建立连接

              String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";

              conn=DriverManager.getConnection(url,"sa","");

              sta=conn.createStatement();//创建可执行对象

              String sql="select count(*) from student.dbo.student1 where name='"+name+"'and password='"+psd+"'";//执行查询语句

              rs = sta.executeQuery(sql);

              rs.next();

              int n=rs.getInt(1);

         

          //  Statement stat=conn.createStatement();

          //  if(rs.getString(2).equals(psd))

              if(n==1)

              {

                 cangku1 a=new cangku1();

              }

              else

              {

                 System.out.println("wong");

              }

          }

          catch(SQLException e1)

          {

              System.out.println(e1);

          }

          finally

          {

              //关闭资源

              try

              {

                 rs.close();

                 sta.close();

                 conn.close();

              }

              catch(Exception e1)

              {

                 System.out.println(e1);

              }

          }

       }

       else if(e.getSource()==b2)

       {

          dispose();

       }

   }

}

3.3、cangku1.java类

3.3.1、效果图

Cangku1.java类创建的效果图如图3—5所示。

3.3.2、UML图

Cangku1.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--6所示。


 

3.3.3代码(cangku1.java)

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class cangku1 extends Frame implements ActionListener

{

   Button b1,b2,b3,b4,b5;

   Box basebox;

   cangku1()

   {

       b1=new Button("库存盘点");

       b2=new Button("进货订单");

       b3=new Button("货物下架");

       b4=new Button("新增商品");

       b5=new Button("修改售价");

       basebox=Box.createVerticalBox();

       basebox.add(b1);

       basebox.add(Box.createVerticalStrut(8));

       basebox.add(b2);

       basebox.add(Box.createVerticalStrut(8));

       basebox.add(b3);

       basebox.add(Box.createVerticalStrut(8));

       basebox.add(b4);

       basebox.add(Box.createVerticalStrut(8));

       basebox.add(b5);

      

       b1.addActionListener(this);

       b2.addActionListener(this);

       b3.addActionListener(this);

       b4.addActionListener(this);

       b5.addActionListener(this);

      

       addWindowListener(new WindowAdapter()

       {

          public void windowClosing(WindowEvent e)

          {

              //System.exit(0);

              dispose();

          }

       });

      

       setLayout(new FlowLayout());

       add(basebox);

       setBounds(250,250,250,250);

       setVisible(true);

   }

   public void actionPerformed(ActionEvent e)

   {

       if(e.getSource()==b1)

       {

          pandian a=new pandian();

       }

       else if(e.getSource()==b2)

       {

          进货 a=new 进货();

       }

       else if(e.getSource()==b3)

       {

          下架 a=new 下架();

       }

       else if(e.getSource()==b4)

       {

          新货 a=new 新货();

       }

       else if(e.getSource()==b5)

       {

          修改 a=new 修改();

       }

   }

}

3.4、pandian.java类

3.4.1、效果图

Pandian.java类创建的界面效果如图3—7所示。

 

3.4.2、UML图

pandian.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--8所示。

 

3.4.3、代码(pandian.java)

import java.awt.*;

import java.sql.*;

import javax.swing.*;

import java.awt.event.*;

public class pandian extends Frame

{

   TextArea t3;

   Label t2,t1,t4;

   Box box1,box2;

   public pandian()

   {

       float zongjinjia=0,zongshoujia=0,jinjia,shoujia;

       int zongliang =0,kucun;

       String shangpin,changshang;

       t1=new Label();

       t2=new Label();

       t3=new TextArea(10,100);

       t4=new Label();

       box1=Box.createVerticalBox();

       box2=Box.createHorizontalBox();

       box2.add(t1);

       box2.add(Box.createHorizontalStrut(8));

       box2.add(t2);

       box2.add(Box.createHorizontalStrut(8));

       box2.add(t4);

       box1.add(t3);

       box1.add(Box.createVerticalStrut(8));

       box1.add(box2);

       add(box1);

      

       Connection conn=null;

       Statement sta=null;

       ResultSet rs=null;

       try

       {

          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

       }

       catch(ClassNotFoundException e1)

       {

          System.out.print(e1);

       }

       try

       {

          //建立连接

          String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";

          conn=DriverManager.getConnection(url,"sa","");

          sta=conn.createStatement();//创建可执行对象

          String sql="select * from student.dbo.qingdan";//执行查询语句

          rs = sta.executeQuery(sql);

       //  rs.next();

          while(rs.next())

          {

              shangpin=rs.getString(1);

              changshang=rs.getString(2);

              kucun=rs.getInt(3);

              jinjia=rs.getFloat(4);

              shoujia=rs.getFloat(5);

              zongliang=zongliang+kucun;

              zongjinjia=zongjinjia+kucun*jinjia;

              zongshoujia=zongshoujia+kucun*shoujia;

              t3.append("商品名:"+shangpin+"\t"+"供应商:"+changshang+"\t"+"进价:"+jinjia+"\t"+"售价:"+"\t"+shoujia+"库存:"+kucun+"\n");

          }

          float lirun=zongshoujia-zongjinjia;

          t1.setText("库存:"+zongliang);

          t2.setText("成本:"+zongjinjia);

          t4.setText("利润:"+lirun);

       }

       catch(SQLException e1)

       {

          System.out.println(e1);

       }

       finally

       {

          //关闭资源

          try

          {

              rs.close();

              sta.close();

              conn.close();

          }

          catch(Exception e1)

          {

              System.out.println(e1);

          }

       }

       addWindowListener(new WindowAdapter()

       {

          public void windowClosing(WindowEvent e)

          {

              dispose();

          }

       });

       setLayout(new FlowLayout());

      

       setBounds(250,600,600,250);

       setVisible(true);

   }

}


3.5、qiantai.java类

3.5.1、效果图

Pandian.java类创建的界面效果如图3—9(1、2)所示。

 

 

3.5.2、UML图

qiantai.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--10所示。

 

3.5.3、代码(qiantai.java)

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.border.*;

import java.util.*;

import javax.swing.event.*;

import java.io.*;

import java.net.*;

import java.applet.*;

import java.sql.*;

public class qiantai extends Frame implements ActionListener

{

   Button b1,b2,b3;

   TextField t1,t2,t3,t4;

   TextArea t6;

   Label l1,l2,l3,l4,l5;

   Box box1,box2,basebox;

   String shangpinming;

   int i=0,t=0;

   int zongliang=0;

   float zongjia=0;

   public qiantai()

   {

        b1=new Button("确定");

        b2=new Button("重置");

        b3=new Button("结算");

        l1=new Label("商品名");

        l2=new Label("数量");

        l3=new Label("总件数");

        l4=new Label("消费总额");

        l5=new Label();

        t1=new TextField(10);

        t2=new TextField(10);

        t3=new TextField(10);

        t4=new TextField(10);

        t6=new TextArea(6,10);

        box1=Box.createHorizontalBox();

        box1.add(l1);

        box1.add(Box.createHorizontalStrut(8));

        box1.add(t1);

        box1.add(Box.createHorizontalStrut(8));

        box1.add(l2);

        box1.add(Box.createHorizontalStrut(8));

        box1.add(t2);

        box1.add(Box.createHorizontalStrut(8));

        box1.add(b1);

        box1.add(Box.createHorizontalStrut(8));

        box1.add(b2);

        box2=Box.createHorizontalBox();

        box2.add(l3);

        box2.add(Box.createHorizontalStrut(8));

        box2.add(t3);

        box2.add(Box.createHorizontalStrut(8));

        box2.add(l4);

        box2.add(Box.createHorizontalStrut(8));

        box2.add(t4);

        box2.add(Box.createHorizontalStrut(8));

        box2.add(b3);

        basebox=Box.createVerticalBox();

        basebox.add(t6);

        basebox.add(Box.createVerticalStrut(8));

        basebox.add(box1);

        basebox.add(Box.createVerticalStrut(8));

        basebox.add(box2);

        basebox.add(Box.createVerticalStrut(8));

        basebox.add(l5);

        

        b1.addActionListener(this);

        b2.addActionListener(this);

        b3.addActionListener(this);

        

        addWindowListener(new WindowAdapter()

          {

              public void windowClosing(WindowEvent e)

              {

                 dispose();

              }

          });

          setLayout(new FlowLayout());

          add(basebox);

          setBounds(500,250,500,250);

           setVisible(true);

    }

    public void actionPerformed(ActionEvent e)

    {

        if(e.getSource()==b1)

        {

           float shoujia;

           int shuliang;

           shangpinming=t1.getText();

           String s=t2.getText();

           shuliang=Integer.parseInt(s);

              Connection conn=null;

              Statement sta=null;

              ResultSet rs=null;

              try

              {

                 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

              }

              catch(ClassNotFoundException e1)

              {

                 System.out.print(e1);

              }

              try

              {

                 //建立连接

                 String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";

                 conn=DriverManager.getConnection(url,"sa","");

                 sta=conn.createStatement();//创建可执行对象

                 String sql="select * from student.dbo.qingdan where 商品名='"+shangpinming+"'";//执行查询语句

                 rs = sta.executeQuery(sql);

                 rs.next();

                 shoujia=rs.getFloat(4);

                   float sum=shoujia*shuliang;

                 {

                     t6.append("商品名:"+shangpinming+" ");

                     t6.append("单价:"+shoujia+" ");

                     t6.append("数量:"+shuliang+" ");

                     t6.append("金额:"+sum+"\n");

                     t1.setText("");

                     t2.setText("");

                     zongliang=zongliang+shuliang;

                     zongjia=zongjia+sum;

                     String s2=Float.toString(zongliang);

                     String s3=Float.toString(zongjia);

                     t3.setText(s2);

                     t4.setText(s3);

                    

                 }

              }

              catch(SQLException e1)

              {

                 System.out.println(e1);

              }

              finally

              {

                  //关闭资源

                  try

                  {

                     rs.close();

                     sta.close();

                     conn.close();

                  }

                  catch(Exception e1)

                  {

                     System.out.println(e1);

                  }

              }

        }

        else if(e.getSource()==b2)

        {

           t1.setText("");

           t2.setText("");

           t3.setText("");

           t4.setText("");

        }

        else if(e.getSource()==b3)

        {

           l5.setText("交易成功!");

           t1.setText("");

           t2.setText("");

           t3.setText("");

           t4.setText("");

           t6.setText("");

           i=0;

           t=0;

        }

    }

}


3.6、进货.java

3.6.1、效果图

进货.java类创建的界面效果如图3—11所示

3.6.2、UML图

进货.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3--12所示。

 

3.6.3、代码(进货.java)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class 进货 extends Frame implements ActionListener

{

    Label l1,l2,l3;

    TextField t1,t2;

    Button b1,b2;

    Box box1,box2,box3,box4,basebox;

    public 进货()

    {

       l1=new Label("商品名");

       l2=new Label("数    量");

       l3=new Label();

       t1=new TextField(10);

       t2=new TextField(10);

       b1=new Button("确定");

       b2=new Button("重置");

       box1=Box.createHorizontalBox();

       box1.add(l1);

       box1.add(Box.createHorizontalStrut(8));

       box1.add(t1);

       box2=Box.createHorizontalBox();

       box2.add(l2);

       box2.add(Box.createHorizontalStrut(8));

       box2.add(t2);

       box3=Box.createHorizontalBox();

       box3.add(b1);

       box3.add(Box.createHorizontalStrut(8));

       box3.add(b2);

       basebox=Box.createVerticalBox();

       basebox.add(box1);

       basebox.add(Box.createVerticalStrut(8));

       basebox.add(box2);

       basebox.add(Box.createVerticalStrut(8));

       basebox.add(box3);

       basebox.add(Box.createVerticalStrut(8));

       basebox.add(l3);

       b1.addActionListener(this);

       b2.addActionListener(this);

      

       addWindowListener(new WindowAdapter()

       {

           public void windowClosing(WindowEvent e)

           {

              dispose();

           }

       });

      

       setLayout(new FlowLayout());

       add(basebox);

       setBounds(500,250,500,250);

       setVisible(true);

    }

    public void actionPerformed(ActionEvent e)

    {

       if(e.getSource()==b1)

       {

           String shangpinming;

           int shuliang;

           shangpinming=t1.getText();

           String s=t2.getText();

           shuliang=Integer.parseInt(s);

           Connection conn=null;

           Statement sta=null;

           ResultSet rs=null;

           try

           {

              Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

           }

           catch(ClassNotFoundException e1)

           {

              System.out.print(e1);

           }

           try

           {

              //建立连接

              String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";

              conn=DriverManager.getConnection(url,"sa","");

              sta=conn.createStatement();//创建可执行对象

              String sql="select * from student.dbo.qingdan where 商品名='"+shangpinming+"'";//执行查询语句

              rs = sta.executeQuery(sql);

              rs.next();

              int l=rs.getInt(5);

              shuliang=shuliang+l;

              int rst2=sta.executeUpdate("update student.dbo.qingdan set 库存='"+shuliang+"' where 商品名='"+shangpinming+"'");

              l3.setText("进货成功");

             

           }

           catch(SQLException e1)

           {

              System.out.println(e1);

              l3.setText("进货失败");

           }

           finally

           {

               //关闭资源

               try

               {

                  rs.close();

                  sta.close();

                  conn.close();

               }

               catch(Exception e1)

               {

                  System.out.println(e1);

               }

           }

          

       }

       else if(e.getSource()==b2)

       {

           t1.setText("");

           t2.setText("");

       }

    }

}


3.7、下架.java

3.7.1、效果图

下架.java类创建的界面效果如图3—13所示

3.7.2、UML图

下架.java类是java.awt包中Frame的一个子类,标明该类的主要成员变量和方法的UML图如图3—14 所示。

 

3.7.3、代码(下架.java)

import java.awt.*;

import java.sql.*;

import javax.swing.*;

import java.awt.event.*;

public class 下架 extends Frame implements ActionListener

{

    TextField t1;

    TextArea t2;

    Label l1=new Label("商品名");

    Button b1,b2,b3;

    Box box1,box2,box3;

    public 下架()

    {

       b1=new Button("查询");

       b2=new Button("确定下架");

       b3=new Button("取消");

       t1=new TextField(10);

       t2=new TextArea();

      

       box1=Box.createHorizontalBox();

       box2=Box.createHorizontalBox();

       box3=Box.createVerticalBox();

       box1.add(l1);

       box1.add(Box.createHorizontalStrut(4));

       box1.add(t1);

       box1.add(Box.createHorizontalStrut(8));

       box1.add(b1);

       box2.add(b2);

       box2.add(Box.createHorizontalStrut(8));

       box2.add(b3);

       box3.add(box1);

       box3.add(Box.createVerticalStrut(8));

       box3.add(t2);

       box3.add(Box.createVerticalStrut(8));

       box3.add(box2);

      

       b1.addActionListener(this);

       b2.addActionListener(this);

       b3.addActionListener(this);

      

       addWindowListener(new WindowAdapter()

       {

           public void windowClosing(WindowEvent e)

           {

              dispose();

           }

       });

      

       setLayout(new FlowLayout());

       add(box3);

       setBounds(500,280,500,280);

       setVisible(true);

    }

    public void actionPerformed(ActionEvent e)

    {

       if(e.getSource()==b1)

       {

           String shangpinming=t1.getText();

           Connection conn=null;

           Statement sta=null;

           ResultSet rs=null;

           try

           {

              Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

           }

           catch(ClassNotFoundException e1)

           {

              System.out.print(e1);

           }

           try

           {

              //建立连接

              String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";

              conn=DriverManager.getConnection(url,"sa","");

              sta=conn.createStatement();//创建可执行对象

              String sql="select * from student.dbo.qingdan where 商品名='"+shangpinming+"'";//执行查询语句

              rs = sta.executeQuery(sql);

              rs.next();

              t2.append("商品名:"+rs.getString(1)+"供应商:"+rs.getString(2)+"进价:"+rs.getString(3)+"售价:"+rs.getString(4)+"库存:"+rs.getString(5));

           }

           catch(SQLException e1)

           {

              System.out.println(e1);

           }

           finally

           {

               //关闭资源

               try

               {

                  rs.close();

                  sta.close();

                  conn.close();

               }

               catch(Exception e1)

               {

                  System.out.println(e1);

               }

           }

          

       }

       else if(e.getSource()==b2)

       {

           String name1=t1.getText();

           Connection conn=null;

           Statement sta=null;

           ResultSet rs=null;

           try

           {

              Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

           }

           catch(ClassNotFoundException e1)

           {

              System.out.print(e1);

           }

           try

           {

              //建立连接

              String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabassName=student";

              conn=DriverManager.getConnection(url,"sa","");

              sta=conn.createStatement();//创建可执行对象

              //String sql="select count(*) from student.dbo.qingdan where name='"+shangpinming+"'";//执行查询语句

              //rs = sta.executeQuery(sql);

               //rs.next();

              int rst= sta.executeUpdate("delete student.dbo.qingdan where 商品名='"+name1+"'");

              t2.setText("下架成功!");

           }

           catch(SQLException e1)

           {

              System.out.println(e1);

           }

           finally

           {

               //关闭资源

               try

               {

                  rs.close();

                  sta.close();

                  conn.close();

               }

               catch(Exception e1)

               {

                  System.out.println(e1);

               }

           }

          

       }

       else if(e.getSource()==b3)

       {

              dispose();

       }

    }

}
3.8、新货.java、修改.java

效果图

新货.java类、修改.java创建的界面效果如图3—15(1、2)所示

图3—15(1)1)

图3—15(2)


四、代码调试

将3.1~3.8中各个类置于同一目录下进行编译、链接、运行。

五、软件发布

使用jar.exe命令制作JAR文件来发布编写的软件。

六、结论

在本系统的开发过程中,由于是初次开发这么大的软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对开发软件的整个流程不够熟悉。尽管此软件存在着很多不足,但其基本功能已经实现。通过开发这个系统,掌握了的项目基本开发过程,学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。

致谢

从接受课题到现在完成设计论文,衷心的感谢指导老师黄淼老师给予了精心的指导和热情的帮助,老师提出许多宝贵的设计意见,这样使得我得以顺利的完成设计开发工作,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意!

参考文献

Java 2 使用教程

Java 课程设计

SQL Server2000基础教程

相关推荐