1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG

85 1,2K 2
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 1,4 MB

Nội dung

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 hầu hết đến tất cả các lĩnh vực trong cuộc sống của chúng ta.

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 736 949, Fax (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG

Mã số : 02T4-15 02T4-21 Ngày bảo vệ : 13/06/2007 – 15/06/2007

SINH VIÊN : Lê Văn Minh

Nguyễn Minh Quang

ĐÀ NẴNG, 05/2007

Trang 2

Chúng tôi cũng xin chân thành cảm ơn anh Nguyễn Thanh Nam, chuyên viên phòng Đào tạo và Công tác Sinh viên, trường Đại học Bách khoa Đà Nẵng đã giúp đỡ, hỗ trợ số liệu và tư vấn về nghiệp vụ quản lý sinh viên cho chúng tôi trong thời gian làm đề tài

Cuối cùng, xin chân thành cảm ơn bạn bè gần xa, bạn bè trong khoa Công nghệ Thông tin đã giúp đỡ, chia sẻ kiến thức cũng như kinh nghiệm

và tài liệu cho chúng tôi trong quá trình nghiên cứu thực hiện đề tài này Một lần nữa, xin chân thành cảm ơn!

Đà Nẵng, ngày 25 tháng 05 năm 2006

Sinh viên thực hiện

Lê Văn Minh Nguyễn Minh Quang

Trang 3

LỜI CAM ĐOAN Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thạc sĩ Huỳnh Hữu Hưng

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm

Sinh viên,

Lê Văn Minh Nguyễn Minh Quang

Trang 4

TỔNG QUAN ĐỀ TÀI .1

I Bối cảnh đề tài 1

II Mục đích 2

III Hướng nghiên cứu 2

CƠ SỞ LÝ THUYẾT 4

I Lập trình Java trong môi trường Web 4

I.1 Một số khái niệm liên quan đến Web 4

I.2 Kết nối cơ sở dữ liệu 9

II Mô hình phát triển ứng dụng Web 11

II.1 Kiến trúc mô hình 1 11

II.2 Kiến trúc mô hình 2 (Model – View – Controller) 12

III Ngôn ngữ mô hình hóa thống nhất (UML) 12

III.1 Giới thiệu UML 12

III.2 UML và các giai đoạn của chu trình phát triển phần mềm 15

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 17

I Phân tích hiện trạng 17

II Phân tích chức năng của hệ thống 29

II.1 Các tác nhân (actor) 29

II.2 Usecase của admin 29

II.3 Usecase của giáo viên 34

II.4 Usecase của sinh viên 36

III Thiết kế 39

III.1 Sơ đồ lớp (class diagram) 39

III.2 Sơ đồ thành phần (component diagram) 43

III.3 Sơ đồ triển khai (deployment diagram) 44

XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ ĐẠT ĐƯỢC 45

I Xây dựng chương trình 45

I.1 Xây dựng dữ liệu 45

I.2 Xây dựng giao diện 56

I.3 Xây dựng gói theo mô hình MVC 58

I.4 Các giải pháp 61

II Kết quả đạt được 69

KẾT LUẬN 75

I Đánh giá kết quả 75

I.1 Về mặt lý thuyết 75

I.2 Về mặt chương trình 75

II Hướng phát triển 76

II.1 Về mặt lý thuyết 76

Trang 5

DANH MỤC HÌNH VẼ

Hình 1 – Cách thức servlet làm việc 6

Hình 2 – JDBC kết nối trực tiếp với trình điều khiển 10

Hình 3 – JDBC sử dụng cầu nối ODBC 10

Hình 4 – JDBC kết nối thông qua các ứng dụng mạng trung gian 11

Hình 5 – Mô hình 1 11

Hình 6 – Mô hình 2 (MVC) 12

Hình 7 – Quy trình sinh viên đăng ký lớp học phần 26

Hình 8 – Admin Usecase 29

Hình 9 – Activity diagram của usecase admin đăng nhập 30

Hình 10 – Sequence diagram của usecase admin đăng nhập 31

Hình 11 – Activity Diagram của usecase admin upload điểm 32

Hình 12 – Sequence Diagram của usecase admin upload điểm 33

Hình 13 – Usecase của giáo viên 34

Hình 14 – Activity Diagram của usecase giáo viên xem thời khóa biểu 35

Hình 15 – Sequence Diagram của usecase giáo viên xem thời khóa biểu 35

Hình 16 – Usecase của sinh viên 36

Hình 17 – Activity Diagram của usecase sinh viên đăng ký lớp học phần 37

Hình 18 – Sequence Diagram của usecase sinh viên đăng ký lớp học phần 38

Hình 19 – Class Diagram: Sinh viên, Lớp sinh hoạt, Ngành, Khóa học 39

Hình 20 – Class Diagram: Học phần, quan hệ học phần 39

Hình 21 – Object Diagram: Học phần, quan hệ học phần 40

Hình 22 – Class Diagram: Lớp học phần, học kỳ 40

Hình 23 – Class Diagram: Khung chương trình 41

Hình 24 – Object Diagram: Khung chương trình 41

Hình 25 – Class Diagram: Sinh Viên Đăng ký 42

Hình 26 – Class Diagram: Sinh viên và điểm 42

Hình 27 – Class Diagram: Sinh viên và thời khóa biểu 43

Hình 28 – Biểu đồ thành phần của hệ thống 43

Hình 29 – Sơ đồ triển khai của ứng dụng 44

Hình 30 – Điểm của sinh viên 45

Hình 31 – Khung chương trình 46

Hình 32 – Sinh viên đăng ký 46

Hình 33 – Sinh viên, lớp sinh hoạt 47

Hình 34 – Thời khóa biểu sinh viên 47

Hình 35 – Lớp học phần theo kỳ 48

Hình 36 – Bố cục trang Web 56

Hình 37 – Header 56

Hình 38 – Footer 56

Hình 39 – Right Pane, Giáo viên Left Menu, Sinh viên Left Menu 57

Hình 40 – Giáo viên Top Menu 57

Hình 41 – Admin Top Menu 57

Hình 42 – Sinh Viên Top Menu 57

Hình 43 – Admin Left Menu 57

Trang 6

Hình 44 – Nội dung gói AdminInterface 58

Hình 45 – Nội dung gói SinhVienInteface 58

Hình 46 – Nội dung gói GiaoVienInterface 59

Hình 47 – Nội dung gói BusinessObject 59

Hình 48 – Nội dung gói Bean 60

Hình 49 – Nội dung gói DataAcessObject 60

Hình 50 – Nội dung gói Default 60

Hình 51 – Đồ thị mô tả học phần và các quan hệ 61

Hình 52 – Kiểm tra xung đột thời khóa biểu bằng AND bit (không xung đột) 65

Hình 53 – Kiểm tra xung đột thời khóa biểu bằng AND bit (có xung đột) 65

Hình 54 – Cập nhật quỹ thời gian của sinh viên sau khi đăng ký 65

Hình 55 – Cập nhật quỹ thời gian của sinh viên sau khi hủy bỏ lớp học phần 66

Hình 56 – Quy trình ánh xạ dữ liệu 67

Hình 57 – Trang thiết kế khung chương trình của Admin 69

Hình 58 – Trang thiết kế thời khóa biểu của lớp học phần 69

Hình 59 – Trang web chọn file upload của Admin 70

Hình 60 – Trang Web hiện thị danh sách sau khi upload thành công 70

Hình 61 – Trang xem thời khóa biểu của giáo viên 71

Hình 62 – Trang xem lớp học phần của giáo viên 71

Hình 63 – Trang xem cây quan hệ học phần của sinh viên 72

Hình 64 – Trang xem điểm của sinh viên 72

Hình 65 – Trang xem khung chương trình của sinh viên 73

Hình 66 – Trang xem lớp học phần 73

Hình 67 – Trang liệt kê danh sách lớp học phần hiện có 74

Hình 68 – Trang xem thời khóa biểu của sinh viên 74

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 1 – Một số thẻ (tag) thường sử dụng trong ngôn ngữ HTML 4

Bảng 2 – Các lệnh của giao thức HTTP 5

Bảng 3 – Các tùy chọn của chỉ thị page 8

Bảng 4 – Các hành động trong JSP 9

Bảng 5 – Chi tiết từng loại khóa học 19

Bảng 6 – Điểm rèn luyện quy đổi 20

Bảng 7 – Mã của một số trường thuộc ĐH Đà Nẵng 21

Bảng 8 – Mã của các khoa 22

Bảng 9 – Mã của các ngành thuộc đại học Bách Khoa Đà Nẵng 23

Bảng 10 – Bảng tblChiTietDiemCuaSinhVien 48

Bảng 11 – Bảng tblChiTietKhungChuongTrinh 48

Bảng 12 – Bảng tblChiTietHocPhan 49

Bảng 13 – Bảng tblDiemCuaSinhVien 49

Bảng 14 – Bảng tblDonVi 49

Bảng 15 – Bảng tblGiaoVien 50

Bảng 16 – Bảng tblHocKy 51

Bảng 17 – Bảng tblHocKyHienHanh 51

Bảng 18 – Bảng tblHocPhan 51

Bảng 19 – Bảng tblKhoa 51

Bảng 20 – Bảng tblKhoaHoc 52

Bảng 21 – Bảng tblKhungChuongTrinh 52

Bảng 22 – Bảng tblLoaiDiem 52

Bảng 23 – Bảng tblLopHocPhan 52

Bảng 24 – Bảng tblLopHocPhan 53

Bảng 25 – Bảng tblNganh 53

Bảng 26 – Bảng tblNhomLopHocPhan 53

Bảng 27 – Bảng tblPhongHoc 53

Bảng 28 – Bảng tblQuanHe 53

Bảng 29 – Bảng tblQuanHeHocPhan 54

Bảng 30 – Bảng tblSinhVienDangKy 54

Bảng 31 – Bảng tblThoiKhoaBieu 54

Bảng 32 – Bảng tblThoiKhoaBieuSinhVien 54

Bảng 33 – Bảng tblSinhVien 55

Bảng 34 – Biểu diễn quan hệ theo danh sách đỉnh kề 62

Bảng 35 – Bảng quan hệ học phần 63

Bảng 36 – Nội dung một class đọc file excel 68

Trang 8

DANH MỤC TỪ VIẾT TẮT

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 9

TỔNG QUAN ĐỀ 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 trọng; quản lý tốt thì chất lượng đào 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ễ 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ễ dàng 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 10

II Mục đích

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 đề tài này 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

III Hướng nghiên cứu

Đưa ra các định hướng phát triển của đề tài

III.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

Đà Nẵng phát hành, các tài liệu liên quan đến lập trình Java (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

III.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 mình 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 11

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ễ 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 quản trị dễ dàng xây 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 12

CƠ SỞ LÝ THUYẾT

I.1 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 hầu 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

I.1.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

Tên thẻ Chức năng

<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

<b>, <i> Thẻ định dạng in đậm và in nghiêng của một chuỗi văn bản trong tài liệu

<h1>, <h2>, <h3> Thẻ định dạng in cỡ chữ cho tiêu đề

<body> </body> Thẻ định dạng phần thân của tài liệu HTML

<table> </table> Thẻ định dạng một bảng trong tài liệu HTML

<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 13

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

I.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 duyệt thông qua các thành phần đ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 để nội dung được hiển thị chính xác hơn

I.1.3 Địa chỉ định vị tài nguyên Url (Uniform Resource Locator)

Url (Uniform Resource Locator) là địa chỉ định vị tài 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

I.1.4 Giao thức HTTP (Hypertext Tranfer Protocol)

Giao thức HTTP (Hypertext Tranfer Protocol) là 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:

I.1.5 Một số khái niệm về Servlet và 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 Microsystem Co cung cấp

Trang 14

I.1.6 Web Server

Web Server là một máy tính có cài phần mềm Web server, nó nhận các yêu cầu (request) HTTP từ phía client và trả lời phục vụ các yêu cầu đó bằng dữ liệu tương ứng

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 thấy bộ nhớ còn ít

Hình 1 – Cách thức servlet làm việcChu trình sống Servlet:

Trang 15

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

− Nạp 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

− Khởi tạo Servlet: Trình chủ Web Server khởi tạo Servlet bằng cách 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 vẫn 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() của Servlet

I.1.8 Java Server Page (JSP)

Java Server Page còn được biết đến với một cái tên khác là 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 dạng 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 Những

"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 dịch JSP (JSP compiler) Bộ biên dịch JSP có thể tạo servlet thành mã 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 từ 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 (JSP directives) như chỉ thị include: <jsp:include>

Trang 16

− các phần tử kịch bản JSP (scripting elements) và các biến (variables), ví dụ:

− 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) xảy ra trong quá trình xử lý yêu cầu HTTP isErrorPage Nếu định giá trị là true thì nó nói rằng trang này là trang báo lỗi

(error page)

isThreadSafe Chỉ định cho biết servlet tạo ra có tính an toàn về luồng xử lý

(threadsafe) hay không

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 description) phải được xác định

Cá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) – Bản thân 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

Trang 17

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

Các thẻ hành động của JSP:

Hành động Giải thích

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 JSP 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ã

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

trang JSP khác, hoặc cho một servlet khác Quyền khống chế sẽ được hoàn trả lại cho trang JSP hiện tại

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 để bao gồm applet

jsp:fallback Phần nội dung sẽ được hiển thị nếu trình duyệt web không hỗ trợ

applets

jsp:getProperty Lấy thuộc tính của một JavaBean chỉ định

jsp:setProperty Thiết lập thuộc tính của một JavaBean chỉ định

jsp:useBean Kiến tạo hoặc dùng lại một JavaBean, là cái có thể dùng được trong

trang JSP

I.2 Kết nối cơ sở dữ liệu

I.2.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 JDBC 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

Trang 18

Hình 2 – JDBC kết nối trực tiếp với trình điều khiển

I.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 tổng 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 Tất 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 bạn 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 JDBC-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í

CSDL

Java Application, Applet, Servlet

JDBC Driver

Database Driver ODBC

I.2.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 để truy vấn dữ liệu

Trang 19

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 Mô hình phát triển ứng dụng 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 1 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

II.1 Kiến trúc mô hình 1

Hình 5 – Mô hình 1

Cấu trúc Mô hình 1 rất đơn giản, một request tạo bởi JSP hoặc Servlet và sau đó JSP hoặc Servlet kia sẽ xử lý request, kiểm tra tính hợp lệ dữ liệu, xử lý các nguyên tắc tác nghiệp và tạo ra một response Mặc dù đơn giản, nhưng Mô hình 1 không thích hợp để 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 1 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 logic 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 20

trong một giao diện HTML, bạn muốn thêm vào một giao diện mới như Wireless Markup Language (WML) cho truy cập không dây thì việc đó là rất khó

II.2 Kiến trúc mô hình 2 (Model – View – Controller)

Mô hình 2 hay mô hình Model – View – Controller (MVC) đã giải quyết nhiều vấn đề cố hữu của Mô hình 1 Trong mô hình MVC Controller là 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, tầng 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 là Business Logic và 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 được tách 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

III Ngôn ngữ mô hình hóa thống nhất (UML)

III.1 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

Tầm 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

Trang 21

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ố chi tiết nhất định

Mô hình thường được mô tả trong ngôn ngữ trực quan, điều đó có nghĩa là đa phần các thông 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 bất 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

− Có thể hiểu được (understandable): Cho những người xây dựng lẫn sử dụng

− Dễ thay đổi (changeable)

− Dễ dàng 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

III.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 22

− 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 Vì 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

III.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

và 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ử dụng để 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

III.1.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à:

− Mô hình 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 23

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

III.2 UML và các giai đoạn của chu trình phát triển phần mềm

III.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 đồ Use case (Use Case Diagram) để 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

III.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ó tồn 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 chi 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

III.2.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, Các 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ả chi tiết cho giai đoạn xây dựng hệ thống

III.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 24

việ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

III.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 phần (component diagram) và biểu đồ cộng tác (collaboration diagram), và giai đoạn thử nghiệm hệ thống sử dụng biểu đồ Use case (use case diagram) để đảm bảo 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

III.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 25

Ðể 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 1 - 2 tiết chuẩn bị Một tiết học trên lớp được quy định là 45 phút

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

I.2.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 26

− 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 tiên quyết đối với học phần X là học phần bắt buộc sinh viên phải học trước học phần X và thi đạt mới được theo học học phần X

− 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

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 27

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

I.4 Khóa học

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 :

đào tạo

Số tín chỉ tích luỹ tối đa

Thời gian rút ngắn tối đa

Thời gian kéo dài tối đa

I.5.2 Lớp sinh hoạt

Những sinh viên cùng khoá tuyển sinh, đăng ký học cùng chuyên ngành đào tạo trong cùng một khoá đào tạo, được tổ chức thành lớp sinh hoạt Lớp sinh hoạt có mã số riêng, được tổ chức tương đối ổn định từ đầu cho đến cuối khoá học

I.6 Các loại điểm

I.6.1 Điểm bảo lưu, diể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 học phần sẽ được ghi kèm ký hiệu (TĐ)

I.6.2 Các loại điểm khác

− Điểm trung bình chung học tập (ĐTBCHT) được tính theo mỗi học kỳ hoặc năm học ĐTBCHT được tính dựa theo điểm và số tín chỉ của tất cả các học phần mà sinh viên

đã đăng ký học và dự thi trong học kỳ (kể cả các học phần được đăng ký học lại), trừ các học phần được bảo lưu và được miễn

Trang 28

− Đ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 (ĐRLqđ) 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à Đào tạo, mức quy đổi được tính như sau:

Rèn luyện loại yếu -0,5 điểm

Rèn luyện loại kém -1,0 điểm

− Điể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

I.7 Chương trình đào tạo

I.7.1 Nội dung đào tạo

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

I.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 vực: khoa học xã hội và nhân văn, khoa học tự nhiên và 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 nghi 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ữ

Trang 29

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

I.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á

I.8 Quy tắc đánh mã

I.8.1 Mã trường

Mã trường: 1 ký tự, có dạng

Mã Ký hiệu in Tên đơn vị

− DD: Số thứ tự khoa trong trường

Mã Khoa Tên Khoa Ghi chú

nghiệp

Trang 30

3xx Khoa Lý – Đại học Sư Phạm

Ngoại Ngữ

Mã ngành Tên ngành Thuộc khoa

Trang 31

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

10711 Công nghệ hóa dược (Dự kiến) Hóa

(Dự kiến)

Sư phạm Kỹ thuật

kiến)

Xây dựng Cầu đường

Bảng 9 – Mã của các ngành thuộc đại học Bách Khoa Đà Nẵng

I.9.2 Mã học phần

Mã học phần: 7 ký tự, có dạng

Trang 32

− UDD: Mã khoa quản lý học phần

− MMM: Số thứ tự học phần trong khoa

− Z: Đặc thù học phần (0 - HP chung toàn trường; 1 - HP chung toàn trường hệ (Cao đẳng / trung cấp); 2 - HP chung cho một số ngành khác nhau; 3 - HP chuyên ngành )

Ví dụ: Một học phần có mã là 1010070 thì

− 3 ký số "101" đầu tiên: có nghĩa học phần 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 Mác - LêNin)

I.9.3 Mã lớp sinh hoạt

− 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 (1- chính qui, 2- vừa học vừa làm, …)

− C: Cấp đào tạo (1- Đại học, 2- Cao đẳng, 3-Trung cấp)

Ví dụ: Một lớp có mã là 1010420511 thì

− 3 ký số "101" 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

− Ký số "1" 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

Trang 33

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

− KK: Khóa học (2 số cuối của niên khóa)

− H: Mã hình thức đào tạo (1- chính qui, 2- vừa học vừa làm, …)

− C: Cấp đào tạo (1- Đạ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 (tương ứng với H): hệ chính qui

− 1 (tương ứng với C): cấp đào tạo - đại học

− 15 (tương ứng với SS): số thứ tự của sinh viên trong lớp sinh hoạt là 15

Trang 34

I.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

I.10.1 Mô tả quy trình

Hình 7 – Quy trình sinh viên đăng ký lớp học phần

Trang 35

Nghiên cứu xây dựng hệ thống Website quản lý tín chỉ cho Đại học Đà Nẵng

I.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: Phòng đà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à chi 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 để chọn 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 phần Mẫu đăng ký 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 dòng 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 36

Bướ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 11: Xác nhận đăng ký thành công Khi tất cả các bước trên đều hoàn tất, 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í

I.10.3 Các biểu mẫu 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í

I.11 Đánh giá hiện trạng

I.11.1 Ư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ẽ

I.11.2 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

I.11.3 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 37

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

II.1 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 của admin

Đăng nhập Chỉnh sửa giáo viên

Admin Chỉnh sửa đơn vị

Upload Danh sách Sinh Viên

Upload danh sách Học Phần

Upload danh sách giáo viên

Upload điểm

Upload danh sách phòng học

Upload danh sách khoa

Upload danh sách đơn vị

Upload danh sách ngành

Upload danh sách lớp sinh hoạt

Danh sách lớp học phần

Chỉnh sửa sinh vien

Chỉnh sửa lớp học phần

Download các report

Hình 8 – Admin Usecase

Trang 38

a 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 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

2 Hệ thống hiển thị form đăng nhập

3 Người dùng nhập tên và mật khẩu

4 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 39

Nghiê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 đồ trình tự (Sequence Diagram)

Admin LogIn Page LogInController DB User

7: Kiểm tra quyền truy cập

8: Trả kết lỗi nếu UserId và Password không hợp lệ

9: Thiết lập session

10: Trả về trang của admin

Hình 10 – Sequence diagram của usecase admin đăng nhập

b Usecase admin upload điể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

− Dòng 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 ra 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 vào nút 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 40

− Admin sẽ click vào 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 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

− 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 đă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 đồ hoạt động (Activity Diagram)

Ngày đăng: 24/04/2013, 22:01

HÌNH ẢNH LIÊN QUAN

Bảng 2– Các lệnh của giao thức HTTP - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Bảng 2 – Các lệnh của giao thức HTTP (Trang 13)
Hình 1 –  Cách thức servlet làm việc Chu trình sống Servlet: - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 1 – Cách thức servlet làm việc Chu trình sống Servlet: (Trang 14)
Bảng 4– Các hành động trong JSP - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Bảng 4 – Các hành động trong JSP (Trang 17)
Bảng 9– Mã của các ngành thuộc đại học Bách Khoa Đà Nẵng - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Bảng 9 – Mã của các ngành thuộc đại học Bách Khoa Đà Nẵng (Trang 31)
Hình 8– Admin Usecase - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 8 – Admin Usecase (Trang 37)
Hình 8 – Admin Usecase - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 8 – Admin Usecase (Trang 37)
Hình 9 – Activity diagram của usecase admin đăng nhập - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 9 – Activity diagram của usecase admin đăng nhập (Trang 38)
Hình 10 – Sequence diagram của usecase admin đăng nhập - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 10 – Sequence diagram của usecase admin đăng nhập (Trang 39)
Hình 10 – Sequence diagram của usecase admin đăng nhập - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 10 – Sequence diagram của usecase admin đăng nhập (Trang 39)
Hình 12 – Sequence Diagram của usecase admin upload điểm - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 12 – Sequence Diagram của usecase admin upload điểm (Trang 41)
Hình 14 – Activity Diagram của usecase giáo viên xem thời khóa biểu - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 14 – Activity Diagram của usecase giáo viên xem thời khóa biểu (Trang 43)
Hình 15 – Sequence Diagram của usecase giáo viên xem thời khóa biểu - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 15 – Sequence Diagram của usecase giáo viên xem thời khóa biểu (Trang 43)
Hình 16 – Usecase của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 16 – Usecase của sinh viên (Trang 44)
Hình 16 – Usecase của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 16 – Usecase của sinh viên (Trang 44)
Hình 17 – Activity Diagram của usecase sinh viên đăng ký lớp học phần - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 17 – Activity Diagram của usecase sinh viên đăng ký lớp học phần (Trang 45)
Hình 18 – Sequence Diagram của usecase sinh viên đăng ký lớp học phần - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 18 – Sequence Diagram của usecase sinh viên đăng ký lớp học phần (Trang 46)
Hình 20 – Class Diagram: Học phần, quan hệ học phần - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 20 – Class Diagram: Học phần, quan hệ học phần (Trang 47)
Hình 19 – Class Diagram: Sinh viên, Lớp sinh hoạt, Ngành, Khóa học  III.1.2.  Học phần và quan hệ học phần - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 19 – Class Diagram: Sinh viên, Lớp sinh hoạt, Ngành, Khóa học III.1.2. Học phần và quan hệ học phần (Trang 47)
Hình 22 – Class Diagram: Lớp học phần, học kỳ - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 22 – Class Diagram: Lớp học phần, học kỳ (Trang 48)
Hình 22 – Class Diagram: Lớp học phần, học kỳ - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 22 – Class Diagram: Lớp học phần, học kỳ (Trang 48)
Hình 24 – Object Diagram: Khung chương trình - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 24 – Object Diagram: Khung chương trình (Trang 49)
Hình 23 –  Class Diagram: Khung chương trình - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 23 – Class Diagram: Khung chương trình (Trang 49)
Hình 25 – Class Diagram: Sinh viên đăng ký - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 25 – Class Diagram: Sinh viên đăng ký (Trang 50)
Hình 26 – Class Diagram: Sinh viên và điểm - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 26 – Class Diagram: Sinh viên và điểm (Trang 50)
Hình 25 – Class Diagram: Sinh viên đăng ký  III.1.6.  Sinh viên, điểm - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 25 – Class Diagram: Sinh viên đăng ký III.1.6. Sinh viên, điểm (Trang 50)
Hình 27 – Class Diagram: Sinh viên và thời khóa biểu - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 27 – Class Diagram: Sinh viên và thời khóa biểu (Trang 51)
Hình 28 – Biểu đồ thành phần của hệ thống - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 28 – Biểu đồ thành phần của hệ thống (Trang 51)
Hình 27 – Class Diagram: Sinh viên và thời khóa biểu - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 27 – Class Diagram: Sinh viên và thời khóa biểu (Trang 51)
Hình 29 – Sơ đồ triển khai của ứng dụng - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 29 – Sơ đồ triển khai của ứng dụng (Trang 52)
Hình 30 – Điểm của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 30 – Điểm của sinh viên (Trang 53)
Hình 30 – Điểm của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 30 – Điểm của sinh viên (Trang 53)
Hình 31 – Khung chương trình - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 31 – Khung chương trình (Trang 54)
Hình 33 – Sinh viên, lớp sinh hoạt - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 33 – Sinh viên, lớp sinh hoạt (Trang 55)
Hình 35 – Lớp học phần theo kỳ - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 35 – Lớp học phần theo kỳ (Trang 56)
Bảng 13 – Bảng tblDiemCuaSinhVien - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Bảng 13 – Bảng tblDiemCuaSinhVien (Trang 57)
Bảng 12 – Bảng tblChiTietHo cPhan - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Bảng 12 – Bảng tblChiTietHo cPhan (Trang 57)
Bảng 15 – Bảng tblGiaoVien - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Bảng 15 – Bảng tblGiaoVien (Trang 58)
Hình 48 – Nội dung gói Bean - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 48 – Nội dung gói Bean (Trang 68)
Hình 53 – Kiểm tra xung đột thời khóa biểu bằng AND bit (có xung đột) - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 53 – Kiểm tra xung đột thời khóa biểu bằng AND bit (có xung đột) (Trang 73)
Hình 53 – Kiểm tra xung đột thời khóa biểu bằng AND bit (có xung đột) - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 53 – Kiểm tra xung đột thời khóa biểu bằng AND bit (có xung đột) (Trang 73)
Hình 52 – Kiểm tra xung đột thời khóa biểu bằng AND bit (không xung đột) - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 52 – Kiểm tra xung đột thời khóa biểu bằng AND bit (không xung đột) (Trang 73)
Hình 55 – Cập nhật quỹ thời gian của sinh viên sau khi hủy bỏ lớp học phần  f.  Đánh giá giải pháp - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 55 – Cập nhật quỹ thời gian của sinh viên sau khi hủy bỏ lớp học phần f. Đánh giá giải pháp (Trang 74)
Hình 56 – Quy trình ánh xạ dữ liệu  Quy trình ánh xạ dữ liệu như sau: - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 56 – Quy trình ánh xạ dữ liệu Quy trình ánh xạ dữ liệu như sau: (Trang 75)
Hình 58 – Trang thiết kết hời khóa biểu của lớp học phần - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 58 – Trang thiết kết hời khóa biểu của lớp học phần (Trang 77)
Hình 57 –  Trang thiết kế khung chương trình của Admin - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 57 – Trang thiết kế khung chương trình của Admin (Trang 77)
Hình 59 – Trang web chọn file upload của Admin - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 59 – Trang web chọn file upload của Admin (Trang 78)
Hình 60 – Trang Web hiển thị danh sách sau khi upload thành công - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 60 – Trang Web hiển thị danh sách sau khi upload thành công (Trang 78)
Hình 62 – Trang xem lớp học phần của giáo viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 62 – Trang xem lớp học phần của giáo viên (Trang 79)
Hình 61 – Trang xem thời khóa biểu của giáo viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 61 – Trang xem thời khóa biểu của giáo viên (Trang 79)
Hình 63 – Trang xem cây quan hệ học phần của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 63 – Trang xem cây quan hệ học phần của sinh viên (Trang 80)
Hình 64 – Trang xem điểm của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 64 – Trang xem điểm của sinh viên (Trang 80)
Hình 63 – Trang xem cây quan hệ học phần của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 63 – Trang xem cây quan hệ học phần của sinh viên (Trang 80)
Hình 65 – Trang xem khung chương trình của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 65 – Trang xem khung chương trình của sinh viên (Trang 81)
Hình 66 – Trang xem lớp học phần - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 66 – Trang xem lớp học phần (Trang 81)
Hình 65  –  Trang xem khung chương trình của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 65 – Trang xem khung chương trình của sinh viên (Trang 81)
Hình 68 – Trang xem thời khóa biểu của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 68 – Trang xem thời khóa biểu của sinh viên (Trang 82)
Hình 67 – Trang liệt kê danh sách lớp học phần hiện có - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 67 – Trang liệt kê danh sách lớp học phần hiện có (Trang 82)
Hình 68 – Trang xem thời khóa biểu của sinh viên - NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG
Hình 68 – Trang xem thời khóa biểu của sinh viên (Trang 82)

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

TÀI LIỆU LIÊN QUAN

w