Ứ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


,

  1. #1 by Trần Tuấn Anh on Tháng Tư 2, 2011 - 10:02

    Cho em xin cái ảnh rõ nét cái ảnh phần biểu đồ lớp toàn hệ thống với phần biểu đồ UI với anh Mục Đồng ơi
    Em cảm ơn !

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: