1 Lập trình Java trong môi trường Wcb
11 Một sô khái niệm liên quan đên Wel
12 Kêtnôi cơ sở dữ liệu
Il M6 hinh phat trién tng dung Web
IL1 Kién trac mé hinh 1
1.2 Kién tric mé hinh 2 (Model — View — Controller
II Ngôn ngữ mô hình hóa thống nhất (UML)
ILIT Giới thiệu UML
I2 UML và các giai đoạn của chu trình phát t phần
PHAN TICH VA THIET KE HE THONG
Il Phân tích chức năng của hệ thống
II _ Các tác nhân (actor)
IL2 Usecase của admin
II3 Usecase của giáo viê
I4 Usecase của sinh viê
TILL So đề lớp (class diagram)
111.2 So do thanh phan (component diagram)
I3 So đồ trién khai (deployment diagram)
XAY DUNG CHUONG TRINH VA KET QUA DAT DUGC
I Xây dựng chương trình
Ll Xây dựng dữ liệu
I2 Xây dựng giao diện
13 Xây dựng gói theo mô hình MVC
II Hướng phat trién
ILI Vé mat ly thuy
I2 Vê mặt chương trình
Trang 2DANH MỤC HÌNH VẼ
Hình I - Cách thức servlet làm việc
Hình 2 - IDBC kết nối trực tiếp với trình điều khiển
Hình 3 - IDBC sử dụng cầu nối ODBC
Hình 4 - IDBC kết nối thông qua các ứng dụng mạng trung gian
Hình 5 - Mô hình I
Hình 6 - Mô hình 2 (MVC)
Hình 7 - Quy trình sinh viên đăng ký lớp học phần
Hình § - Admin Usecase
Hình 9 - Activity diagram của usecase admin đăng nhập
Hình 10 — Sequence diagram của usecase admin dang ni
Hinh 11 — Activity Diagram cua usecase admin upload điêm
Hinh 12 — Sequence Diagram cwia usecase admin upload diém
Hình 13 - Usecase của giáo viên
Hình 14 - Activity Diagram của usecase giáo viên xem thời
Hình 15 - Sequence Diagram của usecase giáo viên xem thời khóa biêu
Hình 16 —- Usecase của sinh viên
Hinh 17 — Activity Diagram ctia usecase sinh vién dang ky lop hoc phan
Hình 18 - Sequence Diagram ctia usecase sinh vién ding ky lớp học phan
Hinh 19 — Class Diagram: Sinh viên, Lớp sinh hoạt, Ngành, Khóa học
Hình 20 - Class Diagram: Hoe phan, quan hệ học phần
Hinh 21 — Object Diagram: Hoc phan, quan hé hoc pha
Hình 22 - Class Diagram: Lép hoc phan, học ky
Hình 23 — Class Diagram: Khung chương trình
Hình 24 - Object Diagram: Khung chương trình
Hinh 25 — Class Diagram: Sinh Viên Đăng ký
Hình 26 - Class Diagram: Sinh viên và điểm
Hinh 27 — Class Diagram: Sinh vién và thời khóa biêu
Hình 28 — Biểu đồ thành phần của hệ thống
Hình 29 - Sơ đồ triển khai của ứng dụng
Hình 30 - Điểm của sinh viên
Hình 31 - Khung chương trìn|
Hình 32 - Sinh viên đăng ký
Hình 33 - Sinh viên, lớp sinh hoạt
Hình 34 - Thời khóa biêu sinh viên
Hình 35 - Lớp học phần theo kỳ
Hình 36 - Bồ cục trang Web
Hình 37 - Header
Hình 38 - Footer
Hình 39 — Right Pane, Gido vién Left Menu, Sinh vién Left Menu
Hình 40 - Giáo viên Top Menu
Hình 4l - Admin Top Menu
Hình 42 - Sinh Viên Top Menu
Hình 43 - Admin Left Menu
Trang 3
Hình 46 - Nội dung gói Giao VienInterface
Hình 47 - Nội dung gói BusinessObject
Hình 48 - Nội dung gói Bean
Hình 49 - Nội dung gói DataAcessObject
Hình 50 - Nội dung gói Default
Hình 51 - Đồ thị mô tả học phần và các quan h
Hình 52 - Kiểm tra xung đột thời khóa biểu bằng AND bit (không xung đột)
Hình 53 - Kiểm tra xung đột thời khóa biểu bằng AND bit (có xung đột)
Hình 54 - Cập nhật quỹ thời gian của sinh viên sau khi đăng ký
Hình 55 - Cập nhật quỹ thời gian của sinh viên sau khi my bo kp hoc phần
Hình 56 - Quy trình ánh xạ dữ liệu - — -
Hình 57 - Trang thiết kế khung chương nh ¢ của a Admin
Hình 58 - Trang thiết kế thời khóa biểu của lớp học phần
Hình 59 - Trang web chọn file upload của Admin
Hình 60 - Trang Web hiện thị danh sách sau khi upload thành công
Hình 61 - Trang xem thời khóa biểu của giáo viên
Hình 62 - Trang xem lớp học phần của giáo viên
Hình 63 - Trang xem cây quan hệ học phần của sinh viên
Hình 64 - Trang xem điêm của sinh viên
Hình 65 - Trang xem khung chương trình của sinh viên
Hình 66 - Trang xem lớp học phần
Hình 67 - Trang liệt kê danh sách lớp học phân hiện có
Hình 68 - Trang xem thời khóa biéu của sinh viên
Trang 4
DANH MUC BANG BIEU
Bang | — Mot sé thé (tag) thường sử dụng trong ngôn ngữ HTML
Bảng 2 - Các lệnh của giao thức HTTP
Bảng 3 - Các tùy chọn của chỉ thi pag
Bảng 4 — Các hành động trong JSP
Bảng 5 - Chỉ tiết từng loại khóa học
Bang 6 - Điểm rèn luyện quy đổi
Bang 7 — Ma của một sô trường thuộc ĐH Đà Nẵng
Bảng 8 - Mã của các khoa
Bảng 9 — Mã của các ngành thuộc đại học Bách Khoa Đà Nẵng
Bang 10 — Bảng tblChiTietDiemCuaSinhVien
Bảng II — Bang tblChiTietKhungChuongTrinh
Bang 12 — Bang tblChiTietHocPhan
Bang 13 — Bang tbIDiemCuaSinhVien
Bang 14 — Bảng tblDonVi
Bang 15 — Bang tblGiaoVien
Bang 16 — Bang tblHocKy
Bang 17 - Bảng tblHocKyHienHanh
Bang 18 - Bang tblHocPhan
Bang 19 — Bang tblKhoa
Bang 20 — Bảng tblKhoaHoc
Bang 21 — Bảng tblKhungChuongTrinh
Bang 22 — Bang tblLoaiDiem
Bang 23 — Bang tblLopHocPhan
Bang 31 — Bang tbIThoiKhoaBieu
Bang 32 — Bang tbIThoiKhoaBieuSinhVien
Bang 33 — Bang tblSinhVien
Bang 34 — Biểu diễn quan hệ theo danh sách đỉnh kề
Trang 5
HTML Hypertext Markup Language
URL Uniform Resource Locator
HTTP Hypertext Tranfer Protocol
HTTPS _| HTTP over SSL
JSP Java Server Page
XML Extensible Markup Language
ODBC Open Database Connectivity
JDBC Java Database Connectivity
MVC Model — View — Controller
UML Unifield Modeling Language
WML Wireless Markup Language
API Application Programming Interface
Trang 6
TONG QUAN DE TAI
I Bôi cảnh đê tài
Giáo dục là nền tảng cho sự phát | triển của cả một dân tộc, đặc biệt là giáo dục ở bậc đại học Người ta thường dùng các chỉ số kinh tế để đánh giá sự phát triển của một quốc gia, thé nhưng đề đánh giá sự phát triển của cả một dân tộc thì người ta lại xét đến các khía cạnh của giáo dục đặc biệt là giáo dục đại học Trên thế giới, các quôc gia đã phát triên đều là những nước có nền giáo dục tiên tiến, với những trường đại học hàng đầu tiêu biểu là Hoa Kỳ, Nhật Bản, Anh và gần chúng ta nhất là Singapore
Nền giáo dục của nước ta đang từng bước cải cách và phát triển đại học Đà Nẵng là một trong ba trọng điêm trong việc phát triên nên giáo dục đại học của nước ta
Trong quá trình phát triển của mình, đại học Đà Nẵng đang chuyển dần từ Đào tạo theo niên chê sang Đào tạo theo tín chỉ Quản lý đào tạo tín chỉ tuy là một công việc khó khăn và phức tạp nhưng công việc này vô cùng quan trong; quan ly tot thi chat lugng dao tạo được nâng cao
Hiện tại, việc quản lý đào tạo tín chỉ tại Đại học Đà Nẵng đang gặp một số khó khăn, xuất phát từ nhiều nguyên nhân khác nhau: mới đầu chuyển sang đào tạo tín chỉ, hệ thống quản lý mới xây dựng, chưa thống nhất, và việc quản lý này vẫn còn mang nhiều ảnh hưởng của hệ thống quản lý niên chế hiện có Sinh viên phải đăng ký môn học bằng tay, việc kiểm tra xung đột về thời khóa biêu của sinh viên không được thực hiện trong quá trình đăng ký Sinh viên vẫn chưa biết được quan hệ của các học phần, học phần nào nên học trước học phần nào nên học sau Việc quản lý của nhân viên quản trị cũng gặp nhiều khó khăn như xây dựng khung chương trình, xây dựng thời khóa biểu, nhập điểm
Bài toán đặt ra lúc này là làm sao để xây dựng được một hệ thống website quản lý đào tạo tín chỉ đáp ứng được tât cả nhu câu cho giáo viên, sinh viên và quản trị viên Cụ thê là hệ thông website phải có những chức năng sau:
— Hệ thống cho phép giáo viên dễ dàng biết được thời khóa biểu của mình và danh sách các lớp học phân mà mình dạy, cụ thê là giáo viên sẽ dạy ở phòng nào, môn gì vào thời điêm hiện tại
—_ Hệ thống cho phép sinh viên đễ dàng biết được điểm của mình, số tín chỉ mà mình đã
đạt được, biệt được răng nên đăng ký môn học nào trước và cuôi cùng là cho phép sinh viên đăng ký một lớp học phân
— Hé thống còn giúp quản trị viên dễ dang cập nhật các thông tin liên quan đến đào tạo,
dễ dàng xây dựng khung chương trình và dễ dàng xây dựng thời khóa biểu cho các lớp học phân mà không lo xung đột về thời gian
Trang 7Il Muc dich
Trong bối cảnh trên, chúng tôi, bằng những kiến thức đã học và sự hướng dẫn tận tình của giáo viên, chúng tôi thực hiện dé tai nay nhằm mục đích nghiên cứu những vấn đề gặp phải trong việc quản lý đào tạo tín chỉ; từ đó chúng tôi đưa ra những giải pháp khắc phục và cuối cùng là cụ thể hóa các giải pháp bằng việc xây dựng một hệ thống website quản lý đào tạo tín chỉ có đầy đủ chức năng nêu trên Ngoài ra, khi xây dựng hệ thống website này chúng tôi mong muốn góp một phần nhỏ trong sự nghiệp phát triển của giáo dục Việt Nam Hệ thống xây dựng không tránh khỏi những hạn chế, chúng tôi mong nhận được ý kiến đóng góp để hoàn thiện sau này
IH Hướng nghiên cứu
Đưa ra các định hướng phát triển của đề tài
IIH.2 Công cụ xây dựng đề tài
Công cụ nghiên cứu cơ sở lý thuyết: các tài liệu liên quan đến đào tạo tín chỉ do Đại học
Da Nang phát hành, các tài liệu liên quan đên lập trình lava (giáo trình và ebook), các trang web liên quan
Công cụ xây dựng hệ thống website: Sun Java JDK 1.5, Sun IDE NetBean 4.1, Apache Tomcat 5.5, Microsoft SQL Server 2000 Service Pack 4, Microsoft Visio 2003 beta
IIH.3 Dự kiến kết quả đạt được
Với những công cụ và kiến thức thu thập được, chúng tôi sẽ xây dựng hệ thống website phục vụ quản lý đào tạo tín chỉ Hệ thông website gôm các chức năng ứng với từng loại người dùng như sau
— Giáo viên xem thời khóa biểu: Sau khi đăng nhập, giáo viên xem được thời khóa biểu của mình, cụ thể là giáo viên có thể biết được trong tuần minh sẽ phải dạy những lớp nào, ở phòng nào vào những thời gian nào
—_ Giáo viên xem danh sách lớp học phần: Giáo viên có thể xem danh sách các lớp học phần mà mình dạy Cụ thể là có thể xem được số lượng sinh viên tối đa, số lượng sinh viên tối thiểu và số lượng sinh viên hiện tại
Trang 8
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
— Sinh viên xem khung chương trình: Sinh viên xem khung chương trình mà mình cân học Cụ thê là sinh viên có thê biệt được trong một học kỳ cụ thê, mình sẽ phải học những môn nào
— Sinh viên xem học phần và quan hệ học phần: Sinh viên có thể xem danh sách các học phân và quan hệ giữa chúng Các học phân này được trình bày ở dạng cây đê sinh viên đễ dàng biết được học phần nào nên học trước và học phần nào nên học sau
—_ Sinh viên xem điểm: Sinh viên xem điểm của mình Cụ thể là sinh viên có thể biết được điêm của từng học phân mà mình đã học, biệt được sô tín chỉ mình đã đạt được
và biêt được mình đã hoàn tât bao nhiêu phân của quá trình học đại học tại trường
— Sinh viên đăng ký lớp học phần: Sinh viên xem danh sách các lớp học phần đang được mở trong học kỳ hiện hành đề từ đó đăng ký vào một trong các lớp đó Quá trình đăng ký này sẽ được kiểm tra chặt chẽ các ràng buộc Ngoài ra, sinh viên có thê hủy
— Nhân viên quản trị cập nhật thông tin: Nhân viên quản trị dễ dàng cập nhật thông tin của đôi tượng bất kỳ liên quan đên quá trình quản lý đào tạo
— Nhân viên quản trị xây dựng khung chương trình: Nhân viên quan tri dé dang xay dựng khung chương trình cho từng khóa học của từng ngành
— Nhân viên quản trị xây dựng thời khóa biểu: Nhân viên quản trị dễ dàng xây dựng thời khóa biêu cho từng lớp học phân mà không lo ngại xung đột thời khóa biêu Với kết quả dự kiến đạt được của chương trình, luận văn được tô chức thành các chương
cụ thê như sau:
Chương 1 Cơ sở lý thuyết: Giới thiệu tông quan lý thuyết và công cụ thực hiện để tài Trong chương này, chúng tôi trình bày lý thuyêt xây dựng một hệ thông website băng ngôn ngữ JSP theo mô hình Model View Controller
Chương 2 Phân tích thiết kế hệ thống: Trong chương này, chúng tôi trình bày về phân
tích hiện trạng, phân tích hệ thống và thiết kế hệ thống
Chương 3 Xây dựng chương trình và kết quả đạt được: Trong chương này, chúng tôi trình bày các bước xây dựng chương trình và các kêt quả đạt được
Trang 9CO SO LY THUYET
L Lập trình Java trong môi trường Web
II _ Một số khái niệm liên quan đến Web
Thuật ngữ World Wide Web hay gọi tắc là Web không còn xa lạ với chúng ta Cùng với sự bùng nổ của công nghệ thông tin và Internet, Web ảnh hưởng hau hết đến tất cả các lĩnh vực trong cuộc sống của chúng ta Đề tài này được xây dựng trên nền Web chính vì vậy trong phần này chúng tôi chỉ đưa ra một sô định nghĩa liên quan đến Web được sử dụng trong đề tài thay vì làm rõ từng yếu tố của công nghệ này
L1.1 Ngôn ngữ HTML (Hypertext Markup Language)
Cơ sở đề xây dựng và phát triển hệ thống website trên Internet là ngôn ngữ HTML Trang Web là trang thông tin, chứa dữ liệu văn bản, âm thanh, hình ảnh kê cả khả năng tương tác dữ liệu luôn được cập nhật liên tục thông qua thông qua hệ thống mang toàn câu Internet HTML đơn giản chỉ là các file thuần văn bản (text) sử dụng các thẻ (tag) yêu cầu thể hiện dữ liệu đặt giữa các thẻ theo một định dạng nào đó Mỗi thẻ sẽ mang một định dạng khác nhau
và được nhận biết bởi trình duyệt (browser) thông qua tên thẻ Chức năng cụ thể của từng thẻ được thể hiện qua bản sau
<html> </html> Cặp thẻ này quy ước mở đầu và kết thúc cho tài liệu HTML Nội dung của
HTML được đặt giữa hai thẻ này
<tr> </tr> Thẻ định dạng một hàng trong bảng của tài liệu HTML
<td> </td> Thẻ định dạng một ô trong một bảng của tài liệu HTML
Trang 10Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
1.1.2 Trình duyệt (browser)
Trình duyệt là một chương trình ở phía Client dùng để hiên thị tài liệu HTML Đề có được tài liệu HTML, trình duyệt sẽ liên hệ với trình chủ Web Server đề lấy tài liệu qua một địa chỉ Web là Url Khi nhận được tài liệu, trình duyệt sẽ đọc, phân tích và hiển thị tài liệu theo các định dạng nhất định như font chữ, màu sắc, hình ảnh, âm thanh thậm chí còn thực hiện một số lệnh tương tác như JavaScript, VBScript Người sử dụng có thể nhập dữ liệu và trình duet thong qua cac thanh phan điều khiển của form như textBox, textArea, checkBox, listBox,
và yêu câu trình duyệt gửi về máy chủ xử lý thông qua thao tác được gọi là submit Với đề tài này có thê chạy bằng bất cứ trình duyệt nào, tuy nhiên, chúng ta nên sử dụng Ms Internet Explorer phiên bản 4.0 trở về sau dé nội dung được hiền thị chính xác hơn
1.1.3 Địa chỉ định vị tài nguyên Url (Uniform Resource Locator)
Url (Uniform Resource Locator) la dia chi dinh vi tai nguyén thống nhất, địa chỉ này trỏ tới
vị trí tài nguyên trên máy chủ Địa chỉ này gồm 4 phần: phần giao thức (protocol), phần địa chỉ máy chủ (address), số hiệu cổng của dịch vụ và phần đường dẫn tương đổi đến nơi chứa tài nguyên
1.1.4 Giao thtre HTTP (Hypertext Tranfer Protocol)
Giao thức HTTP (Hypertext Tranfer Protocol) la cách thức đề trình duyệt kết nói với máy chủ server HTTP là một giao thức phi kết nối, giao thức này cho phép trình duyệt ở phía máy khách (client) gửi một yêu cầu (request) đến trình server (web server) ở máy chủ Máy chủ sẽ nhận được lệnh và trả về tài liệu tương ứng Tập lệnh của giao thức này rất đơn giản, gồm các lệnh sau:
GET Yêu cầu lấy nội dung trang dữ liệu từ Web Server
POST Chuyền dữ liệu lên trình chủ Web Server
PUT Đưa một file lên Web Server
DELETE Yêu cầu xóa trang
TRACE Yêu cầu lấy thông tin của một trang
Bảng 2 - Các lệnh của giao thức HTTP
1.1.5 Một số khái niệm về Servlet va JSP
Với HTTP và HTML, chúng ta có thê tạo trang web một cách dễ dàng, tuy nhiên, muốn xây dựng một hệ thống website tác nghiệp và các trang web động có khả năng tương tác cơ sở
dữ liệu chúng ta phải sử dụng công nghệ lập trình web ở phía máy chủ Ở đây, chúng tôi trình bày công nghệ lập trình web của Java do Sun Mierosystem Co cung cấp
Trang 11
Cách thức servlet làm việc: Một Servlet sẽ được nạp bởi servlet container khi lần đầu tiên servlet được yêu cầu Servlet sẽ xử lý các yêu cầu người sử dụng và trả về hồi đáp đến servlet container Sau đó servlet vẫn ở trong bộ nhớ để đợi các yêu cầu khác nó sẽ được unload khi servlet container thay bộ nhớ còn ít
Trang 12Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
— Nap Servlet: Một Servlet có thể nạp vào bộ nhớ ở 3 thời điểm khác nhau: khi server khởi động, khi người quản trị yêu cầu hoặc khi trình duyệt triệu gọi Servlet từ máy khách Đề nạp Servlet, trình chủ Web server cần phải biết tên lớp của Servlet Thông thường tên lớp của Servlet (tên file class) cũng là tên mà trình duyệt dùng triệu gọi Servlet khi bạn thực hiện quá trình đăng ký và ánh xạ Tuy nhiên, bạn cũng có thé ánh
xạ đổi tên Servlet khác với tên file *.class của nó thậm chí đổi tên tiếp đầu ngữ dùng
để triệu gọi Servlet Khi có một yêu cầu triệu gọi Servlet, trình chủ Web Server sẽ xem Servlet đã nạp vào bộ nhớ hay chưa, nếu chưa nó sẽ nạp Servlet vào bộ nhớ Một khi Servlet được nạp, Web Server sẽ tiến đến giai đoạn khởi tạo Servlet
— Khoi tao Servlet: Trinh chủ Web Server khởi tao Servlet bang cach gọi đến phương thức init() mà Servlet cài đặt Phương thức này được gọi một lân duy nhất
—_ Thực thi Servlet: Khi trình duyệt gọi hoặc các trang JSP triệu gọi Servlet thông qua địa chỉ URL, trình chủ Web Server sẽ chính thức gọi Servlet thực thi thông qua các phương thức như doGet(), doPost() hoặc service() Sau khi các phương thức này thực thi xong, Servlet van giữ lại trong bộ nhớ để phục vụ cho lần triệu gọi tiếp theo Điều này giúp cho Servlet thực thi nhanh hơn
—_ Dọn dẹp Servlet: Servlet không giữ lại trong bộ nhớ vĩnh viễn, sẽ đến lúc cần loại bỏ Servlet ra khỏi bộ nhớ Trước khi châm dứt, Web Server sẽ triệu gọi đên phương thức destroy() cua Servlet
LI.8 Java Server Page (JSP)
Java Server Page con được biết đến với một cái tên khác la Java Scripting Preprocessor
- tạm dịch là "Bộ xử lý văn lệnh Java tiền trình" - là một công nghệ Java cho phép các nhà phát triển tạo nội dung HTML, XML hay một số định dang khác của trang web một cách năng động, trong khi hồi âm yêu cầu của trình khách Công nghệ này cho phép người ta nhúng mã Java và một số hành động xử lý đã được định trước (pre-defined actions) vào trong nội dung tĩnh của trang
Cú pháp của JSP cho thêm các thẻ XML mới, gọi là JSP actions - hành động JSP Nhitng
"hành động JSP" này được dùng đề khởi động chức năng sẵn có, là những chức năng đã được xây dựng trước Cộng thêm vào đó, công nghệ còn cho phép chúng ta tạo ra các thư viện thẻ JSP (JSP tag libraries), là những cái đóng vai trò vào việc mở rộng các thẻ HTML hay XML tiêu chuẩn Thư viện thẻ (Tag libraries) là phương pháp mở rộng khả năng của một máy chủ web trong khi những mở rộng đó không phụ thuộc vào hệ nền (về cả cấu trúc máy cũng như
hệ điều hành được dùng)
Trước khi hiển thị ra trình duyệt, tập tin JSP phải được biên dịch thành Servlet, dùng bộ biên dich JSP (JSP compiler) Bộ biên dịch JSP có thé tao servlet thanh ma nguồn Java trước, rồi biên dịch mã nguồn ra tập tin class dùng bộ biên dịch Java, hoặc có thê trực tiếp tạo mã byte code cho servlet tir trang JSP
Một trang JSP có thể được phân thành từng phần nhỏ như sau:
—_ dữ liệu tĩnh, như HTML
— các chỉ thị JSP (ISP directives) như chỉ thị include: <jsp:include>
Trang 13các phần tử kịch ban JSP (scripting elements) và các biến (variables), ví dụ:
<% scriptlet %>
<%= expression %>
<%! declaration %>
hanh dong JSP (JSP actions)
thẻ tùy bién (custom tags)
chi thi JSP bao gồm:
¡inelude - Chỉ thị inelude thông báo cho bộ biên dịch JSP cho nhập toàn bộ nội dung của một tập tin vào trong nội dung hiện có Việc làm này tương tự như việc chúng ta lây nội dung của tập tin đó dán trực tiêp vào trong nội dung của tập tin đang dùng page — Có nhiều tùy chọn với chỉ thị page
contentType Chỉ định nội dụng của tập tin được khởi tạo Chúng ta nên dùng chỉ
phôi này nêu chúng ta không dùng HTML, hoặc bộ ký tự (character
set) được dùng không phải là bộ ký tự mặc định
errorPage Chỉ định răng trang web sẽ được hiên thị nêu có một ngoại lệ (exception) xay ra trong qua trình xử lý yêu câu HTTP
isErrorPage Nếu định giá trị là crue thì nó nói rằng trang nay là trang báo lỗi
(error page)
isThreadSafe Chỉ định cho biét servlet tao ra có tính an toàn về luồng xử lý
Bảng 3 - Các tùy chọn của chỉ thị page Taglib - Chỉ thị taglib thông báo rằng chúng ta sẽ sử dụng một thư viện thé JSP (JSP tag library) Chỉ thị này đòi hỏi một tiên tô (prefix) (tương tự như namespace trong C++), cũng như kêt nôi URI của phân mô tả thư viện thẻ (URI for the tag library đescription) phải được xác định
ác đối tượng chuẩn:
out (xuất) - JSPWriter sử dụng nó để ghi dữ liệu vào luồng dữ liệu hồi âm (response stream)
page (trang) — Ban than servlet
pageContext (ngữ cảnh của trang) - Một PageContext là một thực thể có chứa dữ liệu liên kết với toàn bộ trang web Một trang HTML nào đây có thê được truyền qua nhiều trang JSP
request (yéu cầu) - Đối tượng yêu cầu HTTP
response (hồi âm) - Đối tượng hồi âm HTTP
session (phiên giao dịch) — Đối tượng phiên giao dịch HTTP Cái này có thể được dùng đê theo dõi tin tức vê một người dùng, từ yêu câu này đên yêu câu khác
Trang 14
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
jsp:include Tương tự như mục đích sử dụng một thu tuc con (subroutine), Java
servlet tạm thời trao nhiệm vụ đặt yêu cầu và hồi âm cho trang JavaServer (JavaServer Page) chỉ định nào đấy Quyền khống chế sẽ được hoàn lại cho trang JSP hiện tại, một khi trang ISP kia hoàn thành nhiệm vụ của nó Dùng phương pháp này, mã trang JSP được chia sẻ với nhiều trang JSP, thay vì phải sao mã
JSP:param Có thê được dùng bên trong khôi jsp:include, khôi jsp:forward hoặc -
khôi jsp:params Nó được dùng đê xác định một thông sô, và thông sô này sẽ được cộng thêm vào chuỗi các thông só hiện có của yêu cầu
jJSp:forward
jsp:plugin
Được dùng đê trao nhiệm vụ đặt yêu câu và hôi âm sang cho một
trang JSP khác, hoặc cho một servlet khác Quyền khống chế sẽ được hoàn tra lại cho trang JSP hién tai
Nhiing phién ban ci cua Netscape Navigator va Internet Explorer dùng những thẻ khác đề nhúng một chương trình nhỏ (applet) Hành động này tạo nên thẻ thuộc trình duyệt web cần thiết dé bao gồm applet
Thiêt lập thuộc tính của một JavaBean chỉ định
Kiến tạo hoặc dùng lại một JavaBean, là cái có thể dùng được trong
trang JSP
Bang 4 — Các hành động trong JSP
12 Kếtnối cơ sở dữ liệu
12.1 Kết nối trực tiếp bằng trình điều khiển cơ sở dữ liệu
JDBC kết nối trực tiếp với các trình điều khiển CSDL Khi Java phát triển, các nhà cung cấp hỗ trợ trình điều khiến IDBC kết nối trực tiếp với các trình điều khiển đặc thù của mỗi hệ
mà không cần phải qua trung gian ODBC của Window nữa Các kết nối này nhanh và hiệu quả hơn kiểu JDBC-ODBC Tuy nhiên, bạn phải mua các trình điều khiên CSDL đặc thù do những nhà phát triển cơ sở dữ liệu cung cấp
Java Application
Applet Serviet JDBC Driver Database Driver
Trang 15Hình 2 - IDBC kết nối trực tiếp với trình điều khiển
1.2.2 Kết nối thông qua cầu nối ODBC (Open Database Connectivity)
ODBC (Open Source Connectivity) là cách kết nói tng quát nhất đến mọi hệ cơ sở dữ liệu thông qua trình quản lý ODBC của Windows Mỗi hệ cơ sở dữ liệu sẽ cung cấp một trình điều khiển có khả năng đọc hiểu được cơ sở dữ liệu của chúng Trình điều khiển này sẽ được đăng ký với bộ quản lý ODBC Tat cả các lệnh truy xuất cơ sở dữ liệu sau đó được thực thi bằng lệnh SQL Java cho ban sử dụng JDBC để gọi ODBC và bằng cách này bạn có thê kiêm
soát nhiều hệ quản trị cơ sở dữ liệu khác nhau Quan hệ cầu nói IDBC-ODBC được thẻ hiện
ở hình dưới Sun cung cấp sẵn thư viện JDBC-ODBC kèm theo bộ JDK và bạn có thể dùng miễn phí
12.3 Kết nối thông qua ứng dụng mạng trung gian
Ngày nay các ứng dụng đều gắn liền với mạng Internet Theo mô hình lập trình phân tán, ứng dụng mạng trung gian (middle-ware) trên một máy chủ sẽ chịu trách nhiệm kết nối CSDL Nhiệm vụ của trình khách là sử dụng những trình điều khién JDBC gọn nhẹ, có khả năng giao tiếp với ứng dụng trung gian qua Internet dé truy van dữ liệu
Trang 16
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
Applet Servlet
Hình 4 - IDBC kết nói thông qua các ứng dụng mạng trung gian
II Mô hình phát triển ứng dung Web
Khi giới thiệu công nghệ JSP, Sun cũng đưa ra những cách đẻ làm việc với nó và định nghĩa 2 mô hình đề xây dựng ứng dụng Web dựa trên JSP Hai mô hình đó được biết như là
Mô hình I và Mô hình 2 và chúng biểu diễn những cách tiếp cận khác nhau để xây dựng ứng dụng Web dựa trên JSP Mô hình 1 đơn giản hơn Mô hình 2 và là giải pháp chính để xây dựng ứng dụng Web khi công nghệ JSP được giới thiệu lần đầu tiên Tuy nhiên, qua thời gian
Mô hình 2 được chấp nhận là giải pháp tốt nhất để xây dựng ứng dụng Web dựa trên JSP
ILI Kiến trúc mô hình I
ra một response Mặc dù đơn giản, nhưng Mô hình | không thích hợp dé phát triển những ứng
dụng lớn bởi vì chắc hắn một số lượng lớn các hàm sẽ đươc nhân bản trong mỗi trang JSP
Không những thế, Mô hình I còn không cần thiết phải có sự liên kết giữa bussiness logic
và presentation logic của ứng dụng Khi kết hợp business logie với presentation logic làm cho
nó khó có thể đưa vào một “view” mới hay một điểm truy cập mới trong ứng dụng Ví dụ như
Trang 17trong một giao diện HTML, bạn muốn thêm vào một giao điện mới nhu Wireless Markup Language (WML) cho truy cap khong dây thì việc đó là rât khó
H2 Kiến trúc mô hình 2 (Model — View — Controller)
Request
« Response
| Browser
Controter (Serviet) Request processing Data vatidation
*
View (JSP) Response generation
Moet
“4, Business logic Data manipulation
Oatadase/Services
Hình 6 - Mô hình 2 (MVC)
Mô hình 2 hay mô hình Model - View - Controller (MVC) đã giải quyết nhiều van đề có
hữu của Mô hình 1 Trong mé hinh MVC Controller 1a một Servlet trung tâm nhận tất cả các request từ phía client Controller sẽ phân loại và xử lý các request Khi xử lý các request, tang Model bên dưới sẽ cung cấp các phương thức cho Controller Bên trong Model có 2 tầng tách biét la Business Logic va Data Manipulation Business Logic đặc tả tất cả các đối tượng tương tác trong toàn bộ hệ thống còn Data Manipulation đặc tả tất cả các luật và phương thức
xử lý của các đối tượng trên Sau khi xử lý, Controller sẽ trả dữ liệu về cho client thông qua đối tượng response, sau đó đối tượng này được trình diễn ở tầng View View bao gồm tất cả các JSP thực hiện việc trình diễn dữ liệu và các form để nhận các request tiép theo Trong mé hình này business logic véi presentation logic duge tach biét lẫn nhau, sự tách biệt này cung cấp nhiều loại giao diện khác nhau cho ứng dụng, có thể là Web, wireless, hoặc GUI (Swing) Thêm vào đó, sự tách biệt này cũng cho phép chúng ta sử dụng lại mã lệnh một cách dễ dàng
II Ngôn ngữ mô hình hóa thống nhất (UML)
HHI.I Giới thiệu UML
III.1.1 Mô hình hóa hệ thống phần mềm
Mục tiêu của giai đoạn phân tích hệ thống là sản xuất ra một mô hình tổng thể của hệ thống cần xây dựng Mô hình này cần phải được trình bày theo hướng nhìn (View) của khách hàng hay người sử dụng và làm sao để họ hiểu được Mô hình này cũng có thê được sử dụng
để xác định các yêu cầu của người dùng đối với hệ thống và qua đó giúp chúng ta đánh giá tính khả thi của dự án
Tam quan trọng của mô hình đã được lĩnh hội một cách thấu đáo trong hầu như tất cả các ngành khoa học kỹ thuật từ nhiều thế kỷ nay Bất kỳ ở đâu, khi muốn xây dựng một vật thể nào đó, đầu tiên người ta đã tạo nên các bản vẽ để quyết định cả ngoại hình lẫn phương thức hoạt động của nó Chăng hạn các bản vẽ kỹ thuật thường gặp là một dạng mô hình quen
thuộc Mô hình nhìn chung là một cách mô tả của một vật thê nào đó Vật đó có thẻ tồn tại
Trang 18
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
trong một số giai đoạn nhất định, dù đó là giai đoạn thiết kế hay giai đoạn xây dựng hoặc chỉ
là một kế hoạch Nhà thiết kế cần phải tạo ra các mô hình mô tả tất cả các khía cạnh khác nhau của sản phâm Ngoài ra, một mô hình có thể được chia thành nhiều hướng nhìn, mỗi hướng nhìn trong số chúng sẽ mô tả một khía cạnh riêng biệt của sản phâm hay hệ thống cần được xây dựng Một mô hình cũng có thể được xây dựng trong nhiều giai đoạn và ở mỗi giai đoạn, mô hình sẽ được bổ sung thêm một số chỉ tiết nhất định
Mô hình thường được mô tả trong ngôn ngữ trực quan, eu đó có nghĩa là đa phần các thong | tin được thể hiện bằng các ký hiệu đồ họa và các kết nói giữa chúng, chỉ khi cần thiết một số thông | tin mới được biểu diễn ở dạng văn bản; Theo đúng như câu ngạn ngữ "Một bức tranh nói nhiều hơn cả ngàn từ" Tạo mô hình cho các hệ thống phần mềm trước khi thực sự xây dựng nên chúng, đã trở thành một chuẩn mực trong việc phát triển phần mềm và được chấp nhận trong cộng đồng làm phần mềm giống như trong bat kỳ một ngành khoa học kỹ thuật nào khác Việc biéu diễn mô hình phải thða mãn các yếu tố sau:
—_ Chính xác (accurate): Mô tả đúng hệ thống cần xây dựng
- Đồng nhất (consistent): Các view khác nhau không được mâu thuần với nhau
— C6 thé hiéu được (understandable): Cho những người xây dựng lẫn sử dụng
- Dễ thay đổi (changeable)
— Dé dang lién lạc với các mô hình khác
Có thể nói thêm rằng mô hình là một sự đơn giản hoá hiện thực Mô hình được xây dựng nên đề chúng ta dễ dàng hiểu và hiểu tốt hơn hệ thống cần xây dựng Tạo mô hình sẽ giúp cho chúng ta hiệu thấu đáo một hệ thống phức tạp trong sự toàn thể của nó
Nói tóm lại, mô hình hóa một hệ thống nhằm mục đích:
—_ Hình dung một hệ thống theo thực tế hay theo mong muốn của chúng ta
—_ Chỉ rõ cầu trúc hoặc ứng xử của hệ thống
—_ Tạo một khuôn mẫu hướng dẫn nhà phát triển trong suốt quá trình xây dựng hệ thống
—_ Ghi lại các quyết định của nhà phát triển để sử dụng sau này
TH.1.2 Trước khi UML ra đời
Đầu những năm 1980, ngành công nghệ phần mềm chỉ có duy nhất một ngôn ngữ hướng đối tượng là Simula Sang nửa sau của thập kỷ 1980, các ngôn ngữ hướng đối tượng như Smalltalk và C++ xuất hiện Cùng với chúng, nảy sinh nhu cầu mô hình hoá các hệ thống phần mềm theo hướng đối tượng Và một vài trong số những ngôn ngữ mô hình hoá xuất hiện những năm đầu thập kỷ 90 được nhiều người dùng là:
— Grady Booch’s Booch Modeling Methodology
— James Rambaugh’s Object Modeling Technique - OMT
— Ivar Jacobson’s OOSE Methodology
Trang 19
— Hewlett- Packard’s Fusion
— Coad and Yordon’s OOA and OOD
Mỗi phương pháp luận và ngôn ngữ trên đều có hệ thống ký hiệu riêng, phương pháp xử lý riêng và công cụ hỗ trợ riêng, khiến xảy ra cuộc tranh luận phương pháp nào là tốt nhất Đây
là cuộc tranh luận khó có câu trả lời, bởi tất cả các phương pháp trên đều có những điểm mạnh và điểm yếu riêng Vi thé, các nhà phát triển phần mềm nhiều kinh nghiệm thường sử dụng phối hợp các điểm mạnh của mỗi phương pháp cho ứng dụng của mình Trong thực tế,
sự khác biệt giữa các phương pháp đó hầu như không đáng kê và theo cùng tiến trình thời
gian, tất cả những phương pháp trên đã tiệm cận lại và bổ sung lẫn cho nhau Chính hiện thực này đã được những người tiên phong trong lĩnh vực mô hình hoá hướng đối tượng nhận ra và
họ quyết định ngồi lại cùng nhau đẻ tích hợp những điểm mạnh của mỗi phương pháp và đưa
ra một mô hình thống nhất cho lĩnh vực công nghệ phần mềm
TH.1.3 Sự ra đời của UML
Trong bối cảnh trên, người ta nhận thấy cần thiết phải cung cắp một phương pháp tiệm cận được chuẩn hoá và thống nhất cho việc mô hình hoá hướng đối tượng Yêu cầu cụ thể là đưa
ra một tập hợp chuẩn hoá các ký hiệu (Notation) và các biêu đồ (Diagram) để nắm bắt các quyết định về mặt thiết kế một cách rõ ràng, rành mạch Đã có ba công trình tiên phong nhắm tới mục tiêu đó, chúng được thực hiện dưới sự lãnh đạo của James Rumbaugh, Grady Booch
va Ivar Jacobson Chính những có gắng này dẫn đến kết quả là xây dựng được một Ngôn Ngữ
Mô Hình Hoá Thống Nhất (Unifield Modeling Language - UML)
UML là một ngôn ngữ mô hình hoá thống nhất có phần chính bao gồm những ký hiệu hình học, được các phương pháp hướng đối tượng sử dung dé thé hiện và miêu tả các thiết kế của một hệ thống Nó là một ngôn ngữ để đặc tả, trực quan hoá, xây dựng và làm sưu liệu cho nhiều khía cạnh khác nhau của một hệ thống có nồng độ phần mềm cao UML có thể được sử dụng làm công cụ giao tiếp giữa người dùng, nhà phân tích, nhà thiết kế và nhà phát triển phần mềm
“Trong quá trình phát triển có nhiều công ty đã hỗ trợ và khuyến khích phát triển UML có thê kê tới như : Hewlett Packard, Microsoft, Oracle, IBM, Unisys
TILI.4 UML (Unifield Modeling Language)
Ngôn ngữ mô hình hóa thống nhất (Unifield Modeling Language - UML) là một ngôn ngữ
để biểu diễn mô hình theo hướng đối tượng được xây dựng bởi ba tác giả trên với chủ đích là:
— M6 hinh hoá các hệ thống sử dụng các khái niệm hướng đối tượng
— Thiết lập một kết nối từ nhận thức của con người đến các sự kiện cần mô hình hoá
—_ Giải quyết vấn đề về mức độ thừa kế trong các hệ thống phức tạp, có nhiều ràng buộc khác nhau
—_ Tạo một ngôn ngữ mô hình hoá có thể sử dụng được bởi người và máy
Trang 20
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
HL2 UML và các giai đoạn của chu trình phát triển phần mềm
TH.2.1 Giai đoạn nghiên cứu sơ bộ
UML đưa ra khái niệm Use Case để nắm bắt các yêu cầu của khách hàng (người sử dụng) UML sử dụng biêu dé Use case (Use Case Diagram) dé nêu bật mối quan hệ cũng như sự giao tiếp với hệ thông
Qua phương pháp mô hình hóa Use case, các tác nhân (Actor) bên ngoài quan tâm đến hệ thống sẽ được mô hình hóa song song với chức năng mà họ đòi hỏi từ phía hệ thống (tức là Use case) Các tác nhân và các Use case được mô hình hóa cùng các mối quan hệ và được miêu tả trong biểu đồ Use case của UML Mỗi một Use case được mô tả trong tài liệu, nó sẽ đặc tả các yêu cầu của khách hàng: Anh ta hay chị ta chờ đợi điều gì ở phía hệ thống mà không hề đề ý đến việc chức năng này sẽ được thực thi ra sao
TH.2.2 Giai đoạn phân tích
Giai đoạn phân tích quan tâm đến quá trình trừu tượng hóa đầu tiên (các lớp và các đối tượng) cũng như cơ chế hiện hữu trong phạm vi vấn đề Sau khi nhà phân tích đã nhận biết được các lớp thành phần của mô hình cũng như mối quan hệ giữa chúng với nhau, các lớp cùng các mối quan hệ đó sẽ được miêu tả bằng công cụ biểu đồ lớp (class diagram) của UML
Sự cộng tác giữa các lớp nhằm thực hiện các Use case cũng sẽ được miêu tả nhờ vào các mô hình động (dynamic models) của UML Trong giai đoạn phân tích, chỉ duy nhất các lớp có ton tại trong phạm vi vấn đề (các khái niệm đời thực) là được mô hình hóa Các lớp kỹ thuật định nghĩa chỉ tiết cũng như giải pháp trong hệ thống phần mềm, ví dụ như các lớp cho giao diện người dùng, cho ngân hàng dữ liệu, cho sự giao tiếp, trùng hợp, v.v chưa phải là mối quan tâm của giai đoạn này
IIL2.3 Giai đoạn thiết kế
Trong giai đoạn này, kết quả của giai đoạn phân tích sẽ được mở rộng thành một giải pháp
kỹ thuật Các lớp mới sẽ được bổ sung để tạo thành một hạ tầng cơ sở kỹ thuật: Giao diện người dùng, các chức năng đề lưu trữ các đối tượng trong ngân hàng dữ liệu, giao tiếp VỚI các
hệ thống khác, giao diện với các thiết bị ngoại vi và các máy móc khác trong hệ thống, wa Cac lớp thuộc phạm vi vấn đề có từ giai đoạn phân tích sẽ được "nhúng" vào hạ tầng cơ sở kỹ thuật này, tạo ra khả năng thay đồi trong cả hai phương diện: Phạm vi vấn đề và hạ tầng cơ
sở Giai đoạn thiết kế sẽ đưa ra kết quả là bảng đặc tả chỉ tiết cho giai đoạn xây dựng hệ thông
TH.2.4 Giai đoạn xây dựng
Trong giai đoạn xây dựng (giai đoạn lập trình), các lớp của giai đoạn thiết kế sẽ được biến thành những dòng code cụ thể trong một ngôn ngữ lập trình hướng đối tượng cụ thể (không nên dùng một ngôn ngữ lập trình hướng chức năng!) Phụ thuộc vào khả năng của ngôn ngữ được sử dụng, đây có thể là một công việc khó khăn hay dễ dàng Khi tạo ra các mô hình phân tích và thiết kế trong UML, tốt nhất nên cố gắng né tránh việc ngay lập tức biến đồi các
mô hình này thành các dòng code Trong những giai đoạn trước, mô hình được sử dụng đề dễ hiểu, dễ giao tiếp và tạo nên cầu trúc của hệ thông: vì vậy, vội vàng đưa ra những kết luận về
Trang 21việc viết code có thể sẽ thành một trở ngại cho việc tạo ra các mô hình chính xác và đơn giản Giai đoạn xây dựng là một giai đoạn riêng biệt, nơi các mô hình được chuyên thành code TH.2.5 Thử nghiệm
Một hệ thống phần mềm thường được thử nghiệm qua nhiều giai đoạn và với nhiều nhóm thử nghiệm khác nhau Các nhóm sử dụng nhiêu loại biêu đồ UML khác nhau làm nền tảng cho công việc của mình: Thử nghiệm đơn vị sử dụng biêu đồ lớp (class diagram) và đặc tả lớp, thử nghiệm tích hợp thường sử dụng biểu đồ thành phan (component diagram) và biéu đồ cộng tac (collaboration diagram), và giai đoạn thử nghiệm hệ thống sử dụng biểu dé Use case (use case diagram) dé dam bao hé thống có phương thức hoạt động đúng như đã được định nghĩa từ ban đầu trong các biểu đồ này
II.2.6 Các thành phần của ngôn ngữ UML
Ngôn ngữ UML bao gồm một loạt các phần tử đồ họa (graphic element) có thể được kết hợp với nhau đê tạo ra các biéu đồ Bởi đây là một ngôn ngữ, nên UML cũng có các nguyên tắc đê kêt hợp các phân tử đó
Một số những thành phần chủ yếu của ngôn ngữ UML:
— Hướng nhìn (view): Hướng nhìn chỉ ra những khía cạnh khác nhau của hệ thống cần phải được mô hình hóa Một hướng nhìn không phải là một bản vẽ, mà là một sự trừu tượng hóa bao gồm một loạt các biểu đồ khác nhau Chỉ qua việc định nghĩa của một loạt các hướng nhìn khác nhau, mỗi hướng nhìn chỉ ra một khía cạnh riêng biệt của hệ thống, người ta mới có thẻ tạo dựng nên một bức tranh hoàn thiện về hệ thống Cũng chính các hướng nhìn này nói kết ngôn ngữ mô hình hóa với quy trình được chọn cho giai đoạn phát triển
— Biểu đồ (diagram): Biểu đồ là các hình vẽ miêu tả nội dung trong một hướng nhìn UML có tât cả 9 loại biêu đô khác nhau được sử dụng trong những sự kêt hợp khác nhau đê cung câp tât cả các hướng nhìn của một hệ thông
— Phần tử mô hình hóa (model element): Các khái niệm được sử dụng trong các biểu
đồ được gọi là các phần tử mô hình, thể hiện các khái niệm hướng đối tượng quen
thuộc Ví dụ như lớp, đối tượng, thông điệp cũng như các quan hệ giữa các khái niệm này, bao gồm cả liên kết, phụ thuộc, khái quát hóa Một phần tử mô hình thường được
sử dụng trong nhiều biểu đồ khác nhau, nhưng nó luôn luôn chỉ có một ý nghĩa và một
kí hiệu
—_ Cơ chế chung: Cơ chế chung cung cấp thêm những lời nhận xét, bổ sung các thông tin cũng như các quy tắc ngữ pháp chung về một phần tử mô hình; chúng còn cung cấp thêm các cơ chế để có thê mở rộng ngôn ngữ UML cho phù hợp với một phương pháp xác định (một quy trình, một tổ chức hoặc một người dùng)
Trang 22
Như vậy, nếu trong một học kỳ có 15 tuần thực học thì tín chỉ là một tiết lý thuyết hoặc 2
tiệt bài tập, thực hành, thảo luận hoặc 3 đên 4 tiét thực tập, kiên tập, chuân bị khoá luận trong một tuân và kéo dài trong suôt học kỳ
Để tiếp thu được một tiết học lý thuyết trên lớp sinh viên cần khoảng 2 - 3 tiết chuẩn bị, một tiệt học thực hành hoặc bài tập cân l - 2 tiêt chuân bị Một tiệt học trên lớp được quy
Mỗi học phần thực hành có khối lượng từ 1 đến 3 tín chỉ, mỗi học phần lý thuyết hoặc học
phân có cả lý thuyêt và thực hành có khôi lượng từ 2 dén 5 tín chỉ
Một học phần phải được bố trí giảng đạy trọn vẹn và phân bố đều trong một học kỳ Khoá luận hay đô án tot nghiệp là một học phân đặc biệt, có khôi lượng tương đương 10 - 15 tin chi (cụ thê xem Điêu 28)
Kiến thức trong mỗi học phần được thiết kế kiểu môđun theo từng môn học hoặc được kết cấu dưới dạng tổ hợp từ nhiều môn học thành một môn học mới Mỗi học phần phải được ký hiệu băng một mã riêng do trường qui định
12.2 Các loại học phần
— Học phần bắt buộc là học phần chứa đựng những nội dung chính yếu của ngành hay nhóm ngành đào tạo, mà tât cả mọi sinh viên thuộc ngành hay nhóm ngành đào tạo đó đêu phải theo học và tích luỹ được
Trang 23— Học phần tự chọn bắt buộc là học phần chứa đựng những mảng nội dung chính yếu của ngành hay nhóm ngành đào tạo, mà sinh viên bắt buộc phải chọn một số lượng xác định trong sô nhiêu học phân tương đương được quy định cho ngành đó
Học phần tự chọn tự do là học phần sinh viên có thể tự do đăng ký học hay không tùy theo nguyện vọng
Theo nội dung và tính chất tương đối giữa các mảng kiến thức, các học phần trên có thê được chia ra:
Học phần tương đương đối với học phần X, là học phần có nội dung và thời lượng đáp ứng được yêu cầu của học phần X, cụ thé là có nội dung giống nhau từ 80% trở lên và có số tín chỉ tương đương hoặc lớn hơn
Học kỳ, năm học
Học kỳ
Học kỳ là thời gian dé sinh viên hoàn thành một ó học phần của chương trình đào tạo Trong mỗi học kỳ có qui định khôi lượng kiên thức tôi thiêu bắt buộc sinh viên phải tích lũy 1.3.2 Năm học
Năm học có tối thiểu 2 học kỳ chính:
—_ Một học kỳ chính có 15 tuần thực học, 1 tuần kiểm tra giữa kỳ và 3 tuần thi;
— Ngoài các học kỳ chính, tùy theo điều kiện, trường có thê tô chức thêm học kỳ hè dành cho những sinh viên thi không đạt ở các học kỳ chính được đăng ký học lại và những sinh viên học giỏi có điêu kiện kêt thúc sớm chương trình đào tạo Một học kỳ hè có
từ 4 đến 6 tuân thực học và một tuân thi
Trang 24
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
Khoá học là thời gian để sinh viên hoàn thành chương trình đào tạo của một chuyên ngành đào tạo ở trình độ đại học hoặc cao đăng Thời gian của một khoá học, được quy định tuỳ thuộc vào bậc học và chuyên ngành đào tạo Tuỳ theo khả năng và điều kiện học tập, sinh viên có thê rút ngắn hoặc kéo dài thời gian học tối đa như sau :
ae loc dao tao tích luỹ tối đa rút ngắn tối đa kéo dài tối đa
Đại học 5 năm 260 3 học kỳ chính 5 học kỳ chính
Bảng 5 - Chỉ tiết từng loại khóa học
L6 Các loại điểm
1.6.1 Điểm bảo lưu, điểm tương đương
Sinh viên đã thi đạt yêu cầu một học phần hoặc học phần tương đương (xem mục 3.2.2) ở một trường nào đó trong thời gian không quá 5 năm, nêu muôn xin miễn học học phần đó, phải làm đơn kèm theo xác nhận (số tiết học, số tín chỉ và điểm) gửi về phòng Đào tạo của trường chậm nhất là 1 tháng trước khi thi kết thúc học phần Nếu được chấp thuận thì học phần đó sẽ được điểm mà sinh viên đã đạt và kèm theo chữ bảo lưu (BL) Đối với học phần tương đương điểm hoc phan sẽ được ghi kèm ký hiệu (TĐ)
Trang 25— Điểm trung bình chung tích lũy (ĐTBCTL) là điểm trung bình chung của tắt cả các
học phân mà sinh viên đã đăng ký học và dự thi cũng như các học phân được bảo lưu
và tương đương được miễn tính từ đầu khoá học cho đến thời điểm xét
—_ Điểm rèn luyện quy đổi (ĐRLaqđ) là điểm quy đổi từ kết quả rèn luyện của sinh viên Theo Quy chế đánh giá kết quả rèn luyện của học sinh, sinh viên các Trường Đại học, Cao đăng, Trung học chuyên nghiệp hệ chính quy ban hành theo Quyết định số 42/2002/QĐ-BGD&ĐT ngày 21/10/2002 của Bộ trưởng Bộ Giáo dục và Dao tạo, mức quy đổi được tính như sau:
Rèn luyện đạt loại xuât sắc 1,0 điêm
Bảng 6 - Điểm rèn luyện quy đổi
— Diém trung bình chung mở rộng (ĐTBCMR) bằng tổng điểm trung bình chung học tập và điểm rèn luyện quy đồi
Cách tính điểm trung bình chung học tập, trung bình chung tích lũy và trung bình chung
mở rộng được quy định tại Điêu 22 của Quy chê này
1.7 Chương trình dao tao
1.7.1 Noi dung đào tao
Nội dung đào tạo trong toàn khoá học ở mỗi trình độ của từng chuyên ngành đào tạo được thể hiện thành chương trình đào tạo Chương trình đào tạo của mỗi chuyên ngành đào tạo do các trường thành viên xây dựng trên cơ sở chương trình khung của Bộ Giáo dục & Đào tạo qui định và được Giám đốc Đại học Đà Nẵng phê duyệt Chương trình khung gồm cơ cấu nội dung và số tín chỉ các học phần, thời gian đào tạo, tỷ lệ phân bỏ thời gian đào tạo giữa khối kiến thức giáo dục đại cương và khối kiến thức giáo dục chuyên nghiệp, giữa lý thuyết và thực hành
1.7.2 Chương trình đào tạo bao gồm 2 khối kiến thức
— Khối kiến thức giáo dục đại cương (GDĐC) gồm các học phần thuộc các lĩnh vue: khoa học xã hội và nhân văn, khoa học tự nhiên va toán, ngoại ngữ, giáo dục quốc phòng và giáo dục thể chất, nhằm trang bị cho sinh viên nền học vấn rộng đề tiếp thu tốt kiến thức chuyên môn, tạo tiềm lực cho người được đào tạo dễ dàng thích nghỉ với môi trường làm việc, tự cập nhật kiến thức trước tình hình phát triển nhanh của khoa học và công nghệ
— Khối kiến thức giáo dục chuyên nghiệp (GDCN) gồm các học phần cơ SỞ, ngoại ngữ phục vụ chuyên ngành và các học phần chuyên môn nhằm cung cấp cho người học những kiến thức và kỹ năng nghề nghiệp ban đầu cần thiết
Trang 26
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
1.7.3 Mỗi khối kiến thức có 2 nhóm học phần sau
— Nhóm học phần bắt buộc gồm những học phần chứa đựng những nội dung kiến thức chính yêu của ngành đào tạo, bắt buộc sinh viên phải học và chiêm khoảng 70 - 80% khôi lượng kiên thức toàn khoá
Nhóm học phần tự chọn gồm những học phần chứa đựng những nội dung cần thiết nhưng sinh viên được tự chọn đê tích lũy đủ sô tín chỉ qui định và chiêm khoảng 20 - 30% khối lượng kiên thức toàn khoá
18 Quy tắc đánh mã
L8.1 Mã trường
2 DHKT Dai hoc kinh té
102 Khoa Công nghệ thông tin
103 Khoa Cơ khí giao thông
104 Khoa Công nghệ Nhiệt- Điện lạnh
106 Khoa Điện tử Viễn thông
108 Khoa Sư phạm kỹ thuật
109 Khoa Xây dựng Câu Đường
110 Khoa Xây dựng Dân dựng & công
nghiệp
III Khoa Xây dựng Thủy lợi - Thủy điện
112 Dự án đào tạo kỹ sư Việt-Pháp
Trang 27
3xx Khoa Lý - Đại học Sư Phạm
3xx Khoa Hóa - Đại học Sư Phạm
3xx Khoa Tâm lý - Giáo dục,ĐH Sư Phạm
2xx Khoa Mác-Lênin Đại học Kinh tê
4xx Khoa Ngoại ngữ chuyên ngành- Đại học
Ngoại Ngữ 4xx Khoa Pháp - ĐH Ngoại Ngữ
0xx Trung tâm Giáo dục Thê chât
1.9.1 Mã ngành
Mã ngành: 5 ký tự, có dạng
Bảng 8 —- Mã của các khoa
HDD [Nn]
10130 Cơ khí - Luyện - Cán thép Cơ khí
10220 Khoa học máy tính (Dự kiến) Công nghệ thông tin
10230 Mạng máy tính (Dự kiên) Công nghệ thông tin
10240 Công nghệ phân mêm (Dự kiên) Công nghệ thông tin
10250 Tin học công nghiệp (Dự kiên) Công nghệ thông tin
10410 Công nghệ Nhiệt - Điện lạnh Công nghệ Nhiệt- Điện lạnh
10420 Thiêt bị năng lượng (Dự kiên) Công nghệ Nhiệt- Điện lạnh
10430 Kỹ thuật nhiệt lạnh (Dự kiên) Công nghệ Nhiệt- Điện lạnh
10540 Điện công nghiệp (Dự kiên) Điện
10610 Kỹ thuật Điện tử Điện tử- Viễn thông
Trang 28
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
10760 Công nghệ vật liệu - Điện hóa Hóa
10770 Công nghệ hóa học - Dâu & Khí Hóa
10780 Công nghệ Hóa ¡in (Dự kiên) Hóa
10790 Công nghệ Hóa nhuộm (Dự kiên) Hóa
10711 Công nghệ hóa dược (Dự kiên) Hóa
10810 Sư phạm Kỹ thuật Công nghiệp Sư phạm Kỹ thuật
10820 Sư phạm kỹ thuật Điện - Điện tử Sư phạm Kỹ thuật
10830 Sư phạm kỹ thuật Điện tử - Tin học - Sư phạm Kỹ thuật
Sư phạm kỹ thuật Công nghệ thực phâm Sư phạm Kỹ thuật
(Du kién)
10850 Sư phạm kỹ thuật Cơ Điện tử (Dự kiến) Sư phạm Kỹ thuật
10860 Sư phạm kỹ thuật Xây dựng (Dự kiến) Sư phạm Kỹ thuật
10920 | Cầu - Hàm (Dự kiến) Xây dựng Cầu đường,
10930 Đường Ôtô và đường thành phố (Dự kiến) Xây dựng Câu đường
10940 Đường Otô và đường sân bay (Dự kiên) Xây dựng Câu đường
10950 Kỹ thuật Giao thông (Dự kiên) Xây dựng Câu đường
10960 Công trình Ngâm (Dự kiên) Xây dựng Câu đường
Kiêm định chât lượng công trình GT (Dự Xây dựng Câu đường
10970 kiến)
10990 Vật liệu xây dựng (Dự kiên) Xây dựng Câu đường
11010 Xây dựng dân dụng và công nghiệp Xây dựng Dân dựng & công
11110 Xây dựng Thủy lợi - Thủy điện Xây dung TL-TD
11120 Kinh tê Xây dựng và Quản lý Dự án Xây dung TL-TD
11130 Cảng và Công trình ven bờ (Dự kiên) Xây dung TL-TD
11140 Công trình thủy điện (Dự kiến), Xây dựng TL-TĐÐ
Quản lý và Khai thác Tài nguyên nước (Dự | Xây dựng TL-TĐ
Trang 293 ký số "101" đầu tiên: có nghĩa học phan này thuộc Khoa Cơ Khí
Số "007" tiếp theo: có nghĩa đây là học phần được đánh số thứ tự 007 trong Khoa đó
Ký số "0" cuối cùng: có nghĩa đây là học phần dạy cho toàn trường (ví dụ: các môn
NS: Ngành
KK: Mã khoá học là 2 ký tự (2 số cuối) của niên khóa (vòng đời phần mềm có thé khoảng vài chục năm)
L: Số thứ tự lớp (Class) trong một khoa của niên khóa đó (bắt đầu từ 1 đến 9)
H: Mã hình thức đào tạo (I- chính qui, 2- vừa học vừa làm, )
C: Cap dao tao (1- Đại học, 2- Cao đăng, 3-Trung cấp)
Ví dụ: Một lớp có mã là 1010420511 thì
1.9.4
3 ký số "I0I" tiếp theo: có nghĩa lớp này thuộc Khoa Cơ Khí của trường
2 ký tự “04” là mã ngành Cơ khí chế tạo trong khoa cơ khí
1 ký số "2" tiếp theo: có nghĩa đây là lớp sinh hoạt được đánh số thứ tự 2 trong Khoa
Cơ Khí của trường
2 ký số "05" đầu tiên: có nghĩa lớp này thuộc khoá học vào trường năm 2005
mịm
Ký số tiếp theo: có nghĩa lớp này thuộc hệ chính quy
Ký số "1" tiếp theo nữa: có nghĩa lớp này thuộc cấp đại học
UDDMMMZ: Mã môn học (xem giải thích phía trên)
KK: Mã khóa học (2 số cuối của niên khóa)
Trang 30Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
— H: Ma hinh thức đào tạo (I- chính qui, 2- vừa học vừa làm, )
— C: Cap dao tạo (I- Đại học, 2- Cao đăng, 3-Trung cấp)
— SS: Sé thứ tự sinh viên trong lớp
Ví dụ: một sinh viên có mã số 102101061115
Có nghĩa như sau:
10210 (tương ứng với UDDNS): sinh viên thuộc Ngành Công nghệ thông tin
—_ 1 (tương ứng với L): lớp sé 1
—_ 06 (tương ứng với KK): khóa 2006 - 2011
— 1 (twong tng với H): hệ chính qui
—_ 1 (tương ứng với C): cap đào tạo - đại học
—_ l§ (tương ứng với SS): số thứ tự của sinh viên trong lop sinh hoat la 15
Trang 311.10 Quy trình sinh viên đăng ký lớp học phân
Hiện tại, quá trình sinh viên đăng ký học một lớp học phần tiến hành bằng tay theo nhiều bước Với các bước, sinh viên được phát tài liệu và giây đăng ký đi kèm Nêu quá trình đăng
ký có sự xung đột hoặc bât hợp lý thì phòng đào tạo sẽ tự điêu chỉnh hoặc thông báo cho các
sinh viên để chỉnh sửa
1.10.1 Mô tả quy trình
Nếu không x Nếu không
10 Tự điều chứn
sổ lượng cho phủ hor
Trang 32Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
1.10.2 Dién giải quy trình
Quy trình được thực hiện từng bước như sau:
Bước 1: Phong đào tạo sẽ phát hành “Chương trình đào tạo khóa 2006 — 2011” vào đầu năm học Tài liệu này là kế hoạch học tập của sinh viên của tất cả các ngành khóa 06 Tài liệu này bao gồm khung chương trình, danh sách các học phần, quan hệ các học phần, các quy định liên quan đến dạy, học, đánh giá và các vấn đề liên quan
Bước 2: Phòng đào tạo sẽ phát hành “Số tay sinh viên” trước mỗi học kỳ cho sinh viên Tài liệu này gồm tất cả các lớp học phần và chỉ tiết lớp học phần được dạy trong học kỳ đó Các lớp học phần này được chia thành nhóm và mỗi nhóm tương ứng với một lớp niên chế Trong tài liệu này, phòng đào tạo gợi ý cho sinh viên mỗi khoa nên đăng ký vào những nhóm nào cho hợp lý Sinh viên sẽ dựa vào tài liệu này dé chon ra lớp học phần mà mình cần Bước 3: Phát hành mẫu đăng ký lớp học phan Mau dang ky này được phát theo từng lớp sinh hoạt Mẫu đăng ký này là một bảng gồm nhiều dong và nhiều cột Cột đầu tiên là tên sinh viên của lớp, các cột tiếp theo tương ứng với các học phần có mở lớp trong học kỳ hiện hành Sinh viên sẽ ghi mã lớp học phần (thực chất là mã nhóm) tại ô có học phần tương ứng cần đăng ký
Bước 4: Sinh viên đăng ký và nộp lại cho phòng đào tạo Sinh viên sẽ điền vào các ô tương ứng mã nhóm lớp học mà mình cần đăng ký rồi nộp cho phòng đào tạo
Bước 5: Kiểm tra điều kiện ràng buộc Như ta đã biết, các học phần có quan hệ với nhau Bước này kiểm tra học phần cần đăng ký liệu có cần phải học trước một số học phần khác hay không, nêu có thì sinh viên đó đã học hoặc đã vượt qua các học phần ràng buộc hay không Nếu có sự xung đột nghĩa là sinh viên vẫn chưa học hoặc không thể vượt qua học phần ràng buộc thì phòng quy trình sẽ chuyên sang bước 6 Ngược lại, quy trình sẽ chuyền sang bước 7 Bước 6: Thông báo lỗi cho sinh viên Vì kế hoạch đào tạo của trường rất chặt chẽ nên, thông thường có rất ít sinh viên không đáp ứng yêu cầu về các ràng buộc học phần Do đó, phòng đào tạo sẽ phát hành thông báo cho những sinh viên vẫn chưa đăng ký được và dán ở từng khoa Sinh viên đọc được thông báo này sẽ liên hệ với phòng đào tạo đề chỉnh sửa cho phù hợp Nghĩa là sinh viên sẽ thực hiện lại bước 4
Bước 7: Kiểm tra xung đột thời khóa biểu Bước này kiểm tra liệu thời khóa biểu của sinh
viên có bị xung đột hay không Nghĩa là kiểm tra xem có hiện tượng trong cùng một thời
điểm, sinh viên có học 2 lớp học phần khác nhau hay không Nếu có xung đột thì tiến trình sẽ
chuyển sang bước 6 Ngược lại tiến trình sẽ chuyên sang bước 8
Bước 8: Kiểm tra số lượng từng lớp học phần Khi đăng ký, sinh viên không hề biết được
có bao nhiêu người cùng đăng ký như mình vào một lớp học phần do đó sẽ có hiện tượng số sinh viên đăng ký vào lớp học phần vượt quá số lượng cho phép của lớp học phần đó Nếu số lượng sinh viên đăng ký vượt quá số lượng cho phép thì tiễn trình chuyên sang bước 9 Ngược lại, tiến trình sẽ chuyên sang bước 10
Bước 9: Kiểm tra số lượng sinh viên vượt quá mức Nếu số lượng không đáng kể thì phòng đào tạo sẽ phát hành thông báo và tiên trình sẽ quay lại bước 6
Trang 33Bước 10: Tự điều chỉnh số lượng Trong trường hợp số lượng đăng ký vượt trội, phòng đào tạo sẽ điêu chỉnh sô lượng cho phù hợp Việc điêu chỉnh này là rât khó khăn
Bước I1: Xác nhận đăng ký thành công Khi tat cả các bước trên đều hoàn tat, phòng đào tạo sẽ phát hành cho sinh viên danh sách các lớp mà sinh viên đã đăng ký đê sinh viên thực hiện việc nộp học phí
1.10.3
LII
Litt
1.11.3
Cac biéu mau lién quan
Chương trình đào tạo khóa 2006 - 2011
Số tay sinh viên
Mẫu đăng ký học phần
Thời khóa biểu
Biên lai thu học phí
Đánh giá hiện trạng
Ưu điểm
Chương trình đào tạo được thực hiện rất khoa học
Kế hoạch đào tạo được biên soạn chặt chẽ
Nhược điểm
Quy trình đăng ký học tín chỉ quá rườm rà
Việc kiểm tra ràng buột và kiểm tra xung đột thời khóa biểu của sinh viên diễn ra khó khăn Bản thân sinh viên sau khi đăng ký cũng chưa thê biệt được mình có được học lớp học phân đó hay không
Khi số lượng sinh viên đăng ký vào một lớp học phần vượt quá giới hạn thì có sự tự điêu chỉnh của phòng đào tạo Sự điêu chỉnh này vần còn chưa hợp lý vì với việc đăng
ký băng tay thì không thê biệt được sinh viên nào đăng ký trước và sinh viên nào đăng
ký sau đê sắp xêp ưu tiên
Những đề xuất cải tiến
Để tiết kiệm thời gian và công sức của phòng đào tạo, việc sinh viên đăng ký học lớp học phân nên được thực hiện qua mạng
Quá trình kiểm tra ràng buộc các học phần, kiểm tra xung đột thời khóa biểu cũng như kiêm tra sô lượng sinh viên đã đăng ký phải được thực hiện với một tốc độ thật cao đê khi một sinh viên đăng ký, sinh viên đó có thê biêt ngay lập tức là mình đã đăng ký được hay không
Trang 34
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
II Phân tích chức năng của hệ thống
HH.I Các tác nhân (actor)
Hệ thống quản lý tín chỉ hiện tại được tương tác bởi 3 tác nhân
—_ Admin: Nhân viên quản trị Nhân viên quản trị là người trực tiếp vận hành và điều khiên hệ thông quản lý đào tạo tín chỉ, người thực hiện cung cấp thông tin cho hệ thông đê các tác nhân khác sử dụng
— Sinh viên: Sinh viên đang học tại trường Sinh viên là tác nhân sử dụng hệ thống Các chức năng chính của hệ thông được xây dựng đê hướng tới tác nhân này
—_ Giáo viên: Giáo viên đang giảng dạy tại trường Giáo viên cũng là tác nhân sử dụng hệ thống
II.2 Usecase cua admin
Upload dann sic) pbad danh sách
lớp sinh hoạt Hoc Phin}
_——”
a, hinh sửa va woes) Vooad stm )
(Chinh sửa khung ÁN PO /
ơngtrnh / Danh sách lớp hoc’
Trang 35a Usecase Admin Đăng nhập: Usecase này cho phép người dùng sử dụng tên và mật khâu của mình để đăng nhập vào hệ thống với quyền admin trước khi thực hiện các chức năng quản lý
— Dòng sự kiện chính: Usecase này bắt đầu khi người dùng muốn đăng nhập vào hệ thống
1
2
3
4
Người dùng chọn chức năng đăng nhập hoặc bắt đầu vào trang web của admin
Hệ thống hiển thị form đăng nhập
Người dùng nhập tên và mật khẩu
Hệ thống sẽ kiểm tra tên, mật khâu tương ứng đề lấy ra quyền truy cập tương ứng
và cho phép người dùng đăng nhập vào hệ thống với quyền admin nếu kiểm tra thành công
— Dòng sự kiện khác: Tên hoặc mật khẩu không hợp lệ Trong dòng sự kiện chính, nếu người dùng nhập sai tên hoặc mật khẩu thì hệ thống sẽ hiển thị một thông báo lỗi Hệ thống sẽ hiển thị form đăng nhập và người dùng sẽ bắt đầu lại dòng sự kiện chính Người dùng có thể thoát khỏi hệ thống bằng cách tắt chương trình browser
—_ Các yêu cầu đặc biệt: không có
—_ Điều kiện tiên quyết: Người dùng phải ở trạng thái chưa đăng nhập mới có thê thực hiện được chức năng này
—_ Điều kiện chuyên tiếp: Nếu usecase thành công, người dùng sẽ đăng nhập vào hệ thông với quyên admin Ngược lại, trạng thái của hệ thông sẽ không thay đôi
— Biéu đồ hoạt động (Activity Diagram)
Trang 36Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
— Biéu dé trinh tu (Sequence Diagram)
7: Kiểm tra quyền truy cập
8: Trả kết lỗi néu Userld và Password không hợp lệ
Hình 10 — Sequence diagram của usecase admin đăng nhập
b Usecase admin upload diém: Usecase này mô tả cách admin upload danh sách điểm của sinh viên dưới dạng file excel
— Dong sự kiện chính: Usecase này bắt đầu khi admin thực hiện updoad điểm của sinh viên
5 Admin chọn chức năng upload điểm
6 Hệ thống đưa Ta form để admin nhập đường dẫn file excel hoặc thực hiện chức năng browse đê tìm file
7 Admin click vao nut upload
8 Hé théng ở phía client sẽ thực hiện việc upload file excel đó đến server
9 Hệ thống ở phía server thực hiện việc đọc file excel và trả về phía client danh sách sinh viên và điêm của sinh viên
Trang 37
— Admin sé click vao nút Update Database
— Hệ thống sẽ thực hiện việc cập nhật danh sách này vào cơ sở dữ liệu
—_ Dòng sự kiện khác:
— Upload gặp lỗi kết nói: Nếu trong quá trình upload, kết nối bị ngắt thì hệ thống trả về thông báo lỗi ở phía client Hệ thống ở phía client sẽ đưa ra form để admin thực hiện việc upload lại, admin sẽ thực hiện lại dòng sự kiện chính
—_ Lỗi đọc file excel: Trong quá đọc file excel để cập nhật vào cơ sở dữ liệu, nếu việc đọc có sự cô về kiêm tra lỗi ràng buộc, sự cô về kiêu dữ liệu, hệ thông sẽ trả về thông bao loi 6 phia client Hé thong ở phía client sẽ đưa ra form đê admin thực hiện việc upload lại, admin sẽ thực hiện lại dòng sự kiện chính
—_ Các yêu cầu đặc biệt: không có
— Diéu kiện tiên quyết: Người dùng phải đăng nhập vào hệ thống với quyền admin
— Điều kiện chuyền tiếp: Nếu usecase thành công, hệ thống sẽ gửi về phía người dùng thông báo update thành công Ngược lại, trạng thái của hệ thông không thay đôi
— Biéu dé hoat déng (Activity Diagram)
Trang 38Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
Trang 39II3 secase của giáo viên
Xem thời khóa biểu
⁄X/Xem danh sách lớp học phần
>
— Dòng sự kiện chính:
1 Giáo viên chọn chức năng xem thời khóa biểu
2 Hệ thống ở phía server truy van cơ sở dữ liệu đề lấy ra thời khóa biêu tương ứng của giáo viên rôi trả vê client
3 Hệ thống ở phía client sẽ hiển thị kết quả lên browser
— Dòng sự kiện khác: không có
— Các yêu cầu đặc biệt: không có
— Diéu kiện tiên quyết: Giáo viên phải đăng nhập mới có thể sử dụng chức năng nay
— Diéu kiện chuyền tiếp: Nếu usecase thành công, hệ thống sẽ hiển thị thời khóa biểu ở dang bảng ở phía client Nêu không, trạng thái hệ thông không đôi
Biểu đồ hoạt động (Activity Diagram)
Trang 40
Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng
Hinh 14 — Activity Diagram cua usecase giao viên xem thời khóa biéu
— Biéu đồ trình tự (Sequence Diagram)
Giáo viên Main Page
ProcessXemThoiKhoaBiet DB ThoiKhoaBieuGiaoVier
1 _ Click xem thời khóa biếu ?
2
'Yêu cầu lấy thời khóa biết
& Tra về thời khóa biết