第一部分數據庫設計
-
部分功能數據流圖(Gane-Sarson)
-
記賬軟件頂層數據流圖
1.1.2 細化記賬功能數據流圖
1.1.3 再次細化該數據流圖
1.1.4 數據流圖說明
該記賬軟件的功能主要分為記收入賬和記支出賬,記錄相應的賬單信息后,可以生成賬單圖表,表格可以在一張表中同時給出收入和支出的賬單報告,也可根據用戶需求將它們分開展示。
1.2 用戶登錄數據流圖
1.3 查詢功能數據流圖
1.4 概念數據模型
1.5 物理數據模型
1.6 數據字典
用戶表
字段名
中文名
數據類型
主鍵
外鍵
說明
U_id
用戶id
int
PK
不能為空
Con_id
配置id
int
FK1
不能為空
U_number
登錄賬號
varchar(20)
FK2
不能為空
U_name
用戶名
varchar(50)
用戶昵稱
U_gender
性別
char(2)
性別可為空
U_phone
電話
Char(11)
分類表
字段名
中文名
數據類型
主鍵
外鍵
說明
C_id
類別id
int
PK
不能為空
type
類別
varchar(255)
配置表
字段名
中文名
數據類型
主鍵
外鍵
說明
Con_id
配置id
int
PK
不能為空
U_id
用戶id
int
FK
不能為空
key_
配置信息
varchar(255)
配置信息按照鍵值對的形式出現 ,類型是varchar(255)
value
配置信息的值
配置信息的值, 類型是 varchar(255)
登錄表
字段名
中文名
數據類型
主鍵
外鍵
說明
U_number
賬號
varchar(20)
PK
不能為空
U_id
用戶id
int
FK
不能為空
U_password
密碼
varchar(50)
密碼要求保密性高
消費表
字段名
中文名
數據類型
主鍵
外鍵
說明
U_id
用戶id
int
PK
FK1
不能為空
C_id
類別id
int
PK
FK2
不能為空
spend
消費金額
int
date
日期
Date
默認系統時間
Comment
備注
varchar(255)
收入表
字段名
中文名
數據類型
主鍵
外鍵
說明
U_id
用戶id
int
PK
FK1
不能為空
C_id
類別id
int
PK
FK2
不能為空
earn
收入金額
int
date
日期
Date
默認系統時間
Comment
備注
varchar(255)
貨幣表
字段名
中文名
數據類型
主鍵
外鍵
說明
Cy_id
貨幣代號
Char(3)
PK
不能為空
Con_id
配置id
int
FK
不能為空
Cy_name
貨幣名
varchar(30)
rate
匯率
float
各個國家的匯率不一樣
第二部分 功能設計
2.1 界面原型
界面的大致框架如上圖所示,其中最主要的功能是明細、記賬、圖表。在軟件的右側面板內,有月份,年份的選項,可以查看相應時間的收入和支出的情況。
明細:在明細中,默認展示的是當前月份的收入和支出情況,並給出在預算基礎上消費的圈形比例圖,每部分占比代表着不同的消費類型,占比越大就說明該月在該消費類型上的開銷就越大。該比例圖如下圖所示:
記賬:選擇記賬功能會彈出新的記賬界面。首先是有收入和支出單選按鈕,分別進行收入和支出的信息記錄。接着,對話框內有輸入金額、類別選擇、貨幣選擇,如果兩次記賬的貨幣類型不一樣,系統會自動按照匯率轉換成人民幣,時間有年、月、日及具體時間,具體時間為當前時間,其它可按照日歷上選擇所需要的時間。備注則主要記錄該筆賬單的其它信息,由用戶自由記錄。
圖表:在右側面板內選擇收入或支出,還可選擇報表的類型,報表有柱狀圖,折線圖等,用來統計相應時間內的收入和支出,將情況直觀的展現在用戶面前。
設置:在設置中,還有如下功能:分類管理,用戶可根據自己的實際情況添加自己所需要的類目;賬戶,包含着賬戶的基本信息,如頭像、ID、昵稱、性別、手機號,並且還有退出登錄的選項;備份,即將用戶的數據備份到本地當中,還原則將用戶本地數據還原到軟件中;貨幣,可以添加用戶所需貨幣的代號,並在今后的消費中,可使用其他國家的貨幣代號進行消費記錄,系統會對其轉換成相應國家的金額;對於關於和幫助,上面則記錄一些軟件的基本信息以及幫助信息。
2.2 子模塊設計
2.2.1 邊界類設計
類名
說明
MainPanel
MainPanel 是主窗體,左邊是一個工具條,右邊可分為兩個空白的Panel,用來顯示不同的功能面板,將明細面板,圖表面板,記賬面板和設置面板聚合在一起
IE_DetailPanel
明細面板
ReportPanel
圖表面板
ConfigPanel
設置面板,將賬戶面板,分類面板,備份、還原面板,貨幣面板及幫助面板聚合
accountPanel
賬戶面板
classifyPanel
分類管理面板
recordPanel
記賬面板
recoverPanel
還原面板
backupPanel
備份面板
helpPanel
幫助面板
currencyPanel
貨幣面板
WorkingPanel
除了MainPanel,其余都是它的子類,需要繼承的方法為updata(),addListener()
2.2.2 UML邊界類圖
UML邊界類圖用於描述系統中所包含的類以及它們之間的相互關系,可以幫助我們簡化對系統的理解。它是系統分析和設計階段的重要產物,也是系統編碼和測試的重要模型依據。邊界類是我們初步的構想,還沒有將各個邊界類的成員及方法設計好,並且,實體類和工具類由於時間關系還沒有進行構思,該邊界類屆時將會根據開發的情況進行適當的改進。