激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java設計模塊系列之書店管理系統單機版(一)

Java設計模塊系列之書店管理系統單機版(一)

2020-06-06 14:48qq_26525215 JAVA教程

這篇文章主要為大家詳細介紹了Java單機版的書店管理系統設計模塊和思想第一章,感興趣的小伙伴們可以參考一下

書店管理系統:

項目練習目標 :
1、Java應用程序基本分析
2、培養面向對象編程的基本思想
3、Java基本設計模式綜合應用
4、掌握分層和接口的基本設計
5、構建合理的Java應用程序包結構
6、綜合應用JSE所學習的知識
7、在應用中合理使用集合框架
8、在應用中綜合使用swing的常用組件
9、基本的表現層的實現機制
10、IO流和文件的基本操作
11、培養良好的Java編程習慣
12、培養調試Java程序的能力,培養改錯的能力

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

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

★ 系統功能結構設計
每個功能模塊的具體功能子模塊

★ 數據庫設計
項目框架實現:分模塊、分層、分包、構建應用程序

1、用戶管理(User.txt)

Java設計模塊系列之書店管理系統單機版(一)

說明:其中的type為int類型,用來表示操作用戶的類型。
1——表示為admin,可以進行全部操作
2——表示為能操作圖書模塊的人員
3——表示為能操作進貨模塊的人員
4——表示為能操作銷售模塊的人員
5——表示為能操作庫存模塊的人員

2、圖書管理(Book.txt)

Java設計模塊系列之書店管理系統單機版(一)

3、進貨管理(InMain.txt)

Java設計模塊系列之書店管理系統單機版(一)

4、進貨明細管理(InDetail.txt)

Java設計模塊系列之書店管理系統單機版(一)

5、銷售管理(OutMain.txt)

Java設計模塊系列之書店管理系統單機版(一)

6、銷售明細管理(OutDetail.txt)

Java設計模塊系列之書店管理系統單機版(一)

7、庫存管理(Stock.txt)

Java設計模塊系列之書店管理系統單機版(一)

項目分包

第一層:按照模塊分
用戶模塊(user)、
圖書(book)、
進貨(in)、
銷售(out)、
庫存(store)

第二層:按照三層模式分
表現層(ui)、邏輯層(business) 和 數據層(dao)
通常還要增加一個值對象層(vo)

第三層:按照層內劃分去分
視具體情況而定,如business和dao內還要再采用鐵三角的形式建子包,而ui和vo則不需要再劃分子包)。

項目分層思想:

Java設計模塊系列之書店管理系統單機版(一)

未完善,請繼續關注本系列(二)

下面為部分代碼:(util里面的一個公共類)

cn.hncu.bookStore.util
FileIoUtil.java:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package cn.hncu.bookStore.util;
 
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;
import javax.swing.JOptionPane;
 
/**
 * 用戶的公用數據讀取寫入類
 * @author 陳浩翔
 *
 * @version 1.0
 */
public class FileIoUtil {
 
 public FileIoUtil() {
 }
 
 /**
 * 從數據庫中讀取所有的數據并返回出來
 *
 * @param fileName(數據表對應的文件名字)
 * @param ee(傳遞過來的泛型的類型!)
 * @return 所有表的記錄!
 */
 @SuppressWarnings("unchecked")//壓警告
 public static<E> List<E> readFormFile(String fileName,E ee){
 List<E> list = new ArrayList<E>();
 final File file = new File(fileName);
 
 ObjectInputStream in =null;
 if(!file.exists()){
  JOptionPane.showMessageDialog(null, "數據表不存在!");
  return list;
 }
 try {
  in = new ObjectInputStream(new FileInputStream(fileName));
  try {
  list = (List<E>) in.readObject();
 
  } catch (ClassNotFoundException e) {
  e.printStackTrace();
  }
 } catch (FileNotFoundException e) {
  e.printStackTrace();
 } catch (IOException e) {
  e.printStackTrace();
 }finally{
  if(in!=null){
  try {
   in.close();
  } catch (IOException e) {
   throw new RuntimeException("數據庫關閉失敗");
  }
  }
 }
 return list;
 }
 
 
 /**
 * 寫入一個list集合進入數據文件fileName
 *
 * @param list(需要存儲的數據集合)
 * @param fileName(寫入到哪個文件的文件名字)
 */
 public static void write2file(List<Object> list, String fileName){
 ObjectOutputStream out = null;
 
 try {
  out = new ObjectOutputStream(new FileOutputStream(fileName));
  out.writeObject(list);
 } catch (FileNotFoundException e) {
  e.printStackTrace();
 } catch (IOException e) {
  e.printStackTrace();
 }finally{
  if(out!=null){
  try {
   out.close();
  } catch (IOException e) {
   throw new RuntimeException("數據庫關閉失敗!");
  }
  }
 }
 }
 
}

封裝的用戶數據:

cn.hncu.bookStore.user.vo;
UserModel.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package cn.hncu.bookStore.user.vo;
 
/**
 * @author 陳浩翔
 * @version 1.0
 *
 * <br/>
 * 用于保存用戶信息的值對象<br/>
 * 1、可序列化<br/>
 * 2、私有化所有變量成員,補setter-getters方法<br/>
 * 3、寫equals和hashCode方法----用主鍵(uuid)唯一標識碼<br/>
 * 4、toString方法<br/>
 * 5,空參構造方法<br/>
 */
 
public class UserModel {
 private String uuid;//用戶唯一標識碼
 private String name;//用戶名
 private int type;//用戶類型
 private String pwd;//用戶密碼
 public UserModel() {
 }
 
 /**
 * 功能:得到uuid-用戶唯一的標識碼
 *
 * @return 返回uuid-用戶唯一的標識碼
 */
 public String getUuid() {
 return uuid;
 }
 
 /**
 * 功能:設置uuid-用戶唯一的標識碼
 * @param uuid-用戶唯一的標識碼-String型參數
 */
 public void setUuid(String uuid) {
 this.uuid = uuid;
 }
 
 /**
 * 功能:得到用戶的用戶名
 * @return---name-用戶名
 */
 public String getName() {
 return name;
 }
 
 /**
 * 功能:設置用戶的用戶名
 *
 * @param name--用戶設置的用戶名,String型參數
 */
 public void setName(String name) {
 this.name = name;
 }
 
 /**
 * 功能:得到用戶的類型:
 * 1——表示為admin,可以進行全部操作
 * 2——表示為能操作圖書模塊的人員
 * 3——表示為能操作進貨模塊的人員
 * 4——表示為能操作銷售模塊的人員
 * 5——表示為能操作庫存模塊的人員
 * @return 用戶的類型
 */
 public int getType() {
 return type;
 }
 
 /**
 * 功能:設置用戶的類型:
 * 1——表示為admin,可以進行全部操作
 * 2——表示為能操作圖書模塊的人員
 * 3——表示為能操作進貨模塊的人員
 * 4——表示為能操作銷售模塊的人員
 * 5——表示為能操作庫存模塊的人員
 * @param type--用戶的類型-int型參數
 */
 public void setType(int type) {
 this.type = type;
 }
 
 /**
 *功能:得到用戶的密碼
 * @return String型,用戶的密碼
 */
 public String getPwd() {
 return pwd;
 }
 
 /**
 * 功能:設置用戶的密碼
 * @param pwd--String型參數
 */
 public void setPwd(String pwd) {
 this.pwd = pwd;
 }
 
 
 @Override
 public int hashCode() {
 final int prime = 31;
 int result = 1;
 result = prime * result + ((uuid == null) ? 0 : uuid.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;
 UserModel other = (UserModel) obj;
 if (uuid == null) {
  if (other.uuid != null)
  return false;
 } else if (!uuid.equals(other.uuid))
  return false;
 return true;
 }
 @Override
 public String toString() {
 return "UserModel [uuid=" + uuid + ", name=" + name + ", type=" + type
  + ", pwd=" + pwd + "]";
 }
 
}

封裝的用戶查詢數據:

cn.hncu.bookStore.user.vo;
UserQueryModel.java

?
1
2
3
4
package cn.hncu.bookStore.user.vo;
 
public class UserQueryModel extends UserModel{
}

雖然這個類什么都沒有,就只是繼承了UserModel,但還是必須寫,這是大家都遵守的java編寫規范!

用戶Dao(數據層):(接口)

cn.hncu.bookStore.user.dao.dao;
UserDao.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package cn.hncu.bookStore.user.dao.dao;
 
import java.util.List;
 
import cn.hncu.bookStore.user.vo.UserModel;
import cn.hncu.bookStore.user.vo.UserQueryModel;
 
/**
 *
 * @author 陳浩翔
 *
 * @version 1.0
 * 用戶模塊的數據層接口
 */
public interface UserDao {
 /**
 * 功能:創建一個用戶
 *
 * @param userModel---將要創建的用戶數據
 * @return---true表示創建成功,false表示創建失敗
 */
 public boolean create(UserModel user);
 
 /**
 * 功能:刪除一個用戶
 *
 * @param uuid---用戶唯一的標識碼,每個用戶都不會相同
 * @return---true表示刪除成功,false表示刪除失敗
 */
 public boolean delete(String uuid);
 
 /**
 * 功能:修改用戶數據資料
 *
 * @param user---需要修改的用戶數據參數名
 * @return 返回true-表示修改成功了,返回false-表示修改失敗
 */
 public boolean update(UserModel user);
 
 /**
 * 功能:得到所有的用戶數據
 *
 * @return---一個UserModel集合,也就是用戶的數據
 */
 public List<UserModel> getAll();
 
 /**
 * 功能:按照一定的查找條件進行查找,
 * <br/>
 * 把滿足查找條件的用戶數據返回。
 *
 * @param uqm---被封裝的查找條件
 * @return---滿足查找條件的用戶數據集合
 */
 public List<UserModel> getbyCondition(UserQueryModel uqm);
 
 /**
 * 功能:得到一個確定的用戶的數據資料
 *
 * @param uuid---用戶唯一標識碼
 * @return ---返回按這個唯一標識碼找到的用戶數據
 */
 public UserModel getSingle(String uuid);
 
}

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

原文鏈接:http://blog.csdn.net/qq_26525215/article/details/51073546

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一国产一级毛片视频 | 性欧美性欧美 | 久久久新 | 国产精品久久久久久久久久久久久久久 | 91精品国产乱码久久桃 | 欧美日韩在线视频一区 | 亚洲二区三区在线 | 久久免费观看一级毛片 | 黄视频网站免费观看 | 视频一区 中文字幕 | 成熟女人特级毛片www免费 | 亚洲影视在线观看 | 欧美黄色一级带 | 27xxoo无遮挡动态视频 | 在线免费观看日韩视频 | 成人不卡 | 在线看一区二区三区 | 综合网天天色 | 成年人高清视频在线观看 | 国产一国产一级毛片视频在线 | 成人情欲视频在线看免费 | 免费国产自久久久久三四区久久 | 亚洲天堂第一页 | 欧美高清第一页 | 精品亚洲夜色av98在线观看 | 日韩精品久久久久久久电影99爱 | 日本xxxx色视频在线观看免费, | 亚洲视频在线免费看 | 草草视频免费 | 精品国产一区二区久久 | 新久久久久久 | 蜜桃久久一区二区三区 | av观看国产 | 午夜视频在线看 | 免费一级特黄毛片视频 | 91精品国产一区二区在线观看 | 欧美一区二区黄色 | 免费看日韩av| 久久亚洲成人 | 国产一级一国产一级毛片 | 国产成人网 |