MÔ HÌNH HÓA YÊU CẦU

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ đoàn viên (Trang 31)

6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN

2.3. MÔ HÌNH HÓA YÊU CẦU

2.3.1. Lược đồ Usecase

2.3.1.1. Sơ đồ usecase tổng quan

Hình 8:Sơ đồ usecase tổng quan

2.3.1.2. Sơ đồ usecase chi tiết quản lý năm học

Hình 9: Sơ đồ usecase chi tiết quản lý năm học

uc Use Case View

QL_tai_khoan QL_hoat_dong ĐK_tham_gia Danh_gia_sao Phan_quyen QL_nam_hoc QL_hoc_ki Tim_kiem Gui_TB Thong_ke Xem_file_CSV Dang_nhap Dang_ki Gui_email Quen_MK Xem_HĐ Xem_TT Doi_MK Xem_HĐ_da_DK QuanLi_CapTruong QuanLi_CapKhoa Khach NguoiDung «extend» «include» «include» «include»

uc Use Case View

QL_nam_hoc Xem Tao_moi Chinh_sua Xoa «extend» «extend» «extend» «extend»

16

2.3.1.3. Sơ đồ usecase chi tiết quản lý học kì

Hình 10: Sơ đồ usecase chi tiết quản lý học kì

2.3.1.4. Sơ đồ usecase chi tiết quản lý tài khoản

Hình 11: Sơ đồ usecase chi tiết quản lý tài khoản

2.3.1.5. Sơ đồ usecase chi tiết quản lý hoạt động

Hình 12: Sơ đồ usecase chi tiết quản lý hoạt động

uc Use Case View

QL_hoc_ki Xem Tao_moi Chinh_sua Xoa «extend» «extend» «extend» «extend»

uc Use Case View

QL_tai_khoan

Doi_MK

Thay_doi_TTTK

«extend» «extend»

uc Use Case View

QL_hoat_dong Xem Tao_moi Chinh_sua Xoa Gui_email «extend» «extend» «extend» «extend» «extend»

17

2.3.2. Đặc tả chi tiết các usecase

Bảng 1: Usercase Quản lý năm học

Usecase “Quản lý năm học”

- Mô tả:

Hình 13: Prototype Quản lý năm học

- Xem tất cả thông tin của năm học. - Thêm mới thông tin của năm học gồm mã, tên tiếng Việt chủ đề năm học, tên tiếng Anh chủ đề năm học, ngày bắt đầu, này kết thúc. Mỗi năm học có một mã riêng biệt.

- Sửa thông tin của năm học gồm tên chủ đề năm học, ngày bắt đầu, này kết thúc.

- Xóa thông tin của năm học theo mã

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

2. Mở tab “Quản lý” 3. Chọn button “Năm học” và thực hiện Bảng 2: Usecase Quản lý học kì Usecase “Quản lý học kì” - Mô tả: Hình 14: Prototype Quản lý học kì

- Xem tất cả các thông tin của học kì. - Thêm mới thông tin của học kì gồm mã, tên học kì, kí hiệu, ngày bắt đầu và ngày kết thúc. Mỗi học kì có một mã riêng biệt.

- Sửa thông tin của học kì gồm tên học kì, kí hiệu, ngày bắt đầu và ngày kết thúc.

- Xóa thông tin của học kì theo mã

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

2. Mở tab “Quản lý”

18

Bảng 3: Usecase Quản lý tài khoản

Usecase “Quản lý tài khoản”

- Mô tả:

Hình 15: Prototype Quản lý tài khoản

- Đổi mật khẩu người dùng dựa vào thông tin đã đăng kí và email xác nhận. - Xem thông tin tài khoản đã đăng kí.

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

2. Mở tab “Quản lý”

3. Chọn button “Tài khoản” và thực hiện

Bảng 4: Usecase Phân quyền

Usecase “Phân quyền”

- Mô tả:

Hình 16: Prototype Phân quyền

- Admin cấp quyền cho người dùng để sử dụng trang web với hình thức là sinh viên hoặc người quản lý cấp trường/cấp khoa.

- Sau khi cấp quyền, những user có quyền nào sẽ truy cập bằng tài khoản của mình và thực hiện quyền đó.

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

19

3. Chọn button “Phân quyền” và thực hiện

Bảng 5: Usecase Quản lý hoạt động

Usecase “Quản lý hoạt động”

- Mô tả:

Hình 17: Prototype Quản lý hoạt động

- Xem các hoạt động đã được tạo trong danh sách hoạt động.

- Thêm thông tin hoạt động gồm mã hoạt động, nội dung, ngày bắt đầu đăng kí, ngày kết thúc đăng kí, số lần tổ chức, số người có thể tham gia, người phụ trách chính. Mỗi hoạt động có một mã riêng biệt.

- Chỉnh sửa thông tin hoạt động gồm mã hoạt động, nội dung, ngày bắt đầu đăng kí, ngày kết thúc đăng kí.

- Xóa hoạt động theo mã hoạt động.

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

2. Mở tab “Quản lý” 3. Chọn button “Hoạt động” và thực hiện Bảng 6: Usecase Tìm kiếm Usecase “Tìm kiếm” - Mô tả: Hình 18: Prototype Tìm kiếm

- Người có thể tìm kiếm các thông tin về các hoạt động đang diễn ra của các khoa hoặc của trường.

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

20

2. Nhập nội dung cần tìm vào thanh tìm kiếm và nhấn biểu tượng để thực hiện và đi đến nội dung.

Bảng 7: Usecase Gửi thông báo

Usecase “Gửi thông báo”

- Mô tả:

Hình 19: Prototype Gửi thông báo

- Admin sau khi tạo hoạt động sẽ tự gửi thông báo về phía người dùng thông qua hệ thống app.

- Ở người dùng, thông báo sẽ được hiển thị để nắm được các hoạt động vừa mới cập nhật bên phía web quản lý.

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

2. Tạo hoạt động thành công, phía Admin sẽ gửi thông báo có hoạt động mới đã được tạo về phía người dùng.

Bảng 8: Usecase Thống kê

Usecase “Thống kê”

- Mô tả:

Hình 20: Prototype Thống kê

- Thống kê danh sách các hoạt động đã được tạo và danh sách các sinh viên đã đăng kí tham gia các hoạt động.

21

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

2. Chọn button “Xuất danh sách” để xem hoạt động được thống kê.

Bảng 9: Usecase Xem file CSV

Usecase “Xem file CSV”

- Mô tả:

Hình 21: Prototype Xem file CSV

- Admin có thể xem danh sách sinh viên tham gia hoạt động dưới dạng file excel.

Tác nhân kích hoạt Admin

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập

2. Chọn button “Xuất danh sách” để tải về file excel hoạt động được thống kê.

Bảng 10: Usecase Đăng kí

Usecase “Đăng kí”

- Mô tả:

Hình 22: Prototype Đăng kí

- Người dùng đăng ký tài khoản mới bằng cách điền các thông tin: họ tên, mã số sinh viên, số điện thoại, khoa, lớp, điều khoản sử dụng.

- Đăng kí tài khoản mới và nhận mật khẩu ở mail sinh viên.

22

Tác nhân kích hoạt Admin, Khách

Tiền điều kiện Đã đăng nhập

Các bước thực hiện

1. Nhập họ đệm/Tên vào khung “Nhập họ đệm/Nhập tên”

2. Nhập Mã số sinh viên/Nhập SDT 3. Chọn khoa đang học

4. Chọn lớp đang theo học

5. Xem điều khoản sử dụng và nhấn đồng ý

6. Nhấn đăng ký.

Bảng 11: Usecase Quên mật khẩu

Usecase “Quên mật khẩu”

- Mô tả:

Hình 23: Prototype Quên mật khẩu

- Người dùng lấy lại mật khẩu đã bị quên thông qua mail đã đăng kí.

Tác nhân kích hoạt Admin/Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiện

1. Vào màn hình đăng nhập

2. Chọn link text “Quên mật khẩu” 3. Nhập email cần reset mật khẩu và xác nhận

4. Xác nhận thông tin qua email để thực hiện lấy lại mật khẩu.

23

Bảng 12: Usecase Gửi email

Usecase “Gửi email”

- Mô tả:

Hình 24: Prototype Quên mật khẩu

- Người dùng nhận email được gửi từ hệ thống để thực hiện các thao tác của ứng dụng.

Tác nhân kích hoạt Admin/Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiệ

1. Đăng nhập.

2. Sử dụng địa chỉ email để đăng kí, quên mật khẩu hoặc đăng kí tham gia các hoạt động.

24

Bảng 13: Usecase Đăng nhập

Usecase “Đăng nhập”

- Mô tả:

Hình 25: Prototype Đăng nhập

- Người dùng đăng nhập vào ứng dụng bằng tài khoản đã đăng ký.

Tác nhân kích hoạt Admin/Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiện

1. Nhập Mã số sinh viên hoặc địa chỉ email vào khung Usename.

2. Nhập mật khẩu vào khung Password 3. Nhấn nút Đăng nhập.

4. Nếu chưa có tài khoản chọn vào Đăng kí.

5. Nhấn vào “Quên mật khẩu” để lấy lại mật khẩu thông qua email.

25

Bảng 14: Usecase Xem hoạt động

Usecase “Xem hoạt động”

- Mô tả:

Hình 26: Prototype Xem hoạt động

- Xem các hoạt động đang diễn ra hoặc sắp diễn ra theo các cấp hoạt động trường/khoa/chi đoàn.

Tác nhân kích hoạt Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiện 1. Đăng nhập 2. Chọn cấp tương ứng để xem các hoạt động + Chọn nút “Cấp trường” để xem các hoạt động cấp trường. + Chọn nút “Cấp khoa” để xem các hoạt động cấp khoa.

26

Bảng 15: Usecase Đăng kí tham gia

Usecase “Đăng kí tham gia”

- Mô tả:

Hình 27: Prototype Đăng kí tham gia

- Người dùng đăng ký tham gia các hoạt động đang diễn ra theo các cấp.

Tác nhân kích hoạt Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiện

1. Đăng nhập

2. Chọn hoạt động muốn tham gia theo cấp

3. Nhấn nút “Đăng ký” để đăng ký tham gia hoạt động đó.

27

Bảng 16: Usecase Đánh giá sao

Usecase “Đánh giá sao”

- Mô tả:

Hình 28: Prototype Đánh giá sao

- Người dùng đánh giá sao cho hoạt động theo các cấp.

Tác nhân kích hoạt Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiện

1. Đăng nhập

2. Chọn vào hoạt động muốn đánh giá và chuyển đến trang đánh giá sao. 3. Chọn sao cần đánh giá (từ 1-5) 4. Nhấn nút “Xác nhận” để hoàn thành việc đánh giá

28

Bảng 17: Usecase Xem thông tin cá nhân

Usecase “Xem thông tin cá nhân”

- Mô tả:

Hình 29: Prototype Xem thông tin cá nhân

- Người dùng xem thông tin cá nhân của mình.

Tác nhân kích hoạt Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiện

1. Đăng nhập

2. Vào trang tài khoản và xem các thông tin để chỉnh sửa (nếu có).

29

Bảng 18: Usecase Đổi mật khẩu

Usecase “Đổi mật khẩu”

- Mô tả:

Hình 30: Prototype Đổi mật khẩu

- Thay đổi mật khẩu của tài khoản đã đăng ký.

Tác nhân kích hoạt Người dùng

Tiền điều kiện Đã đăng kí tài khoản

Các bước thực hiện

1. Chọn setting để truy cập trang đổi mật khẩu

2. Nhập các thông tin cần thiết: + Mật khẩu hiện tại

+ Mật khẩu mới

+ Xác nhận mật khẩu mới

3. Nhất nút “Lưu” để thực hiện đổi mật khẩu.

30

Bảng 19: Usecase Xem hoạt động đã đăng kí

Usecase “Xem hoạt động đã đăng kí”

- Mô tả:

Hình 31: Prototype Xem hoạt động đã đăng kí

- Người dùng xem các hoạt động đã đăng ký.

Tác nhân kích hoạt Người dùng

Tiền điều kiện Đã đăng nhập

Các bước thực hiện

1. Đăng nhập

2. Nhấn button “Hoạt đông đăng ký” và xem thông tin của các hoạt động.

31

CHƯƠNG 3: THIẾT KẾ PHẦN MỀM 3.1. THIẾT KẾ HỆ THỐNG

3.2. THIẾT KẾ CƠ SỞ DỮ LIỆU

3.2.1. Bảng Users

Bảng 20: Chi tiết dữ liệu bảng User

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã tài khoản

2 username string Tên tài khoản

3 password string Mật khẩu Được hash để

32

4 userlevel String Cấp độ của tải khoản 5 manager DBRef(users) Người quản lý 6 Issystem Boolean Trạng thái tài khoản 7 Status Boolean Trạng thái hoạt động 8 createdDate date Ngày tạo tài khoản

9 createdBy String Người tạo tài khoản (Cho các tài khoản chức năng)

10 lastModifiedDate date Ngày chỉnh sửa cuối cùng 11 lastModifiedBy String Người chỉnh sửa cuối cùng 12 _class String Lớp dữ liệu thuộc về

3.2.2. Bảng User_role

Bảng 21: Chi tiết bảng dữ liệu user_role

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã phân quyền tài khoản 2 userId String Id tài khoản được phân quyền 3 roleId String Id phân quyền

4 isSystem Boolean Tình trạng hoạt động

5 status Int Trạng thái

6 createdDate Date Ngày tạo

7 lastModifiedDate Date Ngày chỉnh sửa cuối cùng 8 _class String Class thuộc về

3.2.3. Bảng User_privilege

Bảng 22: Chi tiết bảng dữ liệu user_privilege

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã quyền

2 userId String Id tài khoản phân quyền 3 privilegeId String Mã phân quyền

33

4 IsSystem Boolean Trạng thái trên hệ thống 5 Status Int Trạng thái hoạt động 6 createdDate Date Ngày tạo

7 lastModifiedDate Date Ngày chỉnh sửa cuối cùng 8 _class String Class thuộc về

3.2.4. Bảng Students

Bảng 23: Chi tiết bảng dữ liệu students

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id sinh viên 2 code String Mã số sinh viên

3 User DBRef User thuộc về

4 Firsname String Tên đệm

5 Lastname String Tên

6 isSystem Boolean Trạng thái hệ thống 7 Status Int Trạng thái hoạt động 8 createdDate Date Ngày tạo

9 createdBy String Người tạo

10 lastModifiedDate Date Ngày chỉnh sửa cuối cùng 11 lastModifiedBy String Người chỉnh sửa cuối cùng 12 _class String Class thuộc về

3.2.5. Bảng Semesters

Bảng 24: Chi tiết bảng dữ liệu semesters

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id của học kì 2 Name String Tên của học kì

3 Signal String Kí hiệu

34

5 endDate Date Ngày kết thúc 6 Scholastic DBRef() Năm học thuộc về 7 isSystem Boolean Trạng thái trên hệ thống 8 Status Int Trạng thái hoạt động 9 createdDate Date Ngày tạo

10 createdBy String Được tạo bởi

11 lastModifiredBy Date Ngày chỉnh sửa cuối cùng 12 lasteModifiedBy String Người chỉnh sửa cuối cùng 13 _aclass String Class thuộc về

3.2.6. Bảng Scholastics

Bảng 25: Chi tiết bảng dữ liệu scholastics

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id của học kì 2 startDate Date Ngày bắt đầu 3 endDate Date Ngày kết thúc

4 vnTitle String Tên tiếng việt chủ đề năm học 5 enTitle String Tên tiếng Anh chủ đề năm học 6 Semester DBRef() Các học kì phụ thuộc

7 isSystem Boolean Trạng thái trên hệ thống 8 Status Int Trạng thái hoạt động 9 createdDate Date Ngày tạo

10 createdBy String Được tạo bởi

11 lastModifiredBy Date Ngày chỉnh sửa cuối cùng 12 lasteModifiedBy String Người chỉnh sửa cuối cùng 13 _aclass String Class thuộc về

35

3.2.7. Bảng Roles

Bảng 26: Chi tiết bảng dữ liệu roles

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id của học kì

2 Name String Tên quyền

3 Description String Nội dung

4 isSystem Boolean Trạng thái trên hệ thống 5 Status Int Trạng thái hoạt động 6 createdDate Date Ngày tạo

7 lastModifiredDate Date Ngày chỉnh sửa cuối cùng 8 _aclass String Class thuộc về

3.2.8. Bảng Role_privilege

Bảng 27: Chi tiết bảng dữ liệu roles_privilege

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id

2 roleId String Mã id quyền 3 privilegeId String Mã id privilege

4 isSystem Boolean Trạng thái trên hệ thống 5 Status Int Trạng thái hoạt động 6 createdDate Date Ngày tạo

7 lastModifiredDate Date Ngày chỉnh sửa cuối cùng 8 _aclass String Class thuộc về

3.2.9. Bảng Privileges

Bảng 28: - Chi tiết bảng dữ liệu privileges

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id

36

3 description String Nội dung

4 isSystem Boolean Trạng thái trên hệ thống 5 Status Int Trạng thái hoạt động 6 createdDate Date Ngày tạo

7 lastModifiredDate Date Ngày chỉnh sửa cuối cùng 8 _aclass String Class thuộc về

3.2.10. Bảng People_contact

Bảng 29: Chi tiết bảng dữ liệu people_contact

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id

2 workplacePhone String Số điện thoại

3 Email String Địa chỉ email

4 peopleId LongNumber Id thông tin người dùng thuộc về 5 isSystem Boolean Trạng thái trên hệ thống

6 Status Int Trạng thái hoạt động 7 createdDate Date Ngày tạo

8 createdBy String Người tạo

9 lastModifiredDate Date Ngày chỉnh sửa cuối cùng 10 lastModifiredBy String Người chỉnh sửa cuối cùng 11 _aclass String Class thuộc về

3.2.11. Bảng Managers

Bảng 30: Chi tiết bảng dữ liệu managers

STT Thuộc tính Kiểu Ý nghĩa Ghi chú

1 _id ObjectId Mã id

2 Faculty DBRef() Khoa

3 User DBRef() Tài khoản

37

5 lastName String Tên

6 peopleContact DBRef() Thông tin người dùng 7 isSystem Boolean Trạng thái trên hệ thống 8 Status Int Trạng thái hoạt động 9 createdDate Date Ngày tạo

10 createdBy String Người tạo

11 lastModifiredDate Date Ngày chỉnh sửa cuối cùng 12 lastModifiredBy String Người chỉnh sửa cuối cùng 13 _aclass String Class thuộc về

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ đoàn viên (Trang 31)