II.2.1. Phân lớp người dùng
Hình 5: Phân lớp người dùng
Administrator: Là mức phân quyền cao nhất của hệ thống bao gồm đầy đủ quyền quản lý các lớp người dùng các và tất cả các thông tin của hệ thống.
User: Là lớp người dùng phổ biến trong hệ thống, được quyền tạo dự án mới, tạo hoàn cảnh (đối tượng nhận quyên góp), gửi bình luận, đăng ký quyên góp, xem các dự án đã có của hệ thống
Group: Là các đơn vị bảo trợ cho dự án tình nguyện, thường là các đơn vị có uy tín trong xã hội, được xã hội công nhận và thường đứng ra thực hiện các dự án tình nguyện trong thực tế
Guest: là lớp người dùng chỉ được xem thông tin về các dự án tình nguyện được đăng tải trên trang chủ và bình luận về các dự án đó
II.2.2. Sơ đồ usecase
Hình 6: Sơ đồ usecase
Người dùng phổ thông có các quyền sau: • Đăng nhâp: Đăng nhập vào hệ thống • Đăng xuất: Thoát khỏi hệ thống
• Tạo dự án: Khởi tạo dự án tình nguyện bằng việc nhập tên dự án, mô tả dự án, tên hoàn cảnh (đối tượng nhận quyên góp), mô tả về hoàn cảnh
Guest là cấp người dùng thấp nhất, họ chỉ có quyền xem và để lại bình luận về các dự án. Nếu quan tâm, họ có quyền đăng ký thành viên để có các quyền của user như đã nói ở trên.
Group là lớp người dùng đặc biệt, mờ nhạt trong hệ thống, họ chỉ có ảnh hưởng trong thực tế đối với mỗi dự án, còn ở trong hệ thống họ chỉ được admin gán làm tổ chức bảo trợ.
Administrator có các usecase cụ thể sau:
Hình 7: usecase Quản lý group
Hình 8: Uescase Quản lý dự án
Do Administrator là lớp người dùng được kế thừa từ user nên đặc tả chức năng của Admin trong đặc tả usecase của Admin không cần phải có chức năng tạo dự án.
Hình 9: Usecase Quản lý user
Phân quyền user là usecase cho phép thay đổi quyền của user từ user thông thường lên thành quyền Adminstrator.
Hình 10: Usecase Quản lý quyên góp
Quyên góp trong đặc tả usecase trên được hiểu là những thông tin về các hàng hóa, tiền, hiện vật … được người dùng hoặc các nhà bảo trợ mong muốn đóng góp cho dự án tình nguyện.
Hình 11: Usecase Quản lý bình luận
Quyền thêm bình luận về dự án đã được đặc tả trong biểu đồ usecase tổng quát của hệ thống.