Đầu vào : thông tin về chi tiêu của cá nhân và chi tiêu chung của gia đình Đầu ra : quản lí thông tin chi tiêu của các thành viên trong gia đình với các chức năng: thêm, xóa, cập nhậ
Trang 1Sdf sdfsadf
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
thành viên trong gia đình
Trang 2Contents
Lời mở đầu 4
Phần công công việc trong nhóm 5
CHƯƠNG I: KHẢO SÁT ĐẶC TẢ YÊU CẦU BÀI TOÁN 6
1 Mô tả yêu cầu bài: 6
1.1 yêu cầu hệ thống quản lí chi tiêu trong gia đình 6
1.2 Hệ thống quản lí chi tiêu gia đình có các chức năng chính 6
2 Biểu đồ Usecase: 8
2.1 Các tác nhân của hệ thống: 8
2.2 Các Usecase của hệ thống 8
2.3 Biểu đồ Usecase tổng quan: 10
2.4 Biểu đồ Usecase phân rã mức 2 : 12
3 Đặc tả Usecase: 17
3.1.Đặc tả chức năng đăng nhập: 17
3.2.Đặc tả Usecase đăng kí: 18
3.3.Đặc tả chức năng tìm kiếm: 19
3.4.Đặc tả chức năng giao dịch: 22
3.5.Đặc tả Usecase thống kê: 24
CHƯƠNG II: PHÂN TÍCH THIẾT KẾ BÀI TOÁN 26
1 Cấu trúc dữ liệu: 26
2 Biểu đồ trình tự: 28
2 1 Biểu đồ trình tự đăng nhập: 28
2.2 Biểu đồ trình tự đăng kí thành viên mới : 29
2.3 Biểu đồ trình tự thêm giao dịch: 30
2.4 Biểu đồ trình tự xác nhận giao dịch: 31
2.5 Biểu đồ trình tự tham gia chi chung: 32
2.6 Biểu đồ trình tự thống kê: 33
3 Biểu đồ lớp : 34
3.1 Biểu đồ lớp : 34
3.2 Các lớp của hệ thống: 36
4 Thiết kế chi tiết lớp : 42
4.1 Thiết kế chi tiết lớp Control: 42
4.2 Thiết kế chi tiết lớp Connect() 43
CHƯƠNG III : CÔNG NGHỆ VÀ THUẬT TOÁN SỬ DỤNG 45
1.Ngôn ngữ lập trình Java: 45
1.1 Giới thiệu về Java: 45
Trang 31.2 Công cụ sử dụng : 46
2 Hệ quản trị cơ sở dữ liệu MySQL: 46
3 Trình điều khiển JDBC – kết nối ngôn ngữ Java và MySQL: 47
3.1 Giới thiệu về JDBC: 47
3.2 Kiến trúc JDBC: 47
3.3 Một số lớp JDBC quan trọng: 47
CHƯƠNG IV : KẾT QUẢ CHƯƠNG TRÌNH MINH HỌA 49
1.Kết quả chương trình mình họa : 49
2 Giao diện chương trình: 50
2.1 Giao diện khởi động của chương trình: 50
2.2 Chức năng đăng nhập : 51
2.3 Chức năng đăng kí người dùng mới 52
2.4 Chức năng thêm giao dịch: 53
2.5 Chức năng duyệt giao dịch: 54
2.6 Chức năng tham gia giao dịch chung: 55
2.7 Chức năng tìm kiếm: 56
2.8 Chức năng thống kê : 57
2.9 Chức năng cập nhật thông tin, cấp lại mật khẩu: 58
2.10 Chức năng phân quyền thành viên 59
CHƯƠNG V : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61
1.Kết luận: 61
1.1 Kết quả đạt được : 61
1.2 Hạn chế: 61
2 Hướng phát triển : 62
Tài liệu tham khảo: 63
Trang 4Lời mở đầu
Trong những năm gần đây, khi nền khoa học công nghệ thông tin đang ngày
càng phát triển như vũ bão thì vấn đề quản lí và khai thác dữ liệu đã trở thành một
trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ
tri thức Lĩnh vực này đã và đang ứng dụng thành công vào rất nhiều các lĩnh vực
khác nhau như thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học,
sinh học, giáo dục và viễn thông…
Không chỉ vậy, vấn đề khai thác dữ liệu và quản lí dữ liệu đang ngày càng trở
nên thiết thực hơn đóng vai trò không nhỏ trong cuộc sống Cùng với quá trình phổ
cập tin học thì phần lớn cá nhân, gia đình đều có và biết cách sử dụng máy tính Nắm
bắt được xu thế đó đã có rất nhiều phần mềm ra đời phục vụ nhu cầu của cá nhân, gia
đình
Trong cuộc sống, gia đình cũng như cơ quan tổ chức, chi tiêu cũng cần phải
được quản lí tránh những thất thoát không đáng có Trong gia đình thì người mẹ,
người vợ là người nắm sổ sách chi tiêu, thế nhưng nhiều lúc sổ sách ấy lại không được
ghi chép lại, mà chỉ là trí nhớ vụn vặt và thống kê không đầy đủ Do đó khi người phụ
nữ bộn bề công việc trong gia đình thì quản lí chi tiêu là việc vặt nhưng cũng mất rất
nhiều thời gian
Nắm bắt được điều đó, trong khi tiếp cận môn Project 1, nhóm chúng em đã lựa
chọn đề tài “ quản lí chi tiêu cho các thành viên trong gia đình” Phần mềm không
chỉ nhằm áp dụng khả năng quản lí dữ liệu của công nghệ vào cuộc sống mà mục đích
chính là giảm bớt gánh nặng đối với người mẹ, người vợ đang từng ngày tất bật với
công việc gia đình và xã hội Đó cũng chính là lý do chúng em chọn đề tài này
Trong quá trình hoàn thành bài tập lớn, chúng em xin được gửi lời cảm ơn chân
thành đến:
Cô giáo hướng dẫn TS Vũ Thị Hương Giang và thầy giáo hướng dẫn Ths
Nguyễn Ngọc Dũng giảng viên trường đại học Bách Khoa Hà Nội đã hết lòng
hướng dẫn, giúp đỡ tạo mọi điều kiện để chúng em hoàn thành bài tập lớn
Nhóm các bạn sinh viên lớp Project 1 đã góp ý và giúp đỡ trong quá trình hoàn
thành bài tập này
Hà Nội , tháng 12 - 2013
Trang 5Phần công công việc trong nhóm
Họ và tên Công việc Mức độ hoàn
thành
Hồ Thúc Đồng Phân tích xác định yêu cầu từ đề tài và
người dùng, xác định yêu cầu của hệ thống,
vẽ các biểu đồ Usecase chính
Thiết kế cơ sở dữ liệu
Xây dựng chức năng đăng nhập/đăng xuất
Xây dựng chức năng nhập dữ liệu, thêm giao dịch
Xây dựng chức năng tham gia chi chung
Xây dựng chức năng cập nhật thông tin người dùng
Kiểm thử chương trình
Công việc được giao 33%
Đánh giá mức độ hoàn thành 95%
Hà Xuân
Thuyên Phân tích xác định yêu cầu từ đề tài và
người dùng, xác định yêu cầu của hệ thống,
vẽ các biểu đồ Usecase chính
Phân tích thiết kế hệ thống
Xây dựng lớp kết nối
Xây dựng chức năng thống kê
Xây dựng chức năng duyệt của Manager
Xây dựng chức năng cấp lại mật khẩu và phân quyền của Admin
Xây dựng và thiết kế giao diện
Kiểm thử chương trình
Công việc được giao 33%
Đánh giá mức độ hoàn thành 95%
Nguyễn Thanh
Cường Phân tích xác định yêu cầu từ đề tài và
người dùng, xác định yêu cầu của hệ thống,
vẽ các biểu đồ Usecase chính
Thiết kế cơ sở dữ liệu
Xây dựng chức năng truy xuất dữ liệu
Xây dựng chức năng đăng kí
Xây dựng chức năng tìm kiếm
Xây dựng chức năng hướng dẫn người sử dụng
Làm báo cáo và slide
Công việc được giao 33%
Đánh giá mực độ hoàn thành 90%
Trang 6CHƯƠNG I: KHẢO SÁT ĐẶC TẢ YÊU CẦU BÀI TOÁN
1 Mô tả yêu cầu bài:
1.1 yêu cầu hệ thống quản lí chi tiêu trong gia đình
Xây dựng phần mềm quản lí chi tiêu của các thành viên trong gia đình
1 Phần mềm có yêu cầu đăng nhập hệ thống, phân quyền người dùng
2 Phần mềm có thông tin lưu trữ cho một phần chi tiêu bao gồm: thời gian, lí do, mục chi tiêu, hình ảnh liên quan…
3 Phần mềm có thể thống kê, đánh giá theo các khoảng thời gian nhất định
4 Phần mềm có các danh mục chi tiêu có thể được tạo bởi người một cách linh hoạt
5 Chức năng tìm kiếm theo tên, ngày tháng, mô tả…
6 Phần mềm có chức năng đánh tag phục vụ tìm kiếm
Đầu vào : thông tin về chi tiêu của cá nhân và chi tiêu chung của gia đình
Đầu ra : quản lí thông tin chi tiêu của các thành viên trong gia đình với các chức năng: thêm, xóa, cập nhật, thống kê giao dịch
1.2 Hệ thống quản lí chi tiêu gia đình có các chức năng chính.
Chức năng đăng kí thành viên:
Để sử dụng hệ thống quản lí chi tiêu thì mỗi thành viên cần có tài khoản riêng
Thành viên đăng kí trực tiếp từ giao diện khởi động của hệ thống
Tài khoản đó sau khi đăng kí thành công có thể đăng nhập vào hệ thống Đăng kí thành công thì mặc định tài khoản đó là Member
Chức năng đăng nhập/đăng xuất hệ thống có phân quyền người dùng:
Tài khoản đăng nhập hệ thống với đúng tài khoản và mật khẩu mà hệ thống cung cấp
Tài khoản đăng nhập nếu không còn nhu cầu sử dụng hệ thống hoặc cần đăng nhập tài khoản khác có thể tiến hành đăng xuất
Trang 7 Chức năng lưu trữ thông tin giao dịch:
Thành viên có thể lưu thông tin giao dịch cá nhân hoặc giao dịch chung trong gia đình vào hệ thống
Thành viên có thể tham gia giao dịch chung của gia đình hay nhóm thành viên bằng cách đóng góp tiền vào hệ thống
Manager sẽ duyệt để biết giao dịch đã hoàn thành hay chưa
Chức năng cập nhật thông tin:
Hệ thống cho phép thành viên thay đổi thông tin cá nhân của mình
Admin có thể cấp lại mật khẩu cho thành viên
Chức năng tìm kiếm theo từ khóa và ngày tháng:
Hệ thống cho phép tìm kiếm theo từ khóa
Hệ thống cho phép tìm kiếm theo ngày tháng
Hệ thống cho phép tìm kiếm theo số tiền
Chức năng thống kê, đánh giá theo từng khoảng thời gian nhất định:
Hệ thống có sự thống kê chi tiêu các thành viên trong một tháng
Hệ thống có sự thống kê thu nhập của thành viên trong một tháng
Hệ thống đánh giá cá nhân chi tiêu trong tháng, còn dư tiền hay tiêu quá thu nhập hàng tháng
Trang 82 Biểu đồ Usecase:
2.1 Các tác nhân của hệ thống:
STT Tên tác nhân Chức năng
1 Admin Quản trị hệ thống hệ thống
Phân quyền người dùng
Cấp lại mật khẩu cho người dùng
2 Manager Quản lí chi tiêu của cá nhân bằng cách duyệt giao dịch
hoàn thành
Quản lí chi tiêu chung của gia đình bằng cách duyệt giao dịch hoàn thành
3 Member Người sử dụng hệ thống, thực hiện các giao dịch và quản
lí chi tiêu cá nhân
Đăng nhập, xem giao dịch, thêm, cập nhật, xóa giao dịch
4 Actor Người dùng hệ thống với chức năng đăng kí tài khoản
2.2 Các Usecase của hệ thống:
o Các Usecase chính:
Stt Tên Usecase
1 Đăng nhập Người dùng đăng nhập để sử dụng hệ thống
2 Đăng xuất Người dùng thoát khỏi hệ thống khi không có nhu cầu sử
dụng
3 Đăng ký Thêm người dùng vào hệ thống, mặc định sẽ là Member
4 Giao dịch Hiện thị giao dịch của các thành viên trong gia đình
5 Tìm kiếm Tìm kiếm dữ liệu hệ thống
6 Thống kê Thực hiện chức năng thống kê cho người dùng
7 Bảo mật Cập nhật thông tin cá nhân của tài khoản đăng nhập
8 Hướng dẫn Hướng dẫn người dùng sử dụng hệ thống
o Các Usecase con:
Usecase giao dịch:
STT Tên Usecase con Ý nghĩa
1 Thêm giao dịch Lưu trữ giao dịch mới của người dùng
2 Xem giao dịch cá
nhân
Hệ thống hiển thị giao dịch cá nhân của các thành viên
3 Xem giao dịch chung Hệ thống hiển thị giao dịch chung của trong gia đình để
các thành viên có thể tham gia
4 Xem thông tin hạng
mục
Hệ thống hiển thị các giao dịch chung đã hoàn thành
Trang 9Xem các giao dịch chi chung
2 Chi tiêu trong
STT Tên Usecase con Ý nghĩa
1 Trang chủ Hướng dẫn người dùng trong giao diên trang chủ
2 Giao dịch Hướng dẫn người dùng thao tác giao dịch trong giao
diện
3 Bảo mật Hướng dẫn người dùng cập nhật và bảo mật thông tin
4 Tìm kiếm Hướng dẫn người dùng tìm kiếm dữ liệu trong giao diện
tìm kiếm
Trang 102.3 Biểu đồ Usecase tổng quan:
Hình 1.1 : Biểu đồ Usecase tổng quan
Biểu đồ Usecase tổng quan:
o Tác nhân : Admin, Manager, Member, Actor
o Hệ thống :
Đăng kí: đăng kí thành viên mới
Cập nhật thông tin: cấp lại mật khẩu cho thành viên
Đăng nhập/đăng xuất: đăng nhập hệ thống bằng tài khoản cá nhân của thành viên và đăng xuất đối với tài khoản đó
Bảo mật: thông tin của thành viên đối với tài khoản đang đăng nhập hệ thống Bao gồm họ tên, tên tài khoản, mật khẩu, số điện thoại, địa chỉ, đơn vị công tác
Giao dịch: hiển thị thông tin giao dịch của các thành viên, cho phép thực hiện các chức năng hệ thống bao gồm thêm, cập nhật, xóa giao dịch
Thống kê: chức năng thống kê, đánh giá chi tiêu trong tháng
Tìm kiếm : chức năng tìm kiếm dữ liệu của hệ thống
Phân quyền: phân quyền tài khoản thành viên gồm : Member, Manager, Admin Mỗi tài khoản phân quyền như trên sẽ có những chức năng và giới hạn riêng
Trang 11o Mô tả:
Actor có thể thực hiện chức năng:
Đăng kí
Admin có thể thực hiện các chức năng :
Đăng nhập/đăng xuất
Manager có thể thực hiện các chức năng :
Đăng nhập/đăng xuất
Bảo mật
Giao dịch
Tìm kiếm
Member có thể thực hiện các chức năng :
Đăng nhập/đăng xuất
Bảo mật
Giao dịch
Thống kê
Tìm kiếm
Trang 122.4 Biểu đồ Usecase phân rã mức 2 :
2.4.1 Biểu đồ Usecase về đăng nhập:
Biểu đồ Usecase đăng nhập:
Hình 1.2 : Sơ đồ Usecase đăng nhập
o Tác nhân : Admin, Manager, Member
o Hệ thống : đăng nhập
o Mô tả :
Người dùng nhập tài khoản và mật khẩu vào hệ thống
Hệ thống tìm kiếm tài khoản tương ứng trong cơ sở dữ liệu
Nếu tài khoản đúng thì hệ thống hiển thị giao diện sử dụng các chức năng hệ thống
2.4.2 Biểu đồ Usecase về đăng kí
Biểu đồ Usecase đăng kí:
Hình 1.3 : biểu đồ Usecase đăng kí
Trang 13Biểu đồ Usecase đăng kí:
Hệ thống phân quyền mặc định là user cho tài khoản mới đăng kí
2.4.3 Biểu đồ Usecase về giao dịch:
Hình1.4 : Biểu đồ Usecase giao dịch
Biểu đồ Usecase giao dịch:
o Tác nhân : Member , Manager
o Hệ thống : giao dịch, tham gia chi chung, thêm giao dịch, duyệt giao dịch, cập nhật
o Mô tả :
Member đăng nhập thực hiện giao dịch thêm giao dịch cá nhân hoặc thêm giao dịch chung
Trang 14 Member khác có thể tham gia giao dịch chung nếu giao dịch đó là giao dịch chung, không tham gia vào giao dịch cá nhân của Member khác
Manager tiến hành duyệt giao dịch
Manager duyệt các giao dịch đã hoàn thành và cập nhật thông tin
2.4.4 Biểu đồ Usecase tìm kiếm :
Hình1.5: Biểu đồ Usecase tìm kiếm
Biểu đồ Usecase tìm kiếm :
o Tác nhân : Admin, Manager, Member
o Hệ thống : tìm kiếm, tìm kiếm theo từ khóa, tìm kiếm theo ngày tháng, tìm kiếm theo số tiền
o Mô tả :
Người dùng sử dụng chức năng tìm kiếm theo từ khóa
Người dùng sử dụng chức năng tìm kiếm theo ngày tháng
Người dùng sử dụng chức năng tìm kiếm theo số tiền
Trang 152.4.5 Biểu đồ Usecase thống kê:
Hình 1.6 : Biểu đồ Usecase thống kê
Biểu đồ Usecase thống kê:
o Tác nhân : Human bao gồm: Admin, Manager, Member
o Hệ thống : thống kê, xem chi tiêu cá nhân, xem chi tiêu chung, xem chi tiêu trong tháng, xem thu nhập
o Mô tả:
Người dùng có thể xem giao dịch cá nhân của tất cả thành viên
Người dùng có thể xem các giao dịch chung của gia đình
Hệ thống có thể thống kê thu nhập các cá nhân trong gia đình
Hệ thống có thể thống kê chi tiêu trong tháng của các cá nhân trong gia đình
Trang 162.2.4 Biểu đồ Usecase bảo mật:
Hình 1.7: Biểu đồ Usecase bảo mật Biều đồ Usecase bảo mật:
o Tác nhân : human bao gồm : Member, Admin, Manager
o Hệ thống : bảo mật, cập nhật họ tên, cập nhật mật khẩu, cập nhật số điện thoại, cập nhật đơn vị công tác, địa chỉ
o Mô tả :
Người dùng có thể cập nhật lại mật khẩu
Người dùng có thể cập nhật lại họ tên
Người có thể cập nhật lại địa chỉ
Người dùng có thể cập nhật lại số điện thoại
Người dùng có thể cập nhật lại đơn vị công tác
Trang 173 Đặc tả Usecase:
3.1.Đặc tả chức năng đăng nhập:
o Tóm tắt : Người dùng sử dụng chức năng này đăng nhập vào hệ thống để có thể
sử dụng được các chức năng của hệ thống
o Sơ đồ hoạt động đăng nhập:
Hình 1.8 : sơ đồ hoạt động đăng nhập
o Mô tả :
Dòng sự kiện chính:
B1 : thành viên nhập tài khoản và mật khẩu vào giao diện đăng nhập
B2 : Hệ thống tìm kiếm dữ liệu trong cơ sở dữ liệu để đối chiếu
B3 : So sánh :
o B3.1 Nếu không tồn tại hoặc nhập sai tài khoản, mật khẩu thì hệ thống hiện thông báo sai tài khoản hoặc mật khẩu và nhấn ok để
về giao diện đăng nhập B1
o B3.2 Nếu tài khoản đúng thì sang bước B4
B4 : Hiện thị giao diện người dùng
Trang 18- Người dùng nhập thông tin sai
- Hệ thống hiển thị thông báo lỗi
- Kết thúc Usecase
Hệ thống trước khi Usecase đăng nhập được thực hiện :
Không yêu cầu gì
Hệ thống sau khi Usecase đăng nhập được thực hiện :
Nếu đăng nhập thành công thì hệ thống sẽ hiển thị giao diện chính Người dùng có thể thực hiện chức năng theo đúng quyền hạn của mình
Nếu đăng nhập thất bại: Hệ thống sẽ đưa ra thông báo
Dòng sự kiện :
Dòng sự kiện chính:
Thành viên gia đình khởi động hệ thống
Hệ thống hiển thị form đăng nhập bao gồm form đăng kí người dùng
Thành viên nhập thông tin người dùng : tên đăng nhập, mật khẩu, họ và tên, số điện thoại, địa chỉ, đơn vị công tác
Thành viên chọn button đăng kí
Hệ thống kiểm tra sự hợp lệ thông tin và thêm người dùng vào
hệ thống
Kết thúc Usecase
Trang 19 Dòng sự kiện phụ :
Dòng thứ nhất:
- Người đăng kí hủy bỏ việc đăng kí
- Hệ thống bỏ qua form đăng kí trở về form chính
- Kết thúc Usecase
Dòng thứ hai:
-Thông tin người dùng nhập không hợp lệ
-Hệ thống hiển thị thông báo lỗi
-Kết thúc Usecase
Trạng thái hệ thống trước khi Usecase đăng kí được thực hiện:
Hệ thống không có yêu cầu gì
Trạng thái hệ thống sau khi Usecase đăng kí thực hiện:
Trường hợp thành công: tài khoản mới được thêm vào hệ thống
Trường hợp thất bại : hệ thống thông báo lỗi và không thêm người dùng vào hệ thống
Giao diện : giao diện giao diện đăng kí
Trang 20Hình 1.9: Sơ đồ hoạt động tìm kiếm
o Mô tả:
Dòng sự kiện chính :
B1 : Người dùng vào giao diện tìm kiếm
B2 : Người dùng chọn cách thức tìm kiếm của hệ thống
B2.1 Người dùng chọn tìm kiếm từ khóa
B2.2 Người dùng chọn tìm kiếm theo ngày tháng
B2.3 Người dùng chọn tìm kiếm theo số tiền
B3 : Người dùng nhập từ khóa và đến B6
B4 : Người dùng nhập ngày tháng và đến B6
B5 : Người dùng nhập số tiền và đến B6
Trang 21B6 : Hệ thống kiểm tra dữ liệu người dùng nhập so với cơ sở dữ liệu, nếu trùng khớp thì sang B7 nếu không trùng thì hiển thị thông báo không tồn tại và về B2
B7 : Hiển thị giao diện kết quả tìm kiếm
Dòng sự kiện phụ :
Dòng thứ nhất :
Người dùng hủy bỏ việc tìm kiếm theo từ khóa
Hệ thống bỏ giao diện tìm kiếm theo từ khóa và trở về giao diện chính
Kết thúc Usecase
Dòng thứ nhất :
Người dùng hủy bỏ việc tìm kiếm theo ngày tháng
Hệ thống bỏ giao diện tìm kiếm theo ngày tháng và trở về giao diện chính
Kết thúc Usecase
Dòng thứ nhất :
Người dùng hủy bỏ việc tìm kiếm theo số tiền
Hệ thống bỏ giao diện tìm kiếm số tiền và trở về giao diện chính
Kết thúc Usecase
Dòng thứ tư:
Hệ thống hiển thị thông báo lỗi do quá trình tìm kiếm xảy ra lỗi
Kết thúc Usecase
Trạng thái hệ thống trước lúc Usecase tìm kiếm được sử dụng
Người dùng cấn phải đăng nhập hệ thống
Trạng thái hệ thống sau khi Usecase tìm kiếm được sử dụng
Trường hợp thành công : hiển thị thông tin tìm kiếm
Trường hợp thất bại : hệ thống thông báo lỗi
Trang 22 Giao diện : giao diện tìm kiếm
3.4.Đặc tả chức năng giao dịch:
o Tóm tắt : Member có thể tiền hành giao dịch với các chức năng thêm giao dịch chung và cá nhân, Manager sẽ duyệt các giao dịch đã hoàn thành
o Biểu đồ hoạt động giao dịch:
Hình 1.10 : Biểu đồ hoạt động giao dịch
o Mô tả:
Dòng sự kiện chính :
B1: Member vào giao diện giao dịch
B2 : Member lựa chọn hình thức giao dịch
Trang 23 B2.1 : Giao dịch riêng đến B3
B2.2 : Giao dịch chung đến B6
B3: Kiểm tra cú pháp, sai quay lại B2, đúng đến B4
B4: Nếu giao dịch chưa hoàn thành thì đến B9 nếu hoàn thành đến B5
B5 : Manager duyệt để giao dịch được ghi nhận đã hoàn thành để giao dịch đó được thống kê chi tiêu sau đó đến B9
B6 : Kiểm tra số tiền không hợp lệ quay lại B2, đúng đến B7
B7: Nếu giao dịch hoàn thành thì đến B8 nếu chưa hoàn thành đến B9
B8 : Giao dịch hoàn thành và Manager duyệt ghi nhận hoàn thành giao dịch để thống kê được chi tiêu sau đó đến B9
B9 : Cập nhật cơ sở dữ liệu
Dòng sự kiện phụ:
Dòng sự kiện thứ nhất :
User hủy bỏ việc thêm chi tiêu cá nhân
Hệ thống bỏ qua giao diện thêm giao dịch, trở về giao diện chính
Kết thúc Usecase
Dòng sự kiện thứ hai :
User hủy bỏ việc thêm chi tiêu chung
Hệ thống bỏ qua giao diện thêm giao dịch, trở về giao diện chính
Kết thúc Usecase
Dòng sự kiện thứ ba :
User nhập dữ liệu giao dịch bị lỗi
Hệ thống hiển thị thông báo lỗi
Kết thúc Usecase
Trạng thái hệ thống trước khi Usecase giao dịch được sử dụng:
Người dùng phải đăng nhập mới có thể hoàn thành
Trang 24 Trạng thái hệ thống sau khi Usecase giao dịch được sử dụng:
Thêm giao dịch thành công : hệ thống lưu giao dịch mới vào hệ thống
Thêm giao dịch thất bại : hệ thống hiển thị thông báo lỗi
Giao diện : giao diện giao dịch
Người dùng chọn chức năng thống kê chi chung
Hệ thống hiển thị giao diện thống kê các cá nhân tham gia chi chung
Người dùng chọn chức năng chi tiêu trong tháng
Hệ thống hiển thị tổng chi của cá nhân trong tháng
Người dùng chọn chức năng thu nhập trong tháng
Hệ thống hiển thị giao diện tổng thu nhập cá nhân trong tháng
Người dùng chọn thống kê thu chi
Hệ thống hiển thị giao diện số dư còn lại của cá nhân theo thu chi trong tháng
Kết thúc Usecase
Dòng sự kiện phụ:
Dòng sự kiện thứ nhất
Người dùng hủy bỏ thống kê thu chi hiện tại
Hệ thống bỏ qua giao diện thống kê và trở về giao diện chính
Kết thúc Usecase
Dòng sự kiện thứ hai:
Hệ thống xảy ra lỗi trong quá trình xử lí
Hệ thống hiển thị thông báo lỗi
Kết thúc Usecase
Trang 25 Trạng thái hệ thống trước khi Usecase thống kê sử dụng:
Người dùng cần đăng nhập hệ thống
Trạng thái hệ thống sau khi Usecase thống kê sử dụng :
Trường hợp thành công : hệ thống hiển thị thống kê chi tiêu cá nhân và gia đình theo từng khoản mục lựa chọn của người dùng
Trường hợp thất bại : hệ thống hiển thị thông báo lỗi
Giao diện : giao diện thống kê
Trang 26CHƯƠNG II: PHÂN TÍCH THIẾT KẾ BÀI TOÁN
1 Cấu trúc dữ liệu:
Mô hình cơ sở dữ liệu:
Hình 2.1: Mô hình cơ sở dữ liệu
Trang 27Varchar (45)
Int( 11) Varchar
(45)
Char (45) Primary key
Int(11) Primary key
Idnguonthu Noidung Sotien Magiaodich
Int(11) Varchar(45) Int(11) Int(11)
Primary key
Quyenhan:
Idquyenhan Noidung Giatri Thanhvien_id
Int(11) Varchar(45) Int(11) Int(11)
Primary key
Hangmuc:
Idhangmuc Tenhangmuc Noidung Trangthai Masochi Sotien
Int(11) Varchar(45) Varchar(45) Tinyint(1) Int(11) Int(11)
Primary key
Thamgia:
Idthamgia Masochi Sotien Thanhvien_id Donggop
Int(11) Int(11) Int(11) Int(11) Int(11)
Primary key
Trang 28 Bước 3 : khối điều khiển sẽ truy vấn thống tin vào cơ sở dữ liệu
Bước 4 : cơ sở dữ liệu trả về kết quả truy vấn cho khối điều khiển đăng nhập
Bước 5 : khối điều khiển đăng nhập sẽ kiểm tra quyền hạn của tài khoản
Bước 6 : khối điều khiển thông báo kết quả đăng nhập cho khối giao diện
Bước 7 : từ giao diện sẽ thông báo kết quả đăng nhập cho người dùng
Trang 292.2 Biểu đồ trình tự đăng kí thành viên mới :
Hình 2.3 : Biểu đồ trình tự đăng kí
Mô tả :
Bước 1 : thành viên nhập thông tin đăng kí vào giao diện đăng kí
Bước 2 : giao diện đăng kí sẽ gửi yêu cầu đăng kí đến khối điều khiển đang kí
Bước 3 : khối điều khiển đăng kí sẽ kiểm tra thông tin xem người dùng đã nhập đúng chưa
Bước 4 : khối điều khiển đăng kí gửi truy vấn tới cơ sở dữ liệu
Bước 5 : cơ sở dữ liệu trả kết quả về khối điều khiển đăng kí
Bước 6 : khối điều khiển đăng kí gửi thông báo hiển thị thống báo kết quả đăng kí cho giao diện
Bước 7 : giao diện sẽ thông báo tới thành viên kết quả của đăng kí
Trang 302.3 Biểu đồ trình tự thêm giao dịch:
Hình 2.4 : Biểu đồ trình tự thêm giao dịch
Mô tả :
Bước 1 : Member nhập thông tin giao dịch vào giao diện giao dịch
Bước 2 : giao diện gửi yêu cầu giao dịch tới khối điều khiển giao dịch
Bước 3 : khối điều khiển giao dịch kiểm tra dữ liệu nhập vào
Bước 4 : khối điều khiển giao dịch truy vấn cơ sở dữ liệu
Bước 5 : trả kết quả truy vấn về cho khối điều khiển giao dich
Bước 6 : khối điều khiển giao dịch gửi thông báo hiển thị kết quả ra giao diện
Bước 7 : giao diện sẽ thông báo tới người dùng kết quả của thao tác thêm giao dịch
Trang 312.4 Biểu đồ trình tự xác nhận giao dịch:
Hình 2.5 : Biểu đồ trình tự xác nhận giao dịch
Mô tả :
Bước 1 : Manager lựa chọn giao dịch trên giao diện giao dịch
Bước 2 : giao diện sẽ gửi yêu cầu hiển thị các yêu cầu của Manager đến khối điều khiển giao dịch
Bước 3 : khối điều khiển giao dịch gửi truy vấn đến cơ sở dữ liệu
Bước 4 : trả khối điều khiển giao dịch kết quả của truy vấn các yêu cầu
Bước 5 : khối điểu khiển giao dịch gửi kết quả về giao diện
Bước 6 : giao diện sẽ thông báo yêu cầu để Manager lựa chọn
Bước 7 : Manager lựa chọn yêu cầu từ màn hình giao diện
Bước 8 : giao diện gửi yêu cầu xác nhận tới khối điều khiển giao dịch
Bước 9 : khối điều khiển giao dịch kiểm tra điều kiện xác nhận
Bước 10: khối điều khiển cập nhật dữ liệu vào cơ sở dữ liệu
Bước 11: trả về kết quả cập nhật dữ liệu cho khối điều khiển giao dịch
Bước 12: khối điều khiển giao dịch gửi kết quả cần hiển thị đến giao diện
Bước 13: giao diện giao dịch hiển thị thông báo kết quả đến Manager