PHÂN TÍCH NGHIỆP VỤ2.1 Đối tác nghiệp vụ, thừa tác viên và ca nghiệp vụ 2.1.1 Đối tác nghiệp vụ và thừa tác viên Đối tác nghiệp vụ: Thành viên trong nhóm user dùng là vai trò của người đ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỀ XUẤT ĐỀ TÀI PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
ĐỀ TÀI:
HỆ THỐNG HỖ TRỢ QUẢN LÝ CÔNG VIỆC NHÓM
Nhóm sinh viên thực hiện: Trần Trung Hiếu – 20170750
Vũ Phi Long Cao Thuý An
Giáo viên hướng dẫn: Thầy Nguyễn Việt Tùng
Hà Nội 2021
Trang 2Mục lục
Mục lục………
Danh mục viết tẳt………
Chương I Giới thiệu………
I- Giới thiệu bài toán nghiệp vụ, hiện trạng với các vấn đề cần giải quyết… II- Giới thiệu sơ bộ về giải pháp với hệ thống thông tin sẽ xây dựng………
III- Xác định phạm vi của đề tài……….
Chương II Phân tích nghiệp vụ……….
2.1 Đối tác nghiệp vụ, thừa tác viên và ca nghiệp vụ………
2.2 Đặc tả ca nghiệp vụ……….
Chương III Xác định yêu cầu phần mềm………
3.1 Mô hình ca sử dụng……….
3.1.1 Biểu đồ ca sử dụng………
3.1.2 Đặc tả ca sử dụng……….
3.2 Các yêu cầu phi chức năng……….
Chương IV Phân tích thiết kế………
4.1 Kiến trúc……….
4.1.1 Kiến trúc logic……….
4.1.2 Kiến trúc mã nguồn/mã thực thi………
4.1.3 Kiến trúc triển khai………
4.1.4 Các kỹ thuật……….
4.2 Thiết kế ca sử dụng……….
4.2.1 Ca sử dụng UCXXX………
4.3 Thiết kế hệ thống con………
4.4 Thiết kế cơ sở dữ liệu……….
Chương V Kết luận………
2 3 4 4 5 5 6 6 7 12 12 12 13 28 29 29 29 29 29 29 30
48 49 52
Trang 4Danh mục từ viết tắt
UC: Use Case
Trang 5Tuy nhiên, phân công công việc thông thường khó kiểm tra tiến
độ làm việc của từng người cũng như đánh giá các đóng góp củatừng thành viên vào công việc chung của cả nhóm
Ngoài ra, vì cùng thực hiện một công việc nên sử dụng kết quả của người khác làm đầu vào cho công việc của mình thường xuyên xảy ra Điều đó có thể khiến cho tiến độ bị chậm hơn so với dự tính
Trang 6II- Giải pháp
Để giải quyết vấn đề kể trên, em muốn thiết kế một hệ thống cho phép quản lý tiến độ của một nhóm
Hệ thống này có chức năng:
- Kiểm tra tiến độ làm việc của mình và các thành viên khác
- Xác định công việc cần thực hiện trước
- Yêu cầu kết quả của thành viên khác
III- Phạm vi
Hệ thống này có thể được sử dụng để quản lý công việc trong các công ty hoặc sử dụng như một công cụ giúp sinh viên, giảngviên quản lý các nhóm bài tập lớn, nhóm thí nghiệm,…
Trang 7PHÂN TÍCH NGHIỆP VỤ
2.1 Đối tác nghiệp vụ, thừa tác viên và ca nghiệp vụ
2.1.1 Đối tác nghiệp vụ và thừa tác viên
Đối tác nghiệp vụ: Thành viên trong nhóm (user) dùng là vai trò của người đã đăng nhập vào hệ thống, có thể sử dụng các chức năng đặc biệtcủa hệ thống
Thừa tác viên: Nhóm trưởng (admin) là vai trò của người có quyền giám sát, quản lý hệ thống, và xử lý các yêu cầu, thắc mắc của người dùng
2.1.2 Ca nghiệp vụ
Trang 82.2 Đặc tả ca nghiệp vụ
2.2.1 Quản lý thành viên:
- Admin có quyền thêm, xóa, sửa, xem danh sách các thành viên mà mình quản lý
Trang 102.2.2 Quản lý công việc:
- Admin có thể thêm, sửa, xóa, xem danh sách công việc
- Người dùng có thể xem danh sách công việc
Trang 132.2.5 Hoàn thành
- Khi user hoàn thành công việc sẽ chia sẻ lên hệ thống
- Hệ thống cập nhật để mọi thành viên đều có thể xem được kết quả
Trang 14Xác định yêu cầu phần mềm
3.1.1 Biểu đồ ca sử dụng
Trang 153.1.2 Đặc tả ca sử dụng
Khi bắt đầu mỗi ca sử dụng (trừ đăng nhập và đăng ký) hệ thống sẽ kiểm tra xem người dùng đã đăng nhập chưa Nếu chưa chuyển về ca sử dụng đăng nhập.
Trang 16- Sự kiện kích hoạt: Khi admin nhấn vào nút đăng ký.
- Điều kiện tiên quyết: Admin chưa có tài khoản trên hệ thống
- Kịch bản chính:
1 Admin chọn mục đăng ký 2 Hệ thống hiển thị form đăng ký
3 Admin hoàn thành form
4 Admin nhấn nút đăng ký 5 Hệ thống lưu thông tin của
admin vào cơ sở dữ liệu và trả về thông báo thành công
- Sự kiện kích hoạt: Khi admin/user nhấn vào nút đăng nhập
- Điều kiện tiên quyết: admin/user chưa đăng nhập vào hệ thống
Trang 17- Kịch bản chính:
1 Admin/user nhập tên đăng nhập
và mật khẩu
2 Admin/user nhấn nút đăng nhập 3 Hệ thống xác thực tài khoản và
chuyển sang giao diện dành cho người dùng và thông báo đăng nhập thành công
- Kịch bản phụ:
+ Tên đăng nhập hoặc mật khẩu để trống: Khởi động ở điểm 3 của kịch bản chính Hệ thống yêu cầu điền đầy đủ thông tin tài khoản.+ Tên đăng nhập hoặc mật khẩu không chính xác: Khởi động ở điểm 3 của kịch bản chính Hệ thống yêu cầu nhập lại email hoặc mật khẩu
c) Quản lý thành viên
- Tên: Quản lý thành viên
- Mục đích sử dụng: Dành cho admin để quản lý thành viên trong
hệ thống
- Tác nhân: Admin
- Sự kiện kích hoạt: Khi admin nhấn vào nút quản lý thành viên
- Điều kiện tiên quyết: admin đã đăng nhập vào hệ thống
- Kịch bản chính:
1.Người dùng nhấn vào “Quản lý
thành viên”
2.Hệ thống hiển thị danh sách các thành viên hiện có
3 Người dùng chọn chức năng
mong muốn
-Điểm mở rộng:
Trang 18+Người dùng chọn chức năng tìm kiếm, hệ thống đến UC tìm kiếmuser.
+ Người dùng chọn chức năng thêm, hệ thống đến UC thêm user.+ Người dùng chọn chức năng sửa trong ô của user nào, hệ thống đến UC cập nhật user đó
+ Người dùng chọn chức năng xóa trong ô của user nào, hệ thống đến UC xóa user đó
c1) Tìm kiếm user
- Tên: Tìm kiếm user
- Mục đích sử dụng: Dành cho admin để tìm kiếm user trong danh sách các user hiện có
- Tác nhân: Admin
- Sự kiện kích hoạt: Khi admin nhấn vào nút tìm kiếm
- Điều kiện tiên quyết: admin đã đăng nhập vào hệ thống, admin đang trong giao diện “Quản lý thành viên”
- Kịch bản chính:
1 Admin nhập tên user vào ô “Tìm
kiếm thành viên” và ấn Enter
2 Hệ thống tìm kiếm trong cơ sở
dữ liệu các thành viên liên quan và hiện thị ra màn hình
- Kịch bản phụ:
+ User không tồn tại trong hệ thống: Hệ thống đưa ra thông báo không có thành viên như vậy, mời tìm kiếm từ khóa khác
c2) Thêm user
- Tên: Thêm user
- Mục đích sử dụng: Khi admin muốn thêm một thành viên mới lên
hệ thống
Trang 193 Admin điền đầy đủ thông tin
thành viên mới vào form
4 Admin nhấn nút “Thêm” 5 Hệ thống gửi thông báo xác
nhận
6 + Admin chọn “Đồng ý”,
chuyển sang bước 7.1
+ Admin chọn “Hủy”, chuyển
sang bước 7.2
7.1 Hệ thống lưu thành viên mới vào cơ sở dữ liệu và trả lại thông báo thành công
7.2 Hệ thống quay lại giao diện
Trang 20- Mục đích sử dụng: Khi admin muốn thay đổi thông tin thành viên.
chuyển sang bước 7.1
+ Admin chọn “Hủy”, chuyển
sang bước 7.2
7.1 Hệ thống lưu thông tin mới vào
cơ sở dữ liệu và trả lại thông báo thành công
7.2 Hệ thống quay lại giao diện
“Quản lý thành viên”
- Kịch bản phụ:
+ Thông tin nhập không hợp lệ: Hệ thống gửi lời nhắn “Thông tin không hợp lệ” và yêu cầu người dùng nhập lại thông tin cho hợp lệ
+ Chưa thay đổi thông tin nhưng đã nhấn nút “Thay đổi”: Hệ thống gửi lời nhắc nhở “Chưa thay đổi thông tin” và yêu cầu thực hiện thay đổi
Trang 21+ Ô thông tin để trống: Hệ thống gửi lời nhắc nhở “Thông tin không được để trống” và yêu cầu nhập vào 1 dữ liệu cụ thể.
c4) Xóa user
- Tên: Xóa user
- Mục đích sử dụng: Khi admin muốn Xóa thành viên trên hệ
4.2 Hệ thống quay lại giao diện
“Quản lý thành viên”
c5) Xem thành viên
- Tên: Xem thành viên
- Mục đích sử dụng: Khi admin muốn xem thông tin thành viên trên hệ thống
- Tác nhân: Admin
- Sự kiện kích hoạt: Admin đang trong giao diện “Quản lý thành
Trang 22- Điều kiện tiên quyết: Admin đang trong giao diện “Quản lý thànhviên”.
- Kịch bản chính:
1 Admin nhấn tên thành viên 2 Hệ thống lấy thông tin từ cơ sở
dữ liệu và hiển thị lên màn hình
d) Chỉnh sửa thông tin
- Tên: Chỉnh sửa thông tin cá nhân
- Mục đích sử dụng: Khi admin/user muốn thay đổi thông tin của mình trên hệ thống
2 Hệ thống hiển thị giao diện
“Chỉnh sửa thông tin cá nhân” của user
3 User thực hiện thay đổi theo ý
7.1 Hệ thống lưu thông tin mới vào
cơ sở dữ liệu và trả lại thông báo thành công
7.2 Hệ thống quay lại giao diện củauser
- Kịch bản phụ:
Trang 23+ Thông tin nhập không hợp lệ: Hệ thống gửi lời nhắn “Thông tin không hợp lệ” và yêu cầu người dùng nhập lại thông tin cho hợp lệ.
+ Chưa thay đổi thông tin nhưng đã nhấn nút “Thay đổi”: Hệ thống gửi lời nhắc nhở “Chưa thay đổi thông tin” và yêu cầu thực hiện thay đổi
+ Ô thông tin để trống: Hệ thống gửi lời nhắc nhở “Thông tin không được để trống” và yêu cầu nhập vào 1 dữ liệu cụ thể.e) Quản lý công việc
- Tên: Quản lý công việc
- Mục đích sử dụng: Dành cho admin/user để quản lý công việc trong hệ thống
Trang 24+Với user, hệ thống sẽ hiển thị danh sách các công việc của user
đó theo sắp xếp theo deadline với màu đỏ (quá hạn), đen (chưa hết hạn), xanh lá cây (đã hoàn thành) Nếu user chọn chế độ “All” thì sẽ hiển thị toàn bộ như admin
+Người dùng chọn chức năng tìm kiếm, hệ thống đến UC tìm kiếmcông việc
+ Người dùng chọn chức năng thêm, hệ thống đến UC thêm công việc
+ Người dùng chọn chức năng sửa trong ô của công việc nào, hệ thống đến UC cập nhật công việc đó
+ Người dùng chọn chức năng xóa trong ô của công việc nào, hệ thống đến UC xóa công việc đó
e1) Tìm kiếm công việc
- Tên: Tìm kiếm công việc
- Mục đích sử dụng: Dành cho admin/user để tìm kiếm công việc trong danh sách các công việc hiện có
- Tác nhân: Admin/user
- Sự kiện kích hoạt: Khi admin/user nhấn vào nút tìm kiếm
- Điều kiện tiên quyết: admin/user đã đăng nhập vào hệ thống, admin/user đang trong giao diện “Quản lý công việc”
- Kịch bản chính:
1 Admin/user nhập tên công việc
vào ô “Tìm kiếm công việc” và ấn
Enter
2 Hệ thống tìm kiếm trong cơ sở
dữ liệu các công việc liên quan và hiện thị ra màn hình
- Kịch bản phụ:
+ Công việc không tồn tại trong hệ thống: Hệ thống đưa ra
thông báo không có công việc như vậy, mời tìm kiếm từ khóa khác hoặc thêm công việc mới
Trang 25e2) Thêm công việc
- Tên: Thêm công việc
- Mục đích sử dụng: Khi admin/user muốn thêm một công việc mới lên hệ thống Khi user yêu cầu cung cấp cần kết quả của một công việc khác thì tương đương với tạo một công việc mới
3 Người dùng điền đầy đủ thông
tin công việc mới vào form
4 Người dùng nhấn nút “Thêm” 5 Hệ thống gửi thông báo xác
nhận
6 + Người dùng chọn “Đồng ý”,
chuyển sang bước 7.1
+ Người dùng chọn “Hủy”,
chuyển sang bước 7.2
7.1 Hệ thống lưu công việc mới vào cơ sở dữ liệu và trả lại thông báo thành công
7.2 Hệ thống quay lại giao diện
“Thêm công việc”
- Kịch bản phụ:
+ Thông tin bị bỏ trống: Hệ thống yêu cầu người dùng nhập đầy đủthông tin
Trang 26+ Thêm một công việc đã có trong hệ thống: Hệ thống yêu cầu thay đổi công việc.
e3) Cập nhật công việc
- Tên: Cập nhật công việc
- Mục đích sử dụng: Khi admin muốn thay đổi thông tin công
chuyển sang bước 7.1
+ Admin chọn “Hủy”, chuyển
sang bước 7.2
7.1 Hệ thống lưu thông tin mới vào
cơ sở dữ liệu và trả lại thông báo thành công
7.2 Hệ thống quay lại giao diện
“Quản lý công việc”
- Kịch bản phụ:
Trang 27+ Thông tin nhập không hợp lệ: Hệ thống gửi lời nhắn “Thông tin không hợp lệ” và yêu cầu người dùng nhập lại thông tin cho hợp lệ.
+ Chưa thay đổi thông tin nhưng đã nhấn nút “Thay đổi”: Hệ thống gửi lời nhắc nhở “Chưa thay đổi thông tin” và yêu cầu thực hiện thay đổi
+ Ô thông tin để trống: Hệ thống gửi lời nhắc nhở “Thông tin không được để trống” và yêu cầu nhập vào 1 dữ liệu cụ thể
e4) Xóa công việc
- Tên: Xóa công việc
- Mục đích sử dụng: Khi admin muốn Xóa công việc trên hệ thống
chuyển sang thực hiện bước 4.2
4.1 Hệ thống xóa công việc ra khỏi
hệ thống và trả lại thông báo thành công
4.2 Hệ thống quay lại giao diện
“Quản lý công việc”
e5) Xóa hết
Trang 28- Mục đích sử dụng: Khi admin muốn Xóa toàn bộ công việc trên
chuyển sang thực hiện bước 4.2
4.1 Hệ thống xóa toàn bộ công việccủa Admin ra khỏi hệ thống và trả lại thông báo thành công
4.2 Hệ thống quay lại giao diện
“Quản lý công việc”
f) Giao việc
- Tên: Giao việc
- Mục đích sử dụng: Khi admin muốn giao công việc cho thành viên
Trang 29chuyển sang bước 7.1.
+ Admin chọn “Hủy”, chuyển
sang bước 7.2
7.1 Hệ thống lưu thông tin mới vào
cơ sở dữ liệu và trả lại thông báo thành công
7.2 Hệ thống quay lại giao diện
“Quản lý công việc”
- Kịch bản phụ:
+ Thông tin nhập không hợp lệ: Hệ thống gửi lời nhắn “Thông tin không hợp lệ” và yêu cầu người dùng nhập lại thông tin cho hợp lệ
+ Ô thông tin để trống: Hệ thống gửi lời nhắc nhở “Thông tin không được để trống” và yêu cầu nhập vào 1 dữ liệu cụ thể.g) Hoàn thành
- Tên: Hoàn thành
- Mục đích sử dụng: Khi user muốn nộp công việc được giao
- Tác nhân: User
- Sự kiện kích hoạt: User đang trong giao diện “Quản lý công
việc”, chọn chức năng “Hoàn thành”
- Điều kiện tiên quyết: User đang trong giao diện “Quản lý công việc”
- Kịch bản chính:
1 Người dùng nhấn nút “Hoàn 2 Hệ thống hiển trị giao diện nộp
Trang 303 Người dùng điền đầy đủ thông
tin vào form
chuyển sang bước 7.2
7.1 Hệ thống lưu kết quả vào cơ sở
dữ liệu cùng với trạng thái hoàn thành và trả lại thông báo thành công Hệ thống gửi thông báo đến các người dùng đang sử dụng
7.2 Hệ thống quay lại giao diện
“Quản lý công việc”
- Kịch bản phụ:
+ Thông tin bị bỏ trống: Hệ thống yêu cầu người dùng nhập đầy đủthông tin
- Điểm mở rộng: trạng thái “0” ứng với hoàn thành trước
deadline, ngược lại, trạng thái “1” ứng với hoàn thành muộn
3.2 Các yêu cầu phi chức năng
- Hệ thống phải cập nhật trên tất cả các thay đổi cho tất cả thành viên trong nhóm
- Hệ thống phải thông báo thực hiện thao tác thành công
- Hệ thống sẽ tự chuyển về trang đăng nhập khi chưa đăng nhập
Trang 31- Hệ quản trị cơ sở dữ liệu SQL server
- Lập trình giao diện html,bootstrap,…
4.1.3 Kiến trúc triển khai
4.1.4 Các kỹ thuật
Trang 32Trong phần mềm này, em sẽ dùng Entity Framework cho mô hình MVC để kết nối cơ sở dữ liệu trên SQL Server với phần mềm (sử dụng tự sinh code).
4.2 Thiết kế ca sử dụng
a) Đăng ký (UC1)
- Cấu trúc:
- Hành vi:
Trang 33b) Đăng nhập (UC2)
- Cấu trúc:
- Hành vi:
Trang 34c) Quản lý thành viên (UC3)
- Cấu trúc:
- Hành vi:
Trang 35c1) Tìm kiếm user (UC31)
- Cấu trúc:
- Hành vi:
Trang 36c2) Thêm user (UC32)
- Cấu trúc:
- Hành vi:
Trang 37c3) Cập nhật user (UC33)
- Cấu trúc:
- Hành vi:
Trang 38c4) Xóa user (UC34)
- Cấu trúc:
- Hành vi:
Trang 39c5) Xem thành viên (UC35)
- Cấu trúc:
- Hành vi:
Trang 40d) Chỉnh sửa thông tin (UC4)
- Cấu trúc:
- Hành vi:
Trang 41e) Quản lý công việc (UC5)
- Cấu trúc:
- Hành vi:
Trang 43e1) Tìm kiếm công việc (UC51)
- Cấu trúc:
- Hành vi:
Trang 44e2) Thêm công việc (UC52)
- Cấu trúc:
- Hành vi:
Trang 45e3) Cập nhật công việc (UC53)
- Cấu trúc:
- Hành vi:
Trang 46e4) Xóa công việc (UC54)
- Cấu trúc:
- Hành vi:
Trang 47e5) Xóa hết (UC55)
- Cấu trúc:
- Hành vi:
Trang 48f) Giao việc (UC6)
- Cấu trúc:
- Hành vi:
Trang 49g) Hoàn thành (UC7)
- Cấu trúc:
- Hành vi:
Trang 50- Gửi trả danh sách dữ liệu trong bảng đã được sắp xếp:
Nếu có tham số userID thì trả về danh sách sắp xếp theo deadline của User có ID=userID
Nếu không có userID trả về danh sách sắp xếp theo deadline của tất cả công việc của Admin
- Tìm kiếm theo (Ho,Ten) của user
- Tìm kiếm theo (Ten) của Congviec
Trang 514.4 Thiết kế cơ sở dữ liệu
Bảng Admin
Tên trường Kiểu dữ liệu Nullable Mục đích
AdminID (key) Numeric (auto) No Tham chiếu của
Admin
Ho Nvarchar(10) No Họ
Ten Nvarchar(10) No Tên
Ten_dang_nhap Varchar(30) No Tên đăng nhập
Mat_khau Varchar(30) No Mật khẩu
Ngay_sinh datetime Yes Ngày sinh
So_dien_thoai Varchar(11) Yes Số điện thoại
Bảng User
Tên trường Kiểu dữ liệu Nullable Mục đích
UserID (key) Numeric (auto) No Tham chiếu đến
UserAdminID Numeric No User thuộc
Admin có ID
Ten Nvarchar(10) No Tên
Ten_dang_nhap Varchar(30) No Tên đăng nhậpMat_khau Varchar(30) No Mật khẩu
Ngay_sinh datetime Yes Ngày sinh
So_dien_thoai Varchar(11) Yes Số điện thoại
Trang 52Tên trường Kiểu dữ liệu Nullable Mục đích
JobID Numeric (auto) No Tham chiếu đến công việcTen Nvarchar(50) No Tên công việc
Noi_dung Nvarchar(1000) No Nội dung
Createdate Datetime No Thời gian tạo công việc
AdminID Numeric No Người phụ trách
UserID Numeric No Người thực hiện
Deadline Datetime Yes Kỳ hạn
Ket_qua Text Yes Kết quả
Status int Yes Có 2 giá trị:
0: trước hạn1:quá hạn