Tổng Hợp

Báo cáo project 1 quản lý chi tiêu

Báo cáo project 1 quản lý chi tiêu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.3 MB, 60 trang )

Project I
Page | 1
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
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 I

Đề 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

Giảng viên hướng dẫn : TS Vũ Thị Hương Giang
Th.S Nguyễn Ngọc Dũng

Nhóm sinh viên thực hiện : Nhóm 3

Sinh viên thực hiện : Trịnh Đình Hiếu 20111579 (nhóm trưởng)
Nguyễn Đức Cảnh 20111186
Nguyễn Hoàng Anh 20110025

Hà Nội, 18 tháng 12 năm 2013
Project I
Page | 2
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15

MỤC LỤC
LỜI MỞ ĐẦU 4

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM 5
PHẦN 1: CƠ SỞ LÍ LUẬN CHỌN ĐỀ TÀI 6
1) Sự cần thiết và vai trò của quản lí chi tiêu bằng phần mềm 6
1.1 Sự cần thiết của quản lí bằng máy tính 6
1.2 Khái niệm và vai trò của phần mềm quản lí 6
1.3 Đặc điểm của phần mềm quản lí chi tiêu 6
2) Các phần mềm quản lí sẵn có 6
2.1 Phần mềm miễn phí 6
2.2 Phần mềm có phí 6
2.3 Phần mềm việt hóa 6
3) Những khó khăn khi sử dụng phần mềm có sẵn 6
3.1 Chi phí 6
3.2 Cá nhân hóa chương trình 7
4) Đặc tả yêu cầu bài toán 7
4.1 Một số yêu cầu phần mềm phải có 7
4.2 Ràng buộc logic ban đầu khi thực hiện bài toán 7
5) Biểu đồ use case 8
5.1 Biểu đồ use case tổng quan 8
5.2 Biểu đồ use case phân rã 8
6) Đặc tả use case 11
6.1 Đặc tả Use Case thanh toán giao dịch (Payment Normal) 11
6.2 Đặc tả Use Case tìm kiếm giao dịch theo khoảng thời gian (follow date) 13
6.3 Đặc tả Use Case tìm kiếm thông tin giao dịch theo khoản tiền (follow money) 14
6.4 Đặc tả Use Case tìm kiếm theo thành viên (follow member) 15
6.5 Đặc tả Use Case thêm giao dịch chi tiêu (add Outcome) 16
6.6 Đặc tả Use Case thêm thành viên (add user) 18
PHẦN 2: CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG 20
2.1) Ứng dụng chạy trên máy tính 20
2.2) Công nghệ Java 20
Project I

Page | 3
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
2.3) Cơ sở dữ liệu MySQL 20
PHẦN 3: PHÂN TÍCH THIẾT KÊ BÀI TOÁN 22
3.1) Thiết kế cơ sở dữ liệu 22
3.2) Biểu đồ trình tự 26
3.3) Biểu đồ hoạt động 30
3.4) Biểu đồ lớp 32
3.5) Thiết kế chi tiết một số lớp chính 33
PHẦN 4: XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA 38
4.1) Kết quả chương trình minh họa 38
4.2) Giao diện chương trình minh họa 45
PHẦN 5: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG PHẦN MỀM 54
5.1) Cấu hình hệ thống 54
5.2) Hướng dẫn cài đặt 54
5.3) Hướng dẫn sử dụng phần mềm 57
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58
LỜI CẢM ƠN 59
TÀI LIỆU THAM KHẢO 59

Project I
Page | 4
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
LỜI MỞ ĐẦU

Việc ứng dụng máy tính để quản lí thông tin đã phát triển mạnh ở các nước tiên tiến từ
những thập niên trước. Tình hình nước ta hiện nay, máy tính ngày càng được sử dụng phổ biến
trong cộng đồng, vấn đề áp dụng máy tính cũng như tin học để quản lí thông tin ngày càng trở
thành nhu cầu bức thiết trong xã hội và quá trình hôi nhập của Việt Nam với thế giới.
Thông qua tìm hiểu trên diện rộng, chúng em nhận thấy: Xã hội càng ngày càng hiện đại,
con người cũng bận rộn với công việc của mình nhiều hơn.Qua đó, họ dành ít thời gian cho việc
quan lí thu chi của bản thân cũng như gia đình, do vậy ảnh hưởng rất lớn đến sự thu chi của mọi
người không được thống nhất, hợp lý gây thất thoát. Sau khi nhân được sự thống nhất giữa các
thành viên, chúng em quyết định phân tích và thiết kế phần mềm Quản Lí Chi Tiêu dành cho gia
đình. Đây cũng là lý do nhóm chúng em chọn đề tài này.
Để hoàn thành được bài tập lớn này, nhóm chúng em xin gửi lời cảm ơn chân thành đến :
Thầy cô hướng dẫn đề tài – TS Vũ Thị Hương Giang và Th.S Nguyễn Ngọc Dũng,
giảng viên khoa Công Nghệ Thông Tin Trường Đại Học Bách Khoa Hà Nội – đã hết lòng giúp
đỡ, hướng dẫn chỉ giạy tận tình, cùng những nhận xét đánh giá đúng đắn để giúp chúng em hoàn
thành được đề tài này.

Hà Nội, 18 tháng 12 năm 2013
Nhóm 3, Lớp CNTT-TT 2.4
1.Trịnh Đình Hiếu
2.Nguyễn Đức Cảnh
3. Nguyễn Hoàng Anh

Project I
Page | 5
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
PHÂN CÔNG THÀNH VIÊN TRONG NHÓM
Sau khi thống nhất các thành viên trong nhóm:
Tuần
Trịnh Đình Hiếu
Nguyễn Đức Cảnh
Nguyễn Hoàng Anh
1 – 2
Nghiên cứu nghiệp vụ – hoàn
thành 80%
Nghiên cứu nghiệp vụ – hoàn
thành 80%
Nghiên cứu nghiệp vụ – hoàn
thành 80%
2 – 4
Nghiên cứu cơ sở dữ
liệu(MySQL) – hoàn thành
80%
Nghiên cứu cơ sở dữ
liệu(MySQL) – hoàn thành 80%

Nghiên cứu cơ sở dữ
liệu(MySQL) – hoàn thành 80%
4 – 5
Tìm hiểu và sử dụng JDBC
để kết nối Java – MySQL –
hoàn thành 90%
Tìm hiểu và sử dụng JDBC để
kết nối Java – MySQL – hoàn
thành 90%
Tìm hiểu và sử dụng JDBC để
kết nối Java – MySQL – hoàn
thành 90%
5 – 6
Thiết kế biểu đồ : use case,
class, sequence, activity –
hoàn thành 80%
Thiết kế biểu đồ : use case, class,
sequence, activity – hoàn thành
80%
Thiết kế biểu đồ : use case, class,
sequence, activity – hoàn thành
80%
6 – 10
Code các lớp chức năng
chương trình – hoàn thành
85%
Hoàn thành cơ sở dữ liệu – hoàn
thành 85%
Code giao diện chương trình –
hoàn thành 85%

10 – 12
Chỉnh sửa và hoàn thiện
chương trình – hoàn thành
90%
Viết báo cáo, slide – hoàn thành
90%
Tự kiểm thử chương trình – hoàn
thành 90%
12 – 14
Hoàn thiện , đóng gói chương
trình –hoàn thiện 90%
Hoàn thiện báo cáo, slide – hoàn
thiện 90%
Kiểm thử nhóm 5 và biên bản
báo cáo kiểm thử – hoàn thiện
90%

Project I
Page | 6
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15

PHẦN 1: CƠ SỞ LÍ LUẬN CHỌN ĐỀ TÀI
1) Sự cần thiết và vai trò của quản lí chi tiêu bằng phần mềm
1.1 Sự cần thiết của quản lí bằng máy tính
Trong giai đoạn hiện nay, môi trường làm việc bằng máy tính đã tỏ ra rất hiệu quả về
giảm thiểu và hạn chế những thiếu sót mà môi trường làm việc truyền thống thể hiện. Ngoài ra
việc sử dụng máy tính và công nghệ thông tin vào công việc giúp ta rất lớn trong việc:
+Quản lí dữ liệu tập trung, lợi ích về việc tiết kiệm thời gian, tiết kiệm chi phí, nhân lực
lao động chân tay, và giữ gìn về sinh môi trường.
+Sử dụng phần mềm chuyên biệt để quản lí làm cho công việc đạt kết quả, hiệu suất cao
hơn, công việc trở lên đơn giản, dễ dàng và nhanh tróng được thực hiện.
1.2 Khái niệm và vai trò của phần mềm quản lí
Phần mềm dùng để giải quyết một nhu cầu hay một bài toán quản lí cụ thể nào đó. Nó
phải có những tiêu chí cụ thể và giải quyết được nhu cầu thực tế như : Phần giao diện để người
dùng thao tác, có cơ sở dữ liệu tập trung, có đầy đủ chức năng và thành phần phục vụ yêu cầu
nghiệp vụ riêng.
1.3 Đặc điểm của phần mềm quản lí chi tiêu
Quản lí chi tiêu là phần mềm giúp cho công việc quản lí thu chi trong gia đình, cá nhân
đơn giản cũng như hiệu quả và tiết kiệm tối đa thời gian của từng thành viên. Với các chức năng
thêm thành viên, bổ sung chỉnh sửa thông tin, các hoạt động giao dịch mua bán của từng thành
viên được thống kê đầy đủ cũng như tìm kiếm đối với giao dịch hay các thành viên. Phần mềm
quản lí chi tiêu ngày càng cho thấy vai trò quan trọng trong mỗi gia đình hay mỗi ca nhân.

2) Các phần mềm quản lí sẵn có
2.1 Phần mềm miễn phí
• Chủ yếu là các phiên bản dùng thử, thời gian sử dụng giới hạn và chưa đầy đủ các chức năng.

• Do là phần mềm miễn phí lên chưa được kiểm thử nhiều nên hay mắc nhiều lỗi cơ bản.
2.2 Phần mềm có phí
• Phải trả phí giá thành khá cao, không cá nhân hóa, hay sửa chữa bảo trì theo yêu cầu của công ty
sản xuất. Chủ yếu chạy trên nền tảng Windows mà không có hoặc ít chạy trên các nền tảng khác
như Mac, Linux, Ubuntu.
2.3 Phần mềm việt hóa
• Là các phần mềm quản lí chi tiêu của nước ngoài, khó cài đặt, triển khai, việt hóa chưa hoàn
toàn khó nâng cấp và bảo trì và chủ yếu chạy trên nền tảng Windows mà chưa có nền tảng khác.
3) Những khó khăn khi sử dụng phần mềm có sẵn
3.1 Chi phí
• Đối với một phần mềm quản lí chi tiêu gia đình tương đối nhỏ nên với những phần mềm trả phí
thường khách hàng không chú ý cao dù là phần chạy rất tốt. Đi theo đó, còn kèm theo phí bảo trì
hàng tháng, cùng với rắc rối khâu nâng cấp phần mềm cũng như sửa lỗi.
Project I
Page | 7
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
3.2 Cá nhân hóa chương trình
• Việc sử dụng phần mềm có sẵn đối với việc cá nhân hóa chương trình khá khó khăn, vì phần
mềm được thiết kế chung cho nhiều gia đình khác nhau và đa phần theo khuôn mẫu nhà thiết kế
có thể không phù hợp với nhu cầu của bạn.
4) Đặc tả yêu cầu bài toán
4.1 Một số yêu cầu phần mềm phải có
 Người sử dụng có thể lưu lại các thông tin chi tiêu hàng ngày. Cá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….
 Có phần thống kê, đánh giá theo các khoảng thời gian nhất định.
 Các danh mục chi tiêu có thể được tạo ra bởi một người dùng một cách linh hoạt.
 Có chức năng tìm kiếm theo tên, ngày tháng, mô tả….
 Có chức năng đánh tag phục vụ cho tìm kiếm.
 Có phân quyền người dùng, yêu cầu đăng nhập hệ thống.

4.2 Ràng buộc logic ban đầu khi thực hiện bài toán

 Chỉ admin mới có quyền thêm và xóa thành viên của hệ thống.
 Admin không có quyền thay đổi thông tin người dùng,tuy nhiên có quyền xem mọi
thông tin của các thành viên (trừ tiền trong tài khoản,mật khẩu thành viên).
 Mọi thành viên bình thường trong hệ thống không có quyền xem mật khẩu, tiền
trong tài khoản hay bất cứ một khoản thu chi riêng nào của thành viên khác .
 Mọi người có quyền thay đổi thông tin cá nhân cũng như cập nhật đơn vị công tác
và tài khoản ngân hàng.
 Mọi thu chi chung và nhóm đều được thực hiện chi trả trực tiếp bằng tiền mặt (mỗi
thành viên đều có một tài khoản là tiền mặt).
 Mọi khoản chi tiêu chung và nhóm không thông dụng đều phải được tất cả thành
viên tham gia đồng ý mới thực hiện thanh toán (thông qua khoản chi).
 Chi tiêu thông dụng được thực hiện bởi manager, đó là các khoản chi thông dụng
hằng ngày và có hạn mức ,nếu các khoản chi chung và nhóm được thực hiện bởi
manager và nằm trong hạn mức (vd: tiền chi < 100000 đ) thì mặc định là tất cả thành
viên chấp nhận và thực hiện trừ tiền các thành viên,ngược lại nếu nó lớn hơn hạn
mức thì khoản chi đó trở thành loại không thông dụng.
 Mọi giao dịch trong hệ thống chỉ thực hiện đến đơn vị hàng triệu tỉ (tức 15 chữ số).
 Không được xóa giao dịch đã được chấp nhận hoặc do thành viên khác khởi tạo.
 Mọi loại hình chi tiêu hay thu nhâp chỉ thực hiện với số tiền dương.
 Mọi khoản chi riêng chỉ được thực hiện khi tài khoản được chọn giao dịch còn đủ
tiền.
 Nếu khoản chi tiêu chung hoặc nhóm đã được thành viên chấp nhận mà thành viên
không còn đủ tiền thì hệ thống sẽ tự động trừ tiền khi tiền mặt của tất cả thành viên
tham gia đủ chi trả.
 Thời hạn khởi tạo hệ thống mặc định là 10 ngày, các thu chi riêng thời hạn sẽ là -1,
hệ thống sẽ tự động cập nhật lại thời hạn.
Project I
Page | 8

Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
 Dự án khởi tạo sẽ kết thúc khi mà thời hết hạn hoặc là có thành viên không chấp
nhận, hệ thống thông báo thành viên khởi tạo ban đầu có thể khởi tạo lại dự án đó
nếu thấy cần thiết.

5) Biểu đồ use case

5.1 Biểu đồ use case tổng quan

Hình 1.1. Use case tổng quan

5.2 Biểu đồ use case phân rã

Phân rã các use case chính để thu được các use case chi tiết phục vụ cho thiết kế và
lập trình
Project I
Page | 9
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15

 Use case Management User

Hình 1.2. Use case Management User

 Use case Management Income/Outcome

Hình 1.3. Use case Management Income/Outcome
Project I
Page | 10
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
 Use case Management Information Personal

Hình 1.4. Use case Management Information Personal

 Use case Utility

Hình 1.5. Use case Utility
Project I
Page | 11
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
 Use case Export

Hình 1.6. Use case Export

6) Đặc tả use case
6.1 Đặc tả Use Case thanh toán giao dịch (Payment Normal)
1. Tóm tắt
Use case mô tả việc thanh toán giao dịch(thu nhập hoặc chi tiêu).
2. Dòng sự kiện
2.1 Dòng sự kiện chính
 Hệ thống hiển thị danh sách thu nhập chi tiêu chung gia đình và cá
nhân.
 Hệ thống lấy thông tin giao dịch bao gồm : số tiền, tên đối tác, loại

thu nhập hoặc chi tiêu, tài khoản sử dụng.
 Hệ thống thực hiện giao dịch với các trường hợp
 Thu nhập: hệ thống cộng tiền vào tài khoản được người
dùng chọn
 Chi tiêu :
 Riêng : hệ thống sẽ kiểm tra tài khoản có đủ
tiền cho dự án hay không, nếu đủ hệ thống
trừ tiền vào tài khoản được người dùng
chọn.
 Chung :
– hệ thống sẽ lấy thông tin tiền mặt của
các thành viên
Project I
Page | 12
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
– Chi tiêu thông dụng : nếu khoản chi
dưới 100.000 đồng hệ thống sẽ tự trừ
tiền mặt của các thành viên.
– Chi tiêu không thông dụng : nếu khoản
chi lớn hơn 100.000 đồng hệ thống sẽ
kiểm tra các thành viên có đồng ý không
, nếu tất cả thành viên đồng ý hệ thống
sẽ kiểm tra cá nhân có đủ tiền không,
nếu có cá nhân không đủ tiền hệ thống
sẽ lưu tự động trừ tiền sau khi tất cả đủ
tiền. Nếu các thành viên đủ tiền hệ
thống sẽ trừ tiền vào tiền mặt các thành
viên.
 Nhóm :
– Hệ thống sẽ đợi các thành viên trong

nhóm đồng ý.
– Nếu các thành viên trong nhóm đồng ý
hệ thống kiểm tra tất cả thành viên có
đủ tiền không, nếu đủ hệ thống trừ tiền
vào các tài khoản, nếu không đủ tiền hệ
thống sẽ lưu tự động trừ tiền sau khi tất
cả đủ tiền.
– Nếu các thành viên trong nhóm không
đồng ý hệ thống tự động kết thúc phiên
giao dịch này.
 Hệ thống tự động cập nhật ngày tháng trong hệ thống để thực hiện
thanh toán giao dịch.
 Hệ thống cập nhật khoản thu nhập chi tiêu
 Hiển thị lên màn hình thong tin khoản thu chi.

2.2 Dòng sự kiện khác
Không có.
3. Các yêu cầu đặc biệt
Không có
4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiện
Hệ thống phải được khởi động thành công, không xảy ra lỗi.
5. Tình trạng hệ thống sau khi thực hiện
Nếu use case thực hiện thành công thì mục giao dịch sẽ được cập nhật lên
màn hình, ngược lại trạng thái hệ thống không đổi.
6. Điểm mở rộng
Người dùng có thể xem chi tiêu chung và cá nhân.
Project I
Page | 13
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15

6.2 Đặc tả Use Case tìm kiếm giao dịch theo khoảng thời gian (follow date)
1. Tóm tắt
Thực hiện nghiệp vụ tìm kiếm thông tin giao dịch theo khoảng thời gian.
2. Dòng sự kiện
2.1 Dòng sự kiện chính
 Use case bắt đầu khi người dùng muốn tìm kiếm các mục giao
dịch, chọn nút tìm kiếm, chọn Tab Ngày tháng.
 Người dùng nhập vào khoảng thời gian cần tìm kiếm.
 Hệ thống sẽ liệt kê các thông tin giao dịch liên quan đến thành
viên bao gồm:
– Tên đăng nhập, tên thành viên, tên đối
tác.
– Số tiền.
– Thời gian.
– Hành động.
– Nội dung.
– Thời hạn.
– Trạng thái.
 Kết thúc use case.
2.2 Các dòng sự kiện khác
 Hệ thống sẽ báo lỗi nếu người dùng chưa chọn khoảng thời
gian.
 Hệ thống sẽ báo lỗi nếu người dùng nhập sai khoảng thời gian.
3. Các yêu cầu đặc biệt
Không có.
4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiện
Hệ thống phải được khởi động thành công .
5. Tình trạng hệ thống sau khi thực hiện
Nếu usecase được thực hiện thành công thì thông tin bảng thống kê thông tin giao
dịch theo khoảng thời gian sẽ được hiển thị, ngược lại trạng thái hệ thống không

đổi.
6. Điểm mở rông
Không có.

Project I
Page | 14
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
6.3 Đặc tả Use Case tìm kiếm thông tin giao dịch theo khoản tiền (follow money)
1. Tóm tắt
Thực hiện nghiệp vụ tìm kiếm thông tin giao dịch theo khoảng tiền
2. Dòng sự kiện
2.1 Dòng sự kiện chính
 Use case bắt đầu khi người dùng muốn tìm kiếm thông tin giao
dịch theo khoảng tiền, chọn nút tìm kiếm, chọn Tab Số tiền.
 Người dùng nhập vào khoảng tiền cần tìm kiếm
 Hệ thống liệt kê thông tin giao dich liên quan đến thành viên
cần tìm kiếm bao gồm:
– Tên đăng nhập, tên thành viên, tên đối
tác, tên dự án.
– Số tiền.
– Thời gian.
– Hành động.
– Nội dung.
– Thời hạn.
– Trạng thái.
 Kết thúc use case

2.2 Các dòng sự kiện khác
 Hệ thống sẽ báo lỗi nếu người dùng không nhập đủ khoảng tiền
tìm kiếm.
 Hệ thống không cho phép người dùng nhập chữ vào nội dung
khoảng tiền
3. Các yêu cầu đặc biệt
Không có.
4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiện
 Hệ thống phải được khởi động thành công
 Phải nhập đầy đủ thông tin
5. Tình trạng hệ thống sau khi thực hiện
Nếu use case được thực hiện thành công thì thông tin giao dịch theo khoảng tiền sẽ
được hiển thị, ngược lại trạng thái hệ thống không đổi.
6. Điểm mở rộng
Không có.

Project I
Page | 15
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
6.4 Đặc tả Use Case tìm kiếm theo thành viên (follow member)

1. Tóm tắt

Thực hiện nghiệp vụ tìm kiếm thông tin giao dịch theo tên thành viên.

2.Dòng sự kiện
2.1 Dòng sự kiện chính
 Use case bắt đầu khi người dùng muốn tìm kiếm thông tin giao
dịch theo tên thành viên, chọn nút tìm kiếm, chọn Tab thành
viên.
 Người dùng chọn tên thành viên
 Hệ thống liệt kê thông tin giao dịch liên quan đến tên thành viên
muốn tìm kiếm bao gồm:
– Tên đăng nhập, tên thành viên, tên đối
tác, tên dự án.
– Số tiền.
– Thời gian.
– Hành động.
– Nội dung.
– Thời hạn.
– Trạng thái.
2.2 Dòng sự kiện khác
Hệ thống sẽ báo lỗi nếu người dùng chưa chọn tên thành viên.
3.Các yêu cầu đặc biệt
Không có.
4.Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiện
Hệ thống phải được khởi động thành công.
5.Tình trạng hệ thống sau khi thực hiện
Nếu use case được thực hiện thành công thì thông tin giao dịch theo tên thành viên sẽ
được hiển thị, ngược lại trạng thái hệ thống không đổi.
6.Điểm mở rộng
Không có.

Project I
Page | 16
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15

6.5 Đặc tả Use Case thêm giao dịch chi tiêu (add Outcome)

1. Tóm tắt
Use case thực hiện nghiệp vụ thêm giao dịch (thu nhập hoặc chi tiêu).
2. Dòng sự kiện
2.1 Dòng sự kiện chính
 Use case được thực hiện khi người dùng muốn thêm một giao
dịch.
 Hệ thống hiển thị danh sách các mục giao dịch trước đó.
 Người dùng chọn hình thức giao dịch: thu nhập hoặc chi tiêu
 Thu nhập:
 Người dùng phải điền đầy đủ thông tin bao gồm :
tên đối tác, địa chỉ đối tác, số điện thoại đối tác, số
tiền giao dịch, tên dự án.
 Người dùng chọn loại chi: riêng, chung, nhóm
– Riêng : người dùng chọn tài khoản tham
gia giao dịch. Hệ thống kiểm tra tài
khoản có thiếu tiền không nếu không
thiếu tiền hệ thống lấy thông tin cần
thiết cho giao dịch sau đó kiểm tra đầy
đủ chính xác thông tin sau đó thêm giao
dịch mới vào cơ sở dữ liệu.

– Chung : Hệ thống sẽ mặc định chi tiêu
bằng tài khoản tiền mặt, sau đó hệ
thống lấy thông tin cần thiết cho giao
dịch rồi kiểm tra đầy đủ chính xác thông
tin, nếu đúng hệ thống thêm giao dịch
vào cơ sở dữ liệu.
– Nhóm : Người dùng chọn các thành viên
cần tham gia giao dịch, sau đó hệ thống
lấy thông tin cần thiết cho giao dịch rồi
kiểm tra đầy đủ chính xác thông tin, nếu
đúng hệ thống thêm giao dịch vào cơ sở
dữ liệu.
– Nếu khoản chi tiêu thuộc dạng chi tiêu
thông dụng (Giới hạn tiền nhỏ hơn
100.000 đồng) hệ thống tự trừ tiền vào
tài khoản tiền mặt của các thành viên
trong nhóm. Nếu khoản chi tiêu không
thuộc dạng chi tiêu thông dụng hệ
Project I
Page | 17
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
thống lưu thông báo đến các thành viên
vào cơ sở dữ liệu. Nếu các thành viên
đồng ý hệ thống trừ tiền vào tài khoản
tiền mặt của mỗi thành viên trong
nhóm.
 Hệ thống thiết lập lại giao dịch để thực hiện cho lần
giao dịch tiếp theo.
 Hệ thống cập nhật vào cơ sở dữ liệu phiên giao dịch
vừa nhập.

 Hiển thị lên màn hình khoản giao dịch vừa nhập.
2.2 Dòng sự kiến khác
 Người dùng quên Click Điền đầy đủ thông tin
đối tác, số tiền, tên dự án thì hệ thống sẽ báo
lỗi để người dùng nhập đầy đủ thông tin giao
dịch.
 Khi người dùng quên chọn hành động, tài
khoản, loại chi thì hệ thống sẽ báo lỗi yêu cầu
người dùng lựa chọn lại.
 Hệ thống sẽ báo lỗi nếu số tiền giao dịch vượt
quá 15 chữ số.
 Mọi hoạt động giao dịch chỉ thực hiện được với
số tiền dương.
 Khi người dùng chọn loại chi chung, hệ thống
mặc định chọn tài khoản tiền mặt để thực hiện
giao dịch.
3. Các yêu cầu đặc biệt
Không có.
4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiện
Hệ thống phải được khởi động thành công.
Người dùng phải thực hiện yêu cầu chi tiêu từ hệ thống nếu có.
5. TÌnh trạng hệ thống sau khi thực hiện
Nếu use case được thực hiện thành công thì mục giao dịch mới sẽ được hiển thị lên
màn hình chi tiêu, ngược lại trạng thái hệ thống không thay đổi.
6. Điểm mở rộng
Không có.

Project I
Page | 18
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
6.6 Đặc tả Use Case thêm thành viên (add user)
1. Tóm tắt
Use case mô tả admin thêm thành viên mới.
2. Dòng sự kiện
2.1 Dòng sự kiện chính
 Use case này bắt đầu khi người dùng với vai trò Admin muốn
thêm mới 1 nhân viên.
 Admin tiến hành nhập thông tin thành viên : họ tên, tên đăng
nhập, điện thoại, mật khẩu, mã số thuế,địa chỉ, quyền hạn, ngày
sinh.
 Sau khi điền đầy đủ thông tin cần thiết về thành viên , Admin
chọn chức năng thêm.
 Hệ thống sẽ kiểm tra tính hợp lệ của thông tin:
– Nếu không hợp lệ hệ thống báo lỗi bắt
người Admin phải chỉnh lại.
– Nếu hợp lệ thông tin của thành viên
mới sẽ được thêm vào hệ thống và
được hiển thị lên màn hình.
– Thông tin của thành viên mới được
thêm vào cơ sở dữ liệu.
 Danh sách thành viên được cập nhật lại lên màn hình danh sách
thành viên.
 Hệ thống cho phép người Admin thiết lập lại các mục về trạng
thái ban đầu để nhập thông tin cho lần tiếp theo.

 Kết thúc use case.

2.2 Dòng sự kiện khác
 Hệ thống báo lỗi nếu chưa điền đầy đủ thông
tin tối thiểu phải có cho thành viên bắt người
Admin điền đầy lại.
 Hệ thống tự mặc định nếu người Admin quên
không chọn quyền hạn cho thành viên thì hệ
thống báo lỗi bắt chọn quyền hạn cho thành
viên.
 Nhập thông tin thành viên không hợp lệ thì hệ
thống sẽ báo lỗi các thông tin chưa hợp lệ và
yêu cầu Admin phải chỉnh sửa lại thông tin cho
hợp lệ.
 Việc xác nhận không được người sử dụng hệ
thống chấp thuận.
Project I
Page | 19
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
 Nếu việc xác nhận các thao tác tương ứng
không được người sử dụng chấp thuận hệ
thống sẽ trở lại trạng thái trước đó của từng
luồng sự kiện tương ứng.
3. Các yêu cầu đặc biệt
Không có.
4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiện
Hệ thống phải được khởi động thành công.
Người đăng nhập phải có quyền hạn là Admin mới được sử dụng chức năng thêm
thành viên.

5. Tình trạng hệ thống sau khi thực hiện
Nếu use case được thực hiện thành công thì một thành viên mới được tạo lập,
thông tin thành viên mới được hiển thị lên màn hình danh sách thành viên, ngược
lại trạng thái hệ thống vẫn giữ nguyên.
6. Điểm mở rộng
Không có.

Project I
Page | 20
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
PHẦN 2: CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG
2.1) Ứng dụng chạy trên máy tính

• Với những vấn đề nêu trên, chúng em quyết định viết phần mềm quản lí chi tiêu sử dụng cho
máy tính và cá nhân hóa theo mô hình các gia đình chung .
• Với việc sử dụng máy tính ngày càng phổ biến như hiện nay, việc sử dụng phần mềm quản lí
chi tiêu ngày càng dễ dàng và thuận tiện, đồng thời cũng dễ dàng bảo trì sửa chữa khi cần thiết.
Đồng thời ta cũng có thể quản lí phần mềm và dữ liệu qua mạng máy tính.
• Mọi dữ liệu đều tập trung ở máy chủ, do đó quá trình tìm kiếm, bổ sung hay update cũng không
gây khó khăn.

2.2) Công nghệ Java

Như đã nêu trên, việc sử dụng phần mềm trên nhiều nền tảng sẽ có tính linh hoạt và chủ động
hơn và chủ động hơn trong việc cá nhân hóa sản phẩm theo yêu cầu. Để làm được việc này thì
việc sử dụng caoong nghệ Java ta sẽ thấy được những lợi thế hơn hẳn :
• Tính đa nền tảng : với một chương trình viết bằng Java ta có thể chạy trên các máy trạm có hệ
điều hành khác nhau như: Windows, Linux, Unbutu, Mac…
• Tính bảo mật : Đối với các sản phẩm làm từ Java gần như không có khái niệm bị virus hay phần
mềm do thám đính kèm … Các cơ chế bảo mật cũng giúp tăng mức độ an toàn và phân quyền sử
dụng trên cơ sở chức năng và vai trò của người dùng.
• Tính mở : Công nghệ Java được sử dụng theo hướng mã mở, các module đều được viết rất linh
hoạt và khả chuyển, sau này dễ dàng phát triển và mở rộng chức năng mới một cách đơn giản.
• Tính tiết kiệm: Cấu hình máy trạm không cần phải quá mạnh để có thể chạy được ứng dụng
Java.
• Cài đặt đơn giản : Ứng dụng viết bằng Java có thể sao chép hoặc chuyển qua các máy rồi chạy
mà không cần cài đặt.

2.3) Cơ sở dữ liệu MySQL

So sánh yêu cầu thực tế sử dụng cơ sở dữ liệu MySQL có những ưu điểm như :
• Tính linh hoạt : Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xử
lý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ sộ lên đến

hàng TB thông tin. Sự linh hoạt về flatform là một đặc tính lớn của MySQL với tất cả các phiên
bản của Linux, Unix, và Window đang được hỗ trợ. Và dĩ nhiên, tính chất mã nguồn mở của
MySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm vào các yêu cầu thích hợp cho
database sever.
• Tính thực thi cao: Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máy
chủ cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù.
Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụ
hàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhất
của bất kì hệ thống nào. Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và cơ chế xử lý
nâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh nghiệp khó
tính ngày nay.
• Có thể sử dụng ngay: Sự đáng tin cậy và tính “mì ăn liền” là những tiêu chuẩn đảm bảo của
MySQL.MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình cải tạo chủ/tớ tốc độ cao,
Project I
Page | 21
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng ngay duy nhất cho sever cơ sở dữ
liệu MySQL.
• Hỗ trợ dao dịch mạnh: MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnh
nhất trên thị trường. Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tự
động, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững ), khóa mức dòng không
hạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng mà người đọc không bao
giờ gây trở ngại cho người viết ngược lại. Tính toàn vẹn của cơ sở dữ liệu cũng phải được đảm
bảo trong suốt quá trình server có hiệu lực, các mức dao dịch độc lập được chuyên môn hóa, và
phát hiện khóa chết ngay lập tức.
• Chế độ bảo mật dữ liệu mạnh: Vì bảo mật dữ liệu cho các khách hàng là công việc số một của
các chuyên gia cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽ
được bảo mật tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kĩ
thuật mạnh mà chắc chắn chỉ có ngưới sử dụng đã được xác nhận mới có thể truy cập được vào
server cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là điều có thể

làm được. SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảo mật. Một
đối tượng framework đặc quyền được đưa ra mà người sư dụng chỉ có thể nhìn thấy dữ liệu, các
hàm mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật. Cuối cùng, tiện ích
backup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho phép backup logic và
vật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một thời điểm nào đó.
•Sự phát triển ứng dụng hỗn hợp: Một trong lý do khiến cho MySQL là cơ sở dữ liệu mã nguồn
phổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển nào cần. Trong cơ sở
dữ liệu, hỗ trợ có thể được tìm thấy trong các stored procedure, trigger, function, view, cursor,
ANSI-standard SQL, và nhiều nữa. Với các ứng dụng nhúng, thư viện plug-in có sẵn để nhúng
vào cơ sở dữ liệu MySQL hỗ trợ bất kì ứng dụng nào. MySQL cũng cung cấp các bộ kết nối như:
ODBC, JDBC, … để cho phép tất cả các form của ứng dụng sử dụng MySQL như một server
quản lí dữ liệu được ưu tiên.
• Dễ dàng quản lí: MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian từ lúc
download phần mềm đến khi cài đặt hoàn thành chỉ mất khoảng 15 phút. Khi cài đặt, tính năng,
tính năng tự quản lý như tự động mở rộng không gian, tự khởi động lại, và cấu hình động sẵn
sàng cho người quản trị cơ sở dữ liệu làm việc. MySQL cũng cung cấp một bộ hoàn thiện các
công cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của của
nhiều server MySQl từ một máy trạm đơn.
• Mã nguồn mở: Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồn
mở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyên
nghiệp, hiện tại, ho tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn diện cho
các ứng dụng chủ chốt của họ. Những lo lắng của họ có thể được dẹp bỏ với MySQL, sự bồi
thường là có trong mạng lưới MySQL.
• Chi phí thấp: Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấy
rõ việc tiết kiệm chi phí. Được hoàn thành thông qua sử dụng server cơ sở dữ liệu MySQL và
kiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc nhiên về
khả năng xử lý.

Project I
Page | 22
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
PHẦN 3: PHÂN TÍCH THIẾT KÊ BÀI TOÁN

3.1) Thiết kế cơ sở dữ liệu

Bảng member
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
id
INT
11
Khóa chính
Không được
trống, tự tăng
userName
VARCHAR
45
Not null
Tên đăng nhập
PassWord
VARCHAR
45
Not null
Pass word đăng

nhập
name
VARCHAR
45
Not null
Tên người
dùng
phoneNumber
VARCHAR
45
Not null
Số điện thoại
address
VARCHAR
45
Not null
Địa chỉ
birthDay
VARCHAR
25
Not null
Ngày sinh
privilege_Id
INT
11
Khóa ngoài
Khóa chính của
privilege

Bảng bank
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT
11
Khóa chính
Không trống, tự
tăng
nameBank
VARCHAR
45
Not null
Tên ngân hàng
address
VARCHAR
45
Not null
Địa chỉ ngân
hàng
phoneNumber
VARCHAR
45
Not null
Số điện thoại
ngân hàng
taxCode

VARCHAR
45
Not null
Mã số thuế
ngân hàng

Bảng company
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT
11
Khóa chính
Không được
trống, tự động
tăng
name
VARCHAR
45
Not null
Tên công ty
address
VARCHAR
45
Not null
Địa chỉ công ty

phoneNumber
VARCHAR
45
Not null
Số điện thoại
công ty
taxCode
VARCHAR
45
Not null
Mã số thuế
công ty

Project I
Page | 23
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
Bảng project
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT
11
Khóa chính
Không được trống,
tự động tăng

nameProject
VARCHAR
45
Not null
Tên dự án
timeLimit
INT
11
Not null
Thời hạn của dư án
timeSave
INT
11
Not null
Thời gian bắt đầu
finishStatus
VARCHAR
45
Not null
Trạng thái kết thúc

Bảng privilege
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT

11
Khóa chính
Không được trống,
tự động tăng
content
VARCHAR
45
Not null
Quyền hạn thành
viên

Bảng partner
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT
11
Khóa chính
Không được trống,
tự động tăng
name
VARCHAR
45
Not null
Tên đối tác
address
VARCHAR

45
Not null
Địa chỉ đối tác
phoneNumber
VARCHAR
45
Not null
Số điện thoại đối
tác

Bảng transaction
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT
11
Khóa chính
Không được trống,
tự động tăng
money
INT
11
Not null
Tên giao dịch
time
INT

11
Not null
Thời gian giao dịch
timeDisplay
VARCHAR
45
Not null
Thời gian hiển thị
giao dịch
action
VARCHAR
50
Not null
Hoạt động giao dịch
content
VARCHAR
45
Not null
Nội dung giao dịch
Member_Id
INT
11
Khóa ngoài
Khóa chính
member
Project_Id
INT
11
Khóa ngoài
Khóa chính project

Partner_Id
INT
11
Khóa ngoài
Khóa chính partner

Project I
Page | 24
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
Bảng message
Tên trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT
11
Khóa chính
Không được trống,
tự động tăng
idSend
INT
11

Not null
Địa chỉ gửi
idReceive
INT
11
Not null
Địa chỉ nhận
nameProject
VARCHAR
45
Not null
Tên dự án
idProject
INT
11
Not null
Id dự án
money
INT
11
Not null
Số tiền cho dự án
đó
content
VARCHAR
45
Not null
Nội dung thông báo
agree
VARCHAR

45
Not null
Sự xác nhân

Bảng note
Ten trường
Kiểu dữ liệu
Kích thước
Ràng buộc
Ghi chú
Id
INT
11
Khóa chính
Không được trống,
tự động tăng
head
VARCHAR
45
Not null

content
VARCHAR
45

Not null

date
VARCHAR
45
Not null

member
VARCHAR
45
Not null

Project I
Page | 25
Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15
Thiết kế cơ sở dữ liệu

Hình 3.1. Hình ảnh sơ đồ quan hệ giữa các bản cơ sở dữ liệu

PHÂN CÔNG THÀNH VIÊN TRONG NHÓM 5PHẦN 1: CƠ SỞ LÍ LUẬN CHỌN ĐỀ TÀI 61) Sự cần thiết và vai trò của quản lí chi tiêu bằng phần mềm 61.1 Sự cần thiết của quản lí bằng máy tính 61.2 Khái niệm và vai trò của phần mềm quản lí 61.3 Đặc điểm của phần mềm quản lí chi tiêu 62) Các phần mềm quản lí sẵn có 62.1 Phần mềm miễn phí 62.2 Phần mềm có phí 62.3 Phần mềm việt hóa 63) Những khó khăn khi sử dụng phần mềm có sẵn 63.1 Chi phí 63.2 Cá nhân hóa chương trình 74) Đặc tả yêu cầu bài toán 74.1 Một số yêu cầu phần mềm phải có 74.2 Ràng buộc logic ban đầu khi thực hiện bài toán 75) Biểu đồ use case 85.1 Biểu đồ use case tổng quan 85.2 Biểu đồ use case phân rã 86) Đặc tả use case 116.1 Đặc tả Use Case thanh toán giao dịch (Payment Normal) 116.2 Đặc tả Use Case tìm kiếm giao dịch theo khoảng thời gian (follow date) 136.3 Đặc tả Use Case tìm kiếm thông tin giao dịch theo khoản tiền (follow money) 146.4 Đặc tả Use Case tìm kiếm theo thành viên (follow member) 156.5 Đặc tả Use Case thêm giao dịch chi tiêu (add Outcome) 166.6 Đặc tả Use Case thêm thành viên (add user) 18PHẦN 2: CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG 202.1) Ứng dụng chạy trên máy tính 202.2) Công nghệ Java 20Project IPage | 3Nhóm 3 – Lớp CNTT 2.4 K56 – MS 152.3) Cơ sở dữ liệu MySQL 20PHẦN 3: PHÂN TÍCH THIẾT KÊ BÀI TOÁN 223.1) Thiết kế cơ sở dữ liệu 223.2) Biểu đồ trình tự 263.3) Biểu đồ hoạt động 303.4) Biểu đồ lớp 323.5) Thiết kế chi tiết một số lớp chính 33PHẦN 4: XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA 384.1) Kết quả chương trình minh họa 384.2) Giao diện chương trình minh họa 45PHẦN 5: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG PHẦN MỀM 545.1) Cấu hình hệ thống 545.2) Hướng dẫn cài đặt 545.3) Hướng dẫn sử dụng phần mềm 57KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58LỜI CẢM ƠN 59TÀI LIỆU THAM KHẢO 59Project IPage | 4Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15LỜI MỞ ĐẦUViệc ứng dụng máy tính để quản lí thông tin đã phát triển mạnh ở các nước tiên tiến từnhững thập niên trước. Tình hình nước ta hiện nay, máy tính ngày càng được sử dụng phổ biếntrong cộng đồng, vấn đề áp dụng máy tính cũng như tin học để quản lí thông tin ngày càng trởthành nhu cầu bức thiết trong xã hội và quá trình hôi nhập của Việt Nam với thế giới.Thông qua tìm hiểu trên diện rộng, chúng em nhận thấy: Xã hội càng ngày càng hiện đại,con người cũng bận rộn với công việc của mình nhiều hơn.Qua đó, họ dành ít thời gian cho việcquan lí thu chi của bản thân cũng như gia đình, do vậy ảnh hưởng rất lớn đến sự thu chi của mọingười không được thống nhất, hợp lý gây thất thoát. Sau khi nhân được sự thống nhất giữa cácthành viên, chúng em quyết định phân tích và thiết kế phần mềm Quản Lí Chi Tiêu dành cho giađình. Đây cũng là lý do nhóm chúng em chọn đề tài này.Để hoàn thành được bài tập lớn này, nhóm chúng em xin gửi lời cảm ơn chân thành đến :Thầy cô hướng dẫn đề tài – TS Vũ Thị Hương Giang và Th.S Nguyễn Ngọc Dũng,giảng viên khoa Công Nghệ Thông Tin Trường Đại Học Bách Khoa Hà Nội – đã hết lòng giúpđỡ, hướng dẫn chỉ giạy tận tình, cùng những nhận xét đánh giá đúng đắn để giúp chúng em hoànthành được đề tài này.Hà Nội, 18 tháng 12 năm 2013Nhóm 3, Lớp CNTT-TT 2.41.Trịnh Đình Hiếu2.Nguyễn Đức Cảnh3. Nguyễn Hoàng AnhProject IPage | 5Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15PHÂN CÔNG THÀNH VIÊN TRONG NHÓMSau khi thống nhất các thành viên trong nhóm:TuầnTrịnh Đình HiếuNguyễn Đức CảnhNguyễn Hoàng Anh1 – 2Nghiên cứu nghiệp vụ – hoànthành 80%Nghiên cứu nghiệp vụ – hoànthành 80%Nghiên cứu nghiệp vụ – hoànthành 80%2 – 4Nghiên cứu cơ sở dữliệu(MySQL) – hoàn thành80%Nghiên cứu cơ sở dữliệu(MySQL) – hoàn thành 80%Nghiên cứu cơ sở dữliệu(MySQL) – hoàn thành 80%4 – 5Tìm hiểu và sử dụng JDBCđể kết nối Java – MySQL –hoàn thành 90%Tìm hiểu và sử dụng JDBC đểkết nối Java – MySQL – hoànthành 90%Tìm hiểu và sử dụng JDBC đểkết nối Java – MySQL – hoànthành 90%5 – 6Thiết kế biểu đồ : use case,class, sequence, activity –hoàn thành 80%Thiết kế biểu đồ : use case, class,sequence, activity – hoàn thành80%Thiết kế biểu đồ : use case, class,sequence, activity – hoàn thành80%6 – 10Code các lớp chức năngchương trình – hoàn thành85%Hoàn thành cơ sở dữ liệu – hoànthành 85%Code giao diện chương trình –hoàn thành 85%10 – 12Chỉnh sửa và hoàn thiệnchương trình – hoàn thành90%Viết báo cáo, slide – hoàn thành90%Tự kiểm thử chương trình – hoànthành 90%12 – 14Hoàn thiện , đóng gói chươngtrình –hoàn thiện 90%Hoàn thiện báo cáo, slide – hoànthiện 90%Kiểm thử nhóm 5 và biên bảnbáo cáo kiểm thử – hoàn thiện90%Project IPage | 6Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15PHẦN 1: CƠ SỞ LÍ LUẬN CHỌN ĐỀ TÀI1) Sự cần thiết và vai trò của quản lí chi tiêu bằng phần mềm1.1 Sự cần thiết của quản lí bằng máy tínhTrong giai đoạn hiện nay, môi trường làm việc bằng máy tính đã tỏ ra rất hiệu quả vềgiảm thiểu và hạn chế những thiếu sót mà môi trường làm việc truyền thống thể hiện. Ngoài raviệc sử dụng máy tính và công nghệ thông tin vào công việc giúp ta rất lớn trong việc:+Quản lí dữ liệu tập trung, lợi ích về việc tiết kiệm thời gian, tiết kiệm chi phí, nhân lựclao động chân tay, và giữ gìn về sinh môi trường.+Sử dụng phần mềm chuyên biệt để quản lí làm cho công việc đạt kết quả, hiệu suất caohơn, công việc trở lên đơn giản, dễ dàng và nhanh tróng được thực hiện.1.2 Khái niệm và vai trò của phần mềm quản líPhần mềm dùng để giải quyết một nhu cầu hay một bài toán quản lí cụ thể nào đó. Nóphải có những tiêu chí cụ thể và giải quyết được nhu cầu thực tế như : Phần giao diện để ngườidùng thao tác, có cơ sở dữ liệu tập trung, có đầy đủ chức năng và thành phần phục vụ yêu cầunghiệp vụ riêng.1.3 Đặc điểm của phần mềm quản lí chi tiêuQuản lí chi tiêu là phần mềm giúp cho công việc quản lí thu chi trong gia đình, cá nhânđơn giản cũng như hiệu quả và tiết kiệm tối đa thời gian của từng thành viên. Với các chức năngthêm thành viên, bổ sung chỉnh sửa thông tin, các hoạt động giao dịch mua bán của từng thànhviên được thống kê đầy đủ cũng như tìm kiếm đối với giao dịch hay các thành viên. Phần mềmquản lí chi tiêu ngày càng cho thấy vai trò quan trọng trong mỗi gia đình hay mỗi ca nhân.2) Các phần mềm quản lí sẵn có2.1 Phần mềm miễn phí• Chủ yếu là các phiên bản dùng thử, thời gian sử dụng giới hạn và chưa đầy đủ các chức năng.• Do là phần mềm miễn phí lên chưa được kiểm thử nhiều nên hay mắc nhiều lỗi cơ bản.2.2 Phần mềm có phí• Phải trả phí giá thành khá cao, không cá nhân hóa, hay sửa chữa bảo trì theo yêu cầu của công tysản xuất. Chủ yếu chạy trên nền tảng Windows mà không có hoặc ít chạy trên các nền tảng khácnhư Mac, Linux, Ubuntu.2.3 Phần mềm việt hóa• Là các phần mềm quản lí chi tiêu của nước ngoài, khó cài đặt, triển khai, việt hóa chưa hoàntoàn khó nâng cấp và bảo trì và chủ yếu chạy trên nền tảng Windows mà chưa có nền tảng khác.3) Những khó khăn khi sử dụng phần mềm có sẵn3.1 Chi phí• Đối với một phần mềm quản lí chi tiêu gia đình tương đối nhỏ nên với những phần mềm trả phíthường khách hàng không chú ý cao dù là phần chạy rất tốt. Đi theo đó, còn kèm theo phí bảo trìhàng tháng, cùng với rắc rối khâu nâng cấp phần mềm cũng như sửa lỗi.Project IPage | 7Nhóm 3 – Lớp CNTT 2.4 K56 – MS 153.2 Cá nhân hóa chương trình• Việc sử dụng phần mềm có sẵn đối với việc cá nhân hóa chương trình khá khó khăn, vì phầnmềm được thiết kế chung cho nhiều gia đình khác nhau và đa phần theo khuôn mẫu nhà thiết kếcó thể không phù hợp với nhu cầu của bạn.4) Đặc tả yêu cầu bài toán4.1 Một số yêu cầu phần mềm phải có Người sử dụng có thể lưu lại các thông tin chi tiêu hàng ngày. Cá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…. Có phần thống kê, đánh giá theo các khoảng thời gian nhất định. Các danh mục chi tiêu có thể được tạo ra bởi một người dùng một cách linh hoạt. Có chức năng tìm kiếm theo tên, ngày tháng, mô tả…. Có chức năng đánh tag phục vụ cho tìm kiếm. Có phân quyền người dùng, yêu cầu đăng nhập hệ thống.4.2 Ràng buộc logic ban đầu khi thực hiện bài toán Chỉ admin mới có quyền thêm và xóa thành viên của hệ thống. Admin không có quyền thay đổi thông tin người dùng,tuy nhiên có quyền xem mọithông tin của các thành viên (trừ tiền trong tài khoản,mật khẩu thành viên). Mọi thành viên bình thường trong hệ thống không có quyền xem mật khẩu, tiềntrong tài khoản hay bất cứ một khoản thu chi riêng nào của thành viên khác . Mọi người có quyền thay đổi thông tin cá nhân cũng như cập nhật đơn vị công tácvà tài khoản ngân hàng. Mọi thu chi chung và nhóm đều được thực hiện chi trả trực tiếp bằng tiền mặt (mỗithành viên đều có một tài khoản là tiền mặt). Mọi khoản chi tiêu chung và nhóm không thông dụng đều phải được tất cả thànhviên tham gia đồng ý mới thực hiện thanh toán (thông qua khoản chi). Chi tiêu thông dụng được thực hiện bởi manager, đó là các khoản chi thông dụnghằng ngày và có hạn mức ,nếu các khoản chi chung và nhóm được thực hiện bởimanager và nằm trong hạn mức (vd: tiền chi < 100000 đ) thì mặc định là tất cả thànhviên chấp nhận và thực hiện trừ tiền các thành viên,ngược lại nếu nó lớn hơn hạnmức thì khoản chi đó trở thành loại không thông dụng. Mọi giao dịch trong hệ thống chỉ thực hiện đến đơn vị hàng triệu tỉ (tức 15 chữ số). Không được xóa giao dịch đã được chấp nhận hoặc do thành viên khác khởi tạo. Mọi loại hình chi tiêu hay thu nhâp chỉ thực hiện với số tiền dương. Mọi khoản chi riêng chỉ được thực hiện khi tài khoản được chọn giao dịch còn đủtiền. Nếu khoản chi tiêu chung hoặc nhóm đã được thành viên chấp nhận mà thành viênkhông còn đủ tiền thì hệ thống sẽ tự động trừ tiền khi tiền mặt của tất cả thành viêntham gia đủ chi trả. Thời hạn khởi tạo hệ thống mặc định là 10 ngày, các thu chi riêng thời hạn sẽ là -1,hệ thống sẽ tự động cập nhật lại thời hạn.Project IPage | 8Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15 Dự án khởi tạo sẽ kết thúc khi mà thời hết hạn hoặc là có thành viên không chấpnhận, hệ thống thông báo thành viên khởi tạo ban đầu có thể khởi tạo lại dự án đónếu thấy cần thiết.5) Biểu đồ use case5.1 Biểu đồ use case tổng quanHình 1.1. Use case tổng quan5.2 Biểu đồ use case phân rãPhân rã các use case chính để thu được các use case chi tiết phục vụ cho thiết kế vàlập trìnhProject IPage | 9Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15 Use case Management UserHình 1.2. Use case Management User Use case Management Income/OutcomeHình 1.3. Use case Management Income/OutcomeProject IPage | 10Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15 Use case Management Information PersonalHình 1.4. Use case Management Information Personal Use case UtilityHình 1.5. Use case UtilityProject IPage | 11Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15 Use case ExportHình 1.6. Use case Export6) Đặc tả use case6.1 Đặc tả Use Case thanh toán giao dịch (Payment Normal)1. Tóm tắtUse case mô tả việc thanh toán giao dịch(thu nhập hoặc chi tiêu).2. Dòng sự kiện2.1 Dòng sự kiện chính Hệ thống hiển thị danh sách thu nhập chi tiêu chung gia đình và cánhân. Hệ thống lấy thông tin giao dịch bao gồm : số tiền, tên đối tác, loạithu nhập hoặc chi tiêu, tài khoản sử dụng. Hệ thống thực hiện giao dịch với các trường hợp Thu nhập: hệ thống cộng tiền vào tài khoản được ngườidùng chọn Chi tiêu : Riêng : hệ thống sẽ kiểm tra tài khoản có đủtiền cho dự án hay không, nếu đủ hệ thốngtrừ tiền vào tài khoản được người dùngchọn. Chung :- hệ thống sẽ lấy thông tin tiền mặt củacác thành viênProject IPage | 12Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15- Chi tiêu thông dụng : nếu khoản chidưới 100.000 đồng hệ thống sẽ tự trừtiền mặt của các thành viên.- Chi tiêu không thông dụng : nếu khoảnchi lớn hơn 100.000 đồng hệ thống sẽkiểm tra các thành viên có đồng ý không, nếu tất cả thành viên đồng ý hệ thốngsẽ kiểm tra cá nhân có đủ tiền không,nếu có cá nhân không đủ tiền hệ thốngsẽ lưu tự động trừ tiền sau khi tất cả đủtiền. Nếu các thành viên đủ tiền hệthống sẽ trừ tiền vào tiền mặt các thànhviên. Nhóm :- Hệ thống sẽ đợi các thành viên trongnhóm đồng ý.- Nếu các thành viên trong nhóm đồng ýhệ thống kiểm tra tất cả thành viên cóđủ tiền không, nếu đủ hệ thống trừ tiềnvào các tài khoản, nếu không đủ tiền hệthống sẽ lưu tự động trừ tiền sau khi tấtcả đủ tiền.- Nếu các thành viên trong nhóm khôngđồng ý hệ thống tự động kết thúc phiêngiao dịch này. Hệ thống tự động cập nhật ngày tháng trong hệ thống để thực hiệnthanh toán giao dịch. Hệ thống cập nhật khoản thu nhập chi tiêu Hiển thị lên màn hình thong tin khoản thu chi.2.2 Dòng sự kiện khácKhông có.3. Các yêu cầu đặc biệtKhông có4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiệnHệ thống phải được khởi động thành công, không xảy ra lỗi.5. Tình trạng hệ thống sau khi thực hiệnNếu use case thực hiện thành công thì mục giao dịch sẽ được cập nhật lênmàn hình, ngược lại trạng thái hệ thống không đổi.6. Điểm mở rộngNgười dùng có thể xem chi tiêu chung và cá nhân.Project IPage | 13Nhóm 3 – Lớp CNTT 2.4 K56 – MS 156.2 Đặc tả Use Case tìm kiếm giao dịch theo khoảng thời gian (follow date)1. Tóm tắtThực hiện nghiệp vụ tìm kiếm thông tin giao dịch theo khoảng thời gian.2. Dòng sự kiện2.1 Dòng sự kiện chính Use case bắt đầu khi người dùng muốn tìm kiếm các mục giaodịch, chọn nút tìm kiếm, chọn Tab Ngày tháng. Người dùng nhập vào khoảng thời gian cần tìm kiếm. Hệ thống sẽ liệt kê các thông tin giao dịch liên quan đến thànhviên bao gồm:- Tên đăng nhập, tên thành viên, tên đốitác.- Số tiền.- Thời gian.- Hành động.- Nội dung.- Thời hạn.- Trạng thái. Kết thúc use case.2.2 Các dòng sự kiện khác Hệ thống sẽ báo lỗi nếu người dùng chưa chọn khoảng thờigian. Hệ thống sẽ báo lỗi nếu người dùng nhập sai khoảng thời gian.3. Các yêu cầu đặc biệtKhông có.4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiệnHệ thống phải được khởi động thành công .5. Tình trạng hệ thống sau khi thực hiệnNếu usecase được thực hiện thành công thì thông tin bảng thống kê thông tin giaodịch theo khoảng thời gian sẽ được hiển thị, ngược lại trạng thái hệ thống khôngđổi.6. Điểm mở rôngKhông có.Project IPage | 14Nhóm 3 – Lớp CNTT 2.4 K56 – MS 156.3 Đặc tả Use Case tìm kiếm thông tin giao dịch theo khoản tiền (follow money)1. Tóm tắtThực hiện nghiệp vụ tìm kiếm thông tin giao dịch theo khoảng tiền2. Dòng sự kiện2.1 Dòng sự kiện chính Use case bắt đầu khi người dùng muốn tìm kiếm thông tin giaodịch theo khoảng tiền, chọn nút tìm kiếm, chọn Tab Số tiền. Người dùng nhập vào khoảng tiền cần tìm kiếm Hệ thống liệt kê thông tin giao dich liên quan đến thành viêncần tìm kiếm bao gồm:- Tên đăng nhập, tên thành viên, tên đốitác, tên dự án.- Số tiền.- Thời gian.- Hành động.- Nội dung.- Thời hạn.- Trạng thái. Kết thúc use case2.2 Các dòng sự kiện khác Hệ thống sẽ báo lỗi nếu người dùng không nhập đủ khoảng tiềntìm kiếm. Hệ thống không cho phép người dùng nhập chữ vào nội dungkhoảng tiền3. Các yêu cầu đặc biệtKhông có.4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiện Hệ thống phải được khởi động thành công Phải nhập đầy đủ thông tin5. Tình trạng hệ thống sau khi thực hiệnNếu use case được thực hiện thành công thì thông tin giao dịch theo khoảng tiền sẽđược hiển thị, ngược lại trạng thái hệ thống không đổi.6. Điểm mở rộngKhông có.Project IPage | 15Nhóm 3 – Lớp CNTT 2.4 K56 – MS 156.4 Đặc tả Use Case tìm kiếm theo thành viên (follow member)1. Tóm tắtThực hiện nghiệp vụ tìm kiếm thông tin giao dịch theo tên thành viên.2.Dòng sự kiện2.1 Dòng sự kiện chính Use case bắt đầu khi người dùng muốn tìm kiếm thông tin giaodịch theo tên thành viên, chọn nút tìm kiếm, chọn Tab thànhviên. Người dùng chọn tên thành viên Hệ thống liệt kê thông tin giao dịch liên quan đến tên thành viênmuốn tìm kiếm bao gồm:- Tên đăng nhập, tên thành viên, tên đốitác, tên dự án.- Số tiền.- Thời gian.- Hành động.- Nội dung.- Thời hạn.- Trạng thái.2.2 Dòng sự kiện khácHệ thống sẽ báo lỗi nếu người dùng chưa chọn tên thành viên.3.Các yêu cầu đặc biệtKhông có.4.Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiệnHệ thống phải được khởi động thành công.5.Tình trạng hệ thống sau khi thực hiệnNếu use case được thực hiện thành công thì thông tin giao dịch theo tên thành viên sẽđược hiển thị, ngược lại trạng thái hệ thống không đổi.6.Điểm mở rộngKhông có.Project IPage | 16Nhóm 3 – Lớp CNTT 2.4 K56 – MS 156.5 Đặc tả Use Case thêm giao dịch chi tiêu (add Outcome)1. Tóm tắtUse case thực hiện nghiệp vụ thêm giao dịch (thu nhập hoặc chi tiêu).2. Dòng sự kiện2.1 Dòng sự kiện chính Use case được thực hiện khi người dùng muốn thêm một giaodịch. Hệ thống hiển thị danh sách các mục giao dịch trước đó. Người dùng chọn hình thức giao dịch: thu nhập hoặc chi tiêu Thu nhập: Người dùng phải điền đầy đủ thông tin bao gồm :tên đối tác, địa chỉ đối tác, số điện thoại đối tác, sốtiền giao dịch, tên dự án. Người dùng chọn loại chi: riêng, chung, nhóm- Riêng : người dùng chọn tài khoản thamgia giao dịch. Hệ thống kiểm tra tàikhoản có thiếu tiền không nếu khôngthiếu tiền hệ thống lấy thông tin cầnthiết cho giao dịch sau đó kiểm tra đầyđủ chính xác thông tin sau đó thêm giaodịch mới vào cơ sở dữ liệu.- Chung : Hệ thống sẽ mặc định chi tiêubằng tài khoản tiền mặt, sau đó hệthống lấy thông tin cần thiết cho giaodịch rồi kiểm tra đầy đủ chính xác thôngtin, nếu đúng hệ thống thêm giao dịchvào cơ sở dữ liệu.- Nhóm : Người dùng chọn các thành viêncần tham gia giao dịch, sau đó hệ thốnglấy thông tin cần thiết cho giao dịch rồikiểm tra đầy đủ chính xác thông tin, nếuđúng hệ thống thêm giao dịch vào cơ sởdữ liệu.- Nếu khoản chi tiêu thuộc dạng chi tiêuthông dụng (Giới hạn tiền nhỏ hơn100.000 đồng) hệ thống tự trừ tiền vàotài khoản tiền mặt của các thành viêntrong nhóm. Nếu khoản chi tiêu khôngthuộc dạng chi tiêu thông dụng hệProject IPage | 17Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15thống lưu thông báo đến các thành viênvào cơ sở dữ liệu. Nếu các thành viênđồng ý hệ thống trừ tiền vào tài khoảntiền mặt của mỗi thành viên trongnhóm. Hệ thống thiết lập lại giao dịch để thực hiện cho lầngiao dịch tiếp theo. Hệ thống cập nhật vào cơ sở dữ liệu phiên giao dịchvừa nhập. Hiển thị lên màn hình khoản giao dịch vừa nhập.2.2 Dòng sự kiến khác Người dùng quên Click Điền đầy đủ thông tinđối tác, số tiền, tên dự án thì hệ thống sẽ báolỗi để người dùng nhập đầy đủ thông tin giaodịch. Khi người dùng quên chọn hành động, tàikhoản, loại chi thì hệ thống sẽ báo lỗi yêu cầungười dùng lựa chọn lại. Hệ thống sẽ báo lỗi nếu số tiền giao dịch vượtquá 15 chữ số. Mọi hoạt động giao dịch chỉ thực hiện được vớisố tiền dương. Khi người dùng chọn loại chi chung, hệ thốngmặc định chọn tài khoản tiền mặt để thực hiệngiao dịch.3. Các yêu cầu đặc biệtKhông có.4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiệnHệ thống phải được khởi động thành công.Người dùng phải thực hiện yêu cầu chi tiêu từ hệ thống nếu có.5. TÌnh trạng hệ thống sau khi thực hiệnNếu use case được thực hiện thành công thì mục giao dịch mới sẽ được hiển thị lênmàn hình chi tiêu, ngược lại trạng thái hệ thống không thay đổi.6. Điểm mở rộngKhông có.Project IPage | 18Nhóm 3 – Lớp CNTT 2.4 K56 – MS 156.6 Đặc tả Use Case thêm thành viên (add user)1. Tóm tắtUse case mô tả admin thêm thành viên mới.2. Dòng sự kiện2.1 Dòng sự kiện chính Use case này bắt đầu khi người dùng với vai trò Admin muốnthêm mới 1 nhân viên. Admin tiến hành nhập thông tin thành viên : họ tên, tên đăngnhập, điện thoại, mật khẩu, mã số thuế,địa chỉ, quyền hạn, ngàysinh. Sau khi điền đầy đủ thông tin cần thiết về thành viên , Adminchọn chức năng thêm. Hệ thống sẽ kiểm tra tính hợp lệ của thông tin:- Nếu không hợp lệ hệ thống báo lỗi bắtngười Admin phải chỉnh lại.- Nếu hợp lệ thông tin của thành viênmới sẽ được thêm vào hệ thống vàđược hiển thị lên màn hình.- Thông tin của thành viên mới đượcthêm vào cơ sở dữ liệu. Danh sách thành viên được cập nhật lại lên màn hình danh sáchthành viên. Hệ thống cho phép người Admin thiết lập lại các mục về trạngthái ban đầu để nhập thông tin cho lần tiếp theo. Kết thúc use case.2.2 Dòng sự kiện khác Hệ thống báo lỗi nếu chưa điền đầy đủ thôngtin tối thiểu phải có cho thành viên bắt ngườiAdmin điền đầy lại. Hệ thống tự mặc định nếu người Admin quênkhông chọn quyền hạn cho thành viên thì hệthống báo lỗi bắt chọn quyền hạn cho thànhviên. Nhập thông tin thành viên không hợp lệ thì hệthống sẽ báo lỗi các thông tin chưa hợp lệ vàyêu cầu Admin phải chỉnh sửa lại thông tin chohợp lệ. Việc xác nhận không được người sử dụng hệthống chấp thuận.Project IPage | 19Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15 Nếu việc xác nhận các thao tác tương ứngkhông được người sử dụng chấp thuận hệthống sẽ trở lại trạng thái trước đó của từngluồng sự kiện tương ứng.3. Các yêu cầu đặc biệtKhông có.4. Điều kiện tiên quyết/ Tình trạng hệ thống trước khi thực hiệnHệ thống phải được khởi động thành công.Người đăng nhập phải có quyền hạn là Admin mới được sử dụng chức năng thêmthành viên.5. Tình trạng hệ thống sau khi thực hiệnNếu use case được thực hiện thành công thì một thành viên mới được tạo lập,thông tin thành viên mới được hiển thị lên màn hình danh sách thành viên, ngượclại trạng thái hệ thống vẫn giữ nguyên.6. Điểm mở rộngKhông có.Project IPage | 20Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15PHẦN 2: CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG2.1) Ứng dụng chạy trên máy tính• Với những vấn đề nêu trên, chúng em quyết định viết phần mềm quản lí chi tiêu sử dụng chomáy tính và cá nhân hóa theo mô hình các gia đình chung .• Với việc sử dụng máy tính ngày càng phổ biến như hiện nay, việc sử dụng phần mềm quản líchi tiêu ngày càng dễ dàng và thuận tiện, đồng thời cũng dễ dàng bảo trì sửa chữa khi cần thiết.Đồng thời ta cũng có thể quản lí phần mềm và dữ liệu qua mạng máy tính.• Mọi dữ liệu đều tập trung ở máy chủ, do đó quá trình tìm kiếm, bổ sung hay update cũng khônggây khó khăn.2.2) Công nghệ JavaNhư đã nêu trên, việc sử dụng phần mềm trên nhiều nền tảng sẽ có tính linh hoạt và chủ độnghơn và chủ động hơn trong việc cá nhân hóa sản phẩm theo yêu cầu. Để làm được việc này thìviệc sử dụng caoong nghệ Java ta sẽ thấy được những lợi thế hơn hẳn :• Tính đa nền tảng : với một chương trình viết bằng Java ta có thể chạy trên các máy trạm có hệđiều hành khác nhau như: Windows, Linux, Unbutu, Mac…• Tính bảo mật : Đối với các sản phẩm làm từ Java gần như không có khái niệm bị virus hay phầnmềm do thám đính kèm … Các cơ chế bảo mật cũng giúp tăng mức độ an toàn và phân quyền sửdụng trên cơ sở chức năng và vai trò của người dùng.• Tính mở : Công nghệ Java được sử dụng theo hướng mã mở, các module đều được viết rất linhhoạt và khả chuyển, sau này dễ dàng phát triển và mở rộng chức năng mới một cách đơn giản.• Tính tiết kiệm: Cấu hình máy trạm không cần phải quá mạnh để có thể chạy được ứng dụngJava.• Cài đặt đơn giản : Ứng dụng viết bằng Java có thể sao chép hoặc chuyển qua các máy rồi chạymà không cần cài đặt.2.3) Cơ sở dữ liệu MySQLSo sánh yêu cầu thực tế sử dụng cơ sở dữ liệu MySQL có những ưu điểm như :• Tính linh hoạt : Máy chủ cơ sở dữ liệu MySQL cung cấp đặc tính linh hoạt, có sức chứa để xửlý các ứng dụng được nhúng sâu với dung lượng chỉ 1MB để chạy các kho dữ liệu đồ sộ lên đếnhàng TB thông tin. Sự linh hoạt về flatform là một đặc tính lớn của MySQL với tất cả các phiênbản của Linux, Unix, và Window đang được hỗ trợ. Và dĩ nhiên, tính chất mã nguồn mở củaMySQL cho phép sự tùy biến hoàn toàn theo ý muốn để thêm vào các yêu cầu thích hợp chodatabase sever.• Tính thực thi cao: Kiến trúc storage-engine cho phép các chuyên gia cơ sở dữ liệu cấu hình máychủ cơ sở dữ liệu cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù.Dù ứng dụng là một hệ thống xử lý giao dịch tốc độ cao hay web site dung lượng lớn phục vụhàng triệu yêu cầu mỗi ngày, MySQL có thể đáp ứng khả năng xử lý những đòi hỏi khắt khe nhấtcủa bất kì hệ thống nào. Với các tiện ích tải tốc độ cao, đặc biệt bộ nhớ caches, và cơ chế xử lýnâng cao khác, MySQL đưa ra tất cả các vũ khí cần phải có cho các hệ thống doanh nghiệp khótính ngày nay.• Có thể sử dụng ngay: Sự đáng tin cậy và tính “mì ăn liền” là những tiêu chuẩn đảm bảo củaMySQL.MySQL đưa ra nhiều tùy chọn có thể dùng ngay từ cấu hình cải tạo chủ/tớ tốc độ cao,Project IPage | 21Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15để các nhà phân phối thứ 3 đưa ra những giải pháp có thể dùng ngay duy nhất cho sever cơ sở dữliệu MySQL.• Hỗ trợ dao dịch mạnh: MySQL đưa ra một trong số những engine giao dịch cơ sở dữ liệu mạnhnhất trên thị trường. Các đặc trưng bao gồm hỗ trợ giao dịch ACID hoàn thiện ( Atomic – tựđộng, Consistent – thống nhất, Isolated – độc lập, Durable – bền vững ), khóa mức dòng khônghạn chế, khả năng giao dịch được phân loại, và hỗ trợ giao dịch đa dạng mà người đọc không baogiờ gây trở ngại cho người viết ngược lại. Tính toàn vẹn của cơ sở dữ liệu cũng phải được đảmbảo trong suốt quá trình server có hiệu lực, các mức dao dịch độc lập được chuyên môn hóa, vàphát hiện khóa chết ngay lập tức.• Chế độ bảo mật dữ liệu mạnh: Vì bảo mật dữ liệu cho các khách hàng là công việc số một củacác chuyên gia cơ sở dữ liệu, MySQL đưa ra tính năng bảo mật đặc biệt chắc chắn dữ liệu sẽđược bảo mật tuyệt đối. Trong việc xác nhận truy cập cơ sở dữ liệu, MySQL cung cấp các kĩthuật mạnh mà chắc chắn chỉ có ngưới sử dụng đã được xác nhận mới có thể truy cập được vàoserver cơ sở dữ liệu, với khả năng này để chặn người dùng ngay từ mức máy khách là điều có thểlàm được. SSH và SSL cũng được hỗ trợ để chắc chắn các kết nối được an toàn và bảo mật. Mộtđối tượng framework đặc quyền được đưa ra mà người sư dụng chỉ có thể nhìn thấy dữ liệu, cáchàm mã hóa và giải mã dữ liệu mạnh chắc chắn rằng dữ liệu sẽ được bảo mật. Cuối cùng, tiện íchbackup và recovery cung cấp bởi MySQL và các hãng phần mềm thứ 3 cho phép backup logic vàvật lý hoàn thiện cũng như recovery toàn bộ hoặc tại một thời điểm nào đó.•Sự phát triển ứng dụng hỗn hợp: Một trong lý do khiến cho MySQL là cơ sở dữ liệu mã nguồnphổ biến nhất thế giới là nó cung cấp hỗ trợ hỗn hợp cho bất kì sự phát triển nào cần. Trong cơ sởdữ liệu, hỗ trợ có thể được tìm thấy trong các stored procedure, trigger, function, view, cursor,ANSI-standard SQL, và nhiều nữa. Với các ứng dụng nhúng, thư viện plug-in có sẵn để nhúngvào cơ sở dữ liệu MySQL hỗ trợ bất kì ứng dụng nào. MySQL cũng cung cấp các bộ kết nối như:ODBC, JDBC, … để cho phép tất cả các form của ứng dụng sử dụng MySQL như một serverquản lí dữ liệu được ưu tiên.• Dễ dàng quản lí: MySQL trình diễn khả năng cài đặt nhanh đặc biệt với thời gian từ lúcdownload phần mềm đến khi cài đặt hoàn thành chỉ mất khoảng 15 phút. Khi cài đặt, tính năng,tính năng tự quản lý như tự động mở rộng không gian, tự khởi động lại, và cấu hình động sẵnsàng cho người quản trị cơ sở dữ liệu làm việc. MySQL cũng cung cấp một bộ hoàn thiện cáccông cụ quản lý đồ họa cho phép một DBA quản lý, sửa chữa, và điều khiển hoạt động của củanhiều server MySQl từ một máy trạm đơn.• Mã nguồn mở: Nhiều công ty lưỡng lự trong việc giao phó toàn bộ cho phần mềm mã nguồnmở vì họ tin họ không thể tìm được một cách hỗ trợ hay mạng lưới an toàn phục vụ chuyênnghiệp, hiện tại, ho tin vào phần mềm có bản quyền để chắc chắn về sự thành công toàn diện chocác ứng dụng chủ chốt của họ. Những lo lắng của họ có thể được dẹp bỏ với MySQL, sự bồithường là có trong mạng lưới MySQL.• Chi phí thấp: Bằng cách sử dụng MySQL cho các dự án phát triển mới, các công ty đang thấyrõ việc tiết kiệm chi phí. Được hoàn thành thông qua sử dụng server cơ sở dữ liệu MySQL vàkiến trúc scale-out, các doanh nghiệp đã tìm ra cái mà họ có thể đạt được ở mức ngạc nhiên vềkhả năng xử lý.Project IPage | 22Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15PHẦN 3: PHÂN TÍCH THIẾT KÊ BÀI TOÁN3.1) Thiết kế cơ sở dữ liệuBảng memberTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúidINT11Khóa chínhKhông đượctrống, tự tănguserNameVARCHAR45Not nullTên đăng nhậpPassWordVARCHAR45Not nullPass word đăngnhậpnameVARCHAR45Not nullTên ngườidùngphoneNumberVARCHAR45Not nullSố điện thoạiaddressVARCHAR45Not nullĐịa chỉbirthDayVARCHAR25Not nullNgày sinhprivilege_IdINT11Khóa ngoàiKhóa chính củaprivilegeBảng bankTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông trống, tựtăngnameBankVARCHAR45Not nullTên ngân hàngaddressVARCHAR45Not nullĐịa chỉ ngânhàngphoneNumberVARCHAR45Not nullSố điện thoạingân hàngtaxCodeVARCHAR45Not nullMã số thuếngân hàngBảng companyTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông đượctrống, tự độngtăngnameVARCHAR45Not nullTên công tyaddressVARCHAR45Not nullĐịa chỉ công typhoneNumberVARCHAR45Not nullSố điện thoạicông tytaxCodeVARCHAR45Not nullMã số thuếcông tyProject IPage | 23Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15Bảng projectTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông được trống,tự động tăngnameProjectVARCHAR45Not nullTên dự ántimeLimitINT11Not nullThời hạn của dư ántimeSaveINT11Not nullThời gian bắt đầufinishStatusVARCHAR45Not nullTrạng thái kết thúcBảng privilegeTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông được trống,tự động tăngcontentVARCHAR45Not nullQuyền hạn thànhviênBảng partnerTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông được trống,tự động tăngnameVARCHAR45Not nullTên đối tácaddressVARCHAR45Not nullĐịa chỉ đối tácphoneNumberVARCHAR45Not nullSố điện thoại đốitácBảng transactionTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông được trống,tự động tăngmoneyINT11Not nullTên giao dịchtimeINT11Not nullThời gian giao dịchtimeDisplayVARCHAR45Not nullThời gian hiển thịgiao dịchactionVARCHAR50Not nullHoạt động giao dịchcontentVARCHAR45Not nullNội dung giao dịchMember_IdINT11Khóa ngoàiKhóa chínhmemberProject_IdINT11Khóa ngoàiKhóa chính projectPartner_IdINT11Khóa ngoàiKhóa chính partnerProject IPage | 24Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15Bảng messageTên trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông được trống,tự động tăngidSendINT11Not nullĐịa chỉ gửiidReceiveINT11Not nullĐịa chỉ nhậnnameProjectVARCHAR45Not nullTên dự ánidProjectINT11Not nullId dự ánmoneyINT11Not nullSố tiền cho dự ánđócontentVARCHAR45Not nullNội dung thông báoagreeVARCHAR45Not nullSự xác nhânBảng noteTen trườngKiểu dữ liệuKích thướcRàng buộcGhi chúIdINT11Khóa chínhKhông được trống,tự động tăngheadVARCHAR45Not nullcontentVARCHAR45Not nulldateVARCHAR45Not nullmemberVARCHAR45Not nullProject IPage | 25Nhóm 3 – Lớp CNTT 2.4 K56 – MS 15Thiết kế cơ sở dữ liệuHình 3.1. Hình ảnh sơ đồ quan hệ giữa các bản cơ sở dữ liệu


Ứng dụng kiểm soát chi tiêu tốt nhất trên smartphone: Money Lover


Anh em nếu thấy video hữu ích đừng quên ấn SUBSCRIBE và NHẤN CHUÔNG để theo dõi những video mới nhất nhé. Xem thêm những video mới nhất tại: http://bit.ly/VatVoStudo
Đa phần chúng ta đều gặp tình trạng tiền “bốc hơi” không rõ lý do vào mỗi tháng, khi mà không biết mình đã tiêu gì nhưng ví đã trống trơn. Ứng dụng Money Lover sẽ giúp các bạn kiểm soát chi tiêu một cách chính xác nhất, tránh việc chưa hết tháng đã hết tiền.
Link tải ứng dụng:
⭐️Phiên bản Android: https://goo.gl/LsntEi
⭐️Phiên bản iOS: https://goo.gl/1hA3YU
Xem thêm thông tin tại: https://moneylover.vn/
Tham gia Group công nghệ Vật Vờ để bàn tán chém gió, khiếu nại khi mua hàng: https://www.facebook.com/groups/vatvavatvo/
☕☕ Để trải nghiệm các sản phẩm công nghệ mới nhất, uống cafe ngắm view đẹp giữa trung tâm thành phố, cũng như gặp gỡ giao lưu với mình, các bạn có thể ghé qua ☕Kone Cafe 295 Khâm Thiên nha.
❇️ Xem các video game, ứng dụng hay cho smartphone: https://goo.gl/GuI25l
✴️ Đánh giá/tư vấn các phân khúc dưới 3⃣️ triệu:https://goo.gl/EF0QKF
✳️ Đánh giá/tư vấn các phân khúc 4⃣️ triệu: https://goo.gl/FVrKJ7
✳️ Đánh giá/tư vấn các phân khúc 5⃣️ triệu: https://goo.gl/YlrYkh
✳️ Đánh giá/tư vấn các smartphone phân khúc 7⃣️ triệu: https://goo.gl/YZAI0g
✴️ Đánh giá/tư vấn các smartphone phân khúc 9⃣️ triệu:
https://goo.gl/Q0X5OB

⁉️⁉️ Video review, trên tay, các sản phẩm điện thoại, giá bán rẻ nhất, cửa hàng mua uy tín nhất, sản phẩm tốt nhất trong tầm giá và các tư vấn, lời khuyên, video so sánh các sản phẩm cần mua, đánh giá sản phẩm công nghệ, điện thoại di động, máy tính bảng, sản phẩm xách tay Hàn Quốc, Nhật Bản, sản phẩm chính hãng. Các video đánh giá này thuộc quyền sở hữu của Vật Vờ.
✌️500 ANH EM HÃY VỀ ĐỘI CỦA MÌNH 🤝
Fanpage: https://www.facebook.com/vinhvatvo69
Facebook: https://www.facebook.com/xuanvinh1612
Instagram: https://www.instagram.com/vatvo69
Email: xuanvinh1612@gmail.com
Email liên hệ hợp tác quảng cáo: xuanvinh1612@gmail.com
My email to corporate: xuanvinh1612@gmail.com
(Email chỉ để liên hệ hợp tác, không trả lời các thắc mắc tư vấn tình cảm, yêu đương và sản phẩm. Xin cám ơn.)

Xem thêm bài viết thuộc chuyên mục: Tổng Hợp
Xem thêm bài viết thuộc chuyên mục: Tổng Hợp

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Check Also
Close
Back to top button