1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) báo cáo môn phát triển dự án phần mềm hệ thống quản lý thực tập, đồ án khoa công nghệ thông tin trường đại học thủy lợi

210 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo cáo môn Phát triển dự án phần mềm hệ thống quản lý thực tập, đồ án khoa công nghệ thông tin trường đại học thủy lợi
Người hướng dẫn Cù Việt Dũng
Trường học Trường Đại Học Thủy Lợi
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo kết thúc môn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 210
Dung lượng 11,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hàng năm, mỗi sinh viên năm cuối đủ điều kiện bảo vệ đồ án tốt nghiệp đều phải liên hệ với các giáo viên trong khoa để được hướng dẫn đề tài và thực hiện đề tài đó... Sinh viên sẽ mất th

Trang 1

BỘ NÔNG NGHIỆP VÀ PTNT TRƯỜNG ĐẠI HỌC THỦY LỢI

NHÓM 1

HỆ THỐNG QUẢN LÝ THỰC TẬP, ĐỒ ÁN KHOA CÔNG NGHỆ THÔNG

TIN TRƯỜNG ĐẠI HỌC THỦY LỢI

BÁO CÁO KẾT THÚC MÔN PHÁT TRIỂN DỰ ÁN PHẦN MỀM

HÀ NỘI, NĂM 2023

Trang 2

BỘ NÔNG NGHIỆP VÀ PTNT TRƯỜNG ĐẠI HỌC THỦY LỢI

NHÓM 1

HỆ THỐNG QUẢN LÝ THỰC TẬP, ĐỒ ÁN KHOA CÔNG NGHỆ THÔNG

TIN TRƯỜNG ĐẠI HỌC THỦY LỢI

Ngành: Công nghệ thông tin

Lớp: 61THNB

Người hướng dẫn: Cù Việt Dũng

Trang 4

Nhóm 1 xin cam đoan đây là Báo cáo kết thúc môn Phát triển dự án phần mềm của bản thân nhóm 1 tự làm Các kết quả trong Báo cáo kết thúc môn Phát triển dự án phần mềm này là trung thực, và không sao chép từ bất kỳ một nguồn nào và dưới bất kỳ hình thức nào Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn và ghi nguồn tài liệu tham khảo đúng quy định

Đại diện Tác giả

Chữ ký

Trần Thảo Vân

Trang 5

LỜI CÁM ƠN

Đầu tiên, nhóm 1 chúng em xin gửi lời cảm ơn đến thầy Cù Việt Dũng Nhờ sự chỉ dẫn tận tình, sự truyền đạt kiến thức sâu sắc và kinh nghiệm thực tiễn, nhóm em đã có cơ hội học tập và phát triển năng lực của mình Những bài giảng, tài liệu và bài tập được thầy cung cấp đã giúp nhóm em hiểu rõ hơn về nội dung của môn học và cải thiện kỹ năng của mình

Trang 6

MỤC LỤC

DANH MỤC CÁC HÌNH ẢNH vii

DANH MỤC BẢNG BIỂU x

DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ xi

CHƯƠNG 1 THU THẬP YÊU CẦU 1

I BẢN KẾ HOẠCH QUẢN LÝ YÊU CẦU 1

CHƯƠNG 2 PHÂN TÍCH - THIẾT KẾ 25

2.1 Use Case tổng quát 25

2.1.1 Use Case chi tiết của actor sinh viên 25

2.1.2 Use Case chi tiết của actor giáo viên 26

2.1.3 Use Case chi tiết của actor bộ môn 26

2.1.4 Use Case chi tiết của actor văn phòng khoa 27

2.2 Đặc tả use case 27

2.2.1 Đăng nhập 27

2.2.2 Lấy lại mật khẩu 29

2.2.3 Chọn giảng viên 32

2.2.4 Xem danh sách giảng viên hướnng dẫn 33

2.2.5 Liên hệ giảng viên 34

2.2.6 Đăng kí đề tài 35

2.2.7 Sửa đề tài 37

2.2.8 Xác nhận hoàn thành đăng kí đề tài 39

2.2.9 Xem nhiệm vụ 40

2.2.10 Nộp đề cương 42

2.2.11 Nộp báo cáo 43

2.2.12 Xác nhận hoàn thành đăng kí giảng viên 45

2.2.13 Chọn thời gian trao đổi 46

2.2.14 Chọn deadline báo cáo final 48

Trang 7

2.2.15 Duyệt báo cáo 50

Duyệt báo cáo 50

2.2.16 Duyệt đề tài 52

2.2.17 Giao đề tài 54

2.2.18 Duyệt đề cương 56

2.2.19 Gửi đề cương 58

2.2.20 Duyệt giảng viên hướng dẫn 59

2.2.21 Phân công giảng viên hướng dẫn 61

2.2.22 Tạo đợt đồ án 63

2.2.23 Cập nhập ngày bảo vệ 65

2.2.24 Tạo tài khoản bộ môn 67

2.2.25 Tạo tài khoản giảng viên 70

2.2.26 Tạo tài khoản sinh viên 72

2.2.27 Xác nhận thông tin 75

Xác nhận thông tin 75

2.2.28 Gửi kết quả 76

2.3 Sequences diagram 78

2.3.1 Đăng nhập 78

2.3.1 Sequences diagram Đăng nhập 78

2.3.2 Lấy lại mật khẩu 78

2.3.3 Chọn giảng viên 80

2.3.4 Xem danh sách giáo viên hương dẫn 80

2.3.5 Liên hệ giảng viên 81

2.3.6 Đăng kí đề tài 81

2.3.7 Sửa đề tài 82

2.3.8 Xác nhận hoàn thành đăng kí đề tài 82

2.3.9 Xem nhiệm vụ 83

2.3.10 Nộp đề cương 83

2.3.11 Nộp báo cáo 84

2.3.12 Xác nhận hoàn thành đăng kí giảng viên 86

2.3.13 Chọn thời gian trao đổi 86

Trang 8

2.3.14 Chọn deadline báo cáo cuối final 87

2.3.15 Duyệt báo cáo 87

2.3.16 Duyệt đề tài 88

2.3.17 Giao đề tài 88

2.3.18 Duyệt đề cương 89

2.3.19 Gửi đề cương 90

2.3.20 Duyệt giảng viên hướng dẫn 90

2.3.21 Phân công giảng viên hướng dẫn 91

2.3.22 Tạo đợt đồ án 91

2.3.23 Cập nhập ngày bảo vệ 92

2.3.24 Tạo tài khoản bộ môn 93

2.3.25 Tạo tài khoản giảng viên 94

2.3.26 Tạo tài khoản sinh viên 94

2.3.27 Xác nhận thông tin 95

2.3.28 Gửi kết quả 95

2.4 Activity diagram 96

2.4.1 Đăng nhập 96

2.4.2 Lấy lại mật khẩu 97

2.4.3 Chọn giảng viên 98

2.4.4 Xem danh sách giáo viên hương dẫn 99

2.4.5 Liên hệ giảng viên 100

2.4.6 Đăng kí đề tài 100

2.4.7 Sửa đề tài 101

2.4.8 Xác nhận hoàn thành đăng kí đề tài 102

2.4.9 Xem nhiệm vụ 103

2.4.10 Nộp đề cương 104

2.4.11 Nộp báo cáo 104

2.4.12 Xác nhận hoàn thành đăng kí giảng viên 105

2.4.13 Chọn thời gian trao đổi 106

2.4.14 Chọn deadline báo cáo cuối final 107

Trang 9

2.4.16 Duyệt đề tài 109

2.4.17 Giao đề tài 110

2.4.18 Duyệt đề cương 111

2.4.19 Gửi đề cương 112

2.4.20 Duyệt giảng viên hướng dẫn 113

2.4.21 Phân công giảng viên hướng dẫn 114

2.4.22 Tạo đợt đồ án 115

2.4.23 Cập nhập ngày bảo vệ 116

2.4.24 Tạo tài khoản bộ môn 117

2.4.25 Tạo tài khoản giảng viên 118

2.4.26 Tạo tài khoản sinh viên 119

2.4.27 Xác nhận thông tin 120

2.4.28 Gửi kết quả 121

2.5 Class diagram 122

2.5.1 Class analysis diagram 122

2.5.2 Class diagram 132

CHƯƠNG 3 Lập trình 134

Đường dẫn trang web: https://doantotnghiep.tlu.shinchoku.dev/ 134

3.1 Thiết kế cơ sở dữ liệu 134

3.1.1 Sơ đồ cơ sở dữ liệu 134

3.1.2 Mô tả chi tiết các thực thể 136

3.2 Các công nghệ sử dụng 142

3.2.1 Net 142

3.2.2 Entity Framework Core (EF Core) 143

3.2.3 CQRS (Command Query Responsibility Segregation) 143

3.2.4 Mediator Pattern 144

3.2.5 PostgreSQL 145

3.2.6 React 146

3.2.7 MUI (Material-UI) 146

Trang 10

4.1 Danh sách kiểm thử 147

CHƯƠNG 5 TRIỂN KHAI VÀ TÀI LIỆU HƯỚNG DẪN SỬ DỤNG 148

5.1 Triển khai (Deploy) 148

5.1.1 Tạo Dockerfile 149

5.1.2 Build image 149

5.1.3 Đẩy image lên Docker Hub 150

5.1.4 Đăng nhập vào fly.io 150

5.1.5 Khởi động ứng dụng 152

5.1.6 Thiết lập các biến bí mật (secret variable) 153

5.1.7 Đẩy image Docker lên fly.io registry 154

5.2 Tài liệu hướng dẫn người dùng 154

5.2.1 Mở đầu 155

5.2.2 Tổng quan 156

5.2.3 Hướng dẫn sử dụng 157

5.2.4 Mô tả hệ thống theo chức năng 161

TÀI LIỆU THAM KHẢO 194

PHỤ LỤC 195

Trang 11

DANH MỤC CÁC HÌNH ẢNH

Hình 1 Màn hình đăng nhập 158

Hình 2 Màn hình đăng nhập VPK 159

Hình 3 Màn hình đăng nhập VPK 159

Hình 4 Màn hình đăng nhập BM 160

Hình 5 Màn hình đăng nhập GV 160

Hình 6 Màn hình đăng nhập SV 161

Hình 7 Màn hình đăng nhập SV 161

Hình 8 Màn hình đăng nhập (SV) 162

Hình 9 Màn hình đăng nhập BM 162

Hình 10 Màn hình đăng nhập VPK 163

Hình 11 Màn hình đăng nhập GV 163

Hình 12 Màn hình đăng nhập 164

Hình 13 Quên mật khẩu 165

Hình 14 Quên mật khẩu kiểm tra email 165

Hình 15 Check email phục hồi 166

Hình 16 Đặt lại mật khẩu 166

Hình 17 Password được đặt lại thành công 167

Hình 18 Danh sách GV 167

Hình 19 Màn hình danh sách GV 168

Hình 20 Chọn GV thành công 168

Hình 21 Màn hình danh sách GV 169

Hình 22 Màn hình GV 169

Hình 23 Màn hình hiển thị Liên hệ email GV 170

Hình 24 Màn hình đề tài với SV chưa đăng ký 170

Hình 25 Check email phục hồi 171

Hình 26 Thông tin đề tài 171

Hình 27 Thông tin đề tài (nhập lỗi) 172

Hình 28 Thông tin đề tài 172

Hình 29 Thông tin đề tài _ Sửa 173

Trang 12

Hình 30 Sửa đề tài thành công 174

Hình 31 Xác nhận hoàn thành đăng ký GV 174

Hình 32 Xác nhận hoàn thành đăng ký 174

Hình 33 Xác nhận hoàn thành đăng ký GV 175

Hình 34 Quản lý đề cương 176

Hình 35 Duyệt đề cương 176

Hình 36 Quản lý đề cương 177

Hình 37 Giao đề tài 178

Hình 38 Thông tin đề tài 178

Hình 39 Thông báo lưu thành công 179

Hình 40 Màn hình quản lý đề cương 179

Hình 41 Màn hình quản lý đề cương 180

Hình 42 Màn hình đăng ký GVHD 181

Hình 43 Phân công GVHD 181

Hình 44 Cập nhật thành công 182

Hình 45 Quản lý đăng ký GVHD 182

Hình 46 Lựa chọn Đồng ý/ Không 183

Hình 47 Cập nhật thành công 183

Hình 48 Tạo đợt đồ án 184

Hình 49 Nhập thông tin đợt đồ án 184

Hình 50 Tạo đợt đồ án thành công 185

Hình 51 Màn hình đợt đồ án 185

Hình 52 Thông tin đợt đồ án chi tiết 186

Hình 53 Inactive cập nhật 186

Hình 54 Active cập nhật 187

Hình 55 Cập nhật thành công 187

Hình 56 Tạo tài khoản bộ môn 188

Hình 57 Form thêm tài khoản bộ môn 188

Hình 58 Tạo tài khoản BM thành công 189

Hình 59 Tạo tài khoản GV 189

Trang 13

Hình 61 Tạo tài khoản GV thành công 190

Hình 62 Tạo tài khoản SV 191

Hình 63 Màn hình tài khoản SV chi tiết 191

Hình 64 Upload file SV csv 192

Hình 65 Tạo tài khoản SV thành công 192

Trang 14

DANH MỤC BẢNG BIỂU

Trang 15

DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ

Trang 16

CHƯƠNG 1 THU THẬP YÊU CẦU

I BẢN KẾ HOẠCH QUẢN LÝ YÊU CẦU

DANH MỤC CÁC HÌNH ẢNH vii

DANH MỤC BẢNG BIỂU x

DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ xi

CHƯƠNG 1 THU THẬP YÊU CẦU 1 I BẢN KẾ HOẠCH QUẢN LÝ YÊU CẦU 1

4.3 Quy ước 18

4.4 Tính toán 19

Step 1: Tính số UFC 19

Step 2: Tính UFP 20

Step 3: Technical Complexity Factor 21

Step 4: Tính DI 22

Step 5: Tính TCF dựa trên DI 22

Step 6: Tính FP 22

Step 7: Tính KLOC 23

4.5 Kết luận 23

4.6 References 24

CHƯƠNG 2 PHÂN TÍCH - THIẾT KẾ 25 2.1 Use Case tổng quát 25

2.1.1 Use Case chi tiết của actor sinh viên 25

Trang 17

2.1.3 Use Case chi tiết của actor bộ môn 26

2.1.4 Use Case chi tiết của actor văn phòng khoa 27

2.2 Đặc tả use case 27

2.2.1 Đăng nhập 27 2.2.2 Lấy lại mật khẩu 29 2.2.3 Chọn giảng viên 32 2.2.4 Xem danh sách giảng viên hướnng dẫn 33 2.2.5 Liên hệ giảng viên 34 2.2.6 Đăng kí đề tài 35 2.2.7 Sửa đề tài 37 2.2.8 Xác nhận hoàn thành đăng kí đề tài 39 2.2.9 Xem nhiệm vụ 40 2.2.10 Nộp đề cương 42

2.2.11 Nộp báo cáo 43

2.2.12 Xác nhận hoàn thành đăng kí giảng viên 45

2.2.13 Chọn thời gian trao đổi 46

2.2.14 Chọn deadline báo cáo final 48

Chọn deadline để nộp báo cáo cuối cùng 48

2.2.15 Duyệt báo cáo 50

Duyệt báo cáo 50

2.2.16 Duyệt đề tài 52

Trang 18

2.2.18 Duyệt đề cương 56

2.2.19 Gửi đề cương 58

2.2.20 Duyệt giảng viên hướng dẫn 59

2.2.21 Phân công giảng viên hướng dẫn 61

2.2.22 Tạo đợt đồ án 63

2.2.23 Cập nhập ngày bảo vệ 65

2.2.24 Tạo tài khoản bộ môn 67

2.2.25 Tạo tài khoản giảng viên 70

2.2.26 Tạo tài khoản sinh viên 72

2.2.27 Xác nhận thông tin 75

Xác nhận thông tin 75

2.2.28 Gửi kết quả 76

2.3 Sequences diagram

78

2.3.1 Đăng nhập

78

2.3.2 Lấy lại mật khẩu

78

2.3.3 Chọn giảng viên

80

2.3.4 Xem danh sách giáo viên hương dẫn

80

2.3.5 Liên hệ giảng viên

81

2.3.6 Đăng kí đề tài

81

2.3.7 Sửa đề tài

82

2.3.8 Xác nhận hoàn thành đăng kí đề tài

82

Trang 19

2.3.9 Xem nhiệm vụ

83

2.3.10 Nộp đề cương 83

2.3.11 Nộp báo cáo 84

2.3.12 Xác nhận hoàn thành đăng kí giảng viên 86

2.3.13 Chọn thời gian trao đổi 86

2.3.14 Chọn deadline báo cáo cuối final 87

2.3.15 Duyệt báo cáo 87

2.3.16 Duyệt đề tài 88

2.3.17 Giao đề tài 88

2.3.18 Duyệt đề cương 89

2.3.19 Gửi đề cương 90

2.3.20 Duyệt giảng viên hướng dẫn 90

2.3.21 Phân công giảng viên hướng dẫn 91

2.3.22 Tạo đợt đồ án 91

2.3.23 Cập nhập ngày bảo vệ 92

2.3.24 Tạo tài khoản bộ môn 93

2.3.25 Tạo tài khoản giảng viên 94

2.3.26 Tạo tài khoản sinh viên 94

2.3.27 Xác nhận thông tin 95

2.3.28 Gửi kết quả 95

2.4 Activity diagram

96

2.4.1 Đăng nhập

96

2.4.2 Lấy lại mật khẩu

97

2.4.3 Chọn giảng viên

98

2.4.4 Xem danh sách giáo viên hương dẫn

99

Trang 20

2.4.5 Liên hệ giảng viên

100

2.4.6 Đăng kí đề tài

100

2.4.7 Sửa đề tài

101

2.4.8 Xác nhận hoàn thành đăng kí đề tài

102

2.4.9 Xem nhiệm vụ

103

2.4.10 Nộp đề cương 104

2.4.11 Nộp báo cáo 104

2.4.12 Xác nhận hoàn thành đăng kí giảng viên 105

2.4.13 Chọn thời gian trao đổi 106

2.4.14 Chọn deadline báo cáo cuối final 107

2.4.15 Duyệt báo cáo 108

2.4.16 Duyệt đề tài 109

2.4.17 Giao đề tài 110

2.4.18 Duyệt đề cương 111

2.4.19 Gửi đề cương 112

2.4.20 Duyệt giảng viên hướng dẫn 113

2.4.21 Phân công giảng viên hướng dẫn 114

2.4.22 Tạo đợt đồ án 115

2.4.23 Cập nhập ngày bảo vệ 116

2.4.24 Tạo tài khoản bộ môn 117

2.4.25 Tạo tài khoản giảng viên 118

2.4.26 Tạo tài khoản sinh viên 119

2.4.27 Xác nhận thông tin 120

2.4.28 Gửi kết quả 121

2.5 Class diagram

Trang 21

2.5.1 Class analysis diagram 122

2.5.1.1 Đăng nhập 122

2.5.1.2 Lấy lại mật khẩu 122

2.5.1.3 Chọn giảng viên 123

2.5.1.4 Xem danh sách giảng viên hương dẫn 123

2.5.1.5 Liên hệ giảng viên 123

2.5.1.6 Đăng kí đề tài 124

2.5.1.7 Sửa đề tài 124

2.5.1.8 Xác nhận hoàn thành đăng kí đề tài 124

2.5.1.9 Xem nhiệm vụ 125

2.5.1.10 Nộp đề cương 125

2.5.1.11 Nộp báo cáo 126

2.5.1.12 Xác nhận hoàn thành đăng kí giảng viên 126

2.5.1.13 Chọn thời gian trao đổi 126

2.5.1.14 Chọn deadline báo cáo cuối final 126

2.5.1.15 Duyệt báo cáo 127

2.5.1.16 Duyệt đề tài 127

2.5.1.17 Giao đề tài 128

2.5.1.18 Duyệt đề cương 128

2.5.1.19 Gửi đề cương 129

2.5.1.20 Duyệt giảng viên hướng dẫn 129

2.5.1.21 Phân công giảng viên hướng dẫn 129

2.5.1.22 Tạo đợt đồ án 130

2.5.1.23 Cập nhập ngày bảo vệ 130

2.5.1.24 Tạo tài khoản bộ môn 130

2.5.1.25 Tạo tài khoản giảng viên 131

2.5.1.26 Tạo tài khoản sinh viên 131

2.5.1.27 Xác nhận thông tin 132

2.5.1.28 Gửi kết quả 132

2.5.2 Class diagram 132

Trang 22

CHƯƠNG 3 Lập trình

134

Đường dẫn trang web: https://doantotnghiep.tlu.shinchoku.dev/ 134

3.1 Thiết kế cơ sở dữ liệu 134

3.1.1 Sơ đồ cơ sở dữ liệu

136 3.1.2.3 Users

137 3.1.2.4 Faculties

138 3.1.2.5 UserRoles

138 3.1.2.6 DepartmentSubjects

138 3.1.2.7 Lecturers

138 3.1.2.8 GraduationProjects

139 3.1.2.9 GraduationProjectPeriods

140 3.1.2.10 Syllabi

141 3.1.2.11 Instructors

Trang 24

5.1.4 Đăng nhập vào fly.io

156 5.2.1.3 Thuật ngữ và từ viết tắt

156 5.2.2 Tổng quan

156

5.2.2.1 Chức năng, nhiệm vụ

156 5.2.2.2 Hệ thống

156 5.2.3 Hướng dẫn sử dụng

Trang 25

5.2.4.1.3 Chọn giảng viên

167 5.2.4.1.4 Xem danh sách giảng viên

169 5.2.4.1.5 Liên hệ GV

169 5.2.4.1.6 Đăng ký đề tài

170 5.2.4.1.7 Sửa đề tài

173 5.2.4.1.8 Xác nhận hoàn thành đăng ký đề tài

174 5.2.4.1.9 Xem nhiệm vụ (chưa triển khai)

175 5.2.4.1.10 Nộp đề cương (chưa triển khai)

175 5.2.4.1.11 Nộp báo cáo (chưa triển khai)

175 5.2.4.1.12 Xác nhận hoàn thành đăng ký GV

175 5.2.4.1.13 Chọn thời gian trao đổi (chưa triển khai)

175 5.2.4.1.14 Chọn deadline báo cáo final (chưa triển khai)

176 5.2.4.1.15 Duyệt báo cáo (duyệt đề cương)

176 5.2.4.1.16 Giao đề tài

177 5.2.4.1.17 Duyệt đề cương

179

Trang 26

5.2.4.1.18 Gửi đề cương (chưa triển khai)

180 5.2.4.1.19 Phân công giảng viên hướng dẫn

180 5.2.4.1.20 Duyệt GVHD

182 5.2.4.1.21 Tạo đợt đồ án

184 5.2.4.1.22 Cập nhật ngày bảo vệ

185 5.2.4.1.23 Tạo tài khoản bộ môn

188 5.2.4.1.24 Tạo tài khoản giảng viên

189 5.2.4.1.25 Tạo tài khoản SV

191 5.2.4.1.26 Xác nhận thông tin (chưa triển khai)

193 5.2.4.1.27 Gửi kết quả (chưa triển khai)

193

PHỤ LỤC 195

1.1 Giới thiệu

- Giới thiệu đề tài:

Mỗi năm, các trường đại học đều có một khóa sinh viên tốt nghiệp ra trường Việc tổ

chức cho sinh viên bảo vệ đồ án tốt nghiệp là rất phổ biến.Vấn đề được đặt ra là việc

quản lý các đề tài của sinh viên như thế nào để có hiệu quả tốt nhất

Hàng năm, mỗi sinh viên năm cuối đủ điều kiện bảo vệ đồ án tốt nghiệp đều phải liên

hệ với các giáo viên trong khoa để được hướng dẫn đề tài và thực hiện đề tài đó Việc

Trang 27

cả sinh viên và giáo viên Sinh viên sẽ mất thời gian tìm thông tin cá nhân của giảng

viên để có thể liên hệ được với giảng viên đó, chưa kể việc giảng viên đó đã đủ số

người hướng dẫn, khiến sinh viên phải tìm giảng viên khác Về bên phía giảng viên,

có thể sẽ gặp nhiều phiền toái khi số sinh viên liên hệ là quá đông (mất thời gian nghe

điện thoại, trả lời thư điện tử )

- Mục đích đề tài :

Bài toán quản lý đề tài khóa luận tốt nghiệp của sinh viên được xây dựng trên nền

web nhằm đáp ứng được việc giao tiếp thông tin giữa sinh viên và giảng viên được

nhanh chóng và thuận tiện nhất Mỗi sinh viên và giảng viên đều được cấp một tài

khoản đăng nhập để thuận tiện cho việc quản lý đề tài của mình Mỗi sinh viên có

một giảng viên đồng hướng dẫn thực hiện đề tài của mình Sinh viên có thể đề nghị

được hướng dẫn bởi một giảng viên nếu giảng viên đó vẫn còn số người hướng dẫn

Đối với giảng viên, có thể đưa ra đề tài để sinh viên tham khảo và nhận hướng dẫn

Nếu giảng viên đã nhận đủ người để hướng dẫn thì không thể nhận thêm được nữa

Tùy vào học vị của giảng viên mà số lượng sinh viên có thể hướng dẫn sẽ khác nhau

Do không phải sinh viên nào cũng đủ điều kiện làm khóa luận và không phải giảng

viên nào cũng hướng dẫn khóa luận, do đó, hệ thống cần có một người quản trị, cấp

phát cho sinh viên và giảng viên tài khoản đăng nhập vào hệ thống - tài của mình

- - Phạm vi:

Bao trùm tất cả các giai đoạn của quá trình phát triển dự án cho tới trước khi bắt tay

vào quá trình lập trình

1 2 Công cụ

- Các kiểu yêu cầu : STRQ, FEAT, UC

- Công cụ sử dụng :ms word, excel, trello

1.3 Các nhân tố tham gia

- Khách hàng : Văn phòng khoa

- Người dùng cuối : Sinh viên, giáo viên, văn phòng khoa, bộ môn

- Người quản lý: văn phòng khoa, bộ môn

- Nhà phát triển: Lập trình viên, người phân tích hệ thống, nhà thiết kế,

- Kiểm thử viên: team 4

- Người quản lý phần mềm : Nhóm trưởng nhóm 1

Trang 28

- Người quản trị cơ sở dữ liệu: Team 3

- Người quản lý cấu hình: Team 2, Team 3

1.4 Bảng danh sách các công việc

STT Công việc chính Mã hoá CV Công việc chi tiết Thành viên thực

D Đặc tả yêu cầu

Thảo, Hùng,Tuyết Anh(team2)

E Phân tích thiết kế

Thảo, Hùng,Tuyết Anh(team2)

Tiến, Huy Nam ,Phú, Trung Quân(team3)

Khải(team4)

Trang 29

Deploy + User

Vân,Vũ(team5)

II.XÁC ĐỊNH YÊU CẦU TỪ CÁC STAKEHOLDERS (Xác định STRQ, FEAT)

2.1 Xác định các yêu cầu từ các stakeholders (STRQs)

- STRQ1: Sinh viên muốn hệ thống có chức năng liên hệ trực tiếp đến giáo viên

hướng dẫn

- STRQ2: Hệ thống có chức năng đăng nhập

- STRQ3: Sinh viên muốn hệ thống có chức năng đăng ký đề tài

- STRQ4: Sinh viên muốn có chức năng gửi đề tài tới giáo viên hướng dẫn

- STRQ5: Sinh viên chọn giáo viên hướng dẫn từ danh sách của hệ thống

- STRQ6: Sinh viên muốn gửi đề cương đến bộ môn phụ trách

- STRQ7: Giáo viên chấp nhận hoặc từ chối sinh viên chọn

- STRQ8: Giáo viên xem đề tài của sinh viên đưa ra nhận xét chọn hợp lý hoặc không

hợp lý

- STRQ9: Giáo viên muốn tạo thời gian để trao đổi với cho sinh viên về đề tài

- STRQ10: Giáo viên muốn xét duyệt đồ án của sinh viên

- STRQ11: VPK (admin) có chức năng thêm danh sách giáo viên hướng dẫn

- STRQ12: VPK (admin) xét duyệt đề cương của sinh viên

- STRQ13: Bộ môn xét duyệt đề cương của sinh viên s

- STRQ14: VPK thông báo ngày bảo vệ cho sinh viên

- STRQ15: VPK muốn thông báo kết quả bảo vệ cho sinh viên

- STRQ16: VPK (admin) muốn quản lý tài khoản người dùng

- STRQ17: Sinh viên sửa đề tài

- STRQ18: Sinh viên xác nhận hoàn thành bước đăng ký giáo viên

- STRQ19: VPK gửi mail xác nhận thông tin giáo viên

2.2 Xác định các FEATs từ các STRQs

- FEAT1: Sinh viên liên hệ trực tiếp với giáo viên hướng dẫn qua email

- FEAT2: Hệ thống có chức năng đăng nhập

Trang 30

- FEAT3.2: Bộ môn đăng ký đề tài nếu quá hạn

- FEAT4: Sinh viên có thể gửi đề tài tới cho giáo viên hướng dẫn

- FEAT5: Sinh viên chọn giáo viên hướng dẫn từ danh sách

- FEAT6: Sinh viên có thể gửi file đề cương đến bộ môn phụ trách

- FEAT 7.1: Giáo viên chấp nhận sinh viên

- FEAT 7.2: Giáo viên từ chối sinh viên

- FEAT 8.1: Giáo viên xem đề tài của sinh viên nhận xét chọn hợp lý

- FEAT 8.2: Giáo viên xem đề tài của sinh viên nhận xét không hợp lý

- FEAT 9: Giáo viên có thể tạo thời gian để trao đổi với sinh viên

- FEAT10.1: Giáo viên có thể xem đề cương của sinh viên

- FEAT10.2: Giáo viên đồng ý đề cương của sinh viên

- FEAT10.3: Giáo viên không đồng ý đề cương của sinh viên

- FEAT11: Văn phòng khoa (admin) có chức năng thêm danh sách giáo viên hướng

dẫn

- FEAT12.1: Văn phòng khoa (admin) có thể xem đề cương của sinh viên

- FEAT12.2: Văn phòng khoa (admin) đồng ý đề cương của sinh viên

- FEAT12.3: Văn phòng khoa (admin) không đồng ý đề cương của sinh viên

- FEAT12.4: Văn phòng khoa (admin) gửi lịch thực hiện học phần tốt nghiệp

- FEAT13.1: Bộ môn có thể xem đề cương của sinh viên

- FEAT13.2: Bộ môn đồng ý đề cương của sinh viên

- FEAT13.3: Bộ môn không đồng ý đề cương của sinh viên

- FEAT13.4: Bộ môn gửi đề cương về văn phòng khoa

- FEAT14: Văn phòng khoa gửi thông báo ngày bảo vệ cho sinh viên

- FEAT15: Văn phòng khoa gửi thông báo kết quả bảo vệ cho sinh viên

- FEAT16.1: Văn phòng khoa (admin) có thể thêm tài khoản người dùng

- FEAT16.2: Văn phòng khoa (admin) có thể xóa tài khoản người dùng

- FEAT16.3: Văn phòng khoa (admin) có thể sửa tài khoản người dùng

- FEAT17: Sinh viên sửa đề tài

- FEAT18: Sinh viên xác nhận hoàn thành bước đăng ký giáo viên

- FEAT19: Văn phòng khoa gửi mail xác nhận thông tin giáo viên

Trang 31

- Tạo tài khoản cho sinh viên

- Xem danh sách giáo viên

- Chọn giáo viên liên hệ hướng dẫn

- Duyệt giáo viên hướng dẫn

- Phân công giáo viên hướng dẫn cho sinh viên

- Xác nhận hoàn thành bước đăng ký giáo viên

2.3.3 Xét giao

- Đăng ký đề tài

- Sửa đề tài

- Duyệt đề tài sinh viên đăng ký

- Đăng ký đề tài cho sinh viên

- Xác nhận hoàn thành bước đăng ký đề tài

2.3.4 Bộ môn phụ trách ngành phân công giáo viên hướng dẫn, thông báo tới giáo

viên, sinh viên

Sinh viên gặp giáo viên hướng dẫn để nhận nhiệm vụ thực hiện HPTN

Sinh viên nộp đề cương về bộ môn phụ trách ngành để xét duyệt

- Xác nhận thông tin giáo viên

- Liên hệ giáo viên

- Lựa chọn thời gian trao đổi đồ án

2.3.6 Sinh viên thực hiện học phần tốt nghiệp

- Chọn thời gian liên lạc với giáo viên

Trang 32

- Chọn deadline để nộp báo cáo cuối (để chấp thuận xem có được báo cáo bảo vệ

không)

- Nộp báo cáo cuối

- Duyệt báo cáo của sinh viên

2.3.7 Chấm và bảo vệ

- Cập nhật ngày bảo vệ

- Gửi kết quả

III Yêu cầu phi chức năng

- Giao diện thân thiện với người dùng

- Hệ thống có tính bảo mật cao

- Hệ thống có khả năng xử lý số lượng người dùng cần thiết mà không có sự suy giảm

về hiệu suất

- Hệ thống sẵn sàng khi cần thiết

- Hệ thống phải bảo trì: dễ dàng sửa lỗi để cải thiện hiệu suất

- Hệ thống có thể chạy trên các nền tảng khác nhau

- Hệ thống đáng tin cậy và đáp ứng các yêu cầu của người sử dụng

- Hệ thống phải dễ sử dụng và dễ hiểu

- Hệ thống phải tương thích với các hệ thống khác

IV Estimate time (COCOMO)

4.1 Mở đầu

COCOMO có 3 loại: organic mode (quen thuộc); semi-detached mode (ở giữa),

embedded mode (ràng buộc cứng nhắc)

=> Trong bài này, nhóm dự án sử dụng mô hình Basic Model / Basic COCOMO, với

mô hình semi-detached mode

4.2 Công thức tính

Trang 33

4.3 Quy ước

Theo những mục đã cung cấp ở trên, hiện tại, ta sẽ tính thời gian ước lượng theo mô

hình Basic COCOMO, với công thức cần tính lần lượt là Effort Applied (E),

Development Time (D) và People Required (P)

Để tính được 3 thông số trên, ta cần biết được KLOC (1k line of code)

Sau đây là những quy ước của các thuật ngữ trong bài này:

• Unadjusted Function Points: UFP

• Technical Complexity Factor: TCF

• Degree of Influence: DI

• Unadjusted Function Point Count: UFC

Công thức tính:

Trang 34

External input trong phát triển phần mềm là dữ liệu đầu vào được cung cấp từ

bên ngoài hệ thống, cụ thể ở đây khách hàng sẽ cung cấp gì cho team để xây

dựng làm input đầu vào cho hệ thống

Trong bài toán này, External input gồm danh sách các yêu cầu cơ bản, chức

năng mà khách hàng muốn có trong hệ thống mong muốn

=> Tổng số: 1

• External output

External output kết quả được trả về cho khách hàng External output có thể là

bất kỳ loại thông tin nào được gửi từ ứng dụng phần mềm đến người dùng

hoặc các hệ thống khác, chẳng hạn như báo cáo, biểu đồ…

Trong bài toán này, External output gồm: danh sách các link quan trọng,

agenda, gantt chart, yêu cầu chức năng, yêu cầu phi chức năng, product

backlog, report team 1, design document, report team 2, UI UX, tài liệu thiết

Trang 35

hướng dẫn vận hành (operational manual), test case document, report test, tài

liệu hướng dẫn người dùng (user manual)

=> Tổng số: 17

• External inquiry

External inquiry: là các dữ liệu đầu ra cần được kiểm chứng, cụ thể, chúng ta

có thể kiểm chứng thông qua các đặc tả được cung cấp

Trong bài toán này có tất cả 27 use cases

Internal files: là các file logic chính trong hệ thống xử lý

Trong bài toán này, chúng ta sử dụng 30 file sử dụng logic chính

=> Tổng số 30

Step 2: Tính UFP

Trang 36

Giải thích về bảng thông tin trên Bảng thông tin đưa trên là tổng hợp các danh mục ở

step 1, được sắp xếp theo 3 mức độ hiện hành (simple, average, complex) Hiện tại

trong bài toán này ta sử dụng mức độ simple để tránh phức tạp và hệ thống của chúng

ta cũng không quá lớn về quy mô xử lý

Ta có: External input (user input) có 1 file; External output (user output) có 17 files;

External inquiry (user request) có 27 files; External files có 1 file; Internal files có 30

Step 3: Technical Complexity Factor

Technical Complexity Factor (TCF) là một chỉ số trong phương pháp định lượng

phần mềm COCOMO II để đo lường độ phức tạp kỹ thuật của phần mềm TCF đánh

giá các yếu tố kỹ thuật như khả năng tái sử dụng code, tầm quan trọng của hệ thống,

khả năng mở rộng và bảo trì, giao diện người dùng, tích hợp với các ứng dụng khác,

độ tin cậy và sự an toàn

TCF gồm 9 chỉ số và tương ứng từng chỉ số, ta sẽ nhận định và đánh giá từng danh

mục trên thang điểm 5

1 Scalability: The ability of a system to handle an increasing workload or

number of users without sacrificing performance (2)

2 Interoperability: The ease with which a system can integrate with other

Trang 37

7 Reliability: The ability of a system to perform consistently and predictably

without error or failure (2)

8 Complexity of algorithms: The complexity of the algorithms used by the

system to perform its tasks (3)

9 Data storage requirements: The amount and complexity of data that must be

stored and managed by the system (2)

10 Technical skills required: The level of technical expertise required to develop

and maintain the system (5)

Step 4: Tính DI

Degree of Influence là chỉ số đo lường mức độ ảnh hưởng mà một yếu tố có thể gây

ra đến một rủi ro cụ thể Degree of influence đánh giá mức độ ảnh hưởng của một

nhân tố nào đó đối với việc xảy ra một rủi ro

Để tính được chỉ số Degree of Influence (DI), ta cộng tất cả các danh mục ở step 3

Ta có DI = 30

Step 5: Tính TCF dựa trên DI

Technical Complexity Factor (TCF) là một chỉ số trong phương pháp định lượng

phần mềm COCOMO II để đo lường độ phức tạp kỹ thuật của phần mềm TCF đánh

giá các yếu tố kỹ thuật như khả năng tái sử dụng code, tầm quan trọng của hệ thống,

khả năng mở rộng và bảo trì, giao diện người dùng, tích hợp với các ứng dụng khác,

độ tin cậy và sự an toàn

TCF = 0.65 * 0.01 * DI = 0.65 * 0.01 * 30 = 0.195

Step 6: Tính FP

Function Point đánh giá kích thước của một hệ thống phần mềm bằng cách đếm và

gán điểm cho các yêu cầu chức năng của hệ thống

Trang 38

Step 7: Tính KLOC

Cuối cùng, KLOC là viết tắt của Kilolines of Code, tức là đo lường kích thước

của một chương trình máy tính bằng số lượng các dòng code KLOC là một trong

những phương pháp đo lường kích thước phần mềm phổ biến được sử dụng trong

quản lý dự án phần mềm KLOC được tính bằng cách đếm số lượng dòng code trong

mã nguồn của chương trình máy tính Để tính toán KLOC, mỗi dòng code chỉ được

tính một lần, bao gồm cả các dòng chú thích và khoảng trống không cần thiết

Dự án này được dự định viết bằng ngôn ngữ NodeJS, vì thế LOC/FP (theo

google) là 53

Vì thế, ta có kết quả KLOC như sau:

4.5 Kết luận

Ta có 3 phương pháp tính ra E tuỳ thuộc vào 3 loại mô hình

Trong bài toán này, ta dùng mô hình semi-detached mode

Trang 39

4.6 References

Phat Trien DAPM - Google Drive

Trang 40

CHƯƠNG 2 PHÂN TÍCH - THIẾT KẾ

2.1 Use Case tổng quát

Hình 2.1: Use Case tổng quát

2.1.1 Use Case chi tiết của actor sinh viên

Ngày đăng: 10/05/2023, 15:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] D. Graffox, “IEEE Citation Reference,” Sep. 2009. [Trực tuyến]. Available: http://www.ieee.org/documents/ieeecitationref.pdf Sách, tạp chí
Tiêu đề: IEEE Citation Reference
Tác giả: D. Graffox
Năm: 2009
[4] J. Barzun and H. Graff, The Modern Researcher, 5th ed. biên tập viên, New York: Harcourt Brace Jovanovich Inc., 1992 Sách, tạp chí
Tiêu đề: The Modern Researcher
Tác giả: J. Barzun, H. Graff
Nhà XB: Harcourt Brace Jovanovich Inc.
Năm: 1992
[8] B. Belkhouche et al, “Plagiarism detection in software designs,” trong Proc. of the 42nd Ann. Southeast Regional Conf., 2004 Sách, tạp chí
Tiêu đề: Plagiarism detection in software designs
Tác giả: B. Belkhouche
Nhà XB: Proc. of the 42nd Ann. Southeast Regional Conf.
Năm: 2004
[2] Apr. 2011. [Trực tuyến]. Available: http://libinfo.uark.edu/reference/citingyoursources.asp Link
[3] [Trực tuyến]. Available: http://www.ijssst.info/info/IEEE-Citation-StyleGuide.pdf. [Đã truy cập 2 5 2011] Link
[5] N. Wells, 2007. [Trực tuyến]. Available: http://www.nissawells.com/samples/w-manual.pdf Link
[9] T. Doe, Dec. 2011. [Trực tuyến]. Available: http://grad.uark.edu/dean/thesisguide.php Link
[10] Cornell University Library PSEC Documentation Committee, Feb. 2010. [Trực tuyến]. Available: http://www.library.cornell.edu/resrch/citmanage/apa Link
[6] P. J. Denning, “Editorial: Plagiarism in the Web,” Communications of the ACM, tập 98, số 12, p. 29, Dec. 1995 Khác
[7] B. Martin, “Plagiarism: a misplaced emphasis,” Journal of Information Ethics, tập 3, số 2, pp. 36-47, 1994 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w