Xây dựng hệ thống quản lý chi tiêu cho các thành viên trong gia đình - Pdf 23

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ──────── BÀI TẬP LỚN
PROJECT 1

ĐỀ TÀI 15:
Xây dựng hệ thống quản lý chi tiêu cho các
thành viên trong gia đình Sinh viên thực hiện : Lê Trung Hiếu 20111568
Đỗ Đăng Hiển 20111581
Phạm Văn Đại 20111363

Lớp : 65310 – K56

Giáo viên hướng dẫn : TS. Vũ Thị Hương Giang
ThS. Nguyễn Ngọc Dũng
Hà Nội, tháng 12 năm 2013
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15



1.3.3.

Statistic 11

CHƯƠNG 2.

PHÂN TÍCH THIẾT KẾ BÀI TOÁN 12

2.1.

Thiết kế Cơ sở dữ liệu 12

2.2.

Biểu đồ lớp 13

2.2.1.

Tầng Model 14

2.2.2.

Tầng Control 14

2.2.3.

Tầng NewGUI 14

2.3.


3.2.

Kiến thức áp dụng để xây dựng chương trình 19

3.2.1.

Cơ sở dữ liệu 19

3.2.2.

Thiết kế giao diện xử lý sự kiện, tạo mã nguồn 20

CHƯƠNG 4.

XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA 21

4.1.

Giao diện chương trình 21

4.1.1.

Login , Preferences 21

4.1.2.

MainUI 22

4.1.3.

3

Hướng phát triển 32

TÀI LIỆU THAM KHẢO 33

PHỤ LỤC 34

Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

4LỜI NÓI ĐẦU
Việc ứng dụng công nghệ thông tin vào cuộc sống đã trở thành hoạt động không
thể thiếu của con người trong thời kì công nghiệp hóa, hiện đại hóa. Hiện nay, việc quản
lý chi tiêu của gia đình có thể được thực hiện một cách đơn giản, hiệu quả hơn với việc sử
dụng các phần mềm tin học. Việc lưu trữ, quản lý bằng máy tính giúp giải phóng con
người khỏi các công việc ghi chép và tính toán bằng giấy bút, giảm sự nhầm lẫn khi tính
toán.
Xuất phát từ thực tế việc chi tiêu hàng ngày của bản thân và gia đình, nhóm chũng
em đã phân tích những vấn đề thường xảy ra trong quản lí chi tiêu gia đình và thấy được
sự cần thiết của phần mềm quản lý chi tiêu cho các thành viên. Nếu có phần mềm tốt, các
thành viên sẽ dễ dàng quản lí việc chi tiêu của mình cũng như có được thông tin cần thiết
của những thành viên khác, qua đó tạo sự đoàn kết, thống nhất trong gia đình. Đó chính là
lí do chúng em đã chọn đề tài 15 “Xây dựng hệ thống quản lý chi tiêu cho các thành
viên trong gia đình”.
Chúng em đã thiết kế hệ thống chương trình, cơ sở dữ liệu và tiến hành cài đặt,
hoàn thiện hệ thống dựa trên các dữ liệu thực tế về chi tiêu trong gia đình, kiến thức được

Lê Trung Hiếu Hiệu chỉnh cơ sở dữ liệu và các chức năng hệ
thống.
Tuần 2 - 8
Cài đặt các lớp:
- InfoImportExport tầng Model
- ImportExport, User tầng Control
- AddTransaction, Account tầng NewGUI
Tuần 8 - 11
Viết báo cáo Project Tuần 12
Đỗ Đăng Hiển Thiết kế cơ sở dữ liệu và các chức năng Tuần 2 - 8
Cài đặt thử nghiệm bản mẫu chương trình Tuần 2 – 8
Thiết kế giao diện chính Tuần 8
Cài đặt các lớp:
- InfoUser, Infoconfig tầng Model
- Database, ComboxRender, rsTableModel tầng
Control
- Login, MainUI, Statistic, Filter, Category,
Prefecense, DataGeneration tầng NewGUI
Tuần 8 - 11
Viết báo cáo, làm slide Tuần 12
Phạm Văn Đại Góp ý thiết kế chức năng hệ thống và cơ sở dữ liệu Tuần 2 - 8
Cài đặt các lớp
- Project tầng NewGUI
Tuần 8 - 11
Kiểm thử chương trình và viết báo cáo kiểm thử Tuần 12 Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15


 Chức năng vẽ biểu đồ và lập báo cáo: giúp người dùng hình dung một cách trực
quan về tình hình chi tiêu của bản thân và gia đình.
 Ngoài ra hệ thống cần cung cấp chức năng tạo lập và kiểm soát các khoản chi
tiêu chung (project).
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

71.2.
Biểu đồ use case
1.2.1. Biểu đồ use case tổng quan

Biểu đồ usecase tổng quan thể hiện các chức năng chính của hệ thống và sự phân
cấp người dùng.
 Người dùng bình thường có thể thực hiện các công việc:
 Thêm các giao dịch (Add Trasaction)
 Quản lý các khoản chi chung (Manage Project)
 Xem các thống kê, báo cáo (Statistic)
 Thay đổi, xóa giao dịch (Update, Delete Transaction)
 Sửa đổi thông tin cá nhân (Update Personal Information) (của chính mình)
 Admin cũng là một người dùng, có đủ các chức năng của người dùng và có
thêm các chức năng quản lí tài khoản (Manage Account) và thêm các loại
khoản mục chi tiêu (Add Category)
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

8



Người dùng có thể thêm một khoản chi tiêu chung (project), đóng góp một vào một
project, khẳng định hay xóa bỏ một project do mình tạo.
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

10

 Khi tạo một project, người dùng sẽ xác định ngày bắt đầu, ngày kết thúc, số tiền
cần, số tiền đóng góp ban đầu của mình, sau đó đề xuất để những người dùng
khác tham gia đóng góp thêm (giai đoạn gây quỹ).
 Khi project đã đủ tiền, người tạo project sẽ xác nhận và các khoản chi được
chính thức đưa vào danh sách các chi tiêu của những người tham gia.
 Khi project hết hạn mà không đủ tiền đóng góp thì project sẽ không được hoàn
thành.
 Trong giai đoạn gây quỹ nếu người tạo project không muốn tiếp tục project thì
có thể xóa bỏ project đó.
 Người dùng có thể thấy các project và tham gia đóng góp. Chức năng lọc thông
tin project (Filter) được tích hợp khi xem thông tin project, có thể lọc theo ngày
bắt đầu hoặc trạng thái project.

Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

11

1.3.3. Statistic

Người dùng có thể xem xét, tổng kết, và sửa chữa thông tin các khoản thu chi mà
mình được quyền nhìn thấy.

trọng là:
 Bảng user lưu trữ thông tin về những người dùng (username, passWord, gender,
-birthday…) và có thêm khóa chính id là chỉ số người dùng khi tạo.
 Hai bảng importing và exporting lưu trữ các khoản thu và chi (các giao dịch)
của tất cả những người dùng, có thể lưu ngày tháng, giá trị, loại khoản chi tiêu
(tham chiếu tới import_type và export_type), các thông tin mô tả chi tiết…
 Các hàng của bảng có tham chiếu đến bảng user để xác định khoản thu chi
thuộc người dùng nào.
 Ngoài ra còn có trường share cho biết khoản chi tiêu đó có được cho phép
người khác nhìn thấy hay không. Nếu trường này khác 0 thì thông tin về những
người được phép nhìn thấy giao dịch này sẽ được thể hiện trong bảng share.
 Bảng share với các hàng chỉ ra chỉ số khoản thu chi và chỉ số người dùng có thể
nhìn thấy khoản thu chi đó, cùng trường type_id để xác định là thu hay chi.
 Bảng project lưu trữ các thông tin về khoản thu chi chung, gồm người tạo, giá
trị, ngày bắt đầu kết thúc, trạng thái (thông qua tham chiếu tới bảng
project_state).
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

13

- Trường project_id nếu khác 0 thì giao dịch này là giao dịch chung của nhiều
người dùng (gọi là project). Khi đó thông tin về project sẽ được lưu trong
bảng project.

 Thông tin về những người tham gia project được lưu trữ trong bảng
project_contribute, bao gồm chỉ số người dùng, chỉ số project (tham chiếu tới
bảng project), số tiền người dùng đóng góp, ngày giờ tham gia.
2.2.
Biểu đồ lớp

khác.
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

15

 Account: Tạo ra giao diện quản lí tài khoản người dung.
 AddTransaction: Tạo ra giao diện thêm các khoản thu chi.
 Category: Tạo ra giao diện thêm các danh mục thu chi.
 DataGeneration: Tạo giao diện thêm dữ liệu mẫu.
 Prefercences: Tạo hộp thoại cập nhật thông tin cơ sở dũ liệu.
 Project: Tạo giao diện quản lí project.
 Statistic: Tạo giao diện thống kê, lọc thông tin.
 Filter: Tạo giao diện lọc dữ liệu theo yêu cầu người dùng.
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

162.3.
ImportExport Thiết kế chi tiết lớp
2.3.1. Lớp Database
- Các phương thức kết nối cơ sở dữ liệu được cài đặt trong lớp này. Những
phương thức này được gọi ngay khi chương trình khởi chạy.
- Nếu các thông số cấu hình trong file config.ini không phù hợp, giao diện của
lớp Prefecense sẽ được gọi và yêu cầu người dùng nhập đúng thông tin để kết
nối tới cơ sở dữ liệu mysql.
Các phương thức trong Database
 setstate(Preferences)

17

- Phương thức sẽ cập nhật thông tin khoản thu chi dựa trên thông tin của
infoImportExport.
- Có hai phương thức được gọi dựa trên loại giao dịch là thu hay chi:
update_import(InfoImport) và update_export(InfoImport)
- Các phương thức sẽ dùng câu lệnh “update …” để thay đổi dữ liệu vào hai
bảng importing và exporting dựa vào điều kiện là trường id trong
infoImportExport.
- Nếu thành công trả về true, nếu thất bại trả về false.
Các phương thức xóa khoản thu/chi
 delete(int id, boolean isImport)
- Phương thức sẽ xóa khoản thu chi dựa trên thông tin về id của khoản thu chi
và giao dịch là thu hay chi (biểu diễn bởi biến isImport).
- Có hai phương thức được gọi dựa trên loại giao dịch là thu hay chi:
delete_import(infoImport) và delete_export(infoImport)
- Các phương thức sẽ dùng câu lệnh “insert into …” để chèn dữ liệu vào hai
bảng importing và exporting, nếu thành công trả về true, nếu thất bại trả về
false.
Các phương thức lấy danh sách các danh mục chi tiêu
 getExportTypeList(), getImportTypeList()
- Phương thức sẽ trả về danh sách các danh mục thu/chi để đưa vào các nút
lựa chọn trong các giao diện quản lí thu chi.
- Phương thức truy vấn thông tin trong bảng import_type và export_type.
Các phương thức quản lí thông tin bảng share
 getShareListUserId(int id_transaction, int type) , getShareListUserName(int
id_transacstion, int type)
- Hai phương thức trả về danh sách của những người dùng được nhìn thấy
giao dịch với id là tham số đầu tiên, tham số thứ hai xác định đó là thu hay
chi. Kết quả được dùng trong hiển thị thông tin ở các lớp giao diện.

into user…” với thông tin trong infoUser.
- Nếu việc thêm thành công sẽ trả về giá trị true, ngược lại trả về false. Việc
thêm có thể thất bại do dữ liệu không đủ, trùng tên người dùng cũ…
Cập nhật thông tin người dùng
 updateUser(InfoUser infoUser)
- Phương thức sẽ cập nhật thông tin một người dùng với câu lệnh “update…”,
thông tin về người dùng mới lưu trong infoUser, điều kiện update là tìm
được người dùng có id trùng với id trong infoUser.
- Nếu cập nhật thành công, giá trị trả về là true, ngược lại là false.
Xóa người dùng
 deleteUser(int id)
- Phương thức xóa người dùng có id là tham số đầu vào.
- Việc xóa thông qua câu lệnh “delete from user where …”.
- Nếu xóa thành công sẽ trả về true, nếu thất bại trả về false.
Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

19

CHƯƠNG 3.
CÔNG NGHỆ VÀ THUẬT TOÁN SỬ
DỤNG
3.1.
Các công nghệ được sử dụng

3.1.1. Công nghệ Java
Việc lập trình tạo lập một chương trình cần sự hợp tác của nhiều người, việc kiểm
soát mã nguồn hết sức quan trọng vì vậy một công cụ edit và biên dịch tốt sẽ là ưu
tiên để nhóm sử dụng
Chương trình quản lý chi tiêu trong gia đình cần cung cấp các form để người sử

Chương trình được xây dựng dựa trên thư viện giao diện đồ họa swing, và hướng
model,view,control
 Dễ dàng hiển thị dữ liệu, thực hiện các câu lệnh qua xử lý bắt sử kiện do đó dễ
dàng cho việc tạo lập các chức năng cho chương trình
 Kiểm soát được những thao tác của người dùng một cách dễ dàng
 Phân chia công việc cho nhiều người làm những chức năng khác nhau một cách
thuận tiện
Sử dụng thư viện hỗ trợ để hiển thị biểu đồ cột, biểu đồ tròn

Vận dụng kỹ thuật lập trình hướng đối tượng để xây dưng các lớp, các phương thức
xử lý lấy và cho hiển thị ra.

Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

21

CHƯƠNG 4.
XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA
4.1.
Giao diện chương trình
4.1.1. Login , Preferences

Chức năng thiết lập liên kết đến Mysql và tạo lập cở sở dữ liệu

Người dùng có quyền tạo cơ sở dữ liệu theo tên do người dùng đặt, các thông tin
về url,database name, userName và passWord sẽ được lưu trong file config.ini

23

4.1.3. Category manager

Thêm xóa hoặc sửa các loại thu(income),chi(expense) hoặc loại dự án(project)
 Add category:
 Thêm một loại vào trong csdl tương ứng với các bảng import_type,export_type,
project_type với hai trường : id và name
 Cho phép thêm ảnh kèm với category, ảnh sẽ được lưu trữ trong thư mục tương
ứng icon/import_type ; icon/export_type hoặc icon/project_type tương ứng

 Remove category:
 Không thể xóa category nếu nó đã được sử dụng trong cơ sở dữ liệu liên kết
đến các khoản thu chi, project của người dùng

 Update category:
 Cho phép thay đổi tên và hình ảnh tương ứng Project 1
Nhóm 04 - Lớp Project 1 K56 65310 – Đề tài 15

24

4.1.4. Account manager

Quản lý, hiển thị thông tin của những người sử dụng
Lưu trữ:
 Thông tin về người dùng được lưu trữ trong bản user, dữ liệu ảnh đại diện được
lưu trữ trong thư mục data/account với tên trùng với id người dùng,đuôi mở

trong đó
o transaction_id là id của thu(ứng với type_id=1) hoặc id của chi(ứng với
type_id=2)
o user_id là id của người được share bao gồm cả người tạo thu/chi (mặc
định)
 Dữ liệu được chia sẻ sẽ được hiện thị trong phần thống kê của những người sử
dụng

Update Transaction
 Update transaction cho phép sửa đổi thông tin của khoản thu(income),
chi(expense) của hàng tương ứng trong frame thống kê, chương trình sẽ cập
nhật lại các giá trị trong các bảng share, và importing/exporting ứng với dữ liệu
được sửa đổi, và cập nhật lại hình ảnh trong thư mục nếu có sự thay đổi
 Người sử dụng không được phép cập nhật thông tin của người khác,Chỉ có
admin có quyền xóa dữ liệu của mọi người

Delete Transaction
 Delete transaction cho phép xóa dữ liệu thu,chi
 Người sử dụng không được phép xóa dữ liệu của người khác, chỉ có admin có
quyền xóa thông tin của mọi người


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status