java设计的电脑销售系统

 

Java语言自1995年诞生至今,一直以简明严谨的结构、简洁的语法编写、对网络应用的支持和强大的稳健性及安全性而雄踞世界流行编程语言排行榜首,引发世界各地越来越多的程序开发人员加入到java的开发阵营中。现在的java技术更是被广泛应用到了安卓应用、服务器程序、网站、大数据技术及人工智能等领域。

此次课程设计中,我们小组是以电脑销售为此次课程设计的课题,这个系统的目的主要在于面向对象程序设计来实现顾客的查询电脑和购买电脑,并可以对购买信息查询。

在设计中,我们通过分工完成每一个模块,并将它们整合起来,完成了这次设计。在设计中我们利用了Eclipse这个平台来修改及实现我们的程序。充分利用了Java的面向对象的特点,让我们的程序架更清晰,系统更加简洁。

关键词:电脑销售;面向对象;Java

 

一、开发背景............................................................................................................... 1

二、系统需求分析....................................................................................................... 1

三、系统功能模块设计............................................................................................... 2

3.1 系统模块设计................................................................................................. 2

3.2 模块说明......................................................................................................... 2

四、详细设计............................................................................................................... 8

1、电脑(Computer)类...................................................................................... 8

2、顾客(Customer)类...................................................................................... 8

3、信息(Infor)类.............................................................................................. 8

4、操作(Order)类............................................................................................ 8

5、测试(Demo)类............................................................................................ 9

五、系统实现............................................................................................................. 10

1、主界面............................................................................................................ 10

2、添加电脑信息模块模块................................................................................ 10

3、查看电脑信息模块........................................................................................ 11

4、修改电脑信息模块........................................................................................ 11

5、购买电脑信息模块........................................................................................ 12

6、查询购买信息模块........................................................................................ 12

7、删除购买信息模块........................................................................................ 13

8、删除电脑信息模块........................................................................................ 13

电脑销售系统课程设计报告

一、开发背景

随着经济和计算机技术的快速发展,移动银行和网上电子支付等业务也逐渐的发展起来,网上购物也变成了一种常态。在这一背景之下,我们开始研究一个java的课程程序报告,关于电脑销售系统。

二、系统需求分析

现要开发一个电脑销售系统,主要有顾客和管理员两个实体,和实现查询电脑信息,添加电脑信息,修改电脑信息,删除电脑信息,生成顾客购买信息和删除顾客购买信息。管理员可以根据需求对电脑信息进行增添查改和对顾客购买信息的删除。顾客可以通过顾客购买界面购买电脑。

三、系统功能模块设计

3.1 系统模块设计

1:系统模块设计图

3.2 模块说明

1、查看电脑信息模块

图2:查看电脑信息模块图

功能描述:此模块的主要功能是实现管理员查看电脑信息,输入相应编号,就能查看电脑信息

输入:相应编号

输出:电脑品牌、价格、库存

2、查询顾客购买信息模块

功能描述:此模块的主要功能是实现顾客购买后查询购买的信息,输入相应编号,输入姓名和电话,如果姓名和电话是正确的就可以查看信息

图3:查看顾客购买信息模块图

输入:相应编号 姓名,电话

输出:姓名,性别,电话,购买品牌,购买台数

3、修改电脑信息模块

图4:修改电脑信息模块图

功能描述:此模块的主要功能是实现管理员修改电脑信息,输入相应编号,输入要修改的品牌,输入修改后的品牌,价格,库存就能完成修改。

输入:相应编号 修改前的品牌名,修改后的品牌名,修改后的价格,修改后的库存

输出:修改成功

4、添加电脑信息模块

图5:添加电脑信息模块图

功能描述:此模块的主要功能是实现管理员添加电脑信息,输入相应编号,输入要添加的品牌,价格和库存来完成添加电脑信息

输入:相应编号 要添加的品牌名,价格和库存

输出:添加成功

  1. 删除电脑信息模块

图6:删除电脑信息模块图

功能描述:此模块的主要功能是实现管理员删除电脑信息,输入相应编号,输入要删除的电脑品牌名来删除电脑信息

输入:相应编号 要删除的电脑品牌

输出:删除成功

  1. 删除顾客购买信息模块

图7:删除顾客购买信息模块图

功能描述:此模块的主要功能是实现管理员删除顾客购买信息,输入相应编号,输入要删除的顾客名

输入:相应编号,要删除的顾客名

输出:删除成功

  1. 购买电脑模块

图8:购买电脑信息模块图

功能描述:此模块的主要功能是实现顾客购买电脑,顾客输入相应的编号,输入要购买的电脑品牌,输入姓名,性别,电话,和要购买的电脑数量

输入:相应编号,电脑脑品牌,姓名,性别,电话,购买的台数

输出:购买成功,共消费金额

四、详细设计

1、电脑(Computer)类

类名:Computer

继承父类:无

实现接口:无

概述:定义电脑属性

属性及说明:brand(品牌)、price(价格)、inventory(库存);用来设置电脑的品牌,价格,库存

方法及说明:无

2、顾客(Customer)类

类名:Customer

继承父类:无

实现接口:无

概述:定义顾客属性

属性及说明:name(姓名) sex(性别) phone(电话)

方法及说明:无

3、信息(Infor)类

类名:Infor

继承父类:无

实现接口:无

概述:定义顾客购买的电脑品牌和数量

属性及说明:num_com(数量) cBrand(购买的品牌名)

方法及说明:无

4、操作(Order)类

类名:Order

继承父类:无

实现接口:无

概述:实现对数据的处理

属性及说明:所有属性都在Computer类、Customer类和Infor类中

方法及说明:包含menu();(主菜单) 、 admin(); (管理员界面) 、 customer()( 顾客界面)、operation();(选择功能编号)、addCom();(管理员添加电脑信息)、delCom();(管理员删除电脑信息)、chaCom();(管理员删除电脑信息)、viewCom();(管理员查看电脑信息)、add();(添加顾客信息购买电脑)、view();(管理员查询顾客购买信息)、deladd();(管理员删除顾客购买信息)、

方法

功能

menu()方法

显示主菜单。

ooperation()方法

根据输入的值判断来实现哪种功能

add()方法

利用循环将顾客信息加入数组

view()方法

根据数组显示顾客购买信息

admin()方法

显示管理员界面,根据输入的编号进入不同的功能页面

customer()方法

显示顾客界面,根据输入的编号进入不同的功能页面

addCom()方法

管理员输入电脑的品牌,价格和库存来完成添加电脑信息

delCom()方法

管理员输入电脑的品牌来删除电脑信息

chaCom()方法

管理员输入原品牌名确定要修改的品牌,输入修改后的品牌名,价格和库存来完成修改电脑信息

viewCom()方法

输出已经添加并且没有被删除的电脑信息

deladd()方法

管理员输入已经购买过电脑的顾客名来删除该顾客的购买信息

5、测试(Demo)类

类名:Demo

继承父类:无

实现接口:无

概述:实现函数的调用

属性及说明:定义一个Order o = new Order();的对象,通过对象调用operation()方法。

五、系统实现

1、主界面

图9:主界面图

运行之后,可以看见输出的菜单,从键盘输入相应编号执行相应功能,如输入1就进入管理员界面,输入2就进入顾客界面,输入0则退出系统

2、添加电脑信息模块模块

图10:添加电脑信息图

输入1,输入要添加的电脑品牌,价格和库存

输出添加成功

3、查看电脑信息模块

图11:查询电脑信息图

输入1,进入查看电脑信息界面

输出 品牌,价格和库存列表

4、修改电脑信息模块

图12:修改电脑信息图

输入3 ,输入要存在的电脑品牌用来确定修改,输入修改后的品牌名,价格和库存

输出 修改成功

5、购买电脑信息模块

图13:购买电脑信息图

输入1 输入要购买的品牌,输入顾客姓名,性别,电话和购买的台数

输出购买成功 共消费金额

6、查询购买信息模块

图14:查询购买信息图

输入5 ,进入查询顾客购买信息界面

输出 如果没有顾客信息将返回主界面,顾客姓名,性别,购买品牌,购买台数

7、删除购买信息模块

图15:删除购买信息图

输入6 输入要删除的顾客名字

输出 删除成功

8、删除电脑信息模块

图16:删除电脑信息图

输入4 输入列表中已存在的电脑品牌

输出 删除成功

附录:系统源代码

1 Computer

package task2;

public class Computer {

      //品牌

      String brand;

      //价格

      int price;

      //库存

      int inventory;

    public String getBrand() {

             return brand;

      }

      public void setBrand(String brand) {

             this.brand = brand;

      }

      public int getPrice() {

             return price;

      }

      public void setPrice(int price) {

             this.price = price;

      }

      public int getInventory() {

             return inventory;

      }

      public void setInventory(int inventory) {

             this.inventory = inventory;

      }

      public Computer(String brand, int price, int inventory) {

             super();

             this.brand = brand;

             this.price = price;

             this.inventory = inventory;

      }

      public Computer() {

             // TODO 自动生成的构造函数存根

      }

2 Customer

public class Customer  {

      //名字

      String name;

    //姓名

      String sex;

    //电话

      String phone;     

public Customer() {

             // TODO 自动生成的构造函数存根

      }

public Customer(String name, String sex, String phone) {

             super();

             this.name = name;

             this.sex = sex;

             this.phone = phone;

     

      }

public String getName() {

             return name;

      }

      public void setName(String name) {

             this.name = name;

      }

      public String getSex() {

             return sex;

      }

      public void setSex(String sex) {

             this.sex = sex;

      }

      public String getPhone() {

             return phone;

      }

      public void setPhone(String phone) {

             this.phone = phone;

      }

}

3 Order

package task2;

import java.util.Scanner;

public class Order extends Infor {

//电脑数组

      private Computer[] computers = new Computer[100];

      // 电脑数

      private int com = 0;

//顾客数组

      private Customer[] customers = new Customer[100];

//顾客数

      private int count = 0;

//顾客购买台数数组

      private Infor[] num_com = new Infor[10000];

      // 顾客购买台数

      private int ncom = 0;

      // 顾客购买品牌数组

      private Infor[] cus_brand = new Infor[100];

      // 顾客购买品牌

      int cbrand = 0;

      Scanner sc = new Scanner(System.in);

      public void menu() {// 显示菜单方法

             System.out.println("欢迎进入电脑销售系统");

             System.out.println(" 1.管理员登录 ");

             System.out.println(" 2.顾客登录 ");

             System.out.println(" 0.退出系统 ");

      }

      // 管理员界面

      public void admin() {

             System.out.println("1.查看电脑");

             System.out.println("2.添加电脑信息");

             System.out.println("3.修改电脑信息");

             System.out.println("4.删除电脑信息");

             System.out.println("5.查看顾客购买信息");

             System.out.println("6.删除顾客购买信息");

             System.out.println("0.返回主界面");

             int q = sc.nextInt();

             switch (q) {

             case 1:

                    // 查看电脑信息

                    viewCom();

                    break;

             case 2:

                    // 添加电脑信息

                    addCom();

                    break;

             case 3:

                    // 修改电脑信息

                    chaCom();

                    break;

             case 4:

                    // 删除电脑信息

                    delCom();

                    break;

             case 5:

                    // 查看顾客购买信息

                    view();

                    break;

             case 6:

                    // 删除顾客购买信息

                    deladd();

                    break;

             case 0:

                    return;

             }

      }

      // 顾客界面

      public void customer() {

             System.out.println("1.购买电脑");

             System.out.println("0.返回主界面");

             int q = sc.nextInt();

             switch (q) {

             case 1:

                    add();

                    break;

             case 0:

                    return;

             }

      }

//管理员添加电脑信息

      public void addCom() {

             System.out.println("请输入添加的电脑品牌");

             String brand = sc.next();

             System.out.println("请输入添加的电脑价格");

             int price = sc.nextInt();

             System.out.println("请输入添加的电脑库存");

             int inventory = sc.nextInt();

             computers[com] = new Computer(brand, price, inventory);

             com++;

             System.out.println("添加成功");

      }

//管理员删除电脑

      public void delCom() {

             if (com == 0) {

                    System.out.println("当前未录入电脑");

             } else {

                    viewCom();

                    System.out.println("请输入要删除的电脑品牌");

                    String brand = sc.next();

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

                           if (!brand.equals(computers[i].brand)) {

                                  System.out.println("该电脑不存在");

                                  return;

                           } else if (brand.equals(computers[i].brand)) {

                                  // 定义临时变量存放即将删除的品牌

                                  String temp1 = computers[i].getBrand();

                                  // 定义临时变量存放数组最后一个品牌

                                  String temp2 = computers[com - 1].getBrand();

                                  // 最后一个赋值给要删除的

                                  computers[i] = computers[com - 1];

                                  // 纠正要删除的

                                  computers[i].setBrand(temp1);

                                  ;

                                  // 纠正最后一个

                                  computers[com - 1].setBrand(temp2);

                                  com--;

                                  System.out.println("删除成功");

                           }

                    }

             }

      }

//管理员修改电脑

      public void chaCom() {

             if (com == 0) {

                    System.out.println("当前未录入电脑");

             } else {

                    viewCom();

                    System.out.println("请输入要修改的电脑品牌");

                    String brand = sc.next();

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

                           if (!brand.equals(computers[i].brand)) {

                                  System.out.println("该电脑不存在");

                                  return;

                           } else {

                                  System.out.println("请输入修改后的品牌名");

                                  String chabrand = sc.next();

                                  System.out.println("请输入修改后的价格");

                                  int chaprice = sc.nextInt();

                                  System.out.println("请输入修改后的库存");

                                  int chainventory = sc.nextInt();

                                  computers[i].brand = chabrand;

                                  computers[i].price = chaprice;

                                  computers[i].inventory = chainventory;

                                  System.out.println("修改成功");

                           }

                    }

             }

      }

//管理员查看电脑

      public void viewCom() {

             int i;

             System.out.println("品牌\t" + "价格\t" + "库存");

             for (i = 0; i < com; i++) {

                    System.out.println(

                                  computers[i].getBrand() + "\t" + computers[i].getPrice() + "\t" + computers[i].getInventory());

             }

             if (i == 0) {

                    System.out.println("当前未录入电脑");

             }

      }

      public void operation() {

             int choice = 0;// 选项

             do {

                    menu();

                    System.out.print("请选择您要进行的操作:");

                    choice = sc.nextInt();

                    while (choice < 0 || choice > 2) {

                           System.out.println("无效操作!");

                           System.out.print("请重新选择您要进行的操作:");

                           choice = sc.nextInt();

                    }

                    switch (choice) {

                    // 管理员界面

                    case 1:

                           admin();

                           break;

                    // 顾客界面

                    case 2:

                           customer();

                           break;

                    case 0: // 退出系统

                           break;

                    }

             } while (choice != 0);

             System.out.println("退出系统");

      }

//添加顾客信息购买电脑

      public void add() {

             String brand;

             do {

                    System.out.println("请输入您要买的品牌");

                    brand = sc.next();

                    if (brand.equals("0")) {

                           break;

                    }

                    for (int i = 0; i < computers.length; i++) {

                           if (brand.equals(computers[i].brand) && computers[i].inventory != 0) {

                                  System.out.println("请输入您的姓名");

                                  String name = sc.next();

                                  System.out.println("请输入您的性别");

                                  String sex = sc.next();

                                  System.out.println("请输入您的电话");

                                  String phone = sc.next();

                                  System.out.println("请输入您要购买几台");

                                  int num = sc.nextInt();

                                  if (num > computers[i].inventory) {

                                         System.out.println("对不起,您要购买的数量超过库存");

                                         return;

                                  } else {

                                         customers[count] = new Customer(name, sex, phone);

                                         count++;

                                         num_com[ncom] = new Infor(num);

                                         ncom++;

                                         computers[i].inventory -= num;

                                         cus_brand[cbrand] = new Infor(brand);

                                         cbrand++;

                                         System.out.println("购买成功,共消费" + computers[i].price * num + "元");

                                         return;

                                  }

                           }

                    }

                    System.out.println("输入的品牌不存在或库存不足,请重新输入或输入0退出");

             } while (true);

      }

//删除顾客购买信息

      public void deladd() {

             if (cbrand == 0) {

                    System.out.println("当前没有顾客购买信息");

             } else {

                    view();

                    System.out.println("请输入要删除的顾客");

                    String name = sc.next();

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

                           if (!name.equals(customers[i].name)) {

                                  System.out.println("没有该顾客");

                                  return;

                           } else {

                                  customers[i].setName(null);

                                  cbrand--;

                                  System.out.println("删除成功");

                           }

                    }

             }

      }

//查询购买信息

      public void view() {

      System.out.println("如果没有顾客购物信息将返回主界面");

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

                     {         

                           System.out.println("姓名:"+customers[i].name + "\t"+"性别:"+ customers[i].sex + "\t"+"电话" + customers[i].phone + "\t"

                                  +"购买品牌:"   + cus_brand[i].cBrand + "\t"+"购买台数" + num_com[i].num_com);

                    }

             }

      }

}

4 Demo

package task2;

public class Demo {

public static void main(String[] args) {

      Order o = new Order();

      o.operation();

      }

}

5 Demo

public class Infor {

      //购买台数

      int num_com;

      public Infor(int num_com) {

             super();

             this.num_com = num_com;

      }

     

     

      //购买品牌

      String cBrand;

      public Infor(String cBrand) {

             super();

             this.cBrand = cBrand;

      }

      public int getNum_com() {

             return num_com;

      }

      public void setNum_com(int num_com) {

             this.num_com = num_com;

      }

      public String getcBrand() {

             return cBrand;

      }

      public void setcBrand(String cBrand) {

             this.cBrand = cBrand;

      }

      public Infor() {

             // TODO 自动生成的构造函数存根

      }

代码:https://download.youkuaiyun.com/download/weixin_55771290/87880740

电脑销售管理系统详细设计说明书 拟 制 人____ 审 核 人______________________ 批 准 人______________________ [2011年7月11日] 电脑销售管理系统详细设计说明书 目录 1需求分析........................................1 1.1系统功能需求................................1 1.2基本数据维护功能需求...........................3 1.3数据库维护功能.................................7 1.4查询功能需求...................................9 1.5安全使用管理功能需求...........................11 1.6帮助功能需求...................................11 2、SQL系统建模...................................12 2.1 E-R模型图.......................................12 1、需求分析 1.1系统总功能需求 首先需要对电脑销售管理系统进行详细的了解和分析,一个功能完全满足基本需要的 系统需要包括以下几个模块: 1.1.1电脑数据提取功能模块 在这个功能模块中,提供了使用者录入数据并添加至数据库服务器的途径。比如在这 个模块中可以提取电脑的信息,也可以对这些信息做修改、更新。 1.1.3数据库管理功能模块 在电脑销售管理部门,对所有的电脑信息都要进行统一管理,数据导入情况也要进行 详细的登记,以便能对整个电脑销售管理部门运作有全面的了解。 1.1.4信息查询功能模块 在对电脑销售数据信息系统进行全面信息化管理的过程中,查询是一项非常重要的功 能。比如电脑信息,销售的信息,财务情况信息,顾客信息等,这项功能能使用户得到 即时关于电脑销售的各项信息,方便销售部门根据实际情况选择业务方式。 1.1.5安全/使用管理功能模块 这是任何一个信息管理系统都需要的部分,操作只能由专人进行,只有电脑销售部门 的工作人员才能拥有权限,特别是数据的导入进度,如果没有安全管理部分,后果难以 想象。 1.1.6帮助功能模块 这是软件不可缺少的部分,为了方便使用者实用软件,应该有一个详细的帮助模块。 电脑销售管理系统的需求功能需求图如图1-1所示 图1-1 系统功能需求框图 1.2基本数据维护功能需求 基本数据模块的具体功能如图1-2- 1所示。基本维护信息包括:员工信息和部门信息等。 图1-2-1 基本数据维护功能需求框图 (1)部门信息的添加,这个功能实现把部门信息输入到数据库中,部门信息包括部门编 号、部门名。 如图1-2-2所示 图1-2-2增加部门信息 (2)部门信息的修改,如图1-2- 3所示,这个功能实现把部门信息修改后输入到数据库中。(前置条件:已存在部门) 图1-2-3修改部门信息 (3)员工信息的增加,如图1-2-4所示。这个功能实现把员工信息输入到数 据库中。员工信息包括员工号,员工姓名,员工性别,所属部门。 图1-2-4增加员工信息 (4)员工信息的修改,如图1-2- 5所示。这个功能实现把员工信息修改后输入到数据库中。 图1-2-5修改员工信息 (5)电脑外设及零部件增加信息,如图1-2- 6所示。这个功能实现把电脑部件信息输入到数据库中。 图1-2-6增加电脑部件增加信息 (6)电脑外设及零部件信息修改,如图1-2- 7所示。这个功能实现把电脑外设及零部件信息修改后输入到数据库中。 图1-2-7修改部件信息 (7)电脑整机增加信息,如图1-2- 8所示。这个功能实现把电脑整机信息输入到数据库中。 图1-2-8整增加机信息 (8)电脑整机信息修改,如图1-2- 9所示。这个功能实现把电脑整机信息修改后输入到数据库中。 图1-2-9整机修改信息 (9)顾客信息添加,如图1-2-10所示。这个功能实现把顾客信息输入到数据库中。 图1-2-10整机进库信息 1.3数据库维护功能 数据库维护功能是信息管理系统不可或缺的部分,其需求如图1-3-1所示。 图1-3-1数据库维护功能需求 1.3.1电脑信息管理 (1)电脑外设及零部件管理功能需求,如图1-13所示。这个功能实现 对外设及零部件信息的统一管理,可以增加和修改电脑外设及零部件信息。 图1-3-1-1电脑外设及零部件管理功能需求 (2)整机管理功能需求,如图1-3-1-2所示。这个功能实现 对整机信息的统一管理,可以增加和修改电脑整机信息。 图1-3-1-2整机管理功能需求 1.3.2部门管理 (1)部门管理功能需求,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员奇奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值