Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
2,86 MB
Nội dung
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. [...]... 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... 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... hiển thị thông báo lỗi Giao diện : giao diện giao dịch 3.5.Đặc tả Usecase thống kê: o Tóm tắt : người dùng sử dụng chức năng này để thống kê lại thu chi cá nhân, thu chi các khoản mục chung và tính toàn số dư của từng cá nhân trong tháng o Mô tả: Dòng sự kiện chính: 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... đượ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... 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 24 Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15 Project 1 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... diện Bước 13: giao diện giao dịch hiển thị thông báo kết quả đến Manager 31 Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15 Project 1 2.5 Biểu đồ trình tự tham gia chi chung: Hình 2.6 : Biểu đồ trình tự tham gia chi chung Mô tả : Bước 1 : người dùng lựa chọn yêu cầu tham gia trên giao diện giao dịch Bước 2: giao diện sẽ gửi yêu cầu tìm kiếm khoản chi chung đến khối điều khiển giao dịch Bước 3 :... đồ 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,... Char(11) Varchar Varchar (45) (45) Primary key Giaodich : Idgiaodich Noidung Int(11) Varchar (45) Primary key Sotien Int(11) Hoten Varchar (45) Thoidiem Datetime Dienthoai Diachi Int( 11) Varchar (45) Hinhthuc Varchar (45) Nguonchi: Idnguonchi Noidung Trangthai Chuthich Int(11) Varchar(45) Varchar(45) Varchar(45) Primary key Trangthai Varchar (45) Sotien Int(11) Dvcongtac Char (45) Thanhvien_id Int(11) Magiaodich... đ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í 29 Nhóm 6 – Lớp CNTT-TT 2.2 - K56 – Đề tài 15 Project 1 2.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, 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 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. 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. Kết thúc Usecase. Dòng thứ hai : - 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