Tải bản đầy đủ (.pdf) (60 trang)

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





×