1. Thiết kế hệ thống
1.1. Biểu đồ lớp toàn hệ thống
1.2. Đặc tả các lớp
1.2.1. Các lớp entity
1.2.1.1.SpendingInfor
- Là lớp đại diện cho từng mục chi tiêu trong một ngày
- Thuộc tính chính
o Content: nội dung chi tiêu
o Cost: chi phí
o Note: ghi chú
o isNew: thông tin mới hay được sửa lại (sử dụng khi cập nhật hoặc thêm mới thông tin)
- Phương thức chính
o SpendingInfor: hàm tạo
1.2.1.2.DailyInfor:
- Là lớp đại diện cho thông tin chi tiêu hằng ngày.
- DailyInfor chứa một danh sách các SpendingInfor
- Thuộc tính chính
o Date: mã ngày tháng
o Spendings: danh sách các thông tin chi tiêu trong ngày
o Total: tổng chi phí trong ngày
o Note: ghi chú
o ModifiedUser: người cập nhật sau cùng
- Phương thức chính
o DailyInfor: hàm tạo
1.2.1.3.MonthlyInfor
- Là lớp đại diện cho thông tin thu nhập của một tháng
- Thuộc tính chính
o TotalInput: thu nhập trong tháng
o preSpending: chi tiêu trước, không thuộc một ngày nào cả
o Note: ghi chú
o modifiedUser: người cập nhật sau cùng
- Phương thức chính
o Mont hlyInfor: hàm tạo
1.2.1.4.User
- Là lớp đại diện cho thông tin của một người sử dụng ứng dụng
- Thuộc tính chính
o Name: họ tên của người dùng
o Username: tên đăng nhập
o Password: mật khẩu đăng nhập
o Role: nhóm người dùng
- Phương thức chính
o User: hàm tạo
1.2.2. Các lớp UI
Các lớp form, tương tác với người sử dụng
1.2.2.1.LoginObserver
- Là một interface, áp dụng mẫu thiết kế Ob server định nghĩa một phương thức lắng nghe sự kiện đăng nhập hệ thống
- Phương thức chính
o LoginResponse(User)
1.2.2.2.LoginForm
- Là form trình bày các giao diện cho chức năng đăng nhập hệ thống
- Áp dụng mẫu thiết kế Ob server, nên form này có một thuộc tính observer: LoginObserver
- Thuộc tính chính
o Observer: đối tượng lắng nghe sự kiện đăng nhập
- Phương thức chính
o LoginForm(LoginObserver): hàm tạo với tham số là một LoginObserver
o Show: hiển thị form
o Login_Button_Click: sự kiện khi người dùng chọn đồng ý đăng nhập
o Validate: thẩm định lại dữ liệu trước khi đăng nhập (tránh các lỗi SQL Injection, …)
1.2.2.3.AccountInforObserver
- Là một interface, áp dụng mẫu thiết kế Observer định nghĩa một phương thức lắng nghe sự kiện thay đổi thông tin người dùng đang sử dụng ứng dụng
- Phương thức chính
o GetUserInfor(): lấy thông tin người dùng
o UpdateUserInfor(): cập nhật lại thông tin người dùng
1.2.2.4.AccountInforForm
- Là form trình bày các giao diện cho chức năng thay đổi thông tin cá nhân người sử dụng
- Thuộc tính chính
o Ob server: đối tượng giám sát các thay đổi cũng như lấy thông tin liên quan đến người dùng đang đăng nhập ứng dụng
- Phương thức chính
o AccountInforForm(AccountInforObserver): hàm tạo với tham số là một AccountInforObserver
o Show: hiển thị form
o Save_Button_Click: sự kiện người dùng chọn đồng ý lưu thông tin
o ShowResult: hiển thị kết quả cho người dùng
1.2.2.5.MainForm
- Là form chính của ứng dụng, form này điều tiết các form con khác
- Main Form thực thi 2 giao tiếp LoginObserver và AccountInforObserver
- Thuộc tính chính
o frmInputInfor: form nhập thông tin
o frmFinishInfor: form nhập thông tin hằng tháng
o frmStatisticInfor: form thống kê
o frmAccountInfor: form quản lý thông tin cá nhân
o currentUser: người dùng đăng nhập ứng dụng
o frmUserManager: form quản lý người dùng
- Phương thức chính
o AddInforMenuItem_Click: sự kiện menu nhập thông tin được chọn
o FinishInforMenuItem_Click: sự kiện menu nhập thông tin hằng tháng được chọn
o StatisticMenuItem_Click: sự kiện menu thống kê thông tin được chọn
o Login_Menu_Click: sự kiện menu đăng nhập thông tin được chọn
o Change_Account_Menu_Click: sự kiện menu thay đổi thông tin cá nhân được chọn
o UserManager_Menu_Click: : sự kiện menu quản lý người dùng được chọn
o Logout_Menu_Click: sự kiện menu đăng xuất được chọn
o ToTray_Menu_Click: sự kiện menu ẩn ứng dụng được chọn
o Restore_Menu_Click: sự kiện menu hiện ứng dụng từ khay hệ thống được chọn
o GetUserInfor: trả về thông tin người dùng đang đăng nhập ứng dụng
o LoginResponse: xử lý sự kiện đăng nhập thành công hay thất bại
o UpdateUserInfor: xử lý sự kiện cập nhật thông tin người dùng đang đăng nhập ứng dụng
o SetVisibleMenu: xử lý ẩn/hiện một số menu theo vai trò của người đang dùng ứng dụng
o LogoutConfirm: xử lý xác nhận lại yêu cầu đăng xuất của người dùng
o Logout: xử lý đăng xuất
o ToTray: ẩn ứng dụng
o Restore: hiện ứng dụng
1.2.2.6.InputDailyInforForm
- Là form cho phép người dùng nhập thông tin chi tiêu hằng ngày
- Thuộc tính chính
o dailyInfor: thông tin chi tiêu hiện tại của form
- Phương thức chính
o InputDailyInforForm: hàm tạo
o Show: hiển thị form
o Validate: thẩm định dữ liệu
o ShowResult: hiển thị kết quả khi lưu thông tin
o DisplayDailyInfor: hiển thị thông tin chi tiêu của ngày mà người dùng chọn
o SetDailyInfor: thiết lập thông tin chi tiêu hiện tại trên form
1.2.2.7.FinishInforForm
- Là form cho phép thao tác nhập các thông tin cuối tháng
- Thuộc tính chính
o mont hlyInfor: thông tin thu nhập hằng tháng
- Phương thức chính
o FinishInforForm: hàm tạo
o Show: hiển thị form
o Validate: thẩm định dữ liệu
o ShowResult: hiển thị kết quả khi lưu thông tin
o DisplayMonthlyInfor: hiển thị thông tin thu nhập tháng lên form
1.2.2.8.StatisticForm
- Là form thực hiện chức năng thống kê chi tiêu
- Thuộc tính chính
o frmChartInfor: form vẽ biểu đồ
- Phương thức chính
o StatisticForm: hàm tạo
o Show: hiển thị form
o Staistic_Button_Click: sự kiện người dùng đồng ý thống kê
1.2.2.9.ChartForm
- Là form vẽ biểu đồ cột thống kê
- Thuộc tính chính
o statisticInfor: danh sách các thông tin chi tiêu dùng để vẽ biểu đồ
- Phương thức chính
o ChartForm: hàm tạo với tham số là danh sách các thông tin chi tiêu để vẽ biểu đồ
o Show: hiển thị form
o ViewDetailInfor: xem chi tiết một thông tin tiêu dùng
o InforColumn_Click: sự kiện một cột trên biểu đồ được chọn
1.2.2.10. UserManagerForm
- Là form quản lý thông tin người dùng
- Phương thức chính
o UserManagerForm:; hàm tạo
o InitListUser: khởi tạo danh sách người dùng có trong hệ thống
o Show: hiển thị form
o DisplayToAdd: hiển thị thông tin cho việc tạo mới người dùng
o DisplayUserToEdit: hiển thị thông tin người dùng để cập nhật
o Validate: thẩm định dữ liệu
o DisplayResult: hiển thị kết quả lưu thông tin
o DeleteConfirm: xác nhận lại yêu cầu xóa người dùng
o ListItem_Selected: sự kiện một Item (user) được chọn ở trên list
o AddUser_Button_Click: sự kiện tạo mới người dùng được chọn
o SaveUser_Button_Click: sự kiện lưu thông tin
o DeleteUser_Button_Click: sự kiện xóa người dùng
1.2.3. Processor
Các lớp liên quan đến chức năng xử lý
1.2.3.1.Connector
- Là lớp đóng vai trò quản lý kết nối với CSDL
- Áp dụng mẫu thiết kế Singleton cho lớp Conn ector
- Thuộc tính chính
o Connector: đối tượng tĩnh quản lý toàn bộ thông tin kết nối
- Phương thức chính
o Connector: hàm tạo private
o GetConnector: trả về đối tượng quản lý kết nối
o CloseConnector: đóng kết nối
1.2.3.2.DbProcessor
- Là lớp đóng vai trò xử lý tất cả các thao tác liên quan đến CSDL
- Phương thức chính
o SaveDailyInfor: lưu thông tin chi tiêu hằng ngày
o SaveMonthlyInfor: lưu thông tin thu nhập hằng tháng
o StatisticDailyInfor: thống kê thông tin chi tiêu
o SaveNewContent: lưu một nội dung chi tiêu mới
o CreateMonthIfNoExist: tạo thông tin một tháng mới
o Login: đăng nhập ứng dụng
o GetQueryResult: thực hiện một câu truy vấn và nhận kết quả trả về
o ExecQuery: thực hiện một câu truy vấn không nhận kết quả trả về
o SaveUserInfor: lưu thông tin người dùng
o GetListOfUser: trả về danh sách người dùng trong hệ thống
o DeleteUser: xóa thông tin một người dùng
o GetMonthlyInfor: lấy thông tin thu nhập một tháng
No comments:
Post a Comment