前言
本文根據高級軟件工程課上所學知識,對工程實踐項目-網上書城進行軟件系統分析和設計,最終形成軟件系統概念原型。
參考資料:
一、系統架構
系統采用MVC架構,MVC包括模型層(Model)、視圖層(View)、控制器層(Controller)
Model代表一個存取數據的對象及其數據模型。
View代表模型包含的數據的表達方式,一般表達為可視化的界面接口。
Controller作用於模型和視圖上,控制數據流向模型對象,並在數據變化時更新視圖。控制器可以使視圖與模型分離開解耦合。
其中控制器創建模型; 控制器創建一個或多個視圖,並將它們與模型相關聯; 控制器負責改變模型的狀態; 當模型的狀態發生改變時,模型會通知與之相關的視圖進行更新。
二、項目視圖
1、分解視圖
分解是構建軟件架構模型的關鍵步驟,分解視圖也是描述軟件架構模型的關鍵視圖,一般分解視圖呈現為較為明晰的分解結構特點。
2、依賴視圖
依賴視圖展現了軟件模塊之間的依賴關系。比如一個軟件模塊A調用了另一個軟件模塊B,那么我們說軟件模塊A直接依賴軟件模塊B。如果一個軟件模塊依賴另一個軟件模塊產生的數據,那么這兩個軟件模塊也具有一定的依賴關系。
3、執行視圖
執行視圖展示了系統運行時的時序結構特點,比如流程圖、時序圖等。執行視圖中的每一個執行實體,一般稱為組件(Component),都是不同於其他組件的執行實體。如果有相同或相似的執行實體那么就把它們合並成一個。 執行實體可以最終分解到軟件的基本元素和軟件的基本結構,因而與軟件代碼具有比較直接的映射關系。在設計與實現過程中,我們一般將執行視圖轉換為偽代碼之后,再進一步轉換為實現代碼
3.1 顧客
3.2 員工
3.3 管理員
4、實現視圖
實現視圖是描述軟件架構與源文件之間的映射關系。比如軟件架構的靜態結構以包圖或設計類圖的方式來描述,但是這些包和類都是在哪些目錄的哪些源文件中具體實現的呢?一般我們通過目錄和源文件的命名來對應軟件架構中的包、類等靜態結構單元,這樣典型的實現視圖就可以由軟件項目的源文件目錄樹來呈現。
實現視圖有助於碼農在海量源代碼文件中找到具體的某個軟件單元的實現。實現視圖與軟件架構的靜態結構之間映射關系越是對應的一致性高,越有利於軟件的維護,因此實現視圖是一種非常關鍵的架構視圖。
src 源代碼目錄 -main 存放實現類的源代碼 --bean model類 --controller 控制器類 --dao 持久層--service 實現業務功能服務 --util 工具類 -test 測試類
三、系統運行環境
操作系統:Windows 10
開發語言:Java
開發工具:IntelliJ IDEA
前端框架:Vue
后端框架:Spring + SpringMVC + Mybatis
數據庫: MySQL
技術選型說明:Spring的IOC特性,將對象之間的依賴關系交給了Spring控制,方便解耦,簡化了開發。其AOP特性,對重復模塊進行集中,實現事務,日志,權限的控制;SpringMVC是使用了MVC設計思想的輕量級web框架,對web層進行解耦,與Spring無縫銜接,有着靈活的數據驗證,格式化,數據綁定機制;Mybatis中數據庫的操作(sql)采用xml文件配置,解除了sql和代碼的耦合提供映射標簽,支持對象和和數據庫orm字段關系的映射,支持對象關系映射標簽,支持對象關系的組建。
四、數據庫設計
本項目目前共有4張數據庫表
1.顧客表
字段名 |
類型 |
長度 |
是否可為空 |
customer_id |
int |
10 |
N |
name |
varchar |
20 |
N |
statement |
varchar |
50 |
Y |
password |
varchar |
20 |
N |
2.普通員工表
字段名 |
類型 |
長度 |
是否可為空 |
worker_id |
int |
10 |
N |
name |
varchar |
20 |
N |
statement |
varchar |
50 |
Y |
password |
varchar |
20 |
N |
3.書籍表
字段名 |
類型 |
長度 |
是否可為空 |
book_id |
int |
10 |
N |
name |
varchar |
20 |
N |
statement |
varchar |
50 |
Y |
price |
int |
10 |
N |
4.訂單表
字段名 |
類型 |
長度 |
是否可為空 |
order_id |
int |
10 |
N |
name |
varchar |
20 |
N |
statement |
varchar |
50 |
Y |
belong |
Customer |
20 |
Y |
五、系統概念原型的核心工作機制
用戶分為系統管理員、普通員工、顧客三種角色。
1、系統管理員
可以管理員工、顧客與書籍,包括權限更改與賦予,增刪改查等。
2、員工
處理書籍訂單,更改訂單狀態
3、顧客
可以進行書籍查詢訂購,形成訂單,也可以管理個人信息。
三類用戶在操作前都需要進行登錄操作。