Saturday, December 19, 2009

Ứng dụng Quản lý chi tiêu (P.7)

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