[Đồ án ] Xây dựng website quản lý đồ án bằng php & mysql

Đồ án tốt nghiệp về quản lý đồ án được xây dựng bằng html css, js , php mysql. Code chuẩn phân khúc rõ ràng. Đáp ứng yêu cầu của một đồ án tốt nghiệp

Ngoài tính những tính năng trên nếu các bạn có nhu cầu thay đổi hoạc làm thêm các tính năng khác cũng như thuê code, làm thuê đồ án thì có thể liên hệ với mình nhé.

Nội dung mô tả đồ án

Đây là một trong những đề tài cũng khá được quan tâm. Xác suất để đạt được điểm cao sẽ lớn hơn một đồ án tốt nghiệp với đề tài xây dựng website bán hàng nào đó.

Sau đây mình sẽ đi liệt kê và mô tả về đồ án website quản lý đồ án này nhé

Đăng nhập

Quản lý đồ án - Đăng nhập

Hình ảnh thông tin đăng nhập

Trang tổng quan

Quản lý đồ án - Trang tổng quanHình ảnh trang tổng quan 

Ở trang tổng quan này mình sẽ thống kê 

  • Tổng số sinh viên
  • Tổng số lớp
  • Tổng số khoa
  • Tổng số chuyên ngành
  • Tổng số đồ án
  • Tổng số sinh viên đạt
  • Tổng số sinh viên chưa đạt
  • Tổng số giáo viên

Quản lý khoa

Đồ án Quản lý đồ án - Quản lý khoaHình ảnh quản lý khoa 

Thông tin mỗi khoa bao gồm

  • Tên khoa 
  • Mã khoa
  • Ngày thành lập
  • Mô tả
  • ....

Quản lý chuyên ngành

Đồ án quản lý đồ án - Quản lý chuyên ngànhDanh sách chuyên ngành

Thông tin mỗi chuyên ngành bao gồm

  • Tên chuyên ngành
  • Mã chuyên ngành
  • Mô tả
  • Chuyên ngành đó thuộc khoa nào
  • ....

Quản lý hệ đào tạo

Đồ án tốt nghiệp - Quản lý đồ án - hệ đào tạoHình ảnh quản lý hệ đạo tạo 

Quản lý niên khoá

Quản lý niên khoáHình ảnh quản lý niên khoá

Quản lý lớp

Quản lý lớp - Đồ án tốt nghiệpHình ảnh quản lý lớp

Các thông tin của lớp bao gồm

  • Tên lớp
  • Mã Lớp
  • Chuyên ngành
  • Khoa
  • Sĩ số lớp 
  • ...

Quản lý giao viên

Quản lý giao viênHình ảnh quản lý giáo viên

Thông tin giáo viên bao gồm

  • Họ tên
  • Email
  • Số điện thoại
  • Ảnh đại diện
  • Thuộc chuyên ngành / Khoa nào 

Quản lý hội đồng

Quản lý hội đồng - Đồ án tốt nghiệpHình ảnh quản lý hội đồng

Quản lý sinh viên

Quản lý sinh viênHình ảnh quản lý sinh viên 

Thông tin sinh viên bao gồm

  • Họ tên
  • Mã sinh viên
  • Sđt
  • Email
  • Ngày sinh
  • Mật khẩu đăng nhập 
  • Hình ảnh
  • Lớp
  • Khoa
  • Hệ đào tạo
  • ....

Danh sách đồ án

Quản lý đồ án Hình ảnh quản lý đồ án 

Quản lý đồ án của sinh viên bao gồm các thông tin 

  • Tên đồ án
  • Sinh viên thực hiện
  • Link đồ án 
  • Mã đồ án
  • Sinh viên thực hiện 
  • Hội đồng chấm
  • Trạng thái đồ án. 
  • ....

Quản lý

Quản lýHình ảnh quản lý 

Quản lý cấp cao có quyền thêm dữ liệu và có full  mọi quyền

 

Báo cáo đồ án 

CHƯƠNG 1: GIỚI THIỆU

1.1 Lý do chọn đề tài

Trong thời đại công nghiệp hóa-hiện đại hóa như ngày nay, tin học đã trở nên rất phổ biến từ mọi lĩnh vực trong xã hội. Cùng với sự phát triển đó, mọi phần mềm ứng dụng tương ứng với từng chức năng cụ thể cũng đã ra đời. Song, không thể có được một phần mềm có thể cung cấp hết các chức năng cho mọi công việc, từ công việc kế toán, quản lý, đặc biệt là việc quản lý đồ án tại các trường đại học. Bởi, mỗi chức năng cần có một yêu cầu riêng, có những nét đặc trưng mà không phần mềm nào có thể đáp ứng được.

Do vậy trong việc phát triển các hệ thống, sự đòi hỏi không chỉ là chính xác, xử lý được nhiều nghiệp vụ mà còn phải đáp ứng các yêu cầu khác như: dễ sử dụng, bảo mật cao, tốc độ xử lý nhanh,….Ví dụ như việc quản lý đồ án của trường Đại Học. Nếu có sự hỗ trợ của tin học thì việc quản lý toàn bộ quá trình quản lý sẽ trở nên đơn giản, thuận tiện, nhanh chóng và hiệu quả hơn. Ngược lại các công việc này đòi hỏi rất nhiều thời gian và công sức mà sự chính xác và hiệu quả không cao

Chính vì những lí do nêu trên em đã quyết định chọn đề tài “Xây dựng website quản lý đồ án tốt nghiệp” để làm báo cáo tốt nghiệp giúp công việc quản lí đạt hiệu quả cao.

1.2 Mục tiêu của đề tài

  • Xây dựng website quản lí đồ án tốt nghiệp
  • Triển khai và cài đặt chương trình trong thực tế

1.3 Giới hạn và phạm vi của đề tài

Trong phạm vi của đề tài này em sẽ thực hiện những công việc sau:

  • Tìm hiểu về công tác quản lí đồ án tốt nghiệp trong thực tế
  • Ứng dụng được xây dựng bằng phần mềm XAMPP, sử dụng ngôn ngữ lập trình PHP và cơ sở dữ liệu được xây dựng bằng MYSQL.

1.4 Phương pháp thực hiện đề tài

Để thực hiện đề tài này, em sử dụng phương pháp phân tích và thiết kế hướng đối tượng có cấu trúc – bao gồm các hoạt động khảo sát, phân tích, thiết kế, bổ sung, kiểm thử chất lượng… các hoạt động có thể thực hiện song song với nhau. Đặc biệt là hoạt động khảo sát, tiến hành nhiều lần , song song với các hoạt động khác nhằm có những thông tin chính xác nhất về hệ thống.

Cụ thể:

Em đã tiến hành 3 lần khảo sát.

Lần 1- Tìm hiểu về hệ thống hiện tại, cách thức làm việc của hệ thống phục vụ cho giai đoạn khảo sát sơ bộ.

Lần 2 - sau khi tìm hiểu thêm các tài liệu tham chiếu, em tiến hành đánh giá về hệ thống hiện tại( phát hiện các ưu - nhược điểm). Trong quá trình phân tích hệ thống, tiến hành song song với việc khảo sát lần 3 để một lần nữa thấy rõ hơn về hệ thống hiện tại, phân tích về hệ thống này để phục vụ cho giai đoạn thiết kế.

1.5 Kết quả dự kiến đạt được

Website quản lí đồ án tốt nghiệp sau khi hoàn thành dự kiến sẽ đạt được những kết quả sau:

  • Hoàn thành báo cáo chi tiết đồ án tốt nghiệp
  • Hoàn thành cài đặt chương trình quản lí trong thực tế

 

 

CHƯƠNG 2: CƠ SỞ LÍ THUYẾT

2.1. Lý thuyết cơ sở dữ liệu

2.1.1. Khái niệm

 Cơ sở dữ liệu: Cơ sở dữ liệu (viết tắt CSDL; tiếng Anh là database)

Là một tập hợp thông tin có cấu trúc. Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay băng. Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu.

  • Thực thể: là hình ảnh cụ thể của một đối tượng trong hệ thống thông tin quản lý. Một thực thể xác định tên và các thuộc tính.
  • Thuộc tính: là một yếu tố dữ liệu hoặc thông tin của thực thể ấy.
  • Lớp thực thể: là các thực thể cùng thuộc tính.
  • Lược đồ quan hệ: tập các thuộc tính của một quan hệ. Lược đồ một quan hệ gồm các thuộc tính của thực thể cùng các mệnh đề ràng buộc.

VD: Lược đồ quan hệ

R = = (A1:D1,A2:D2, .., An :Dn , M)

Trong đó: R là một lược đồ quan hệ

                        Ai : tên thuộc tính

Di : miền xác định của thuộc tính

M : mệnh đề ràng buộc

            Nội dung của một lược đồ quan hệ gọi là các bộ.

  • Các phép toán tối thiểu:
  • Tìm kiếm dữ liệu theo tiêu chuẩn đã chọn, không làm thay đổi trạng thái cơ sở dữ liệu.
  • Thay đổi cấu trúc cơ sở dữ liệu.
  • Thay đổi nội dung cơ sở dữ liệu.
  • Xử lý, tính toán trên cơ sở dữ liệu.[2]

2.1.2.Ưu điểm:

  • Giảm sự trùng lặp thông tin xuống mức thấp nhất. Do đó đảm bảo thông tin có tính nhất quán và toàn vẹn dữ liệu.
  • Đảm bảo dữ liệu có thể được truy xuất theo nhiều cách khác nhau.
  • Nhiều người có thể sử dụng một cơ sở dữ liệu.[2]

2.1.3.Nhược điểm:

  • Tính chủ quyền của dữ liệu:
  • Thể hiện ở phương diện an toàn dữ liệu.
  • Khả năng biểu diễn mỗi liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu.
  • Người khai thác cơ sở dữ liệu phải cập nhật cho CSDL những thông tin mới nhất.
  • Tính bảo mật và quyền khai thác thông tin của người sử dụng:
  • Do ưu điểm CSDL có thể cho nhiều người khai thác đồng thời. nên cần phải có một cơ chế bảo mật phân quyền khai thác CSDL.
  • Các hệ điều hành nhiều người sử dụng hay cục bộ đều cung cấp cơ chế này.
  • Tranh chấp dữ liệu:
  • Khi nhiều người cùng truy nhập CSDL với các mục đích khác nhau. Rất có thể sẽ xảy ra hiện tượng tranh chấp dữ liệu.
  • Cần có cơ chế ưu tiên khi truy cập CSDL. Ví dụ: admin luôn có thể truy cập cơ sở dữ liệu.Cấp quyền ưu tiên cho từng người khai thác.
  • Cần đảm bảo an toàn dữ liệu khi có sự cố:
  • Khi CSDL nhiều và được quản lý tập trung. Khả năng rủi ro mất dữ liệu rất cao. Các nguyên nhân chính là mất điện đột ngột hoặc hỏng thiết bị lưu trữ.
  • Hiện tại có một số hệ điều hành đã có cơ chế tự động sao lưu ổ cứng và fix lỗi khi có sự cố xảy ra.
  • Tuy nhiên: cẩn tắc vô áy náy. Chúng ta nên sao lưu dự phòng cho dữ liệu đề phòng trường hợp xấu xảy ra.[2]

2.1.4.Tính chất

  • Phản ánh 1 phần của thế giới thực (mini world) được cập nhật phản ánh sự thay đỏi của thế giới nó biểu diễn.
  • 1 CSDL là 1 tập hợp DL liên kết với nhau một cách logic và mang 1 ý nghĩa nào đó.
  • Được thiết kế phổ biến cho 1 mục đích riêng có nhóm người sử dụng.
  • Tổ chức cơ sở dữ liệu
  • CSDL được tổ chức có cấu trúc
  • Các DL lưu trữ có cấu trúc thành các bản ghi (record), các trường DL (field).
  • Các DL lưu trữ có mối quan hệ (relational) với nhau.
  • Khả năng truy xuất thông tin từ CSDL => Dễ dàng truy cập, quản lý,cập nhật DL.[2]

2.1.5. Phân loại

Cơ sở dữ liệu được phân chia ra nhiều loại khác nhau:

  • Cơ sở dữ liệu dạng file: dữ liệu được lưu trữ dưới dạng các file có thể là text, ascii, *.dbf. Tiêu biểu cho cơ sở dữ liệu dạng file là*.mdb Foxpro
  • Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ trong các bảng dữ liệu gọi là các thực thể, giữa các thực thể này có mối liên hệ với nhau gọi là các quan hệ, mỗi quan hệ có các thuộc tính, trong đó có một thuộc tính là khóa chính. Các hệ quản trị hỗ trợ cơ sở dữ liệu quan hệ như: MS SQL server, Oracle, MySQL...
  • Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bảng dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng. Mỗi bảng xem như một lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng. Các hệ quản trị có hỗ trợ cơ sở dữ liệu hướng đối tượng như: MS SQL server, Oracle, Postgres
  • Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng XML, với định dạng này thông tin mô tả về đối tượng thể hiện trong các tag. Đây là cơ sở dữ liệu có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên cơ sở dữ liệu bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng.[2]

2.2. Hệ quản trị cơ sở dữ liệu MYSQL 

Mysql là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập cơ sở dữ liệu trên internet.

MySQL là hệ quản trị cơ sở dữ liệu miễn phí, được tích hợp sử dụng chung với apache và php. Chính yếu tố mã nguồn mở nên MySQL đã qua rất nhiều sự hỗ trợ của những lập trình viên yêu thích mã nguồn mở. MySQL cũng có cùng cách truy xuất và mã lệnh tương tự với SQL. Về bản chất thì MySQL chỉ đáp ứng được việc truy xuất đơn giản trong quá trình vận hành của website nhưng hầu hết có thể giải quyết tất cả các bài toán trong PHP.

Điểm mạnh của MySQL là chạy trên mọi ngôn ngữ như ASP, .Net, PHP, JSP…. khi chạy nó không đòi hỏi tài nguyên máy quá lớn như CPU, Ram chẳng hạn.

Nhược điểm là độ bảo mật chưa cao bằng MSSQL hay Oracle… và quá trình Restore có phần chậm chạp hơn.

  • Đây là những lý do bạn nên chọn MySQL cho ứng dụng của mình.
  • Tính linh hoạt.
  • Tính thực thi cao .
  • Hỗ trợ giao dịch mạnh.
  • Nơi lưu trữ Web và Data đáng tin cậy.
  • Chế độ bảo mật dữ liệu mạnh.
  • Sự phát triển ứng dụng hỗn hợp.
  • Dễ dàng quản lý.
  • Mã nguồn mở tự do và hỗ trợ 24/7.

-    Tổng chi phí thấp nhất.

Mục đích sử dụng cơ sở dữ liệu bao gồm các chức năng như:

  • Tính chủ quyền của dữ liệu:
    • Thể hiện ở phương diện an toàn dữ liệu.
    • Khả năng biểu diễn mối liên hệ ngữ nghĩa của dữ liệu và tính chính xác của dữ liệu.
    • Người khai thác cơ sở dữ liệu phải cập nhật cho CSDL những thông tin mới nhất.
  • Tính bảo mật và quyền khai thác thông tin của người sử dụng:
  • Do ưu điểm CSDL có thể cho nhiều người khai thác đồng thời. nên cần phải có một cơ chế bảo mật phân quyền khai thác CSDL.
  • Các hệ điều hành nhiều người sử dụng hay cục bộ đều cung cấp cơ chế này.
  • Tranh chấp dữ liệu:
  • Khi nhiều người cùng truy nhập CSDL với các mục đích khác nhau. Rất có thể sẽ xảy ra hiện tượng tranh chấp dữ liệu.
  • Cần có cơ chế ưu tiên khi truy cập CSDL. Ví dụ: admin luôn có thể truy cập cơ sở dữ liệu.
  • Cấp quyền ưu tiên cho từng người khai thác.
  • Đảm bảo an toàn dữ liệu khi có sự cố.
  • Khi CSDL nhiều và được quản lý tập trung. Khả năng rủi ro mất dữ liệu rất cao.
  • Các nguyên nhân chính là mất điện đột ngột hoặc hỏng thiết bị lưu trữ.
  • Hiện tại có một số hệ điều hành đã có cơ chế tự động sao lưu ổ cứng và fix lỗi khi có sự cố xảy ra.Tuy nhiên: cẩn tắc vô áy náy. Chúng ta nên sao lưu dự phòng cho dữ liệu đề phòng trường hợp xấu xảy ra.[1]

2.3. Ngôn ngữ lập trình xây dựng hệ thống.

2.3.1.  HTML và CSS.

Trang Web là sự kết hợp giữa văn bản và các thẻ HTML. HTML là chữ viết tắt của HyperText Markup Language được hội đồng World Wide Web Consortium(W3C) quy định. Một tập tin HTML chẳng qua là một tập tin bình thường, có đuôi .html hoặc .htm. HTML giúp định dạng văn bản trong trang Web nhờ các thẻ. Hơn nữa, các thẻ html có thể liên kết từ hoặc một cụm từ với các tài liệu khác trên Internet.

Tiêu đề của trang Web

  • Thẻ ...: Tạo đầu mục trang
  • Thẻ ...: Tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc. Thẻ title cho phép bạn trình bày chuỗi trên thanh tựa đề của trang Web mỗi khi trang Web đó được duyệt trên trình duyệt Web.
  • Thẻ ...: Tất cả các thông tin khai báo trong thẻ đều có thể xuất hiện trên trang Web.  Những thông tin này có thể nhìn thấy trên trang Web.
  • Các thẻ định dạng khác. Thẻ

    :
    Tạo một đoạn mới. Thẻ ... : Thay đổi phông chữ, kích cỡ và màu kí tự…
  • Thẻ định dạng bảng …
    :
    Đây là thẻ định dạng bảng trên trang Web. Sau khi khai báo thẻ này, bạn phải khai báo các thẻ hàng và thẻ cột cùng với các thuộc tính của nó.
  • Thẻ hình ảnh : Cho phép bạn chèn hình ảnh vào trang Web. Thẻ này thuộc loại thẻ không có thẻ đóng.
  • Thẻ liên kết ... : Là loại thẻ dùng để liên kết giữa các trang Web hoặc liên kết đến địa chỉ Internet, Mail hay Intranet(URL) và địa chỉ trong tập tin trong mạng cục bộ (UNC).
  • Các thẻ Input: Thẻ Input cho phép người dùng nhập dữ liệu hay chỉ thị thực thi một hành động nào đó, thẻ Input bao gồm các loại thẻ như: text, password, submit, button, reset, checkbox, radio, image.
  • Thẻ Textarea: .... : Thẻ Textarea cho phép người dùng nhập liệu với rất nhiều dòng. Với thẻ này bạn không thể giới hạn chiều dài lớn nhất trên trang Web.
  • Thẻ Select: Thẻ Select cho phép người dùng chọn phần tử trong tập phương thức đã được định nghĩa trước.
  • Thẻ Form: Khi bạn muốn submit dữ liệu người dùng nhập từ trang Web phía Client lên phía Server, bạn có hai cách để làm điều này ứng với hai phương thức POST và GET trong thẻ form.
    • CSS.

    CSS là từ viết tắt của Cascading Style Sheets

    CSS này định nghĩa cách hiển thị một tài liệu HTML. Tuy nhiên nó cũng được áp dụng cho các tài liệu như: XML.

    CSS đặc biệt hữu ích trong việc thiết kế Web. Nó giúp cho người thiết kế dễ dàng áp đặt các phong cách đã được thiết kế lên bất kì Page nào của Website một cách nhanh chóng, đồng bộ.

    • Bootstrap.

    Bootstrap là một framework cho phép thiết kế website reponsive nhanh hơn và dễ dàng hơn.

    Bootstrap là bao gồm các HTML templates, CSS templates và Javascript tạo ra những cái cơ bản có sẵn như: typography, forms, buttons, tables, navigation, modals, image carousels và nhiều thứ khác. Trong bootstrap có thêm các plugin Javascript trong nó. Giúp cho việc thiết kế reponsive của bạn dễ dàng hơn và nhanh chóng hơn.

    Ưu điểm:

    • Rất dễ để sử dụng.
    • Tính năng Responsive: Bootstrap’s xây dựng sẵn reponsive css trên các thiết bị phones, tablets, và desktops. Mobile: Trong Bootstrap 3 mobile-first styles là 1 phần của core framework.
    • Tương thích với trình duyệt: Nó tương thích với tất cả các trình duyệt (Chrome, Firefox, Internet Explorer, Safari, and Opera).[1]

    2.3.2.Ngôn ngữ lập trình PHP.

     Ưu điểm:

    Trong khi có rất nhiều ngôn ngữ lập trình cho người dùng có thể lựa chọn thì PHP vẫn là ngôn ngữ được cho là có sự lôi cuốn mạnh mẽ với lập trình viên. Mỗi ngôn ngữ có tính năng và cấu hình khác nhau nhưng đề đưa ra một kết quả. Vậy do đâu mà PHP lại có được sự hấp dẫn đối với người dùng như vậy?

    • PHP cực kỳ đơn giản cho người mới học các ngôn ngữ lập trình, chính vì lý do này mà các trường đại học lớn hay bé đều dạy PHP là ngôn ngữ viết Webside động cho sinh viên chứ không phải JSP & Servlet…
    • Cung cấp các tính năng rất nhanh mạnh mẽ cho người lập trình chuyên nghiệp.
    • Tốc độ xử lý nhanh, luôn được cải tiến và là mã nguồn mở.
    • Cũng tại vì dễ dàng tiếp cận nên có rất nhiều tài liệu trên mạng.
    • PHP dùng được cho tất cả các hệ điều hành và làm việc được không những với HTML mà còn có hình ảnh, file PDF, Flash movie…
    • Dễ dàng kết nối tới rất nhiều cơ sở dữ liệu khác nhau à nổi tiếng nhất là MySQL và Oracle.
    • Tính bảo mật cao.
    • Có rất nhiều Framework hỗ trợ PHP, Zend Framework, Yii Framework, CakePHP, CodeIgniter…

    -     Có rất nhiều CMC được xây dựng trên nền tảng PHP: Joomla, WordPress…[1]