Xây dựng hệ thống quản lý chi tiêu cho các thành viên trong gia đình

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.

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