Hệ thống quản lý đồ án tốt nghiệp tại trường đại học Souphanouvong Lào Hệ thống quản lý đồ án tốt nghiệp tại trường đại học Souphanouvong Lào Hệ thống quản lý đồ án tốt nghiệp tại trường đại học Souphanouvong Lào luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
SEUANGKINKEO Lixoon
HÊ ̣ THỐNG QUẢN LÝ ĐỒ ÁN TỐT NGHIỆP TẠI TRƯỜNG ĐẠI
HỌC SOUPHANOUVOUNG, LÀO
LUẬN VĂN THẠC SỸ KỸ THUẬT
Hà Nội – 2017
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
SEUANGKINKEO Lixoon
HÊ ̣ THỐNG QUẢN LÝ ĐỒ ÁN TỐT NGHIỆP TẠI TRƯỜNG ĐẠI
HỌC SOUPHANOUVOUNG, LÀO
CHUYÊN NGÀNH: CÔNG NGHÊ ̣ THÔNG TIN
LUẬN VĂN THẠC SỸ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN THI ̣ THU TRANG
Hà Nội – 2017
Trang 3MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG 5
DANH MỤC VIẾT TẮT 6
PHẦN MỞ ĐẦU 8
1 Tính cấp thiết của đề tài 8
2 Mục tiêu của đề tài 8
3 Nội dung nghiên cứu 9
Abstract master's thesis 10
1 Motivation of the Project: 10
2 The importance of the subject: 10
3 The purpose of the thesis research, Subjects, Research scope: 10
4 The size of the subject: 10
5 Result: 10
6 The ability of the system: 10
7 The main content of the subject, the issues to be resolved: 11
PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 12
1.1 Đặt vấn đề 12
1.2 Định hướng giải quyết 12
PHẦN 2: CÁC NỀN TẢNG CÔNG NGHỆ 13
2.1 Cơ sở kiến thức về Web 13
2.1.1 Định nghiã Web 13
2.1.2 Ứng dụng của Web 13
2.1.3 Ưu điểm củ a Web 14
2.1.4 Nhựơc điểm của Web 14
2.1.5 Vai trò quan trọng của Web 15
2.1.6 Sự khác biệt giữa Web và Phần mềm khác trên windows 16
2.2 Mô hình Client – Server 16
2.2.1 Mô hình Web client/server: 17
2.3 Ngôn ngữ lập trình PHP 18
2.3.1 Giới thiệu về PHP 18
2.3.2 Cách làm việc của PHP 21
Trang 42.3.3 Ưu điểm của PHP 21
2.3.4 Các tuỳ chọn của PHP 22
2.4 Hệ quản trị cơ sở dữ liệu MySQL 23
2.4.1 Định nghĩa cơ sở dữ liệu 24
2.4.2 My SQL là gì ? 24
2.5 Phần mềm appserv-win32-2.5.10(Apache Php Mysql) 28
2.5.1 Giới thiệu về Appserv 28
2.5.2.Appserv có bảo mâ ̣t dữ liê ̣u rất an toàn 29
PHẦN3: PHÂN TÍCH VÀ PHÁT TRIỂN HỆ THỐNG 31
3.1 Mục tiêu của hệ thống 31
3.2 Yêu cầu hệ thống 32
3.3 Thiết kế chức năng hệ thống 33
3.3.1 Người dùng trong hệ thống 33
3.3.2 Biểu đồ Use case 34
3.3.3 Các bảng Cơ sở dữ liệu trong hệ thống 44
PHẦN 4: GIẢI PHÁP VÀ THỬ NGHIỆM HỆ THỐNG 48
4.1 Giải pháp về công nghệ 48
4.1.1 Đồng bộ dữ liệu hiển thị với dữ liệu trên cơ sở dữ liệu 49
4.1.2 Lưu trữ hình ảnh trên dịch vụ lưu trữ ảnh Appserv 49
4.1.3.Phân quyền người dùng 50
4.2 Thử nghiê ̣p hê ̣ thống 53
4.2.1 Trang vào website 53
4.2.2 Trang chủ của hê ̣ thống 54
4.2.3.Để biết về trường đa ̣i ho ̣c SouPhaNouVong 54
4.2.4 Trang Login để vào đến các trang thêm, sưả, xoa, đổi dữ liê ̣u của nhân viên 55 4.2.4.1 Dữ liê ̣u sinh viên 55
4.2.4.2 Dữ liê ̣u ngành ho ̣c 57
4.2.4.3 Dữ liê ̣u giáo trình 58
4.2.4.4 Dữ liê ̣u thầy cô 59
4.2.5 Trang Login củ a sinh viên 60
4.2.6 Các báo cáo 61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TIẾP THEO 68
TÀI LIỆU THAM KHẢO 69
Trang 5DANH MỤC HÌNH ẢNH
Hình 2.1: Mô hình Client server 17
Hình 2.2: Cách làm việc của PHP 21
Hình 2.3: trang chủ của Appserv 2.5.10 29
Hình 2.4: Bảo mâ ̣t của Appserv 2.5.10 29
Hình 2.5: Tìm kiếm dữ liê ̣u của Appserv 2.5.10 30
Hình 3.1: Biểu đồ Use case tổng quan 34
Hình 3.2: Biều đồ hoạt động chức năng Assigned teacher 40
Hình 3.3: Biều đồ hoạt động chức năng lịch bảo vê ̣ 41
Hình 3.4: Biểu đồ hoạt động chức năng nộp file đồ án 42
Hình 3.5: Biểu đồ hoạt động chức năng Submit Project 43
Hình 4.2: Thực hiện tải lại tự động nội dung theo thời gian 49
Hình 4.3: Bảng cơ sở dữ liệu người dùng 50
Hình 4.4: Chức năng vào hê ̣ thống của sinh viên 50
Hình 4.5: Chức năng vào hê ̣ thống của thầy cô hướng dẫn 51
Hình 4.6: Chức năng vào hê ̣ thống của nhân viên 52
Hình 4.7: Trang vào hê ̣ thống 53
Hình 4.8 : Trang Index của hê ̣ thống 54
Hình 4.9: Về trường đa ̣i ho ̣c SouPhaNouVong 54
Hình 4.10: Trang login của nhân viên 55
Hình 4.11: Trang dữ liê ̣u sinh viên 55
Hình 4.12: Trang thêm dữ liê ̣u hồ sơ sinh viên 56
Hình 4.13: Trang chỉnh sửa dữ liê ̣u hồ sơ sinh viên 56
Hình 4.14: Trang xoá dữ liê ̣u hồ sơ sinh viên 57
Hình 4.15: Trang dữ liê ̣u ngành ho ̣c 57
Hình 4.16: Trang thêm ngành ho ̣c 57
Hình 4.17: Trang sủa đổi dữ liê ̣u ngành ho ̣c 58
Hình 4.18: Trang dữ liê ̣u giáo trình 58
Hình 4.19: Trang thêm dữ liê ̣u giáo trình 58
Hình 4.20: Trang sửa đổi dữ liê ̣u giáo trình 59
Hình 4.21: Trang dữ liê ̣u thầy cô 59
Hình 4.22: Trang thêm dữ liê ̣u thầy cô 59
Hình 4.23: Tranh sửa đổi dữ liê ̣u thầy cô 60
Hình 4.24: Trang riêng của sinh viên 60
Trang 6Hình 4.25: Danh sách sinh viên đã đăng kí bảo vê ̣ 61
Hình 4.26: Danh sách sinh viên chủan bi ̣ bảo vê ̣ 61
Hình 4.27: Danh sách sinh viên đã bảo vê ̣ 61
Hình 4.28: Danh sách sinh viên đã bảo vê ̣ 62
Hình 4.29: Danh sách sinh viên bảo vê ̣ theo giáo trình 62
Hình 4.30: Danh sách sinh viên bảo vê ̣ theo khoa 62
Hình 4.31: Li ̣ch bảo vê ̣ 63
Hình 4.32: Tổng số file đồ án 63
Hình 4.33: Trang upload file đồ án của sinh viên 64
Hình 4.34: Trang danh sách đề tài của sinh viên 64
Hình 4.35: Trang download file đồ án 65
Hình 4.36: Trang tìm kiếm đề tài 65
Hình 4.37: Trang download đề tài 66
Hình 4.38: Trang tìm kiếm file đồ án 66
Hình 4.39: Trang change password của sinh viên 67
Trang 7DANH MỤC BẢNG
Bảng 2.1: Dữ liệu kiểu chấm động 26
Bảng 2.2: Loại dữ liệu Dat and Time 27
Bảng 2.2 : Phân tích hướng đối tượng 28
Bảng 3.1: Danh sách ngườ i dùng trong hệ thống 34
Bảng 3.2: Danh sách Usecase chi tiết của hệ thống 35
Bảng 3.3: Mô tả usecase Login 35
Bảng 3.4: Mô tả Usecase Logout 35
Bảng 3.5: Mô tả Usecase đổi mã 36
Bảng 3.6: Mô tả Usecase báo cáo 36
Bảng 3.7: Mô tả Usecase cập nhâ ̣n dữ liê ̣u 36
Bảng 3.8: Mô tả Usecase download dữ liê ̣u 36
Bảng 3.9: Mô tả Usecase dữ liê ̣u giáo trình……….……… 36
Bảng 3.10: Mô tả Usecase dữ liê ̣u ngành 37
Bảng 3.11: Mô tả Usecase dữ liê ̣u li ̣ch bảo vê ̣ 37
Bảng 3.13: Mô tả Usecase dữ liê ̣u file đồ án, upload file đồ án 38
Bảng 3.14: Mô tả Usecase dữ liê ̣u đề tài,Upload đề tài 38
Bảng 3.15: Mô tả Usecase dữ liê ̣u teacher 39
Bảng 3.16: Mô tả Usecase Dữ liê ̣u student 39
Bảng 3.17: Mô tả Usecase Create Deadline 39
Bảng 3.18:Dữ liê ̣u sinh viên 45
Bảng 3.19: Dữ liê ̣u thầy cô hướng dẫn 46
Bảng 3.20: Dữ liê ̣u ngành 46
Bảng 3.21: Dữ liê ̣u giáo trình 46
Bảng 3.22: Dữ liê ̣u đăng kí đăng kí bảo vê ̣ 46
Bảng 3.23: Dữ liê ̣u đề tài đồ án 47
Bảng 3.24: Dữ liê ̣u nô ̣p file đồ án 47
Trang 8DANH MỤC VIẾT TẮT
HTTP Hyper Text Transfer Protocol
LL101 Lao Language – Literature
CPE218 Introduction to Computer
CPE211 English for Computer I
EEE226 Fundamental Electricity Engineering
Trang 9CPE231 Fundamental Computer Programing
EEE222 Fundamental Electricity Design
CPE333 Computer Programing 2 (Java)
TKHP Tổng kết ho ̣c phần
CRUD Create, Read, Update, Delete
Trang 10PHẦN MỞ ĐẦU
Đề tài : “Hệ thống quản lý Đồ án tốt nghiệp ta ̣i Trường Đa ̣i ho ̣c
SOUPHANOUVOUNG, LÀO”
Tác giả luận văn: SEUANGKINKEO Lixoon Khóa: 2015B
1 Tính cấp thiết của đề tài
Hiện nay, với sự phát triển mạnh mẽ của Công nghệ thông tin nói chung, và lĩnh vực Internet nói riêng, việc số hoá lưu trữ là một hướng đi tất yếu, và đem lại rất nhiều lợi ích to lớn Tuy nhiên ở Lào, còn rất nhiều lĩnh vực chưa được chú trọng phát triển theo xu thế thời đại này, trong đó có giáo dục ở bậc Đại học, cụ thể là việc quản
lý các kết quả, công trình nghiên cứu của rất nhiều các thế hệ sinh viên
Hàng năm trên cả nước, có hàng chục ngàn cử nhân/kỹ sư, hàng ngàn thạc sỹ và hàng trăm tiến sỹ tốt nghiệp, trong đó tính riêng đa ̣i ho ̣c SOUPANOUVONG đã có hàng ngàn kỹ sư, hàng trăm thạc sỹ, hàng chục tiến sỹ Có thể nói rất nhiều tinh hoa, kiến thức đã được đúc kết và trình bày trong các luận văn tốt nghiệp, tuy nhiên việc quản lý và sử dụng các nguồn kiến thức quý báu đó đã không được tận dụng một cách hiệu quả Một trong những phương pháp truyền thống vẫn sử dụng, đó là lưu trữ bản cứng (quyển, đĩa CD, …) ở các thư viện Điều đó đem lại rất nhiều những điểm bất lợi như sau:
- Công sức bỏ ra để thu thập, bảo quản các bản cứng đó là rất nhiều, do phụ thuộc rất nhiều vào con người, cơ sở vật chất, thời gian, … Và theo thời gian, rất nhiều những tài liệu đã bị hỏng hóc, không thể sử dụng được nữa
- Rất khó để có thể tổ chức lưu trữ, quản lý tốt nhất là vấn đề đồng bộ hoá giữa các đơn vị khác nhau (như giữa các khoa trong 1 trường hay giữa các trường với nhau)
- Việc tìm kiếm, tra cứu rất khó khăn, và hoàn toàn phụ thuộc vào vị trí địa lý, dẫn đến những kiến thức hữu ích rất khó đến được với một cộng đồng lớn người dùng
Vì tất cả những lí do trên, chúng tôi nhận thấy việc xây dựng một hệ thống quản
lý, lưu trữ và hỗ trợ tìm kiếm hiệu quả các đồ án là một việc hoàn toàn cần thiết
và thiết thực
2 Mục tiêu của đề tài
Mục tiêu của đề tài là xây dựng hệ thống quản lý đồ án tốt nghiê ̣p tại trường đại học SOUPANOUVONG, LAOS trên nền tảng Web
Hệ thống cần đạt được các mục tiêu sau:
Trang 11- Hệ thống hỗ trợ đăng kí và cập nhật, lưu trữ thông tin danh sách sinh viên bảo
vê ̣, danh sách sinh viên chuẩn bi ̣ bảo vê ̣, danh sách sinh viên đã bảo vê ̣, danh sách đề tài đồ án, file đồ án, thầy cô hướng dẫn, ngành ho ̣c, giáo trình, trong Trường đa ̣i ho ̣c SOUPHANOUVONG
- Cung cấp thông tin chính xác và kịp thời
- Hỗ trợ việc chứ ng nhâ ̣n đăng kí bảo vê ̣, đăng kí đề tài, upload file đồ án,tham khảo đồ án, tìm kiếm đồ án cho sinh viên
- Hỗ trợ tìm kiếm dữ liê ̣u và thống kê báo cáo
Để đáp ứng được các mục tiêu trên hệ thống cần đáp ứng được các yêu cầu sau:
- Có thể lưu trữ và cập nhật được dữ liê ̣u đồ án tốt nghiê ̣p: dữ liê ̣u đề tài đồ án, dữ liê ̣u upload file đồ án, dữ liê ̣u thầy cô hướng dẫn, dữ liê ̣u sinh viên làm đồ án, dữ liê ̣u giáo trình, dữ liê ̣u ngành
- Có thể đăng kí và hiện thị dữ liê ̣u đồ án tốt nghiê ̣p dữ liê ̣u đề tài đồ án, dữ liê ̣u upload file đồ án, dữ liê ̣u thầy cô hướng dẫn, dữ liê ̣u sinh viên làm đồ án, dữ liê ̣u giáo trình, dữ liê ̣u ngành
- Có thể tổng hợp báo cáo đề tài đồ án, sinh viên chuẩn bi ̣ bảo vê ̣, sinh viên đã bảo vê ̣ xong, danh sách tên đề tài đồ án, tổng số file đồ án, file đồ án theo năm
ho ̣c, file đồ án theo ngành ho ̣c
- Có thể tìm kiếm danh sách sinh viên đăng kí bảo vê ̣, đề tài đồ án, file đồ án
- Có thể tìm kiếm được thông tin sinh viên làm đồ án, thầy cô hướng dẫn
3 Nội dung nghiên cứu
Nô ̣i dung chung của để tài đồ án này
- Tìm hiểu nghiệp vụ quản lý đồ án tốt nghiệp ở trường đại học SOUPHANOUVONG
- Tìm hiểu các công nghệ xây dựng hệ thống
- Phân tích thiết kế hệ thống
- Giải pháp, thử nghiê ̣m hệ thống
Vì thế nội dụng luận văn gồm các phần sau:
Phần1: Đặt vấn đề và định hướng giải pháp
Phần2: Các nền tảng công nghệ
Phần3: Phân tích thiết kế hệ thống
Phần 4: Giải pháp và thử nghiê ̣m hê ̣ thống
Kết luâ ̣n và hướng phát triển
Trang 12Abstract master's thesis Project title: “Thesis Management System at SOUPANOUVONG
University, LAOS”
Author: SEUNGKINKEO Lixoon Course: 2015B
1 Motivation of the Project:
In the recent years, information technology background of Laos has also developed in all fields in the real life as well as in the field of social management One
of the fields in which computers are widely used is the information management system in general However, nowsaday due to the scalability and the complexity of the work increasing, we should have a information management system that is not just a simple programming simple but must be developped a systematic way
2 The importance of the subject:
The old system of universities of SOUPANOUVONG University is stored by writing on paper or books which is expensive in cost, and has many problems, slowly and easy to lose data So we can use Information Management System for more effective data storage and look-up
3 The purpose of the thesis research, Subjects, Research scope:
The purpose of this thesis is to build a system to manage projects of students at SOUPHANOUVONG University Currently the management of the projects is done manually, hence it is quite difficult to lookup or query The computerization to support students and the school is essential
4 The size of the subject:
This topic describes the management of thesis system, the data storage, Students can access the web to see their upload/download data and seacrh for the thesis in the online system
5 Result:
- Know of design methods, the work of the management system in SOUPHANOUVONG University
- Have basic knowledge on Database with Appserv in Windows 7
- Know the working procedures, planning and functioning of the system
6 The ability of the system:
This system satisfies most of the requirements for a thesis management system such as:
Trang 13- Store data, edit profile data, thesis, books of thesis, students, branch, curriculum, teachers
- Increase, loosened data of students whose registed thesis
- Search thesis based on some given keywords
- Save, edit, update, delete, and print data
7 The main content of the subject, the issues to be resolved:
General content of this thesis is the theory and practice related to the development of an information management system for students and teachers of SOUPHANOUVONG University
Trang 14PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
1.1 Đặt vấn đề
Hiện nay, lĩnh vực công nghệ thông tin trên toàn thế giới nói riêng cũng như trên nước Lào nói chung đã và đang phát triển ngày càng mạnh mẽ Nó đi sâu vào mọi lĩnh vực của đời sống, từ các ngành công nghiệp lớn đến các lĩnh vực văn hóa, giáo dục, giải trí Nó trở thành một phần không thể thiếu trong cuộc sống của con người, giúp con người nâng cao tri thức và đời sống, giảm thiểu tối đa sức lao động đồng thời giúp cho công việc đạt được hiệu quả hơn Đặc biệt, sự bùng nổ của thiết bị di động càng làm con người và công nghệ thông tin trở lên gắn kết với nhau hơn
Với quy trình nghiệp vụ truyền thống trong việc quản lý đồ án tốt nghiệp của trường Đại học SOUPANOUVONG, bao gồm các bước cơ bản sau:
Xác nhận danh sách sinh viên đăng kí làm đồ án tốt nghiệp do Phòng đào tạo gửi
Từ danh sách trên, phân công giáo viên hướng cho mỗi sinh viên đăng kí với
đề tài cụ thể
Trong quá trình làm đồ án, cập nhật lại danh sách sinh viên đủ điều kiện làm
đồ án
Phân công hội đồng bảo vệ với quy tắc giảng viên hướng dẫn thì không được
là thành viên của hội đồng bảo vệ
Phân công giáo viên phản biện cho từng đề tài
Sinh viên nộp quyển đồ án và mã nguồn kèm theo được ghi ra một đĩa nộp cho bộ môn quản lý
Với cách quản lý truyền thống trên, mọi công việc đều được làm bằng tay, hoặc thao tác trên một file excel có sẵn Do đó, giảng viên sẽ rất tốn thời gian vào việc quản
lý xuyên suốt trong cả học kì Sinh viên nộp đồ án bằng một đĩa CD gặp nhiều vấn đề trong việc lưu trữ, theo thời gian đĩa có thể bị hỏng, kém chất lượng
Yêu cầu đặt ra cần xây dựng một hệ thống quản lý đồ án của sinh viên theo từng khóa
1.2 Định hướng giải quyết
Với bài toán trên, qua tìm hiểu, phân tích, em đưa ra một vài vấn đề và định hướng giải quyết chúng như sau: Hệ thống được áp dụng cho trường Đại học SOUPANOUVONG, đối tượng sử dụng là cán bộ Quản lý, các thầy cô trong viện và sinh viên làm đồ án Do vậy, cần xây dựng một hệ thống client – server trong đó, mỗi cấp quản lý của viện và các thầy cô, sinh viên là một client và tất cả dữ liệu về dữ liệu, tài nguyên liên quan và thông tin tài khoản của mỗi người sẽ được lưu trữ và xử lý trên server Về công nghệ, sau khi tìm hiểu em lựa chọn công nghệ PHP và MySQL để xây dựng hệ thống, với những ưu nhược điểm em phân tích ở phần chương tiếp theo
Trang 15PHẦN 2: CÁC NỀN TẢNG CÔNG NGHÊ ̣
2.1 Cơ sơ ̉ kiến thức về Web
2.1.1 Đi ̣nh nghiã Web
Là một tập hợp các trang web con, bao gồm văn bản, hình ảnh, video, flash v.v WEBSITE chỉ nằm trong một tên miền hoặc tên miền phụ lưu trữ trên các máy chủ chạy online trên đường truyền World Wide của Internet Website được phát minh và đưa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim Berners-Lee và Robert Cailliau (Bỉ) tại CERN, Geneva, Switzerland
Một trang web là tập tin HTML hoặc XHTML có thể truy nhập dùng giao thức HTTP hoặc HTTPS WEBSITE có thể được xây dựng từ các tệp tin HTML (trang mạng tĩnh) hoặc vận hành bằng các CMS chạy trên máy chủ (trang mạng động) WEBSITE có thể được xây dựng bằng nhiều ngôn ngữ lập trình khác nhau (PHP,.NET, Java, Ruby on Rails )
Hiện nay, để một website có thể vận hành trên môi trường Word Wide, cần bắt buộc có 3 phần chính:
Tên miền (là tên riêng và duy nhất của website)
Hosting (là các máy chủ chứa các tệp tin nguồn)
Source code (là các tệp tin html, xhtml, hoặc một bộ code/cms)
Website được tương tác và hiển thị đến với người dùng thông qua các phần mềm gọi là "Trình duyệt web" với các văn bản, hình ảnh, đoạn phim, nhạc, trò chơi và các thông tin khác ở trên một trang web của một địa chỉ web trên mạng toàn cầu hoặc
mạng nội bộ Website được tạo nên bởi các nhà thiết kế web (website developer).Ngày
nay, thuật ngữ website được sử dụng rất phổ thông, người người, nhà nhà đều có thể truy cập một website ở bất kì đâu có kết nối internet hoặc có kết nối sóng di động Với các doanh nghiệp, cá nhân thường xuyên tương tác với cộng đồng online thì website là công cụ tốt nhất và duy nhất giúp họ quảng bá hình ảnh, sản phẩm, thông tin, của mình Và từ đó các dịch vụ thiết kế web chuyên nghiệp ra đời nhằm đáp ứng điều đó [4],[5],[8]
2.1.2 Ứng du ̣ng của Web
Là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet
Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó Ứng dụng
Trang 16web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến Hệ quản trị nội dung, Phần mềm quản lý nguồn nhân lực và nhiều chức năng khác
Web rất quan tro ̣ng vì chỉ nhấn vào Browser là cha ̣y vào Internet ngay không cần đă ̣t phần mềm, web có thể chia sẻ mô ̣t trang với nhiều người có thể Download Upload dữ liê ̣u của mình qua trang web
Có thể sử du ̣ng nhiều người trong mô ̣t thời gian cùng mô ̣t trang Web của server
Có thể mua bán cho ̣n các sản phẩm hàng hoá trên ma ̣ng và tiê ̣n nghi
Có thể chia sẻ sản phẩm hàng hoá của mình rô ̣ng rãi
Tìm dễ và nhanh chóng la ̣i còn tiết kiểm thời gian
Trong hê ̣ thống quản lý đồ án tốt nghiê ̣p thì Web là trang quản lý dữ liê ̣u thông qua mạng đến server có thể thêm, xoá,sửa, upload, download dữ liê ̣u như: dữ liê ̣u danh sách sinh viên bảo vê ̣, danh sách sinh viên chuẩn bi ̣ bảo vê ̣, danh sách sinh viên đã bảo vê ̣, danh sách đề tài đồ án, file đồ án, thầy cô hướng dẫn, ngành ho ̣c, giáo trình
2.1.3 Ưu điểm cu ̉ a Web
Chi phí nhận được đơn đặt hàng trên Web sẽ rẻ hơn so với hầu hết cách nhận đơn đặt hàng khác, kể cả đặt tại cửa hàng, qua điện thoại, hay đến tận nhà
Chi phí xử lý và quản lý thấp hơn
Các đơn đặt hàng qua website thường ít sai sót hơn so với các đơn đặt hàng qua điện thoại
Các khách hàng có thể dễ dàng so sánh các cửa hàng và có thể mua hàng vào bất kỳ thời gian nào, dù là ban ngày hay ban đêm
Các khách hàng đôi khi cảm thấy thoải mái hơn trong việc đưa ra quyết định mua hàng khi không có mặt của người bán hàng
Đối với việc kinh doanh giữa các doanh nghiệp với doanh nghiệp thì việc có một trang Web để nhận đơn đặt hàng ngụ ý rằng doanh nghiệp đó có sử dụng các công nghệ hiện đại
Đối với viê ̣c quản lý đồ án tốt nghiê ̣p các sinh viên làm đồ án đăng kí cho ̣n đề tài, nô ̣p file đề tài bằng file, nhân viên và thầy cô hướng dẫn có thể xem biết ngay ai là sinh viên mà mình hướng dẫn, sinh viên khác trong trường đa ̣i ho ̣c có mã sẽ tham khảo đo ̣c và download được
2.1.4 Như ̣ơc điểm của Web
Mặc dù có nhiều lý do hấp dẫn để kinh doanh trên Web như vậy, nhưng các doanh nghiệp vẫn rất dè dặt Một số vấn đề khiến các doanh nghiệp lo ngại gồm:
Trang 17 Sự bảo mật trên internet không được bảo đảm, các khách hàng không thể xác nhận được họ đang mua hàng của ai và các thông tin tài chính có thể bị tiết
Phải có ma ̣ng, trả tiền chi phí ma ̣ng và có các bô ̣c công cu ̣ sử du ̣ng Internet
Không có sự nhất quán trong các luật thuế, các vấn đề pháp lý và các hiệp ước Quốc Tế
Với viê ̣c đồ án tốt nghiê ̣p phải có ma ̣ng có mã mà phòng đa ̣o ta ̣o cho và khi sẽ nô ̣p quyển phải đồng ý xem xét từ phản biê ̣n và phòng đa ̣o ta ̣o, khi đăng kí cho ̣n thầy cô thì phải go ̣i cho thầy cô hướng dẫn có đồng ý không nếu đồng ý phải có quyết đinh
Hầu hết những điểm bất lợi trong việc đồ án tốt nghiê ̣p trên Web bắt nguồn từ nguyên nhân lĩnh vực thương mại điện tử còn khá mới mẻ Cũng như đối với các công nghệ mới khác, nó cần thời gian để không chỉ phát triển công nghệ mà còn phát triển kinh nghiệm, chuyên môn, và văn hoá để sử dụng nó
2.1.5 Vai trò quan trọng của Web
Hiện nay, Web rất quan trọng bởi vì các Web được sử dụng có các nhiệm vụ như:
Tăng năng suất cho các tổ chức với chi phí thấp hơn, hoạt động sản xuất và dịch vụ được hoàn thành một cách nhanh chóng
Nâng cao chất lượng hàng hóa và dịch vụ
Tạo một vai trò quan trọng trong việc cạnh tranh với các đối thủ
Tái cấu trúc tổ chức làm cho tổ chức có khả năng cải tiê ̣n được theo kế hoa ̣ch
Giúp đô ̣ng thái các công việc của người quản lý có hiệu quả hơn
Trang 182.1.6 Sự khác biệt giữa Web và Phần mềm kha ́ c trên windows
Web: Web sử du ̣ng các lâ ̣p trình của các ngôn ngữ để liên hê ̣ cơ sở dữ liê ̣u trong Server qua Internet để tải lên và tải xuống thông tin có các máy tính là
Clients Server
Phần mềm trên máy tính: Các phần mềm làm viê ̣c trên máy tính có nhiê ̣m
vu ̣ trên Window thì sẽ đă ̣t các phần mềm trước và không thể Link trên ma ̣ng
được
2.2 Mô hi ̀nh Client – Server
Là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là
mô hình của mọi trang web hiện có Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu (request) để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách
Client/Server là mô hình tổng quát nhất, trên thực tế thì một server có thể được
nối tới nhiều server khác nhằm làm việc hiệu quả và nhanh hơn Khi nhận được 1 yêu cầu từ client, server này có thể gửi tiếp yêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nó không thể xử lý yêu cầu này được Máy server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp Ví dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy client yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do server định ra, nếu yêu cầu được chấp nhận thì máy server sẽ trả về thông tin mà client yêu cầu Có rất nhiều các dịch vụ server trên mạng nhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ client sau đó xử lý và trả kết quả cho client yêu cầu Thông thường chương trình server và client được thi hành trên hai máy khác nhau Cho dù lúc nào server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu từ client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) giữa client và server lại bắt đầu ở phía client, khi mà client gửi tín hiệu yêu cầu tới server Các chương trình server thường đều thi hành ở mức ứng dụng (tầng ứng dụng của mạng) Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất
cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức TCP/IP Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn gì Với các chuẩn này thì các chương trình server cho một dịch vụ nào đấy có thể thi hành trên một hệ thống chia sẻ thời gian (timesharing system) với nhiều chương trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình thường Có thể có nhiều chương server cùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính Với mô hình trên chúng ta nhận thấy rằng mô hình client/server
Trang 19chỉ mang đặc điểm của phần mềm không liên quan gì đến phần cứng mặc dù trên thực
tế yêu cầu cho một máy server là cao hơn nhiều so với máy client Lý do là bởi vì máy server phải quản lý rất nhiều các yêu cầu từ các clients khác nhau trên mạng Ưu điểm
và nhược điểm chính có thể nói rằng với mô hình client/server thì mọi thứ dường như đều nằm trên bàn của người sử dụng, nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin, ) với nhiều dịch vụ đa dạng mà
mô hình cũ không thể làm được Mô hình client/server cung cấp một nền tảng lý tưởng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS) Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn và bảo mật thông tin trên mạng Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ [5]
Hình 2.1: Mô hình Client server
2.2.1 Mô hình Web client/server:
Thuật ngữ server được dùng cho những chương trình thi hành như một dịch vụ trên toàn mạng Các chương trình server này chấp nhận tất cả các yêu cầu hợp lệ đến
từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về máy yêu cầu Một chương trình được coi là client khi nó gửi các yêu cầu tới máy có chương trình server
và chờ đợi câu trả lời từ server Chương trình server và client nói chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền thông liên tác IPC (Interprocess Communication) Để một chương trình server và một chương trình client
có thể giao tiếp được với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là giao thức Nếu một chương trình client nào đó muốn yêu cầu lấy thông tin từ server thì nó phải tuân theo giao thức mà server đó đưa ra Bản thân chúng ta khi cần xây dựng một mô hình client/server cụ thể thì ta cũng có thể tự tạo ra một giao thức riêng nhưng thường chúng ta chỉ làm được điều này ở tầng ứng dụng của mạng Với sự phát triển mạng như hiện này thì có rất nhiều giao thức chuẩn trên mạng ra đời nhằm đáp ứng nhu cầu phát triển này Các giao thức chuẩn (ở tầng mạng và vận chuyển) được sử dụng rộng rãi nhất hiện nay như: giao thức TCP/IP, giao thức SNA
Trang 20của IBM, OSI, ISDN, X.25 hoặc giao thức LAN-to-LAN NetBIOS Một máy tính chứa chương trình server được coi là một máy chủ hay máy phục vụ (server) và máy chứa chương trình client được coi là máy tớ (client) Mô hình mạng trên đó có các máy chủ và máy tớ giao tiếp với nhau theo 1 hoặc nhiều dịch vụ được gọi là mô hình client/server Thực tế thì mô hình client/server là sự mở rộng tự nhiên và tiện lợi cho việc truyền thông liên tiến trình trên các máy tính cá nhân Mô hình này cho phép xây dựng các chương trình client/server một cách dễ dàng và sử dụng chúng để liên tác với nhau để đạt hiệu quả hơn [8],[5]
2.3 Ngôn ngữ lập trình PHP
2.3.1 Giới thiệu về PHP
PHP được phát triển từ ngôn ngữ kịch bản (script) với mục đích xây dựng trang Web cá nhân (Personal Home Page).Sau đó đã được phát triển thành một ngôn ngữ hoàn chỉnh và được ưa chuộng trên toàn thế giới trong việc phát triển các ứng dụng Web based
PHP là một ngôn ngữ lập trình kịch bản hay, một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới [8]
Trang 21echo "Connected successfully";
timeFn='$timeFn', subjectID='$subjectID', trinhbay='$trinhbay', status='$status', stdID='$stdID' where lhAutoNo='$id'";
Trang 22echo"<center><h4>Con not Update !</h4></center><br><br>";
echo "<center><h5>[<a href=lichbaove.php>back</a>]</h5></center>"; }
Do you want to delete ? if want press Yes else press No</div>[ <a href=?p=1&subjectID=$subjectID>Yes</a> ] [<a
href=data_luanvan.php>No</a> ]</center>"; exit;
} include("dbconf.php");
$cmdSQL="delete from detai where subjectID='$subjectID' ";
Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo
Trang 23bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới
PHP 5.1 Beta 3 được PHP Team công bố đánh dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực hiện các câu truy vấn Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAL, streams và SPL
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử dụng thử đã có thể được download tại địa chỉhttp://snaps.php.net/ Phiên bản PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc truy cập cơ sở dữ liệu, các API cũ sẽ
bị đưa ra thành thư viện PECL
2.3.2 Cách làm việc của PHP
PHP thường hoạt động theo thứ tự sau:
Người dùng gửi yêu cầu lên máy chủ
Máy chủ xử lý yêu cầu (Thông dịch mã PHP và chạy chương trình, mã PHP có thể truy xuất CSDL, tạo hình ảnh, đọc ghi file, tương tác với máy chủ khác )
Máy chủ gửi dữ liệu về cho người dùng (thường là dưới dạng HTML)
Hình 2.2: Cách làm việc của PHP
2.3.3 Ưu điểm của PHP
Khi sử dụng PHP, người dùng sẽ có được tốc độ nhanh hơn nhiều so với các ngôn ngữ kịch bản khác, bởi PHP là phần mềm mã nguồn mở, được hỗ trợ bởi nhiều lập trình viên giỏi, có số lượng người dùng đông đảo Ngoài ra PHP chạy được trên nhiều hệ điều hành khác nhau
Rút ngắn thời gian phát triển
Trang 24PHP cho phép bạn tách phần HTML code và phần script, do đó có thể độc lập giữa công việc phát triển mã và thiết kế Điều này vừa giúp lập trình viên dễ dàng hơn vừa có thể làm cho chương trình mềm dẻo hơn trong việc thay đổi giao diện
PHP là phần mềm mã nguồn mở
PHP không chỉ là phần mềm mã nguồn mở mà còn thực sự miễn phí (kể cả khi bạn sử dụng cho mục đích thương mại) Do là phần mềm mã nguồn mở, các lỗi (bug) của PHP được công khai và nhanh chóng được sửa chữa bởi nhiều chuyên gia
2.3.4 Các tuỳ chọn của PHP
Giao thức HTTP (Hyper tex Transfer Protocol) là công nghệ không lưu giữ trạng thái (các trang Web độc lập với nhau).Điều này có nghĩa là HTTP không có cách nào để theo dõi người dùng hoặc giữ lại các biến khi họ truy xuất site Để giải quyết vấn đề này, người ta dùng ngôn ngữ kịch bản Web như PHP Có một số tuỳ chọn để áp dụng và hai tuỳ chọn phổ biến nhất là cookie và session
Cookie
Trước khi cookie ra đời, việc lướt Web chỉ là một cuộc du lịch không ghi nhận quá trình Mặc dù trình duyệt có ghi lại những trang Web đã truy cập, cho phép sử dụng phím Back để quay trở lại trang đã truy cập trước đó nhưng máy chủ không lưu giữ thông tin về người truy cập Nếu máy chủ mà không có khả năng theo dõi truy cập,
ta không thể có được giỏ hàng trên mạng hoặc tuỳ biến các Website theo ý mình được
Cookie là 1 đoạn dữ liệu được truyền đến browser từ server, đoạn dữ liệu này sẽ được browser lưu trữ (trong memory hoặc trên đĩa) và sẽ gửi ngược lên lại server mỗi khi browser tải 1 trang web từ server
Những thông tin được lưu trữ trong cookie hoàn toàn phụ thuộc vào website trên server Mỗi website có thể lưu trữ những thông tin khác nhau trong cookie, ví dụ thời điểm lần cuối ghé thăm website, đánh dấu đã login hay chưa …
Cookie được tạo ra bởi website và gởi tới browser, do vậy 2 website khác nhau (cho dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gởi tới browser Ngoài ra, mỗi browser quản lý và lưu trữ cookie theo cách riêng của mình, cho nên 2 browser cùng truy cập vào 1 website sẽ nhận được 2 cookie khác nhau [5],[8]
Trang 25Session
Một trong những bổ xung cho PHP kể từ phiên bản 4 nó đã hỗ trợ session.Session là khoảng thời gian người sử dụng giao tiếp với 1 ứng dụng.Session bắt đầu khi người sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng thoát khỏi ứng dụng Mỗi session sẽ có một định danh (ID), 1 session khác nhau
sẽ có 2 ID khác nhau Trong ngữ cảnh ứng dụng web, website sẽ quyết định khi nào session bắt đầu và kết thúc Trong 1 session, website có thể lưu trữ một số thông tin như đánh dấu đã login hay chưa, những bài viết nào đã đọc qua, v.v [5],[6]
2.4 Hệ quản trị cơ sở dữ liệu MySQL
Khái niệm
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, được tích hợp sử dụng chung với apache, PHP MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều cơ sở
dữ liệu khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến cơ sở dữ liệu Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó Nếu không, chúng ta sẽ không làm được gì cả [1],[5],[8]
Ưu điểm của MySQL
Tốc độ: MySQL rất nhanh Những nhà phát triển cho rằng MySQL là cơ sở dữ liệu nhanh nhất mà bạn có thể có
Dễ sử dụng: MySQL tuy có tính năng cao nhưng thực sự là một hệ thống cơ sở
dữ liệu rất đơn giản và ít phức tạp khi cài đặt và quản trị hơn các hệ thống lớn
Giá thành: MySQL là miễn phí cho hầu hết các việc sử dụng trong một tổ chức
Hỗ trợ ngôn ngữ truy vấn: MySQL hiểu SQL, là ngôn ngữ của sự chọn lựa cho tất cả các hệ thống cơ sở dữ liệu hiện đại Chúng ta cũng có thể truy cập MySQL bằng cách sử dụng các ứng dụng mà hỗ trợ ODC (Open Database Connectivity - một giao thức giao tiếp cơ sở dữ liệu được phát triển bởi Microsoft)
Năng lực: Nhiều máy khách có thể truy cập đến máy chủ trong cùng một thời gian Các máy khách có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Chúng ta
có thể truy cập MySQL tương tác với sử dụng một vài giao diện để có thể đưa vào các truy vấn và xem các kết quả: các dòng yêu cầu của khách hàng, các trình duyệt Web…
Kết nối và bảo mật: MySQL được nối mạng một cách đầy đủ, các cơ sở dữ liệu
có thể được truy cập từ bất kỳ nơi nào trên Internet do đó có thể chia sẻ dữ liệu của
Trang 26mình với bất kỳ ai, bất kỳ nơi nào Nhưng MySQL kiểm soát quyền truy cập cho nên người mà không nên nhìn thấy dữ liệu của mình thì không thể nhìn được
Tính linh động: MySQL chạy trên nhiều hệ thống UNIX cũng như không phải UNIX chẳng hạn như Windows MySQL chạy được các với mọi phần cứng từ các máy PC ở nhà cho đến các máy chủ
Sự phân phối rộng: MySQL rất dễ dàng đạt được, chỉ cần sử dụng trình duyệt web Nếu không hiểu làm thế nào mà nó làm việc hay tò mò về thuật toán, chúng ta có thể lấy mã nguồn và tìm tòi nó Nếu không thích một vài cái, chúng ta có thể thay đổi
nó
Sự hỗ trợ: chúng ta có thể tìm thấy các tài nguyên có sẵn mà MySQL hỗ trợ Cộng đồng MySQL rất có trách nhiệm Họ trả lời các câu hỏi trên mailing list thường chỉ trong vài phút Khi lỗi được phát hiện, các nhà phát triển sẽ đưa ra cách khắc phục trong vài ngày, thậm chí có khi trong vài giờ và cách khắc phục đó sẽ ngay lập tức có sẵn trên Internet [1], [2], [5]
Tại sao ta sử dụng hệ cơ sở dữ liệu MySQL?
Nhanh và mạnh: MySQL không có đầy đủ những cơ sở vật chất cho một hệ Quản trị CSDL chính tông, nhưng đối với công việc thường nhật của phần đông mọi người thì nó cung cấp cũng khá nhiều thứ Nếu công việc của bạn là lưu trữ dữ liệu trên web hoặc làm một trang Thương mại điện tử thì MySQL có đủ những thứ bạn cần Đối với những CSDL cỡ trung bình thì MySQL hỗ trợ tuyệt vời về tốc độ
Cải tiến liên tục: MySQL được cải thiện liên tục với một tần số không ngờ Các nhà phát triển nó cập nhật thường xuyên, ngoài ra còn bổ sung các tính năng hữu ích cho nó
2.4.1 Định nghĩa cơ sở dữ liệu
Cơ sở dữ liệu là một hệ thống các thông tin có cấu trúc được lưu trữ trên các thiết
bị lưu trữ thông tin (như băng từ, đĩa từ…), để có thể thỏa mãn yêu cầu khai thác thông tin đồng thời của nhiều người sử dụng hay nhiều chương trình ứng dụng với những mục đích khác nhau [1]
Trang 27Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ
Unix, FreeBSD, NetBSD, Novell,NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu quan
hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl
Đặc điểm của MySQL
MySQL là một phần mềm quản trị csdl dạng server-based (gần tương đương với SQL Server của Microsoft) MySQL quản lý dữ liệu thông qua các CSDL, mỗi CSDL có thể có nhiều bảng quan hệ chứa dữ liệu MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một tên truy cập (user name) và mật khẩu tương ứng để truy xuất đến CSDL
Trong đồ án tốt nghiê ̣p đã dùng hê ̣ quản tri ̣ SQL để an toàn và thên chức năng tìm kiếm dữ liê ̣u trong hê ̣ thống:
Trang 28(lichbaove.departmentID = departments.departmentID) LIKE '%" $_POST['search']."%'
order by lhAutoNo+1 LIMIT $previousRows, $rowsPerPage ");
Khi ta truy vấn tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu của tài khoản có quyền sử dụng CSDL đó.Nếu không chúng ta sẽ không làm được gì
cả giống như quyền chứng thực người dung trong SQL Server vậy [1],[5]
Các kiểu dữ liệu trong MySQL
Loại dữ liệu numeric gồm kiểu số nguyên và kiểu chấm động
a Kiểu dữ liệu số nguyên
Bảng 2.1: Dữ liệu kiểu chấm động
Trang 29b Loại dữ liệu date and time: kiểu dữ liệu date and time cho phép nhập liệu dưới dạng chuỗi ngày/ tháng/ năm hay dạng số
Bảng 2.2: Loa ̣i dữ liệu Dat and Time
Đối với kiểu dữ liệu timestamp, có thể trình bày theo nhiều cách:
c Loại dữ liệu string:
- Kiểu dữ liệu string chia làm 3 loại, loại thứ nhất như char (chiều dài cố định)
và varchar (chiều dài biến thiên).Char cho phép nhập liệu dưới dạng chuỗi với chiều dài lớn nhất bằng chiều dài định nghĩa, nhưng khi truy cập dữ liệu trên Field có khai báo dạng này, cần xử lý khoảng trắng.Điều này có nghĩa là nếu khai báo chiều dài là 10, nhưng chỉ nhập chuỗi 4 kí tự, MySQL lưu trữ chuỗi trong bộ nhớ với chiều dài là 10
- Ngược lại với kiểu dữ liệu char là varchar, chiều dài lớn nhất người dùng có thể nhập vào bằng chiều dài đã định nghĩa cho Field này, bộ nhớ chỉ lưu chiều dài đúng với chiều dài của chuỗi đã nhập
- Như vậy, có nghĩa là nếu khai báo kiểu varchar 10 kí tự, nhưng chỉ nhập 5 kí
tự, MySQL chỉ lưu trữ chiều dài 5 kí tự, ngoài ra khi bạn truy cập đến Field có kiểu dữ liệu này, không cần giải quyết khoảng trắng
Trang 30- Loại thứ hai là text hay Blob, text cho phép lưu trữ rất lớn, blob cho phép lưu đối tượng nhị phân.Loại thứ 3 là Enum và set có thể tham khảo 3 loại trên theo bảng dưới đây:
Bảng 2.3 : Phân tích hướng đối tượng
2.5 Phần mềm appserv-win32-2.5.10(Apache Php Mysql)
2.5.1 Giới thiệu về Appserv
AppServ là một gói đầy đủ tính năng của Apache, MySQL, PHP, phpMyAdmin Được lấy ý tưởng của Phanupong Panyadee (người sáng lập trang AppServ – tại Thái Lan) sau khi thấy việc phức tạp của việc quản trị từng phần mềm làm cho mọi người chóng mặt Việc cài đặt AppServ rất đơn giản chỉ mất thời gian khoảng 1 phút Trong một gói Appserv bao gồm:
hệ điều hành Windows là không đủ tốt cho tải nặng server Windows web hoặc cơ sở
dữ liệu hệ điều hành kiến trúc sử dụng bộ nhớ nhiều hơn là hệ điều hành Linux/Unix
Trang 31Tuy nhiên để làm việc bình thường không cần tốc độ quá cao bạn có thể cài nó trên Windows
Appserv có nhiều phiên bản, bản mới nhất là 2.6.0 Tuy nhiên không nhất thiết bạn phải update mỗi khi có một phiên bản mới mà nên tìm phiên bản nào phù hợp với
Hình 2.3: trang chủ của Appserv 2.5.10
2.5.2 Appserv co ́ bảo mâ ̣t dữ liê ̣u rất an toàn
Hình 2.4: Bảo mâ ̣t của Appserv 2.5.10
Trang 32- Tìm kiếm dữ liê ̣u trên Appserv rất dễ
Hình 2.5: Tìm kiếm dữ liê ̣u của Appserv 2.5.10
Trang 33PHẦN3: PHÂN TÍCH VÀ PHÁT TRIỂN HỆ THỐNG
3.1 Mục tiêu của hệ thống
Với bài toán trên, qua tìm hiểu, phân tích, em đưa ra một vài vấn đề và định hướng giải quyết chúng như sau :
Hệ thống được áp dụng cho trường Đại học SOUPANOUVONG, đối tượng
sử dụng là cán bộ Quản lý, các thầy cô trong viê ̣n và sinh viên làm đồ án Do vậy, cần xây dựng một hệ thống client – server trong đó, mỗi cấp quản lý của viê ̣n và các thầy cô, sinh viên là một client và tất cả dữ liệu về dữ liệu, tài nguyên liên quan và thông tin tài khoản của mỗi người sẽ được lưu trữ và xử lý trên server
Hệ thống được áp dụng cho cả trường và sẽ được triển khai trên một Server riêng của trường Do đó người dùng chỉ cần sử dụng một thiết bị có khả năng kết nối Internet là có thể truy cập vào hệ thống
Hệ thống có phân ra làm các loại đối tượng sử dụng rõ rệt là quản lý đồ án tốt nghiê ̣p
Hệ thống có thể chia ra gồm ba chức năng lớn đó là:
o Quản lý thông tin đồ án tốt nghiệp: thông tin chi tiết, giảng viên hướng dẫn, hội đồng bảo vệ, giảng viên phản biện, các báo cáo và tài nguyên
o Quản lý thông tin sinh viên làm đồ án
o Nộp đồ án của sinh viên
Nộp đồ án của sinh viên
o Sinh viên nộp đồ án trong một khoảng thời gian cho phép, do viện theo quy đi ̣nhvới từng hệ đào tạo Cập nhật thông tin cho đồ án tốt nghiệp: tên đề tài, mô tả, file báo cáo
Yêu cầu hệ thống cần phải hoạt động ổn đinh, đảm bảo hoạt động tốt khi có nhiều người truy cập Đặc biệt trong giai đoạn nộp đồ án của sinh viên thường tập trung vào một giai đoạn ngắn và cụ thể
Hệ thống hoạt động tốt trên Internet
Hệ thống phải phân quyền được các loại người dung: quản lý, giảng viên, sinh viên
Đăng nhập để truy cập vào hệ thống, thay đổi mật khẩu để đảm bảo an toàn cho tài khoản người dùng
Quản lý thông tin đồ án tốt nghiệp: bao gồm tất cả các chức năng con có liên quan đến thông tin và tài nguyên của một đồ án tốt nghiêp:
o Cập nhật danh sách sinh viên đăng kí làm đồ án cho từng kì bằng một file excel đầu vào do phòng Đào tạo gửi Danh sách có thể thay đổi trong học kì
đó
o Phân công giáo viên hướng dẫn cho từng sinh viên làm đồ án tốt nghiệp
Trang 34o Tạo hội đồng bảo vệ và phân hội đồng bảo vệ cho từng đề tài cụ thể
o Phân công giảng viên phản biện cho đề tài
o Định một khoảng thời gian cho sinh viên nộp đồ án
o Đối với một giảng viên bình thường có thể vào xem thông tin liên quan của các đồ án tốt nghiệp mà mình hướng dẫn
o Giảng viên xem được thông tin phân phản biện đồ án tốt nghiệp
Quản lý thông tin sinh viên làm đồ án: với file excel đầu vào hệ thống cần phải tự động tạo tài khoản cho sinh viên đó Mặc định là tên tài khoản và mật khẩu đều là mã số sinh viên Khi đó sinh viên có thể đăng nhập và có thể chỉnh sửa và bổ sung thêm thông tin có nhân của mình, có ích khi cần liên lạc
Nộp đồ án của sinh viên
o Sinh viên nộp đồ án trong một khoảng thời gian cho phép, do viện quy đinh với từng hệ đào tạo Cập nhật thông tin cho đồ án tốt nghiệp: tên đề tài,
mô tả, keyword, file báo cáo, mã nguồn
o Sinh viên có thể chỉnh sửa trong thời gian cho phép: với việc chỉnh sửa có thay đổi file đính kèm cần xóa các file cũ có liên quan để tránh lãng phí tài nguyên lưu trữ
Kiểm soát kích thước file đính kèm
Tạo deadline nộp đồ án cho tùng hệ đào tạo trong từng kì Đảm cho hệ thống hoạt động ổn định, tránh việc tải file không kiểm soát được
Yêu cầu hệ thống cần phải hoạt động ổn đinh, đảm bảo hoạt động tốt khi có nhiều người truy cập Đặc biệt trong giai đoạn nộp đồ án của sinh viên thường tập trung vào một giai đoạn ngắn và cụ thể
Hệ thống đảm bảo tính chính xác cao
Hệ thống có giao diện người dùng thân thiện, phù hợp, dễ sử dụng
Hệ thống dễ dàng cài đặt, đảm bảo giảm tối đa chi phí vận hành
3.2 Yêu cầu hệ thống
Yêu cầu chức năng:
Người dùng có thể đăng nhập vào hệ thống để sử dụng các chức năng của hệ thống
Người dùng có thể thay đổi mật khẩu để đảm bảo an toàn cho tài khoản
Đối với sinh viên: có thể bổ sung thêm thông tin cá nhân sau khi được cấp tài khoản
Người dùng có thể đăng xuất ra khỏi hệ thống
Quản lý đồ án: dành cho phía bộ môn và giảng viên
o Hệ thống phải có chức năng import file excel danh sách sinh viên đăng kí làm đồ án vào hệ thống: cập nhật thông tin đồ án và tự động cấp tài khoản cho sinh viên đăng kí dựa vào file đầu vào Lưu ý, sau này có file đầu vào mới, hệ
Trang 35thống sẽ phải cập nhật danh sách theo file mới nhất(xóa tài khoản sinh viên không đủ điều kiện làm đồ án)
o Hệ thống có chức năng phân công giáo viên hướng dẫn ở cấp quản lý bộ môn
o Hệ thống có chức năng tạo hội đồng bảo vệ, từ đó có danh sách thành viên, danh sách các giảng viên có sinh viên trong hội đồng Với cách này, mặc định sinh viên sẽ nằm trong hội đồng được tạo, phục vụ cho việc phân công giảng viên phản biện
o Hệ thống có chức năng phân công giáo viên phản biện dựa vào danh sách hội đồng bảo vệ đã tạo
o Hệ thống có chức năng tạo và chỉnh sửa hạn nộp đồ án cho từng hệ đào tạo, chức năng giành cho quản lý viện
o Đối với giảng viên bình thường trong bộ môn: sẽ xem và theo dõi được các thông tin như: đồ án hướng dẫn, đồ án phản biện, thông tin hội đồng theo từng kì học
Quản lý đồ án: về phía sinh viên
o Chức năng nộp đồ án: sinh viên chỉ có thể nộp và chỉnh sửa trong hạn nộp
mà viện đã xác định cho tùng hệ đào tạo
o Tim kiếm các đồ án tham khảo
Yêu cầu phi chức năng
Hệ thống lưu trữ và xử lý thông tin về đồ án, deadline nộp đồ án, thông tin
sinh viên làm đồ án, thông tin các hội đồng bảo vệ
Đảm bảo hoạt động tốt vào các thời điểm quan trọng trong kì đồ án như: giai
đoạn nộp đồ án của sinh viên
Yêu cầu về môi trường
Đảm bảo chạy tốt trên các trình duyệt Web
Server sử dụng MySQL
Ngôn ngữ lập trình sử dụng là PHP, JavaScript, HTML, CSS, …
Yêu cầu về giao diện
Thân thiện với người dùng, phù hợp với một hệ thống thiên về quản lý thông tin
Các chức năng được trình bày hợp lý, dễ dàng thao tác
Giao diện trình bày có thẩm mỹ
Phù hợp với nhiều kích thước màn hình máy tính bảng, máy tính, điện thoại phổ biến [1],[2],[3],[4]