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
Trang 1TRƯỜ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
Trang 2MỤ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
Trang 32.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
Trang 4LỜ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
Trang 5PHÂ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:
1 - 2 Nghiên cứu nghiệp vụ - hoàn
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%
Trang 6PHẦ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
Trang 73.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
Trang 8 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
Trang 9 Use case Management User
Hình 1.2 Use case Management User
Use case Management Income/Outcome
Trang 10 Use case Management Information Personal
Hình 1.4 Use case Management Information Personal
Use case Utility
Hình 1.5 Use case Utility
Trang 11 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
Trang 12- 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
Trang 136.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
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ó
Trang 146.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
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ó
Trang 156.4 Đặc tả Use Case tìm kiếm theo thành viên (follow member)
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
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ó
Trang 166.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ệ
Trang 17thố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ó
Trang 186.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
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
Trang 19 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ó
Trang 20
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,
Trang 21để 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ề
Trang 22PHẦ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ú
trống, tự tăng
nhập
dùng
privilege
Bảng bank
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú
tăng
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú
trống, tự động tăng
công ty
công ty
Trang 23Bảng project
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú
tự động tăng
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ú
tự động tăng
viên
Bảng partner
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú
tự động tăng
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ú
tự động tăng
timeDisplay VARCHAR 45 Not null Thời gian hiển thị
giao dịch
member
Trang 24Bảng message
Tên trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú
tự động tăng
đó
Bảng note
Ten trường Kiểu dữ liệu Kích thước Ràng buộc Ghi chú
tự động tăng
Trang 25Thiết kế cơ sở dữ liệu
Trang 27
Biểu đồ trình tự cập nhập thông tin
Member
View Personal GUI
Yêu cầu xem thông tin cá nhân
Yêu cầu nhập thông tin mới cần cập nhập
Management Control
Kiểm tra và tạo đối tượng mới chứa thông tin
Information Member
Gọi hàm thực hiện và cập nhật dữ liệu
Báo cập nhật thành công Thông báo thực hiện thành công
Hiển thị thông tin mới được cập nhật Nhập thông tin cần thay đổi
option
[parameters]
Hình 3.3 Biểu đồ trình tự cập nhật thông tin
Trang 28 Biểu đồ trình tự đăng nhập
Member
login GUI
Check Acount
Khởi động chương trình yêu cầu đăng nhập
Yêu cầu nhập tên đăng nhập và mật khẩu
Nhập thông tin
Kiểm tra thông tin tài khoản trong CSDL
kiểm tra và đưa thông báo Thông báo tài khoản không hợp lệ
Hiển thị Thông báo yêu cầu nhập lại
loop
[parameters]
Nhập lại thông tin
Kiểm tra thông tin tài khoản
Đăng nhập thành công
Khởi động giao diện Main GUI
hình 3.4 Biểu đồ trình tự cho quá trình đăng nhập
Trang 29 Biểu đồ trình tự thêm giao dịch
Member Transaction
GUI
Management Control
Yêu cầu Xem thông tin giao dịch
Nhập Thông tin về giao dịch mới đối tác,số tiền, loại chi,tài khoản
Kiểm tra tính đầy đủ và hợp lệ
kiểm tra và thông báo Thiếu thông tin hoặc không hợp lệ
Yêu cầu xem xét về tính đầy đủ hợp lệ
nhập mới thông tin
Kiểm tra tính hợp lệ và đầy đủ
loop
[parameters]
Transaction
Tạo các đối tượng cần thiết thêm giao dịch vào CSDL
thêm giao dịch thành công kiểm tra tài khoản và thanh toán
Thông báo thành công Hiển thị thông tin giao dịch mới
opt
[parameters]
chuẩn hóa kiểu dữ liệu đầu vào
thay đối thông tin tài khoản và vắn tin báo thành công