Trong những năm gần đây, khi nền khoa học công nghệ thông tin đang ngày
càng phát triển như vũ bão thì vấn đề quản lí và khai thác dữ liệu đã trở thành một
trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ
tri thức. Lĩnh vực này đã và đang ứng dụng thành công vào rất nhiều các lĩnh vực
khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học,
sinh học, giáo dục và viễn thông .
Không chỉ vậy, vấn đề khai thác dữ liệu và quản lí dữ liệu đang ngày càng trở
nên thiết thực hơn đóng vai trò không nhỏ trong cuộc sống. Cùng với quá trình phổ
cập tin học thì phần lớn cá nhân, gia đình đều có và biết cách sử dụng máy tính. Nắm
bắt được xu thế đó đã có rất nhiều phần mềm ra đời phục vụ nhu cầu của cá nhân, gia
đình.
Trong cuộc sống, gia đình cũng như cơ quan tổ chức, chi tiêu cũng cần phải
được quản lí tránh những thất thoát không đáng có. Trong gia đình thì người mẹ,
người vợ là người nắm sổ sách chi tiêu, thế nhưng nhiều lúc sổ sách ấy lại không được
ghi chép lại, mà chỉ là trí nhớ vụn vặt và thống kê không đầy đủ. Do đó khi người phụ
nữ bộn bề công việc trong gia đình thì quản lí chi tiêu là việc vặt nhưng cũng mất rất
nhiều thời gian.
63 trang |
Chia sẻ: superlens | Lượt xem: 6006 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Xây dựng hệ thống quản lý chi tiêu cho các thành viên trong gia đình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Project 1
1
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
Sdf sdfsadf
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
----------
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
MÔ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
Nhóm thực hiện : Nhóm 6
Sinh viên thực hiên : Hồ Thúc Đồng 20112574
Hà Xuân Thuyên 20112302
Nguyễn Thanh Cường 20112551
Lớp : CNTT-TT 2.2 -K56
Giảng 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-2013
Project 1
2
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
Contents
Lời mở đầu ........................................................................................................................... 4
Phần công công việc trong nhóm .......................................................................................... 5
CHƯƠNG I: KHẢO SÁT ĐẶC TẢ YÊU CẦU BÀI TOÁN ....................................................... 6
1. Mô tả yêu cầu bài: ......................................................................................................... 6
1.1 yêu cầu hệ thống quản lí chi tiêu trong gia đình ....................................................... 6
1.2 Hệ thống quản lí chi tiêu gia đình có các chức năng chính. ...................................... 6
2. Biểu đồ Usecase: .......................................................................................................... 8
2.1 . Các tác nhân của hệ thống: ................................................................................... 8
2.2 . Các Usecase của hệ thống .................................................................................... 8
2.3 Biểu đồ Usecase tổng quan: .................................................................................. 10
2.4 Biểu đồ Usecase phân rã mức 2 : ......................................................................... 12
3. Đặc tả Usecase: ......................................................................................................... 17
3.1.Đặc tả chức năng đăng nhập: ................................................................................ 17
3.2.Đặc tả Usecase đăng kí: ........................................................................................ 18
3.3.Đặc tả chức năng tìm kiếm: ................................................................................... 19
3.4.Đặc tả chức năng giao dịch: ................................................................................... 22
3.5.Đặc tả Usecase thống kê: ...................................................................................... 24
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ BÀI TOÁN ................................................................. 26
1. Cấu trúc dữ liệu: ....................................................................................................... 26
2. Biểu đồ trình tự: ........................................................................................................... 28
2..1 Biểu đồ trình tự đăng nhập: ................................................................................... 28
2.2 Biểu đồ trình tự đăng kí thành viên mới : .............................................................. 29
2.3 Biểu đồ trình tự thêm giao dịch: ............................................................................. 30
2.4 Biểu đồ trình tự xác nhận giao dịch: ....................................................................... 31
2.5 Biểu đồ trình tự tham gia chi chung: ....................................................................... 32
2.6 Biểu đồ trình tự thống kê: ....................................................................................... 33
3. Biểu đồ lớp : ................................................................................................................ 34
3.1 Biểu đồ lớp : ........................................................................................................... 34
3.2 Các lớp của hệ thống: ............................................................................................ 36
4. Thiết kế chi tiết lớp : .................................................................................................... 42
4.1 Thiết kế chi tiết lớp Control: ................................................................................... 42
4.2 Thiết kế chi tiết lớp Connect() ................................................................................ 43
CHƯƠNG III : CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG................................................ 45
1.Ngôn ngữ lập trình Java: .................................................................................................. 45
1.1 Giới thiệu về Java: ................................................................................................. 45
Project 1
3
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
1.2. Công cụ sử dụng :................................................................................................. 46
2. Hệ quản trị cơ sở dữ liệu MySQL: ............................................................................... 46
3. Trình điều khiển JDBC – kết nối ngôn ngữ Java và MySQL: ....................................... 47
3.1 Giới thiệu về JDBC: ............................................................................................... 47
3.2 Kiến trúc JDBC: ..................................................................................................... 47
3.3 Một số lớp JDBC quan trọng: ................................................................................. 47
CHƯƠNG IV : KẾT QUẢ CHƯƠNG TRÌNH MINH HỌA..................................................... 49
1.Kết quả chương trình mình họa : .................................................................................. 49
2. Giao diện chương trình: ............................................................................................... 50
2.1 Giao diện khởi động của chương trình: .................................................................. 50
2.2 Chức năng đăng nhập : ......................................................................................... 51
2.3 Chức năng đăng kí người dùng mới. ..................................................................... 52
2.4 Chức năng thêm giao dịch: .................................................................................... 53
2.5 Chức năng duyệt giao dịch: ................................................................................... 54
2.6 Chức năng tham gia giao dịch chung: .................................................................... 55
2.7 Chức năng tìm kiếm: .............................................................................................. 56
2.8 Chức năng thống kê : ............................................................................................ 57
2.9 Chức năng cập nhật thông tin, cấp lại mật khẩu: ................................................... 58
2.10 Chức năng phân quyền thành viên. ..................................................................... 59
CHƯƠNG V : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ......................................................... 61
1.Kết luận: ....................................................................................................................... 61
1.1 Kết quả đạt được : ................................................................................................. 61
1.2 Hạn chế: ................................................................................................................ 61
2. Hướng phát triển : ....................................................................................................... 62
Tài liệu tham khảo: .............................................................................................................. 63
Project 1
4
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
Lời mở đầu
Trong những năm gần đây, khi nền khoa học công nghệ thông tin đang ngày
càng phát triển như vũ bão thì vấn đề quản lí và khai thác dữ liệu đã trở thành một
trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ
tri thức. Lĩnh vực này đã và đang ứng dụng thành công vào rất nhiều các lĩnh vực
khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học,
sinh học, giáo dục và viễn thông.
Không chỉ vậy, vấn đề khai thác dữ liệu và quản lí dữ liệu đang ngày càng trở
nên thiết thực hơn đóng vai trò không nhỏ trong cuộc sống. Cùng với quá trình phổ
cập tin học thì phần lớn cá nhân, gia đình đều có và biết cách sử dụng máy tính. Nắm
bắt được xu thế đó đã có rất nhiều phần mềm ra đời phục vụ nhu cầu của cá nhân, gia
đình.
Trong cuộc sống, gia đình cũng như cơ quan tổ chức, chi tiêu cũng cần phải
được quản lí tránh những thất thoát không đáng có. Trong gia đình thì người mẹ,
người vợ là người nắm sổ sách chi tiêu, thế nhưng nhiều lúc sổ sách ấy lại không được
ghi chép lại, mà chỉ là trí nhớ vụn vặt và thống kê không đầy đủ. Do đó khi người phụ
nữ bộn bề công việc trong gia đình thì quản lí chi tiêu là việc vặt nhưng cũng mất rất
nhiều thời gian.
Nắm bắt được điều đó, trong khi tiếp cận môn Project 1, nhóm chúng em đã lựa
chọn đề tài “ quản lí chi tiêu cho các thành viên trong gia đình”. Phần mềm không
chỉ nhằm áp dụng khả năng quản lí dữ liệu của công nghệ vào cuộc sống mà mục đích
chính là giảm bớt gánh nặng đối với người mẹ, người vợ đang từng ngày tất bật với
công việc gia đình và xã hội. Đó cũng chính là lý do chúng em chọn đề tài này.
Trong quá trình hoàn thành bài tập lớn, chúng em xin được gửi lời cảm ơn chân
thành đến:
Cô giáo hướng dẫn TS. Vũ Thị Hương Giang và thầy giáo hướng dẫn Ths.
Nguyễn Ngọc Dũng giảng viên trường đại học Bách Khoa Hà Nội đã hết lòng
hướng dẫn, giúp đỡ tạo mọi điều kiện để chúng em hoàn thành bài tập lớn.
Nhóm các bạn sinh viên lớp Project 1 đã góp ý và giúp đỡ trong quá trình hoàn
thành bài tập này.
Hà Nội , tháng 12 - 2013
Project 1
5
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
Phần công công việc trong nhóm
Họ và tên Công việc Mức độ hoàn
thành
Hồ Thúc Đồng Phân tích xác định yêu cầu từ đề tài và
người dùng, xác định yêu cầu của hệ thống,
vẽ các biểu đồ Usecase chính.
Thiết kế cơ sở dữ liệu.
Xây dựng chức năng đăng nhập/đăng xuất.
Xây dựng chức năng nhập dữ liệu, thêm giao
dịch.
Xây dựng chức năng tham gia chi chung.
Xây dựng chức năng cập nhật thông tin
người dùng.
Kiểm thử chương trình.
Công việc được
giao 33%.
Đánh giá mức độ
hoàn thành 95%
Hà Xuân
Thuyên
Phân tích xác định yêu cầu từ đề tài và
người dùng, xác định yêu cầu của hệ thống,
vẽ các biểu đồ Usecase chính.
Phân tích thiết kế hệ thống.
Xây dựng lớp kết nối.
Xây dựng chức năng thống kê.
Xây dựng chức năng duyệt của Manager.
Xây dựng chức năng cấp lại mật khẩu và
phân quyền của Admin.
Xây dựng và thiết kế giao diện.
Kiểm thử chương trình.
Công việc được
giao 33%.
Đánh giá mức độ
hoàn thành 95%
Nguyễn Thanh
Cường
Phân tích xác định yêu cầu từ đề tài và
người dùng, xác định yêu cầu của hệ thống,
vẽ các biểu đồ Usecase chính.
Thiết kế cơ sở dữ liệu.
Xây dựng chức năng truy xuất dữ liệu.
Xây dựng chức năng đăng kí.
Xây dựng chức năng tìm kiếm.
Xây dựng chức năng hướng dẫn người sử
dụng.
Làm báo cáo và slide.
Công việc được
giao 33%.
Đánh giá mực độ
hoàn thành 90%
Project 1
6
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
CHƯƠNG I: KHẢO SÁT ĐẶC TẢ YÊU CẦU BÀI TOÁN
1. Mô tả yêu cầu bài:
1.1 yêu cầu hệ thống quản lí chi tiêu trong gia đình
Xây dựng phần mềm quản lí chi tiêu của các thành viên trong gia đình.
1. Phần mềm có yêu cầu đăng nhập hệ thống, phân quyền người dùng.
2. Phần mềm có thông tin lưu trữ cho một phần chi tiêu bao gồm: thời gian, lí do,
mục chi tiêu, hình ảnh liên quan
3. Phần mềm có thể thống kê, đánh giá theo các khoảng thời gian nhất định.
4. Phần mềm có các danh mục chi tiêu có thể được tạo bởi người một cách linh
hoạt.
5. Chức năng tìm kiếm theo tên, ngày tháng, mô tả
6. Phần mềm có chức năng đánh tag phục vụ tìm kiếm.
Đầu vào : thông tin về chi tiêu của cá nhân và chi tiêu chung của gia
đình
Đầu ra : quản lí thông tin chi tiêu của các thành viên trong gia đình với
các chức năng: thêm, xóa, cập nhật, thống kê giao dịch.
1.2 Hệ thống quản lí chi tiêu gia đình có các chức năng chính.
Chức năng đăng kí thành viên:
Để sử dụng hệ thống quản lí chi tiêu thì mỗi thành viên cần có tài khoản
riêng.
Thành viên đăng kí trực tiếp từ giao diện khởi động của hệ thống
Tài khoản đó sau khi đăng kí thành công có thể đăng nhập vào hệ thống.
Đăng kí thành công thì mặc định tài khoản đó là Member.
Chức năng đăng nhập/đăng xuất hệ thống có phân quyền người dùng:
Tài khoản đăng nhập hệ thống với đúng tài khoản và mật khẩu mà hệ
thống cung cấp.
Tài khoản đăng nhập nếu không còn nhu cầu sử dụng hệ thống hoặc cần
đăng nhập tài khoản khác có thể tiến hành đăng xuất.
Project 1
7
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
Chức năng lưu trữ thông tin giao dịch:
Thành viên có thể lưu thông tin giao dịch cá nhân hoặc giao dịch chung
trong gia đình vào hệ thống.
Thành viên có thể tham gia giao dịch chung của gia đình hay nhóm
thành viên bằng cách đóng góp tiền vào hệ thống.
Manager sẽ duyệt để biết giao dịch đã hoàn thành hay chưa.
Chức năng cập nhật thông tin:
Hệ thống cho phép thành viên thay đổi thông tin cá nhân của mình.
Admin có thể cấp lại mật khẩu cho thành viên.
Chức năng tìm kiếm theo từ khóa và ngày tháng:
Hệ thống cho phép tìm kiếm theo từ khóa.
Hệ thống cho phép tìm kiếm theo ngày tháng.
Hệ thống cho phép tìm kiếm theo số tiền.
Chức năng thống kê, đánh giá theo từng khoảng thời gian nhất định:
Hệ thống có sự thống kê chi tiêu các thành viên trong một tháng
Hệ thống có sự thống kê thu nhập của thành viên trong một tháng
Hệ thống đánh giá cá nhân chi tiêu trong tháng, còn dư tiền hay tiêu quá
thu nhập hàng tháng
Project 1
8
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
2. Biểu đồ Usecase:
2.1 . Các tác nhân của hệ thống:
STT Tên tác nhân Chức năng
1 Admin Quản trị hệ thống hệ thống
Phân quyền người dùng.
Cấp lại mật khẩu cho người dùng.
2 Manager Quản lí chi tiêu của cá nhân bằng cách duyệt giao dịch
hoàn thành.
Quản lí chi tiêu chung của gia đình bằng cách duyệt giao
dịch hoàn thành
3 Member Người sử dụng hệ thống, thực hiện các giao dịch và quản
lí chi tiêu cá nhân.
Đăng nhập, xem giao dịch, thêm, cập nhật, xóa giao dịch.
4 Actor Người dùng hệ thống với chức năng đăng kí tài khoản.
2.2 . Các Usecase của hệ thống:
o Các Usecase chính:
Stt Tên Usecase
chính
Ý nghĩa
1 Đăng nhập Người dùng đăng nhập để sử dụng hệ thống.
2 Đăng xuất Người dùng thoát khỏi hệ thống khi không có nhu cầu sử
dụng.
3 Đăng ký Thêm người dùng vào hệ thống, mặc định sẽ là Member
4 Giao dịch Hiện thị giao dịch của các thành viên trong gia đình.
5 Tìm kiếm Tìm kiếm dữ liệu hệ thống.
6 Thống kê Thực hiện chức năng thống kê cho người dùng.
7 Bảo mật Cập nhật thông tin cá nhân của tài khoản đăng nhập.
8 Hướng dẫn Hướng dẫn người dùng sử dụng hệ thống.
o Các Usecase con:
Usecase giao dịch:
STT Tên Usecase con Ý nghĩa
1 Thêm giao dịch Lưu trữ giao dịch mới của người dùng.
2 Xem giao dịch cá
nhân
Hệ thống hiển thị giao dịch cá nhân của các thành viên.
3 Xem giao dịch chung Hệ thống hiển thị giao dịch chung của trong gia đình để
các thành viên có thể tham gia.
4 Xem thông tin hạng
mục
Hệ thống hiển thị các giao dịch chung đã hoàn thành
Project 1
9
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
Usecase tìm kiếm:
STT Tên Usecase con Ý nghĩa
1 Tìm kiếm theo
từ khóa
Người dùng nhập từ khóa để hệ thống tìm kiếm dữ liệu
phù hợp.
2 Tìm kiếm theo
ngày tháng
Người dùng nhập ngày tháng để hệ thống tìm kiếm dữ
liệu phù hợp.
3 Tìm kiếm theo
số tiền
Người dùng nhập khoản tiền thấp và cao để hệ thống tìm
kiếm giao dịch trong giới hạn đó.
Usecase thống kê:
STT Tên Usecase con Ý nghĩa
1 Thống kê chi
chung
Xem các giao dịch chi chung.
2 Chi tiêu trong
tháng
Tổng nguồn chi trong tháng.
3 Thu nhập trong
tháng
Tổng nguồn thu trong tháng.
4 Thống kê thu
chi
Số dư còn lại của cá nhân với các thu chi trong tháng.
Usecase bảo mật:
STT Tên Usecase con Ý nghĩa
1 Cập nhập thông
tin
Cập nhập thông tin tài khoản bao gồm họ tên, mật khẩu,
địa chỉ, số điện thoại, đơn vị công tác
Usecase hướng dẫn:
STT Tên Usecase con Ý nghĩa
1 Trang chủ Hướng dẫn người dùng trong giao diên trang chủ.
2 Giao dịch Hướng dẫn người dùng thao tác giao dịch trong giao
diện.
3 Bảo mật Hướng dẫn người dùng cập nhật và bảo mật thông tin.
4 Tìm kiếm Hướng dẫn người dùng tìm kiếm dữ liệu trong giao diện
tìm kiếm.
Project 1
10
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
2.3 Biểu đồ Usecase tổng quan:
Hình 1.1 : Biểu đồ Usecase tổng quan.
Biểu đồ Usecase tổng quan:
o Tác nhân : Admin, Manager, Member, Actor.
o Hệ thống :
Đăng kí: đăng kí thành viên mới.
Cập nhật thông tin: cấp lại mật khẩu cho thành viên.
Đăng nhập/đăng xuất: đăng nhập hệ thống bằng tài khoản cá nhân của
thành viên và đăng xuất đối với tài khoản đó.
Bảo mật: thông tin của thành viên đối với tài khoản đang đăng nhập hệ
thống. Bao gồm họ tên, tên tài khoản, mật khẩu, số điện thoại, địa chỉ,
đơn vị công tác.
Giao dịch: hiển thị thông tin giao dịch của các thành viên, cho phép
thực hiện các chức năng hệ thống bao gồm thêm, cập nhật, xóa giao
dịch.
Thống kê: chức năng thống kê, đánh giá chi tiêu trong tháng.
Tìm kiếm : chức năng tìm kiếm dữ liệu của hệ thống.
Phân quyền: phân quyền tài khoản thành viên gồm : Member, Manager,
Admin. Mỗi tài khoản phân quyền như trên sẽ có những chức năng và
giới hạn riêng.
Project 1
11
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
o Mô tả:
Actor có thể thực hiện chức năng:
Đăng kí.
Admin có thể thực hiện các chức năng :
Đăng nhập/đăng xuất.
Bảo mật.
Thống kê.
Tìm kiếm.
Cập nhật thông tin.
Phân quyền.
Manager có thể thực hiện các chức năng :
Đăng nhập/đăng xuất.
Bảo mật.
Giao dịch.
Tìm kiếm.
Member có thể thực hiện các chức năng :
Đăng nhập/đăng xuất.
Bảo mật.
Giao dịch.
Thống kê.
Tìm kiếm.
Project 1
12
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
2.4 Biểu đồ Usecase phân rã mức 2 :
2.4.1 Biểu đồ Usecase về đăng nhập:
Biểu đồ Usecase đăng nhập:
Hình 1.2 : Sơ đồ Usecase đăng nhập.
o Tác nhân : Admin, Manager, Member.
o Hệ thống : đăng nhập.
o Mô tả :
Người dùng nhập tài khoản và mật khẩu vào hệ thống.
Hệ thống tìm kiếm tài khoản tương ứng trong cơ sở dữ liệu
Nếu tài khoản đúng thì hệ thống hiển thị giao diện sử dụng các chức
năng hệ thống.
2.4.2 Biểu đồ Usecase về đăng kí.
Biểu đồ Usecase đăng kí:
Hình 1.3 : biểu đồ Usecase đăng kí
Project 1
13
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15
Biểu đồ Usecase đăng kí:
o Tác nhân : Actor.
o Hệ thống : Đăng kí.
o Mô tả:
Actor – thành viên đăng kí tài khoản với hệ thống mới có thể sử dụng hệ
thống.
Hệ thống phân quyền mặc định là user cho tài khoản mới đăng kí.
2.4.3 Biểu đồ Usecase về giao dịch:
Hình1.4 : Biểu đồ Usecase giao dịch.
Biểu đồ Usecase giao dịch:
o Tác nhân : Member , Manager.
o Hệ thống : giao dịch, tham gia chi chung, thêm giao dịch, duyệt giao dịch, cập
nhật.
o Mô tả :
Member đăng nhập thực hiện giao dịch thêm giao dịch cá nhân hoặc
thêm giao dịch chung.
Project 1
14
Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đ