国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java書店系統畢業設計 總體設計(1)

2019-11-26 13:44:08
字體:
來源:轉載
供稿:網友

java書店系統項目功能需求:

1、能進行操作用戶的注冊,修改基本信息,刪除和查詢。
2、能對圖書的基本信息進行增加、刪除、修改和查詢操作。
3、能填寫進貨單,一張進貨單帶有多條具體的進貨信息,進貨的書籍必須是圖書管理里面已經有的;進貨的同時修改庫存對應書籍的存貨量。
4、能填寫銷售單,一張銷售單帶有多條具體的銷售信息,銷售的書籍必須是圖書管理里面已經有的,而且銷售的數量不能超過當前庫存的數量;銷售的同時修改庫存對應書籍的存貨量。
5、可以查看庫存的明細,可以按照條件進行查找具體的圖書的庫存值。
6、權限方面進行簡化,做固定的權限控制。把用戶按照模塊分成不同操作權限的人員,特設一個admin的用戶,可以操作全部的功能。

項目基本設計:

★ 架構設計:
整體框架、模塊劃分
模塊劃分:用戶、圖書、進貨、銷售和庫存5個模塊

★ 系統功能結構設計:
每個功能模塊的具體功能子模塊
★ 數據庫設計:
項目框架實現:分模塊、分層、分包、構建應用程序
核心框架―-實現每個界面的轉換

package cn.hncu.bookStore;import cn.hncu.bookStore.login.ui.Login;/** *  *@author<a href="mailto:2402201666@qq.com">xzm</a> */public class bookStoreApp extends javax.swing.JFrame { private static final long serialVersionUID = 1L; /** Creates new form bookStoreApp */ public bookStoreApp() {  initComponents();  this.setContentPane(new Login(this));//添加登錄界面  this.validate();  getContentPane().setLocation(150, 50); } //GEN-BEGIN:initComponents // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {  menuBar = new javax.swing.JMenuBar();  fileMenu = new javax.swing.JMenu();  openMenuItem = new javax.swing.JMenuItem();  saveMenuItem = new javax.swing.JMenuItem();  saveAsMenuItem = new javax.swing.JMenuItem();  exitMenuItem = new javax.swing.JMenuItem();  editMenu = new javax.swing.JMenu();  cutMenuItem = new javax.swing.JMenuItem();  copyMenuItem = new javax.swing.JMenuItem();  pasteMenuItem = new javax.swing.JMenuItem();  deleteMenuItem = new javax.swing.JMenuItem();  helpMenu = new javax.swing.JMenu();  contentsMenuItem = new javax.swing.JMenuItem();  aboutMenuItem = new javax.swing.JMenuItem();  jMenu1 = new javax.swing.JMenu();  menuItemUser = new javax.swing.JMenuItem();  menuItemBook = new javax.swing.JMenuItem();  menuItemInMain = new javax.swing.JMenuItem();  MenuItemOutMain = new javax.swing.JMenuItem();  menuItemStock = new javax.swing.JMenuItem();  menuItemLogin = new javax.swing.JMenuItem();  setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);  setMinimumSize(new java.awt.Dimension(800, 600));  getContentPane().setLayout(null);  fileMenu.setText("File");  openMenuItem.setText("Open");  fileMenu.add(openMenuItem);  saveMenuItem.setText("Save");  fileMenu.add(saveMenuItem);  saveAsMenuItem.setText("Save As ...");  fileMenu.add(saveAsMenuItem);  exitMenuItem.setText("Exit");  exitMenuItem.addActionListener(new java.awt.event.ActionListener() {   public void actionPerformed(java.awt.event.ActionEvent evt) {    exitMenuItemActionPerformed(evt);   }  });  fileMenu.add(exitMenuItem);  menuBar.add(fileMenu);  editMenu.setText("Edit");  cutMenuItem.setText("Cut");  editMenu.add(cutMenuItem);  copyMenuItem.setText("Copy");  editMenu.add(copyMenuItem);  pasteMenuItem.setText("Paste");  editMenu.add(pasteMenuItem);  deleteMenuItem.setText("Delete");  editMenu.add(deleteMenuItem);  menuBar.add(editMenu);  helpMenu.setText("Help");  contentsMenuItem.setText("Contents");  helpMenu.add(contentsMenuItem);  aboutMenuItem.setText("About");  helpMenu.add(aboutMenuItem);  menuBar.add(helpMenu);  jMenu1.setText("Menu");  menuItemUser.setAccelerator(javax.swing.KeyStroke.getKeyStroke(    java.awt.event.KeyEvent.VK_U,    java.awt.event.InputEvent.CTRL_MASK));  menuItemUser.setText("/u7528/u6237/u6a21/u5757");  menuItemUser.setEnabled(false);  menuItemUser.addActionListener(new java.awt.event.ActionListener() {   public void actionPerformed(java.awt.event.ActionEvent evt) {    menuItemUserActionPerformed(evt);   }  });  jMenu1.add(menuItemUser);  menuItemBook.setAccelerator(javax.swing.KeyStroke.getKeyStroke(    java.awt.event.KeyEvent.VK_B,    java.awt.event.InputEvent.CTRL_MASK));  menuItemBook.setText("/u56fe/u4e66/u6a21/u5757");  menuItemBook.setEnabled(false);  menuItemBook.addActionListener(new java.awt.event.ActionListener() {   public void actionPerformed(java.awt.event.ActionEvent evt) {    menuItemBookActionPerformed(evt);   }  });  jMenu1.add(menuItemBook);  menuItemInMain.setAccelerator(javax.swing.KeyStroke.getKeyStroke(    java.awt.event.KeyEvent.VK_I,    java.awt.event.InputEvent.CTRL_MASK));  menuItemInMain.setText("/u8fdb/u8d27/u6a21/u5757");  menuItemInMain.setEnabled(false);  menuItemInMain.addActionListener(new java.awt.event.ActionListener() {   public void actionPerformed(java.awt.event.ActionEvent evt) {    menuItemInMainActionPerformed(evt);   }  });  jMenu1.add(menuItemInMain);  MenuItemOutMain.setAccelerator(javax.swing.KeyStroke.getKeyStroke(    java.awt.event.KeyEvent.VK_O,    java.awt.event.InputEvent.CTRL_MASK));  MenuItemOutMain.setText("/u9500/u552e/u6a21/u5757");  MenuItemOutMain.setEnabled(false);  MenuItemOutMain.addActionListener(new java.awt.event.ActionListener() {   public void actionPerformed(java.awt.event.ActionEvent evt) {    MenuItemOutMainActionPerformed(evt);   }  });  jMenu1.add(MenuItemOutMain);  menuItemStock.setAccelerator(javax.swing.KeyStroke.getKeyStroke(    java.awt.event.KeyEvent.VK_S,    java.awt.event.InputEvent.CTRL_MASK));  menuItemStock.setText("/u5e93/u5b58/u6a21/u5757");  menuItemStock.setEnabled(false);  menuItemStock.addActionListener(new java.awt.event.ActionListener() {   public void actionPerformed(java.awt.event.ActionEvent evt) {    menuItemStockActionPerformed(evt);   }  });  jMenu1.add(menuItemStock);  menuItemLogin.setAccelerator(javax.swing.KeyStroke.getKeyStroke(    java.awt.event.KeyEvent.VK_L,    java.awt.event.InputEvent.CTRL_MASK));  menuItemLogin.setText("/u6ce8/u9500");  menuItemLogin.addActionListener(new java.awt.event.ActionListener() {   public void actionPerformed(java.awt.event.ActionEvent evt) {    menuItemLoginActionPerformed(evt);   }  });  jMenu1.add(menuItemLogin);  menuBar.add(jMenu1);  setJMenuBar(menuBar);  pack(); }// </editor-fold> //GEN-END:initComponents private void menuItemLoginActionPerformed(java.awt.event.ActionEvent evt) {  //切換到登錄界面,滅掉切換到五個界面的功能菜單  menuItemBook.setEnabled(false);  menuItemInMain.setEnabled(false);  MenuItemOutMain.setEnabled(false);  menuItemStock.setEnabled(false);  menuItemUser.setEnabled(false);  this.setContentPane(new Login(this));  this.validate(); } void menuItemStockActionPerformed(java.awt.event.ActionEvent evt) {  //切換到庫存模塊  this.setContentPane(new cn.hncu.bookStore.store.ui.listPanel(this));  this.validate(); } void MenuItemOutMainActionPerformed(java.awt.event.ActionEvent evt) {  //切換到銷售模塊  this.setContentPane(new cn.hncu.bookStore.out.ui.listPanel(this));  this.validate(); } void menuItemInMainActionPerformed(java.awt.event.ActionEvent evt) {  //切換到進貨模塊  this.setContentPane(new cn.hncu.bookStore.in.ui.listPanel(this));  this.validate(); } void menuItemBookActionPerformed(java.awt.event.ActionEvent evt) {  //切換到圖書模塊  this.setContentPane(new cn.hncu.bookStore.book.ui.listPanel(this));  this.validate(); } private void menuItemUserActionPerformed(java.awt.event.ActionEvent evt) {  //切換到用戶模塊  this.setContentPane(new cn.hncu.bookStore.user.ui.listPanel(this));  this.validate(); } public javax.swing.JMenuItem getMenuItemOutMain() {  return MenuItemOutMain; } public javax.swing.JMenuItem getMenuItemBook() {  return menuItemBook; } public javax.swing.JMenuItem getMenuItemInMain() {  return menuItemInMain; } public javax.swing.JMenuItem getMenuItemStock() {  return menuItemStock; } public javax.swing.JMenuItem getMenuItemUser() {  return menuItemUser; } private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitMenuItemActionPerformed  System.exit(0); }//GEN-LAST:event_exitMenuItemActionPerformed /**  * @param args the command line arguments  */ public static void main(String args[]) {  java.awt.EventQueue.invokeLater(new Runnable() {   public void run() {    new bookStoreApp().setVisible(true);   }  }); } //GEN-BEGIN:variables // Variables declaration - do not modify private javax.swing.JMenuItem MenuItemOutMain; private javax.swing.JMenuItem aboutMenuItem; private javax.swing.JMenuItem contentsMenuItem; private javax.swing.JMenuItem copyMenuItem; private javax.swing.JMenuItem cutMenuItem; private javax.swing.JMenuItem deleteMenuItem; private javax.swing.JMenu editMenu; private javax.swing.JMenuItem exitMenuItem; private javax.swing.JMenu fileMenu; private javax.swing.JMenu helpMenu; private javax.swing.JMenu jMenu1; private javax.swing.JMenuBar menuBar; private javax.swing.JMenuItem menuItemBook; private javax.swing.JMenuItem menuItemInMain; private javax.swing.JMenuItem menuItemLogin; private javax.swing.JMenuItem menuItemStock; private javax.swing.JMenuItem menuItemUser; private javax.swing.JMenuItem openMenuItem; private javax.swing.JMenuItem pasteMenuItem; private javax.swing.JMenuItem saveAsMenuItem; private javax.swing.JMenuItem saveMenuItem; // End of variables declaration//GEN-END:variables}

工具包:

package cn.hncu.bookStore.utils;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateUtils { /**  * 把long型時間轉換成日期格式"yyyy年MM月dd日HH:mm:ss:"的字符串  * @param t  * 待轉換的(long型)時間  * @return  * 日期格式的字符串  */ public static String longToString(long t){  Date d=new Date();  DateFormat df=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss:");  return df.format(d); } /**  * 把日期格式"yyyy-MM-dd-HH:mm:ss:"的字符串轉換成long型時間  * @param str  * 待轉換的日期字符串  * @return  * long型時間  * @throws ParseException  */ public static long stringToLong(String str) throws ParseException{  DateFormat df=new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss:");  Date d=df.parse(str);  return d.getTime(); }}
package cn.hncu.bookStore.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.List;public class FileIOUtil { /**  * 構造函數私有化  */ private FileIOUtil(){ } /**  * 把目錄fileName里的數據讀出  * @param fileName  * 文件地址  * @return  * 返回對應類型的集合  */ public static<E> List<E> readFromFile(String fileName){//定義在靜態方法上的泛型  File file=new File(fileName);//凡是讀文件,最好用File開道  if(!file.exists()){//文件不存在返回空集合   return new ArrayList<E>();  }  ObjectInputStream in=null;  try {   in=new ObjectInputStream(new FileInputStream(file));   @SuppressWarnings("unchecked")   List<E> list=(List<E>)in.readObject();   return list;  } catch (FileNotFoundException e) {   e.printStackTrace();  } catch (IOException e) {   e.printStackTrace();  } catch (ClassNotFoundException e) {   e.printStackTrace();  }finally{   if(in!=null){    try {     in.close();    } catch (IOException e) {     throw new RuntimeException("數據文件關閉失敗", e);    }   }  }  return new ArrayList<E>(); } /**  * 存儲:向目錄fileName里讀入數據  * @param list  * 待存入數據的集合  * @param fileName  * 文件地址  * @return  * 存儲成功就返回true,否則,返回false  */ public static<E> boolean writeToFile(List<E> list,String fileName){  ObjectOutputStream out=null;  try {   out=new ObjectOutputStream(new FileOutputStream(fileName));   out.writeObject(list);   return true;  } catch (FileNotFoundException e) {   e.printStackTrace();  } catch (IOException e) {   e.printStackTrace();  }finally{   if(out!=null){    try {     out.close();    } catch (IOException e) {     throw new RuntimeException("數據文件關閉失敗", e);    }   }  }  return false; }}

公共功能:

package cn.hncu.bookStore.common;public enum uuidModelConstance { /**  * 枚舉:把user的五種類型UserModel,BookModel,InMainModel,InDetailModel,OutMainModel,OutDetailModel,StockModel枚舉出來  */ User("UserModel"),Book("BookModel"),In_Main("InMainModel"),In_Detail("InDetailModel"), Out_Main("OutMainModel"),Out_Detail("OutDetailModel"),Stock("StockModel"); private final String name; private uuidModelConstance(String name){  this.name=name; } public String getName() {  return name; }}

package cn.hncu.bookStore.common.uuid.vo;import java.io.Serializable;public class uuidModel implements Serializable{ /**  * 用唱票模型自動生成uuid編號  * 封裝uuid,自動生成uuid  */ private static final long serialVersionUID = 1L; private String modelName;//表示UserModel,BookModel,InMainModel,InDetailModel,OutMainModel,OutDetailModel,StockModel private int currentNum;//modelName當前的uuid編號 public uuidModel(){ } //set,get public String getModelName() {  return modelName; } public void setModelName(String modelName) {  this.modelName = modelName; } public int getCurrentNum() {  return currentNum; } public void setCurrentNum(int currentNum) {  this.currentNum = currentNum; } @Override public int hashCode() {  final int prime = 31;  int result = 1;  result = prime * result    + ((modelName == null) ? 0 : modelName.hashCode());  return result; } @Override public boolean equals(Object obj) {  if (this == obj)   return true;  if (obj == null)   return false;  if (getClass() != obj.getClass())   return false;  uuidModel other = (uuidModel) obj;  if (modelName == null) {   if (other.modelName != null)    return false;  } else if (!modelName.equals(other.modelName))   return false;  return true; }}

package cn.hncu.bookStore.common.uuid.dao.Ebi;import cn.hncu.bookStore.common.uuidModelConstance;public interface uuidDAO { /**  * 用唱票模型自動生成uuid編號  * @param umc  * 需要自動生成uuid的類型(UserModel,BookModel,InMainModel,InDetailModel,OutMainModel,OutDetailModel,StockModel)  * @return  * 生成對應類型uuid的編號  */ public String getNextNum(uuidModelConstance umc);}

package cn.hncu.bookStore.common.uuid.dao.Ebo;import java.util.List;import cn.hncu.bookStore.common.uuidModelConstance;import cn.hncu.bookStore.common.uuid.dao.Ebi.uuidDAO;import cn.hncu.bookStore.common.uuid.vo.uuidModel;import cn.hncu.bookStore.utils.FileIOUtil;public class uuidEbo implements uuidDAO { private final static String FILE_NAME="uuid.txt";//把數據存儲到uuid.txt文件中,或讀取 @Override public String getNextNum(uuidModelConstance umc) {  String modelName=umc.getName();//獲得待生成uuid編號的user類型  List<uuidModel> list=FileIOUtil.readFromFile(FILE_NAME);//從文件中讀取所有已生成user類型uuid的數據  for(uuidModel um:list){   if(um.getModelName().equals(modelName.trim())){//如果modelName在文件中存在,則返回此類型uuid下一個編號    int res=um.getCurrentNum();    um.setCurrentNum(res+1);    FileIOUtil.writeToFile(list, FILE_NAME);//把經過更新的uuid數據存入文件夾    return ""+res;   }  }  //如果for循環沒有找到,說明modelName是第一個,編號為1  //new一個此類型的對象,存入文件夾  uuidModel um=new uuidModel();  um.setModelName(modelName);  um.setCurrentNum(2);  list.add(um);  FileIOUtil.writeToFile(list, FILE_NAME);  return ""+1; }}
package cn.hncu.bookStore.common.uuid.dao.factory;import cn.hncu.bookStore.common.uuid.dao.Ebi.uuidDAO;import cn.hncu.bookStore.common.uuid.dao.Ebo.uuidEbo;public class uuidDAOFactory { /**  * 構造函數私有化  */ private uuidDAOFactory(){ } /**  * 獲得接口uuidDAO  * @return  * uuidDAO  */ public static uuidDAO getUuidDAO(){  return new uuidEbo(); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吴堡县| 崇阳县| 拉孜县| 蒙阴县| 陆河县| 建德市| 成都市| 旌德县| 池州市| 灌阳县| 包头市| 蕲春县| 百色市| 梧州市| 瑞丽市| 南郑县| 东港市| 涞水县| 扎赉特旗| 来宾市| 三门峡市| 耿马| 榕江县| 尖扎县| 莱芜市| 信丰县| 盐山县| 弥渡县| 太白县| 成都市| 建阳市| 阿城市| 淳安县| 嵊泗县| 申扎县| 靖西县| 元氏县| 古蔺县| 即墨市| 辽源市| 恩施市|