Hệ thống chương trình khi được phát triển thành công có thể đưa vào sử dụng trong trường.. CHƯƠNG 1: KHẢO SÁT HỆ THỐNG VÀ TỔNG QUAN VỀ LÝ THUYẾT 1.1 Khảo sát hệ thống 1.1.1 Lý do chọn đề
Trang 1LỜI CẢM ƠN
Em xin chân thành cảm ơn thầy – ThS Trần Lâm đã tận tâm và nhiệt tình dạy bảo trong suốt thời gian học và làm đồ án tốt nghiệp, thầy đã dành nhiều thời gian quý báu để tận tình chỉ bảo, hướng dẫn, định hướng cho em thực hiện đồ án, giúp em học hỏi những kinh nghiệm quý báu và đã đạt được những thành quả nhất định
Em xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin đã nhiệt tình dạy bảo và tạo điều kiện cho em trong suốt quá trình được học tại trường
Em xin cảm ơn bạn bè và nhất là các thành viên trong gia đình đã tạo mọi điều kiện tốt nhất, động viên, cổ vũ em trong suốt quá trình học tập và làm
đồ án tốt nghiệp
Do khả năng và trình độ có hạn, kinh nghiệm thực tế chưa nhiều nên đồ án tốt nghiệp của em không tránh khỏi những thiếu sót Em rất mong nhận được sự chỉ bảo của các thầy cô và ý kiến đóng góp của các bạn
Cuối cùng em xin được gửi tới các thầy, các cô, các anh, các chị cùng toàn thể các bạn một lời chúc tốt đẹp nhất, sức khỏe, thịnh vượng và phát triển Chúc các thầy cô đạt được nhiều thành công hơn nữa trong công cuộc trồng người
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 6 năm 2016
Sinh viên
Nguyễn Phương Nga
Trang 2LỜI CAM ĐOAN
Em xin cam đoan đồ án tốt nghiệp: “Xây dựng hệ thống Điểm danh online
cho trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên” là kết
quả của quá trình nghiên cứu, tìm hiểu thực sự của bản thân em, không sao chép nội dung cơ bản từ các đồ án khác Đồ án này được thực hiện dựa trên cơ sở nghiên cứu
lý thuyết, khảo sát tình hình thực tiễn dưới sự hướng dẫn của ThS Trần Lâm
Những kết quả trong đồ án là trung thực, các nhận xét, phương hướng phát triển đưa ra xuất phát từ thực tiễn và kinh nghiệm hiện có Tất cả tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp
Một lần nữa em xin khẳng định về sự trung thực của lời cam đoan trên, mọi thông tin sai lệch em xin hoàn toàn chịu trách nhiệm
Thái Nguyên, tháng 6 năm 2016
Sinh viên
Nguyễn Phương Nga
Trang 3
MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC HÌNH ẢNH v
LỜI MỞ ĐẦU 1
CHƯƠNG 1: KHẢO SÁT HỆ THỐNG VÀ TỔNG QUAN VỀ LÝ THUYẾT 2
1.1 Khảo sát hệ thống 2
1.1.1 Lý do chọn đề tài 2
1.1.2 Mục tiêu của đề tài 2
1.1.3 Đối tượng phạm vi nghiên cứu 2
1.1.4 Kết quả dự kiến đạt được 2
1.2 Tổng quan về lý thuyết 3
1.2.1 Localhost 3
1.2.2 Ngôn ngữ lập trình PHP 4
1.2.3 Hệ quản trị Cơ sở dữ liệu MySQL 5
1.2.4 Ngôn ngữ kịch bản JavaScript 7
1.2.5 Ngôn ngữ mô hình hóa UML 11
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 17
2.1 Xác định yêu cầu 17
2.1.1 Yêu cầu xét theo đối tượng chung 17
2.1.2 Các yêu cầu khác 17
2.2 Phân tích hệ thống 17
2.2.1 Xác định các tác nhân 17
2.2.2 Xây dựng biểu đồ trường hợp sử dụng (UseCase) 18
2.2.3 Đặc tả chi tiết các UseCase 22
2.3 Xây dựng biểu đồ trình tự 37
2.4 Xây dựng biểu đồ lớp 49
2.5 Xây dựng biểu đồ thành phần 50
Trang 42.6 Xây dựng biểu đồ triển khai 50
2.7 Thiết kế cơ sở dữ liệu 51
2.7.1 Mô tả dữ liệu 51
2.7.2 Mô tả chi tiết các bảng 51
2.7.3 Biểu đồ quan hệ CSDL 53
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 54
3.1 Môi trường cài đặt 54
3.1.1 Các công cụ sử dụng để xây dựng chương trình 54
3.1.2 Thử nghiệm trên localhost 54
3.2 Giao diện chương trình 54
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 60
TÀI LIỆU THAM KHẢO 61
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1 Mô hình hóa kiến trúc hệ thống 14
Hình 2.1 UseCase tổng quát 18
Hình 2.2 UseCase Quản lý Khóa 18
Hình 2.3 UseCase Quản lý Lớp 19
Hình 2.4 UseCase Quản lý Môn học 19
Hình 2.5 UseCase Quản lý Giảng viên 20
Hình 2.6 UseCase Quản lý Sinh viên 20
Hình 2.7 UseCase Quản lý Thành viên 21
Hình 2.8 UseCase Quản lý Thời khóa biểu 21
Hình 2.9 UseCase Điểm danh 21
Hình 2.10 UseCase Xem kết quả thống kê 22
Hình 2.11 UseCase Xuất file 22
Hình 2.12 Biểu đồ trình tự Đăng nhập 37
Hình 2.13 Biểu đồ trình tự Thêm Khóa 37
Hình 2.14 Biểu đồ trình tự Sửa thông tin Khóa 38
Hình 2.15 Biểu đồ trình tự Xóa Khóa 38
Hình 2.16 Biểu đồ trình tự Thêm Lớp 39
Hình 2.17 Biểu đồ trình tự Sửa thông tin Lớp 39
Hình 2.18 Biểu đồ trình tự Xóa Lớp 40
Hình 2.19 Biểu đồ trình tự Thêm Môn học 40
Hình 2.20 Biểu đồ trình tự Sửa thông tin Môn học 41
Hình 2.21 Biểu đồ trình tự Xóa Môn học 41
Hình 2.22 Biểu đồ trình tự Thêm Giảng viên 42
Hình 2.23 Biểu đồ trình tự Sửa thông tin Giảng viên 42
Hình 2.24 Biểu đồ trình tự Xóa Giảng viên 43
Hình 2.25 Biểu đồ trình tự Thêm Sinh viên 43
Hình 2.26 Biểu đồ trình tự Sửa thông tin Sinh viên 44
Hình 2.27 Biểu đồ trình tự Xóa Sinh viên 44
Trang 6Hình 2.28 Biểu đồ trình tự Thêm Thành viên 45
Hình 2.29 Biểu đồ trình tự Sửa thông tin Thành viên 45
Hình 2.30 Biểu đồ trình tự Xóa Thành viên 46
Hình 2.31 Biểu đồ trình tự Xếp Thời khóa biểu 46
Hình 2.32 Biểu đồ trình tự Sửa Thời khóa biểu 47
Hình 2.33 Biểu đồ trình tự Xóa Thời khóa biểu 47
Hình 2.34 Biểu đồ trình tự Điểm danh 48
Hình 2.35 Biểu đồ trình tự Xem kết quả thống kê 48
Hình 2.36 Biểu đồ trình tự Xuất file 49
Hình 2.37 Biểu đồ lớp 49
Hình 2.38 Biểu đồ thành phần 50
Hình 2.39 Biểu đồ triển khai 50
Hình 2.40 Biểu đồ quan hệ CSDL 53
Hình 3.1 Giao diện trang đăng nhập 54
Hình 3.2 Giao diện Quản lý Khóa 55
Hình 3.3 Giao diện Quản lý Lớp 55
Hình 3.4 Giao diện Quản lý Môn học 56
Hình 3.5 Giao diện Quản lý Giảng viên 56
Hình 3.6 Giao diện Quản lý Sinh viên 57
Hình 3.7 Giao diện Quản lý Thành viên 57
Hình 3.8 Giao diện Quản lý Thời khóa biểu 58
Hình 3.9 Giao diện sau khi Giảng viên đăng nhập 58
Hình 3.10 Giao diện Điểm danh 59
Hình 3.11 Giao diện Thống kê 59
Trang 7LỜI MỞ ĐẦU
Trong thời đại bùng nổ thông tin và công nghệ như hiện nay, đòi hỏi công tác quản lý nói chung và công tác quản lý sinh viên, quản lý việc dạy và học trong trường học nói riêng cũng phải thay đổi dần từ sổ sách bản giấy sang bản điện tử, để cập nhật nhanh chóng và chính xác các thông tin
Trên thực tế, việc quản lý sinh viên vắng của trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên còn mang tính thủ công, chưa hiệu quả trong công tác quản lý Công tác quản lý hiện nay chủ yếu được thực hiện thủ công, mất nhiều thời gian và công sức Sự cần thiết của một hệ thống quản lý sẽ là một
lựa chọn tốt để giải quyết tình trạng hiện nay Vì lý do này, đề tài “Xây dựng hệ
thống Điểm danh online cho trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên” là đề tài mà em lựa chọn làm đồ án tốt nghiệp
Hệ thống chương trình khi được phát triển thành công có thể đưa vào sử dụng trong trường Với sự trợ giúp của chương trình này, nhà trường có thể quản lý sinh viên vắng một cách dễ dàng và nhanh chóng, giảm được thời gian và công sức lao động Sinh viên cũng có thể cập nhật nhanh số tiết, số buổi vắng của mình để có
sự điều chỉnh hợp lý
Đồ án gồm 3 chương với nội dung như sau:
Chương 1: Khảo sát hệ thống và tổng quan về lý thuyết
Chương 2: Phân tích thiết kế hệ thống
Chương 3: Xây dựng chương trình
Cuối cùng là Kết luận, hướng phát triển và Tài liệu tham khảo
Trang 8CHƯƠNG 1: KHẢO SÁT HỆ THỐNG VÀ TỔNG QUAN VỀ LÝ THUYẾT 1.1 Khảo sát hệ thống
1.1.1 Lý do chọn đề tài
Hiện nay, việc quản lý quá trình học tập của sinh viên tại các trường đại học nói chung và tại trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên nói riêng đều được thực hiện một cách thủ công, gây mất thời gian và công sức Hàng ngày, mỗi khi lên lớp, giảng viên sử dụng danh sách điểm danh trên giấy
để thực hiện việc điểm danh sinh viên Cuối kỳ học, giảng viên lại sử dụng danh sách đó để đếm số tiết/buổi vắng của sinh viên, tính toán điểm chuyên cần Việc này gây mất thời gian của giảng viên Bên cạnh đó, lãnh đạo nhà trường cũng cần nắm bắt tình hình học tập của sinh viên để có những giải pháp cụ thể Nếu sử dụng phương pháp điểm danh truyền thống là điểm danh trên giấy thì lãnh đạo nhà trường không thể có số liệu một cách nhanh chóng, từ đó làm chậm việc đưa ra các giải pháp thích hợp Qua quá trình tìm hiểu và phân tích, việc cần xây dựng một hệ thống điểm danh online là cần thiết Hệ thống này sẽ khắc phục được những khó khắn đang gặp phải nhằm nâng cao tính hiệu quả trong công tác quản lý tại trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên
1.1.2 Mục tiêu của đề tài
Xây dựng được một hệ thống hỗ trợ trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên trong công tác quản lý sinh viên nói chung và trong việc điểm danh sinh viên đi học nói riêng Hệ thống khi được đưa vào sử dụng sẽ giúp tăng cường chất lượng giáo dục tại trường
1.1.3 Đối tượng phạm vi nghiên cứu
Ngôn ngữ lập trình PHP và phương pháp lập trình ứng dụng trên nền web
Khảo sát, phân tích thiết kế hệ thống
Các chức năng cơ bản cho hệ thống
1.1.4 Kết quả dự kiến đạt được
Hiểu biết về ngôn ngữ lập trình PHP và phương pháp lập trình ứng dụng trên nền web
Trang 9 Xây dựng được hệ thống điểm danh nhằm hỗ trợ nhà trường trong việc quản lý sinh viên vắng một cách dễ dàng, nhanh chóng và giảm được công sức lao động
Hệ quản trị CSDL MySQL: lưu trữ dữ liệu cho hệ thống và đáp ứng các
truy xuất trong quá trình vận hành của website
Ngôn ngữ lập trình kịch bản JavaScript: sử dụng để kiểm tra thông tin
Localhost bao gồm nhiều ứng dụng đi kèm với nhau và tất cả các ứng dụng
đó sẽ kết hợp với nhau để tạo ra một môi trường có thể chạy mã nguồn trên máy tính của chính bạn bao gồm:
Phần mềm Webserver tên Apache, đây là webserver thông dụng nhất
Trang 10 Phần mềm PHP để xử lý mã PHP
Phần mềm MySQL Server để lưu trữ và xử lý cơ sở dữ liệu
Phần mềm PHPMyAdmin để xem và quản lý cơ sở dữ liệu MySQL Hiện nay, phần mềm tạo localhost khá là phổ biến trên các website, diễn đàn, Các cái tên thông dụng thường được nhắc đến như là: Xampp, Wamp, hay Appserver
XAMPP là viết tắt của X + Apache + Mysql + PHP + Perl XAMPP là chương trình tạo máy chủ Web (Web Server) trên máy tính cá nhân (Localhost) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như PHPmyadmin
Gói phần mềm XAMPP miễn phí, có thể tải về bản mới nhất tại trang chủ https://www.apachefriends.org/index.html
1.2.2 Ngôn ngữ lập trình PHP
1.2.2.1 Lịch sử ra đời của PHP
PHP ra đời khoảng năm 1994, do một người phát minh mang tên Rasmus Lerdorf và được nhiều người phát triển cho đến ngày hôm nay PHP được sử dụng khá nhiều trong các ứng dụng Web về thương mại điện tử, tính đến năm 2001 có khoảng 5 triệu tên miền sử dụng mã nguồn PHP
PHP là một phiên bản mã nguồn mở, điều đó cho phép bạn có thể làm việc
trên mã nguồn, thêm, chỉnh sửa, sử dụng hay phân phối chúng
1.2.2.2 Lý do nên dùng PHP
Để thiết kế Web động có rất nhiều ngôn ngữ lập trình khác nhau để lựa chọn, mặc dù cấu hình và tính năng khác nhau nhưng chúng vẫn đưa ra những kết quả giống nhau Chúng ta có thể lựa chọn cho mình một ngôn ngữ: ASP, PHP, Java, Perl… và một số loại khác nữa Vậy tại sao chúng ta lại nên chọn PHP Rất đơn giản, có những lý do sau mà khi lập trình Web chúng ta không nên bỏ qua sự lựa chọn tuyệt vời này
PHP được sử dụng làm Web động vì nó nhanh, dễ dàng, tốt hơn so với các giải pháp khác
Trang 11PHP có khả năng thực hiện và tích hợp chặt chẽ với hầu hết các cơ sở dữ liệu
có sẵn, tính linh động, bền vững và khả năng phát triển không giới hạn
Đặc biệt PHP là mã nguồn mở do đó tất cả các đặc tính trên đều miễn phí, và chính vì mã nguồn mở sẵn có nên cộng đồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phục các lỗi trong các chương trình này
PHP vừa dễ với người mới sử dụng, vừa có thể đáp ứng mọi yêu cầu của các lập trình viên chuyên nghiệp, mọi ý tưởng của các bạn PHP có thể đáp ứng một cách xuất sắc
Cách đây không lâu, ASP vốn được xem là ngôn ngữ kịch bản phổ biến nhất, vậy mà bây giờ PHP đã bắt kịp ASP, bằng chứng là nó đã có mặt trên 12 triệu Website
1.2.2.3 Sử dụng PHP
Để có thể biên dịch các mã lệnh PHP thì khi bạn đưa mã nguồn lên Webserver bạn cần phải cấu hình PHP trên Server có cài IIS (Internet Information Server) Tuy nhiên đa số các Webserver hiện nay đều hỗ trợ các trình biên dịch mã lệnh PHP cho nên chúng ta không cần phải quá quan tâm tới việc cài đặt cấu hình PHP trên Server
Để có thể test các ứng dụng PHP trên máy tính khi đang thiết kế mã nguồn, bạn có thể cài trình biên dịch mã lệnh PHP từ bộ cài AppServ hoặc một số bộ cài khác Cũng cần lưu ý khi trên máy bạn cài đồng thời nhiều trình biên dịch mã nguồn, bạn nên cài PHP ở một cổng (port) khác để tránh xung đột, hoặc khi bạn
biên dịch mã nguồn PHP thì nên tạm thời tắt các Webserver khác trong IIS
1.2.3 Hệ quản trị Cơ sở dữ liệu MySQL
1.2.3.1 Giới thiệu
MySQL là ứng dụng cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay và được sử dụng phối hợp với PHP cho các ứng dụng Web có quy mô vừa và nhỏ Tuy không phải là một cơ sở dữ liệu lớn nhưng chúng cũng có trình giao diện trên Windows hay Linux, cho phép người dùng có thể thao tác các hành động liên quan đến cơ sở dữ liệu
Trang 12Cũng giống như các cơ sở dữ liệu, khi làm việc với cơ sở dữ liệu MySQL, bạn đăng ký kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng Table của cơ sở dữ liệu và xử lý dữ liệu
Truy cập: Truy cập dữ liệu phụ thuộc vào mục đích và yêu cầu của người
sử dụng, ở mức độ mang tính cục bộ, truy cập cơ sở dữ liệu ngay trong cơ sở dữ liệu với nhau, nhằm trao đổi hay xử lý dữ liệu ngay bên trong chính nó, nhưng do mục đích và yêu cầu người dùng vượt ra ngoài cơ sở dữ liệu, nên bạn cần có các phương thức truy cập dữ liệu giữa các cơ sở dữ liệu với nhau như: Microsoft Access với SQL Server, hay SQL Server và cơ sở dữ liệu Oracle…
Tổ chức: Tổ chức cơ sở dữ liệu phụ thuộc vào mô hình cơ sở dữ liệu, phân tích và thiết kế cơ sở dữ liệu tức là tổ chức cơ sở dữ liệu phụ thuộc vào đặc điểm riêng của từng ứng dụng Tuy nhiên khi tổ chức cơ sở dữ liệu cần phải tuân theo một số tiêu chuẩn của hệ thống cơ sở dữ liệu nhằm tăng tính tối ưu khi truy cập và
xử lý
Xử lý: Tùy vào nhu cầu tính toán và truy vấn cơ sở dữ liệu với các mục đích khác nhau, cần phải sử dụng các phát biểu truy vấn cùng các phép toán, phát biểu của cơ sở dữ liệu để xuất ra kết quả như yêu cầu Để thao tác hay xử lý dữ liệu bên trong chính cơ sở dữ liệu ta sử dụng các ngôn ngữ lập trình như: PHP, C++, Java, Visual Basic,…
Trang 131.2.4 Ngôn ngữ kịch bản JavaScript
1.2.4.1 Giới thiệu về Javascript
JavaScript là một ngôn ngữ kịch bản (scripting language) được dùng để tạo các script ở máy client (client-side script) và máy server (server-side script) Các script ở máy client được thực thi tại trình duyệt, các script ở máy server được thực hiện trên server
HTML lúc đầu được phát triển như là một định dạng của tài liệu có thể chuyển dữ liệu trên Internet Tuy nhiên, không lâu sau đó, trọng tâm của HTML nặng tính hàn lâm và khoa học dần chuyển hướng sang người dùng thường nhật vì ngày nay người dùng xem Internet như là một nguồn thông tin và giải trí Các trang Web ngày càng mang tính sáng tạo và đẹp mắt hơn nhằm thu hút nhiều người dùng hơn Nhưng thực chất kiểu dáng và nội dung bên trong vẫn không thay đổi Và người dùng hầu như không thể điều khiển trên trang Web mỗi khi nó được hiển thị
Javascript được phát triển như là một giải pháp cho vấn đề nêu trên Javascript là một ngôn ngữ kịch bản được Sun Microsystems và Netscape phát triển Nó được dùng để tạo các trang Web động và tương tác trên Internet Đối với những người phát triển HTML, Javascript rất hữu ích trong việc xây dựng các hệ thống HTML có thể tương tác với người dùng
1.2.4.2 Lịch sử hình thành JavaScript
Sun Microsystems đã viết ra một ngôn ngữ phức tạp và mạnh mẽ mà chúng
ta đã biết đó là ngôn ngữ Java Mặc dù Java có tính khả dụng cao nhưng nó lại phù hợp nhất đối với các nhà lập trình có kinh nghiệm và cho các công việc phức tạp hơn Netscape Communications nhận thấy nhu cầu cần một ngôn ngữ thiết kế web
có khả năng tương tác với người sử dụng hay với các Java Applet, dễ sử dụng ngay
cả với những người lập trình ít kinh nghiệm
LiveScript là một ngôn ngữ mới chỉ ở dạng phác thảo, tuy nhiên nó hấp dẫn người sử dụng vì hứa hẹn sẽ đáp ứng tốt những yêu cầu trên LiveScript được thiết
kế theo tinh thần của nhiều ngôn ngữ script đơn giản nhưng nó lại có tính khả dụng cao được thiết kế đặc biệt để xây dựng các trang Web (chẳng hạn như HTML và các
Trang 14form tương tác) Để giúp ‘bán chạy’ ngôn ngữ mới này, Netscape hợp tác với Sun
cho ra đời ngôn ngữ Javascript Trên thực tế, Microsoft là người tiên phong triển khai phiên bản của Javascript (còn có tên là Jscript), nhưng họ không sử dụng các
đặc tả chính thức của Javascript
Mục tiêu của JavaScript là nhằm cung cấp cho các nhà phát triển Web một số khả năng và quyền điều khiển chức năng cho trang Web Mã Javascript có khả năng nhúng trong tài liệu HTML để điều khiển nội dung của trang Web và kiểm tra sự hợp lệ của dữ liệu mà người dùng nhập vào Khi một trang hiển thị trong trình duyệt, các câu lệnh được trình duyệt thông dịch và thực thi
JavaScript là một ngôn ngữ kịch bản dựa trên đối tượng nhằm phát triển các ứng dụng Internet chạy trên phía client và phía server
Các ứng dụng client được chạy trong một trình duyệt như Netscape Navigator hoặc Internet Explorer, và các ứng dụng server chạy trên một Web server như Microsoft’s Internet Information Server hoặc Netscape Enterprise Server
1.2.4.3 Hiệu ứng và quy tắc JavaScript
JavaScript là một ngôn ngữ lập trình được nhúng được trong các trang HTML JavaScript nâng cao tính động và khả năng tương tác cho website bằng cách
sử dụng các hiệu ứng của nó như thực hiện các phép tính, kiểm tra form, viết các trò chơi, bổ sung các hiệu ứng đặc biệt, tuỳ biến các chọn lựa đồ hoạ, tạo ra các mật khẩu bảo mật và hơn thế nữa
Chúng ta có thể sử dụng JavaScript để:
Tương tác với người dùng: Chúng ta có thể viết mã để đáp lại các sự kiện
Các sự kiện này sẽ có thể phát sinh bởi người dùng hay được phát sinh từ hệ thống
Thay đổi nội dung động: Mã JavaScript có thể dùng để thay đổi nội dung
và vị trí các phần tử một cách động trên một trang nhằm đáp lại sự tương tác với người dùng
Kiểm tra tính hợp lệ dữ liệu: Chúng ta có thể viết mã nhằm kiểm tra tính hợp lệ của dữ liệu do người dùng nhập vào trước khi nó được gửi lên Web server để
xử lý
Trang 15Giống như các ngôn ngữ khác, JavaScript cũng tuân thủ một số quy tắc ngữ pháp căn bản Việc nắm vững các quy tắc ngữ pháp này có thể giúp ta đọc được script và tự viết các script không bị lỗi
Một số trong các luật này bao gồm:
Dùng Caps JavaScript phân biệt chữ hoa chữ thường
Dùng Pairs Trong JavaScript, luôn luôn có cặp ký hiệu mở và đóng Lỗi
sẽ xuất hiện khi bỏ sót hoặc đặt sai một trong hai ký hiệu này
Dùng Spaces (các ký tự trắng) Như HTML, JavaScript thường bỏ qua ký
tự trắng Trong JavaScript, ta có thể thêm vào các ký tự trắng hoặc các tab giúp cho
ta dễ dàng đọc hay sửa các file script
Dùng Chú thích (Comments) Các chú thích giúp ta ghi chú về chức năng
của đoạn script, thời gian và người tạo ra đoạn script
Mặc dù cả client-side JavaScript và server-side JavaScript đều dựa trên một ngôn ngữ nền tảng như nhau, nhưng mỗi loại còn có thêm những tính năng chuyên biệt phù hợp với môi trường mà nó chạy Nghĩa là client-side JavaScript bao gồm các đối tượng được định nghĩa sẵn chỉ có thể sử dụng trên trình duyêt, Server-side JavaScript bao gồm các đối tượng và các hàm được định nghĩa sẵn chỉ có thể sử dùng trong các ứng dụng phía server (server-side applications)
1.2.4.4 Các công cụ JavaScript và IDE, và môi trường thực thi
Các công cụ sinh mã JavaScript và IDE giúp tạo ra mã JavaScript rất hữu hiệu Các công cụ này còn giúp ta nhanh chóng phát triển website của mình
Một vài công cụ JavaScript và IDE được đề cập sau đây:
Dialog Box Công cụ này tự động tạo mã để sinh ra các hộp thoại tuỳ biến trên các trình duyệt khác nhau (alert, confirm, prompt, ) mang lại kiểu dáng
chuyên nghiệp cho website
Pop-up Menu builder Chỉ cần đưa vào các lựa chọn, công cụ này sẽ tự
động tạo ra các pop-up menu trên các trình duyệt khác nhau
Remotes Tự động sinh mã để mở ra một cửa sổ popup
Trang 16Như chúng ta đã biết, JavaScript có thể được chạy trên máy khách (client) và máy chủ (server) Bên phía máy khách, trình duyệt sẽ thực thi mã lệnh javascript trong trang web khi mở nó Bên phía máy chủ, mã javascript sẽ được thực thi tại máy chủ và do máy chủ thực hiện
Client-side Java Script
Khi máy client yêu cầu một trang HTML, server sẽ kiểm tra xem trang đó có chứa script hay không Nếu nó chứa các client-side script, server sẽ chuyển toàn bộ tài liệu bao gồm mã lệnh JavaScript và nội dung HTML của nó cho trình duyệt Khi trình duyệt nhận được tài liệu đó, nó thực thi các mã lệnh HTML và JavaScript mà không cần bất kì sự tương tác nào với server
JavaScript trên Web Server
Chúng ta có thể nhúng các lệnh JavaScript chạy trên server (server-side script) vào trong tài liệu HTML Quá trình tạo ra các ứng dụng server-side là một quá trình gồm hai giai đọan
Các trang HTML có chứa các câu lệnh JavaScript của cả client-side và server-side đều được tạo ra cùng với các file JavaScript Tất cả các file này sẽ được biên dịch thành dạng mã thực thi được là bytecode
Khi trình duyệt yêu cầu trang HTML, run-time engine sẽ thực thi mã lệnh server-side JavaScript rồi trả trang HTML về cho trình duyệt
Một số công dụng của script server-side bao gồm:
Kết nối vào các cơ sở dữ liệu
Chia sẻ thông tin cho những người dùng của một ứng dụng
Truy cập vào hệ thống file trên server
1.2.4.5 Nhúng JavaScript vào trong trang Web
Chúng ta có thể chèn các lệnh JavaScritp vào trong một tài liệu HTML theo những cách sau đây:
Nhúng các câu lệnh trực tiếp vào trong tài liệu bằng cách sử dụng thẻ
<SCRIPT>
Trang 17 Đặt các biểu thức JavaScript làm giá trị cho thuộc tính của thẻ HTML
Dùng như trình xử lý sự kiện trong các thẻ HTML
1.2.5 Ngôn ngữ mô hình hóa UML
UML là ngôn ngữ mô hình hóa, trước hết nó là mô tả ký pháp thống nhất,
ngữ nghĩa và các định nghĩa về metamodel (mô tả định nghĩa chính ngôn ngữ mô
hình hóa), nó không mô tả về phương pháp phát triển UML được sử dụng để hiển
thị, đặc tả, xây dựng và làm tài liệu các vật phẩm (artifacts) của phân tích quá trình
xây dựng hệ thống phần mềm theo hướng đối tượng UML được sử dụng cho mọi tiến trình phát triển phần mềm, xuyên suốt vòng đời phát triển và độc lập với các công nghệ cài đặt hệ thống
Tận dụng được những khả năng sử dụng lại và kế thừa ở phạm vi diện rộng để xây dựng được những hệ thống phức tạp và nhạy cảm như: các hệ thống động, hệ thống thời gian thực, hệ thống nhúng thời gian thực,
Tạo ra những ngôn ngữ mô hình hóa sử dụng được cho cả người lẫn máy tính Tóm lại, UML là ngôn ngữ mô hình hóa, ngôn ngữ đặc tả và ngôn ngữ xây dựng mô hình trong quá trình phát triển phần mềm, đặc biệt là trong phân tích và thiết kế hệ thống hướng đối tượng UML là ngôn ngữ hình thức, thống nhất và chuẩn hóa mô hình hệ thống một cách trực quan Nghĩa là các thành phần trong mô hình được thể hiện bởi các ký hiệu đồ họa, biểu đồ và thể hiện đầy đủ mối quan hệ giữa chúng một cách thống nhất và có logic chặt chẽ
Tuy nhiên cũng cần lưu ý:
Trang 18 UML không phải là ngôn ngữ lập trình, nghĩa là ta không thể dùng UML
để viết chương trình Nó cũng không phải là một công cụ CASE Một số công cụ CASE như Rational Rose sử dụng mô hình UML để phát sinh mã nguồn tự động sang những ngôn ngữ lập trình được lựa chọn như C++, Java, Visual C++,
UML cũng không phải là một phương pháp hay một quá trình phát triển phần mềm Các ký hiệu UML được sử dụng trong các dự án phát triển phần mềm nhằm áp dụng những cách tiếp cận khác nhau cho quá trình phát triển phần mềm nhằm tách chu kỳ phát triển hệ thống thành những hoạt động, các tác vụ, các giai đoạn và các bước khác nhau
1.2.5.2 Quá trình phát triển phần mềm thống nhất với UML
UML được phát triển để đặc tả quá trình phát triển phần mềm, nhằm mô hình hóa hệ thống Quá trình phát triển phần mềm này gọi là quá trình phát triển phần mềm hợp nhất (USPD) hay quá trình hợp nhất Rational (RUP), gọi tắt là quá trình hợp nhất (UP)
RUP là tập các quy tắc hướng dẫn về phương diện kỹ thuật và tổ chức để phát triển phần mềm, nhấn mạnh chủ yếu vào các bước phân tích và thiết kế
RUP được cấu trúc theo hai chiều:
Chiều thời gian: chia quá trình thành các pha thực hiện và các bước lặp
Chiều thành phần: các sản phẩm cùng với các hoạt động được xác định
đầy đủ
1.2.5.3 Các biểu đồ trong UML
Biểu đồ là đồ thị biểu diễn đồ họa về tập các phần tử trong mô hình và mối quan hệ của chúng Biểu đồ chứa đựng các nội dung của các quan sát dưới các góc
độ khác nhau, một thành phần của hệ thống có thể xuất hiện trong một hay nhiều biểu đồ UML cung cấp những biểu đồ trực quan để biểu diễn các khía cạnh khác nhau của hệ thống, bao gồm:
Biểu đồ ca sử dụng mô tả sự tương tác giữa các tác nhân ngoài và hệ
thống thông qua các ca sử dụng Các ca sử dụng là những nhiệm vụ chính, các dịch
Trang 19vụ, những trường hợp sử dụng cụ thể mà hệ thống cung cấp cho người sử dụng và ngược lại
Biểu đồ lớp mô tả cấu trúc tĩnh, mô tả mô hình khái niệm, bao gồm các
lớp đối tượng và các mối quan hệ của chúng trong hệ thống hướng đối tượng
Biểu đồ trình tự thể hiện sự tương tác của các đối tượng với nhau, chủ
yếu là trình tự gửi và nhận thông điệp để thực thi các yêu cầu, các công việc theo thời gian
Biểu đồ cộng tác tương tự như biểu đồ trình tự nhưng nhấn mạnh sự tương
tác của các đối tượng trên cơ sở cộng tác với nhau bằng cách trao đổi các thông điệp
để thực hiện các yêu cầu theo ngữ cảnh công việc
Biểu đồ trạng thái thể hiện chu kỳ hoạt động của các đối tượng, của các hệ
thống con và của cả hệ thống Nó là một loại ôtômát hữu hạn trạng thái, mô tả các trạng thái, các hành động mà đối tượng có thể có và các sự kiện gắn với các trạng thái theo thời gian
Biểu đồ hành động chỉ ra dòng hoạt động của hệ thống, bao gồm các trạng
thái hoạt động, trong đó từ một trạng thái hoạt động sẽ chuyển sang trạng thái khác sau khi một hoạt động tương ứng được thực hiện Nó chỉ ra trình tự các bước, tiến trình thực hiện cũng như các điểm quyết định và sự rẽ nhánh theo luồng sự kiện
Biểu đồ thành phần chỉ ra cấu trúc vật lý của các thành phần trong hệ
thống, bao gồm: các thành phần mã nguồn, mã nhị phân, thư viện và các thành phần thực thi
Biểu đồ triển khai chỉ ra cách bố trí vật lý các thành phần theo kiến trúc
được thiết kế của đối tượng
Trang 20thống phần mềm đòi hỏi hệ thống phải được xem xét từ nhiều khía cạnh khác nhau Người sử dụng khác nhau (người sử dụng cuối cùng, nhà phân tích, người phát triển, người tích hợp hệ thống, kiểm tra viên, người quản lý dự án ) có cách quan sát hệ thống khác nhau vào các thời điểm khác nhau Kiến trúc hệ thống là vật phẩm quan trọng nhất, được sử dụng để quản lý các điểm nhìn khác nhau để điều khiển phát triển hệ thống tăng dần và lặp trong suốt chu kỳ sống Kiến trúc là tập các quyết định về:
Tổ chức của hệ thống phần mềm
Lựa chọn các phần tử cấu trúc và giao diện cho hệ thống
Hành vi của chúng thể hiện trong hợp tác giữa các phần tử
Tổ hợp các phần tử cấu trúc và hành vi vào hệ thống con lớn hơn
Kiến trúc phần mềm không chỉ liên quan đến cấu trúc và hành vi mà cả chức năng, tính sử dụng lại, dễ hiểu, ràng buộc công nghệ
Hình 1.1 Mô hình hóa kiến trúc hệ thống
Trang 21Kiến trúc hệ thống phần mềm được mô tả bằng các khung nhìn Các khung nhìn ánh xạ vào tổ chức và cấu trúc hệ thống, mỗi khung nhìn tập trung vào khía cạnh cụ thể của hệ thống
Có năm khung nhìn như sau: khung nhìn trường hợp sử dụng (Use case view), khung nhìn logic (Logical view), khung nhìn cài đặt (Implementation view), khung nhìn triển khai (Deployment view) và khung nhìn tiến trình (Process view)
Mỗi khung nhìn phục vụ mục đích riêng
Khung nhìn trường hợp sử dụng mô tả các chức năng, nhiệm vụ của hệ
thống Khung nhìn này thể hiện mọi yêu cầu của hệ thống, do vậy nó phải được xác định ngay từ đầu và nó được sử dụng để điều khiển, thúc đẩy và thẩm định hay kiểm tra các công việc của tất cả các giai đoạn của cả quy trình phát triển phần mềm Nó cũng là cơ sở để trao đổi giữa các thành viên của dự án phần mềm và với khách hàng Khung nhìn trường hợp sử dụng được thể hiện trong các biểu đồ usecase và có thể ở một vài biểu đồ trình tự, cộng tác,
Khung nhìn logic biểu diễn cách tổ chức logic của các lớp và các quan hệ
của chúng với nhau Nó mô tả cấu trúc tĩnh của các lớp, đối tượng và sự liên hệ của chúng thể hiện mối liên kết động thông qua sự trao đổi các thông điệp Khung nhìn được thể hiện trong các biểu đồ lớp, biểu đồ đối tượng, biểu đồ tương tác, biểu đồ biến đổi trạng thái Khung nhìn logic tập trung vào cấu trúc của hệ thống Trong khung nhìn này, ta nhận ra các bộ phận cơ bản cấu thành hệ thống thể hiện mọi quá trình trao đổi, xử lý thông tin cơ bản trong hệ thống
Khung nhìn cài đặt xác định các module vật lý hay tệp mã chương trình và
sự liên kết giữa chúng để tổ chức thành hệ thống phần mềm Trong khung nhìn này
ta cần bổ sung: chiến lược cấp phát tài nguyên cho từng thành phần và thông tin quản lý như báo cáo tiến độ thực hiện công việc, Khung nhìn cài đặt được thể hiện
trong các biểu đồ thành phần và các gói
Khung nhìn triển khai mô tả sự phân bố tài nguyên và nhiệm vụ trong hệ
thống Nó liên quan đến các tầng kiến trúc của phần mềm, thường là kiến trúc ba
Trang 22tầng: tầng giao diện (tầng trình diễn hay tầng sử dụng), tầng logic tác nghiệp và tầng lưu trữ CSDL được tổ chức trên một hay nhiều máy tính khác nhau Khung nhìn triển khai bao gồm các luồng công việc, bộ xử lý và các thiết bị Biểu đồ triển khai
mô tả các tiến trình và chỉ ra những tiến trình nào trên máy nào
Khung nhìn tiến trình biểu diễn sự phân chia các luồng thực hiện công
việc, các lớp đối tượng cho các tiến trình và sự đồng bộ giữa các luồng trong hệ thống Khung nhìn này tập trung vào các nhiệm vụ tương tác với nhau trong hệ
thống đa nhiệm
Trang 23CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 Xác định yêu cầu
2.1.1 Yêu cầu xét theo đối tượng chung
Xét theo đối tượng sử dụng, nhận thấy được các yêu cầu của hệ thống:
2.1.1.1 Giảng viên
Điểm danh sinh viên
Xem kết quả thống kê sinh viên nghỉ học
Xuất file điểm danh
2.1.1.2 Quản trị viên quản trị hệ thống (Administrator)
Cập nhật danh sách khóa, danh sách lớp, danh sách môn học, danh sách giảng viên, danh sách sinh viên, danh sách người dùng
Cập nhật hệ thống phân quyền ứng với chức năng người dùng
Cập nhật thời khóa biểu
2.1.2 Các yêu cầu khác
Có sự phân quyền theo đúng chức năng người dùng
Giao diện website dễ sử dụng, trực quan, thân thiện với người dùng
Tính bảo mật và an toàn cao
Tốc độ xử lý của website phải nhanh chóng và chính xác
Quản trị hệ thống: Người quản trị đăng nhập vào hệ thống nhằm mục đích quản lý thông tin dữ liệu của website, có toàn quyền thêm, sửa, xóa cơ sở dữ liệu
Trang 242.2.2 Xây dựng biểu đồ trường hợp sử dụng (UseCase)
Hình 2.1 UseCase tổng quát
Phân rã biểu đồ UseCase
Hình 2.2 UseCase Quản lý Khóa
Trang 25Hình 2.3 UseCase Quản lý Lớp
Hình 2.4 UseCase Quản lý Môn học
Trang 26Hình 2.5 UseCase Quản lý Giảng viên
Hình 2.6 UseCase Quản lý Sinh viên
Trang 27Hình 2.7 UseCase Quản lý Thành viên
Hình 2.8 UseCase Quản lý Thời khóa biểu
Hình 2.9 UseCase Điểm danh
Trang 28Hình 2.10 UseCase Xem kết quả thống kê
Hình 2.11 UseCase Xuất file 2.2.3 Đặc tả chi tiết các UseCase
2.2.3.1 UseCase Đăng nhập
Mục đích: Đảm bảo xác thực người sử dụng và các yêu cầu về bảo mật
của hệ thống
Tác nhân: Người dùng nói chung, bao gồm giảng viên và quản trị hệ thống
Mô tả chung: Người dùng muốn sử dụng chức năng của hệ thống thì phải
đăng nhập vào hệ thống
Luồng sự kiện:
Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của hệ thống
1 Truy cập trang đăng nhập
2 Hiển thị form đăng nhập
3 Nhập và gửi thông tin đăng nhập
lên hệ thống
4 Kiểm tra dữ liệu và thông báo kết quả
Luồng sự kiện phụ: Nếu người dùng sử dụng tên truy cập và mật khẩu không đúng thì hệ thống sẽ yêu cầu nhập lại
2.2.3.2 UseCase Thêm Khóa
Mục đích: Thêm Khóa mới vào CSDL
Tác nhân: Quản trị viên
Trang 29 Mô tả chung: Quản trị viên muốn thêm Khóa thì chọn chức năng Quản lý
Khóa tại trang quản trị
Luồng sự kiện:
Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Khóa
2 Hiển thị form chức năng Thêm Khóa
3 Nhập thông tin và gửi dữ liệu lên hệ
thống
4 Thêm dữ liệu vào CSDL
Luồng sự kiện phụ: Nếu tên Khóa mà quản trị viên nhập vào trùng với tên Khóa đã tồn tại thì hệ thống sẽ hiển thị thông báo
2.2.3.3 UseCase Sửa thông tin Khóa
Mục đích: Bổ sung, thay đổi thông tin Khóa đã tồn tại trong CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn thay đổi thông tin Khóa thì chọn chức
năng Quản lý Khóa tại trang quản trị Sau đó chọn Khóa và thực hiện sửa đổi Hệ thống sẽ cập nhập lại CSDL
Luồng sự kiện:
Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Khóa
2 Hiển thị danh sách Khóa
3 Chọn Khóa
4 Hiển thị form Sửa Khóa
5 Sửa đổi thông tin
6 Gửi dữ liệu lên hệ thống
7 Cập nhật lại CSDL
Trang 30 Luồng sự kiện phụ: Nếu tên Khóa mà quản trị viên sửa trùng với tên Khóa
đã tồn tại thì hệ thống sẽ hiển thị thông báo
2.2.3.4 UseCase Xóa Khóa
Mục đích: Xóa Khóa đã tồn tại trong CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn xóa Khóa thì chọn chức năng Quản lý
Khóa tại trang quản trị Sau đó chọn Khóa và thực hiện thao tác xóa Hệ thống sẽ xóa dữ liệu
Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Khóa
2 Hiển thị danh sách Khóa
Mục đích: Thêm Lớp mới vào CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn thêm Lớp thì chọn chức năng Quản lý
Lớp tại trang quản trị
Luồng sự kiện:
Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Lớp
2 Hiển thị form chức năng Thêm Lớp
3 Nhập thông tin về Lớp và gửi dữ liệu
lên hệ thống
4 Thêm dữ liệu vào CSDL
Trang 31 Luồng sự kiện phụ: Nếu tên Lớp mà quản trị nhập vào trùng với tên Lớp
đã tồn tại thì hệ thống sẽ hiển thị thông báo
2.2.3.6 UseCase Sửa thông tin Lớp
Mục đích: Bổ sung, thay đổi thông tin Lớp đã tồn tại trong CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn thay đổi thông tin Lớp thì chọn chức
năng Quản lý Lớp tại trang quản trị Sau đó chọn Lớp và thực hiện sửa đổi Hệ thống sẽ cập nhập lại CSDL
4 Hiển thị form Sửa Lớp
5 Sửa đổi thông tin
6 Gửi dữ liệu lên hệ thống
7 Kiểm tra dữ liệu và thông báo lại cho người dùng nếu dữ liệu không hợp lệ
8 Cập nhật lại CSDL
Luồng sự kiện phụ: Nếu tên Lớp mà quản trị sửa trùng với tên Lớp đã tồn
tại thì hệ thống sẽ hiển thị thông báo
2.2.3.7 UseCase Xóa Lớp
Mục đích: Xóa Lớp đã tồn tại trong CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn xóa Lớp thì chọn chức năng Quản lý
Lớp tại trang quản trị Sau đó chọn Lớp và thực hiện thao tác xóa Hệ thống sẽ xóa
dữ liệu
Trang 327 Thực hiện xóa dữ liệu
2.2.3.8 UseCase Thêm Môn học
Mục đích: Thêm Môn học mới vào CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn thêm Môn học thì chọn chức năng Quản
lý Môn học tại trang quản trị
Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Môn học
2 Hiển thị form chức năng Thêm Môn học
3 Nhập thông tin Môn học và gửi dữ
liệu lên hệ thống
4 Thêm dữ liệu vào CSDL
2.2.3.9 UseCase Sửa thông tin Môn học
Mục đích: Bổ sung, thay đổi thông tin Môn học đã tồn tại trong CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn thay đổi thông tin Môn học thì chọn
chức năng Quản lý Môn học tại trang quản trị Sau đó chọn Môn học và thực hiện
Trang 33 Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Môn học
2 Hiển thị danh sách Môn học
3 Chọn Môn học
4 Hiển thị form Sửa Môn học
5 Sửa đổi thông tin
6 Gửi dữ liệu lên hệ thống
7 Cập nhật lại CSDL
2.2.3.10 UseCase Xóa Môn học
Mục đích: Xóa Môn học đã tồn tại trong CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn xóa Môn học thì chọn chức năng Quản
lý Môn học tại trang quản trị Sau đó chọn Môn học và thực hiện thao tác xóa Hệ thống sẽ xóa dữ liệu
Luồng sự kiện:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Môn học
2 Hiển thị danh sách Môn học
3 Chọn Môn học
4 Nhấn Xóa
5 Yêu cầu người dùng xác nhận xóa
6 Xác nhận muốn xóa
7 Thực hiện xóa dữ liệu
2.2.3.11 UseCase Thêm Giảng viên
Mục đích: Thêm Giảng viên mới vào CSDL
Tác nhân: Quản trị viên
Trang 34 Mô tả chung: Quản trị viên muốn thêm Giảng viên thì chọn chức năng
Quản lý Giảng viên tại trang quản trị
Luồng sự kiện:
Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Giảng viên
2 Hiển thị form chức năng Thêm Giảng viên
3 Nhập thông tin về Giảng viên và gửi
dữ liệu lên hệ thống
4 Thêm dữ liệu vào CSDL
Luồng sự kiện phụ: Nếu tên truy cập của Giảng viên mà quản trị nhập vào
trùng với tên truy cập đã tồn tại thì hệ thống sẽ hiển thị thông báo
2.2.3.12 UseCase Sửa thông tin Giảng viên
Mục đích: Bổ sung, thay đổi thông tin Giảng viên đã tồn tại trong CSDL
Tác nhân: Quản trị viên
Mô tả chung: Quản trị viên muốn thay đổi thông tin Giảng viên thì chọn
chức năng Quản lý Giảng viên tại trang quản trị Sau đó chọn Giảng viên và thực hiện sửa đổi Hệ thống sẽ cập nhập lại CSDL
Luồng sự kiện:
Luồng sự kiện chính:
Hành động của tác nhân Phản ứng của hệ thống
1 Chọn chức năng Quản lý Giảng viên
2 Hiển thị danh sách Giảng viên
3 Chọn Giảng viên
4 Hiển thị form Sửa Giảng viên
5 Sửa đổi thông tin
6 Gửi dữ liệu lên hệ thống