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

Xây dựng website quản lý công tác đào tạo cho bộ môn mạng truyền thông khoa công nghệ thông tin

81 337 0

Đ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 81
Dung lượng 2,26 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một trong những ứng dụng của ngành công nghệ thông tin đó là xu hướng tin học hóa các hệ thống nói chung và hệ thống quản lý nói riêng.. Chính vì lý do trên đây em đã chọn đề tài: “Xây d

Trang 1

LỜI CẢM ƠN

Trước hết, em xin chân thành cảm ơn bộ môn Mạng và Truyền thông - khoa Công nghệ thông tin – trường Đại học Công nghệ thông tin và truyền thông - Đại học Thái Nguyên đã tạo điều kiện thuận lợi để em thực hiện và hoàn thành đồ án tốt nghiệp

Em xin chân thành cảm ơn cô Ths.Dương Thu Mây đã tận tình hướng dẫn, chỉ bảo em suốt thời gian thực hiện đồ án

Em xin chân thành cảm ơn thầy Ts.Nguyễn Toàn Thắng – trưởng bộ môn Mạng

và Truyền thông đã tận tình chỉ bảo định hướng để em có thể hoàn thành đồ án

Mặc dù đã cố gắng hoàn thành đồ án trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không thể tránh khỏi những thiếu xót Em kính mong nhận được sự chỉ bảo từ phía thầy cô và các bạn

Em xin chân thành cảm ơn!

Thái Nguyên, tháng 6 năm 2016

Sinh viên thực hiện





Trang 2

LỜI CAM ĐOAN

Em xin cam đoan: Đồ án này em thực hiện dưới sự hướng dẫn trực tiếp của

cô Ths.Dương Thu Mây, không sao chép từ bất cứ đồ án nào Các tài liệu tham khảo sử dụng trong đồ án đều được cho phép hợp lệ

Nếu có vi phạm quy định làm đồ án em xin hoàn toàn chịu trách nhiệm

Em xin chân thành cảm ơn!

Sinh viên

Nguyễn Thị Thu Huyền

Trang 3

Chương 1 CƠ SỞ LÝ THUYẾT 8

1.1 Giới thiệu chung 8

1.1.1 Laravel là gì 8

1.1.2 Lịch sử phát triển của Laravel 8

1.2 Tổng quan cấu trúc ứng dụng 10

1.2.1 Nội dung thư mục gốc 10

1.3 Ưu nhược điểm 12

1.3.1 Ưu điểm 12

1.3.2 Nhược điểm 13

1.4 Điểm mới ở Laravel 5 13

1.4.1 Laravel 5 và cấu trúc thư mục 14

1.4.2 Thay đổi về template engine Blade 14

1.4.3 Các khái niệm về Contracts , Commands và Events 14

1.4.4 Hàm hỗ trợ Helpers 15

1.4.5 Định tuyến Routes 15

1.4.6 Controller Method Injection – Bộ điểu khiển theo phương thức chia nhỏ 16

1.4.7 Authentication Scaffolding – chứng thực khung 16

1.4.8 Tính giao thiệp Socialite 16

1.4.9 Hệ thống Flysystem 16

Trang 4

1.4.10 Dotenv – Environmental Detection – phát hiện môi trường 171.4.11 Form Requests – mẫu yêu cầu 17

1.4.12 Laravel Scheduler – laravel lịch trình 18

1.4.13 Hàm dd mới 18

1.4.14 Tính năng Eloquent Attribute Casting 18

1.4.15 Bỏ trang báo lỗi Whoops và Các lệnh generator mới 19

2.5.3 Biểu đồ Usecase tổng quát 29

2.5.4 Mô tả và biểu đồ tuần tự từng Usecase 30

2.5.5 Biểu đồ lớp 51

Chương 3 DEMO HỆ THỐNG CÔNG TÁC ĐÀO TẠO CHO BỘ MÔN MẠNG

VÀ TRUYỀN THÔNG 52

3.1 Phân quyền 52

3.2 Giao diện các chức năng của bộ môn 52

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN59

TÀI LIỆU THAM KHẢO 60

NHẬN XÉT CỦA GIÁO VIÊN 61

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1 Biểu đồ cho thấy mức độ yêu thích phổ biến và hiệu suất làm việc 20Hình 2.1 Bảng dữ liệu về chương trình đào tạo 23

Hình 2.2 Bảng dữ liệu hồ sơ giảng dạy 24

Hình2.3 Bảng dữ liệu phân công giảng dạy 25

Hình 2.4 Bảng dữ liệu về phân công phụ trách môn học 25

Hình 2.5 Biểu đồ Usecase tổng quát 29

Hình 2.6 Biểu đồ tuần tự cho Usecase Đăng nhập 31

Hình 2.7 Biểu đồ tuần tự cho Usecase Đăng xuất 32

Hình 2.8 Biểu đồ hoạt động của Usecase quản lý chương trình đào tạo 33Hình 2.9 Biểu đồ tuần tự cho Usecase Thêm chương trình đào tạo mới 35Hình 2.10 Biểu đồ tuần tự cho Usecase Sửa chương trình đào 36

Hình 2.11 Biểu đồ tuần tự cho Usecase Xóa chương trình đào tạo 37

Hình 2.12 Usecase cập nhật danh sách môn học 38

Hình 2.13 Biểu đồ hoạt động của Usecase phân công phụ trách môn học 39Hình 2.14 Biểu đồ tuần tự cho Usecase Thêm môn trong phụ trách môn học 41Hình 2.15 Biểu đồ tuần tự cho Usecase Sửa trong phụ trách môn học 42Hình 2.16 Biểu đồ tuần tự cho Usecase Xóa trong phụ trách môn học 43Hình 2.17 Biểu đồ hoạt động của Usecase phân công giảng dạy 44

Hình 2.18 Biểu đồ tuần tự cho Usecase Thêm trong phân công giảng dạy 46Hình 2.19 Biểu đồ tuần tự cho Usecase Xóa trong phân công giảng dạy 47Hình 2.20 Biểu đồ tuần tự cho Usecase xem phân công giảng dạy 48

Hình 2.21 Biểu đồ hoạt động của Usecase cập nhật thông tin cá nhân 49Hình 2.22 Biểu đồ tuần tự cho Usecase thông tin cá nhân 51

Hình 2.23 Biểu đồ lớp 51

Trang 6

Hình 3.2 Giao diện nhập dữ liệu 52

Hình 3.3 Chương trình đào tạo 53

Hình 3.4 Danh sách môn học 53

Hình 3.5 Giao diện chưa phân công giảng dạy 54

Hình 3.6 Giao diện đã phân công giảng dạy 54

Hình 3.7 Giao diện trang sửa tên lớp học phần 55

Hình 3.7 Phân công phụ trách môn 55

Hình 3.8 Quản lý hồ sơ giảng dạy 56

Hình 3.9 Giao diện xem chương trình đào tạo 56

Hình 3.10 Giao diện xem danh sách môn học 57

Hình 3.11 Giao diện xem danh sách phân công 57

Hình 3.12 Giao diện xem danh sách phân công phụ trách môn 58

Trang 7

LỜI MỞ ĐẦU

Ngày nay ta có thể thấy rõ được sự phát triển nhanh chóng của ngành công nghệ thông tin cùng với sự ứng dụng vô cùng quan trọng của nó đối với các ngành khác, góp phần thúc đẩy sự phát triển của đất nước Một trong những ứng dụng của ngành công nghệ thông tin đó là xu hướng tin học hóa các hệ thống nói chung

và hệ thống quản lý nói riêng Ứng dụng này đã được sử dụng trong hầu hết các lĩnh vực kinh tế - xã hội, trong đó phải kể đến là ứng dụng trong giáo dục và đào tạo Xu hướng tin học hóa trong giáo dục và đào tạo đã được phát triển nhanh chóng những năm gần đây, đã có nhiều dự án tin học hóa giáo dục đào tạo được triển khai và đưa vào ứng dụng, có thể kể đến như: Quản lý điểm sinh viên, lập thời khóa biểu, dạy học từ xa Một dự án được xem là thiết yếu đối với bất cứ một

cơ sở đào tạo nào dù quy mô lớn hay nhỏ, đó là quản lý công tác đào tạo Việc quản lý công tác đào tạo của các bộ môn vẫn phải thực hiện thủ công, máy tính chủ yếu làm công tác soạn thảo, in ấn Với sự bùng nổ của công nghệ thông tin để việc quản lý bớt khó khăn, thay sức người bằng máy tính

Chính vì lý do trên đây em đã chọn đề tài: “Xây dựng website quản lý công tác đào tạo cho bộ môn Mạng & Truyền thông - khoa Công nghệ Thông tin” nhằm mục tiêu hiện tại giúp công tác quản lý công tác đào tạo được thuận tiện nhanh chóng, giảng viên có thể xem chương trình giảng dạy trên mạng Internet và phụ trách môn học

Đồ án của em chia làm 3 phần:

Chương 1: Tổng quan về Laravel FrameworkChương 2: Khảo sát và phân tích thiết kế hệ thống công tác đào tạo cho bộ môn mạng và truyền thông

Trang 8

Chương 3: Xây dựng demo hệ thống công tác đào tạo cho bộ môn mạng và truyền thông

Trang 9

và quản lý gói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.

Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọn PHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHP framework phổ biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette, CodeIgniter, Yii2 và một số khác Trước đó, Tháng 8 2014, Laravel đã trở thành project PHP phổ biến nhất và được theo dõi nhiều nhất trên Github

Laravel được phát hành theo giấy phép MIT (Giấy phép MIT là một loại giấy phép sử dụng cho các phần mềm, các mã nguồn mở được phát triển dựa trên một loại giấy phép có nguồn gốc tại Viện Công nghệ Massachusetts), với source code được lưu trữ tại Github (Git là tên gọi của một Hệ thống quản lý phiên bản phân tán (Distributed Version Control System – DVCS) là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay)

 Lịch sử phát triển của Laravel

Laravel được Taylor Otwell tạo ra như một giải pháp thay thế cho CodeIgniter, cung cấp nhiều tính năng quan trọng hơn như xác thực và phân quyền Taylor nhanh chóng nhận ra những điểm khiếm khuyết ở CodeIgniter, với

Trang 10

mình tạo ra một framework sao cho thật đơn giản, dễ hiểu, hỗ trợ lập trình viên hiện thực ý tưởng một cách nhanh nhất bằng nhiều tính năng hỗ trợ như Eloquent ORM (Object Relational Mapping - kỹ thuật chuyển đổi dữ liệu giữa các hệ thống khác không phải là mô hình hướng đối tượng sang các đối tượng trong ngôn ngữ lập trình hướng đối tượng) mạnh mẽ, xác thực đơn giản, phân trang hiệu quả, và hơn thế nữa.

Bản Laravel beta đầu tiên được phát hành vào ngày 9/6/2011, tiếp đó là Laravel

1 phát hành trong cùng tháng Laravel 1 bao gồm các tính năng như xác thực, bản địa hóa, model, view, session, định tuyến và các cơ cấu khác, nhưng vẫn còn thiếu controller, điều này làm nó chưa thật sự là một MVC framework đúng nghĩa

Laravel 2 được phát hành vào tháng 9 năm 2011, mang đến nhiều cài tiến từ

tác giả và cộng đồng Tính năng đáng kể bao gồm hỗ trợ controller, điều này thực

sự biến Laravel 2 thành một MVC framework hoàn chỉnh, hỗ trợ Inversion of Control (IoC – kiểm soát ngược), hệ thống template Blade Bên cạnh đó, có một nhược điểm là hỗ trợ cho các gói của nhà phát triển bên thứ 3 bị gỡ bỏ

Laravel 3 được phát hành vào tháng 2 năm 2012, với một tấn tính năng mới

bao gồm giao diện dòng lệnh (CLI- Command-line interface giao diện dòng lệnh) tên “Artisan” (nghệ nhân), hỗ trợ nhiều hơn cho hệ thống quản trị cơ sở dữ liệu, chức năng ánh xạ cơ sở dữ liệu Migration (di trú), hỗ trợ “bắt sự kiện” trong ứng dụng, và hệ thống quản lý gói gọi là “Bundles” (bó) Lượng người dùng và sự phổ biến tăng trưởng mạnh kể từ phiên bản Laravel 3

Laravel 4, tên mã “Illuminate”, được phát hành vào tháng 5 năm 2013 Lần

này thực sự là sự lột xác của Laravel framework, di chuyển và tái cấu trúc các gói

hỗ trợ vào một tập được phân phối thông qua Composer (phần mềm soan thảo lệnh theo CLI), một chương trình quản lý gói thư viện phụ thuộc độc lập của PHP Bố trí mới như vậy giúp khả năng mở rộng của Laravel 4 tốt hơn nhiều so với các phiên

Trang 11

bản trước Ra mắt lịch phát hành chính thức mỗi sáu tháng một phiên bản nâng cấp nhỏ các tính năng khác trong Laravel 4 bao gồm tạo và thêm dữ liệu mẫu (database seeding), hỗ trợ hàng đợi, các kiểu gởi mail, và hỗ trợ “xóa mềm” (soft-delete: record

bị lọc khỏi các truy vấn từ Eloquent mà không thực sự xóa hẳn khỏi DB)

Laravel 5 được phát hành trong tháng 2 năm 2015, như một kết quả thay đổi

đáng kể cho việc kết thúc vòng đời nâng cấp Laravel lên 4.3 Bên cạnh một loạt tính năng mới và các cải tiến như hiện tại, Laravel 5 cũng giới thiệu cấu trúc cây thư mục nội bộ cho phát triển ứng dụng mới Những tính năng mới của Laravel 5 bao gồm hộ trợ lập lịch định kỳ thực hiện nhiệm vụ thông qua một gói tên là

“Scheduler”, một lớp trừu tượng gọi là “Flysystem” cho phép điều khiển việc lưu trữ từ xa đơn giản như lưu trữ trên máy local – dễ thấy nhất là mặc định hỗ trợ dịch

vụ Amazone S3, cải tiến quản lý assets thông qua “Elixir”, cũng như đơn giản hóa quản lý xác thực với các dịch vụ bên ngoài bằng gói “Socialite”

Laravel 5.1 phát hành vào tháng 6 năm 2015, là bản phát hành đầu tiên nhận

được hỗ trợ dài hạn (LTS “Long Term Support" - có nghĩa là "Hỗ trợ dài hạn") với một kết hoạch sửa lỗi (fix bug) lên tới 2 năm vào hỗ trợ vá lỗi bảo mật lên tới 3 năm Các bản phát hành LTS của Laravel được lên kế hoạch theo mỗi 2 năm

 Tổng quan cấu trúc ứng dụng

 Nội dung thư mục gốc

Tại thư mục gốc của Laravel chứa tệp cấu hình của Composer, các thông tin

về framework, thư mục chứa cấu hình môi trường, các tập tin công khai, mã ứng dựng và thư mục với tất cả các gói được cài đặt bao gồm cả gói làm nên Laravel framework

Bảng 0.1 Mô tả các tệp và thư mục trong thư mục gốc của laravel

Trang 12

Tệp/Thư mục Mục đích

/bootstrap Chứa đường dẫn thư mục Laravel Framework, các

tập tin được biên dịch và cấu hình môi trường ứng dụng

/public

Đây là thư mục công khai nó sẽ chứa CSS, Javascript và các file và thư mục khác sẽ cho phép truy cập bởi người sử dụng ứng dụng

/vendor Chứa các gói của bên thứ 3 và các gói làm nên

Laravel Framework được cài đặt trong thư mục này

composer.json

Đây là tập tin cấu hình Composer chứa danh sách các gói mà ứng dụng sử dụng, phiên bản cài đặt cho mỗi gói và thiết lập tính ổn định

CONTRIBUTING.md Chứa hướng dẫn đóng góp vào Laravel Framework

readme.md Cung cấp thông tin chung về Laravel và các liên kết

tới tài liệu, các yêu cầu và giấy phép của ứng dụng

server.php

Laravel có một lệnh đặc biệt chạy ứng dụng hiện tại trên máy chủ PHP của hệ thống Tệp này giúp cho chức năng đó

artisan Cung cấp tích hợp trong giao diện dòng lệnh của

Laravel, giúp nhà phát triển có thể tăng tốc công việc

phpunit.xml Tệp cấu hình cho PHPUnit bộ môn công cụ kiểm

tra

Trang 13

Nội dung thư mục app

Khi xây dựng một ứng dụng với Laravel, các định tuyến, các bộ lọc định tuyến, cấu hình thiết lập khác và di trú cơ sở dữ liệu cho ứng dụng sẽ nằm trong thư mục này

Bảng 0.2 Mô tả các tệp và thư mục trong thư mục app của laravel

Tệp/Thư mục Mục đích

/models Chứa các lớp đại diện cho các mô hình dữ liệu

/views Chứa các bản mẫu cho views và bố cục của view

/controller Chứa các controllers của ứng dụng

/config Cài đặt các ứng dụng cụ thể như thông tin cơ sở dữ liệu, thiết đặt

trình điều khiển phiên và các bộ đệm

/database Dữ liệu mẫu và di trú cơ sở dữ liệu

/lang Chuỗi ngôn ngữ cho validation, pagination và các email nhắc nhở/commands Các lớp tùy biến bao gồm các lệnh Artisan

/storage Bộ đệm, phiên tạm thời và các views được biên dịch

/start Các file hỗ trợ điều chỉnh lỗi và chế độ bảo trì ứng dụng

/test Bộ môn kiểm tra của ứng dụng

filter.php Logic và định nghĩa các bộ lọc sử dụng trong ứng dụng

routes.php Danh sách đầu cuối được đăng ký của ứng dụng

Trang 14

 Ưu nhược điểm

 Ưu điểm

Laravel, sử dụng Blade Template Engine Rất nhẹ nhàng và hữu dụng Chỉ cần có 1 trang master template (template sườn) sẽ được sử dụng và kế thừa từ các file template con

Laravel hỗ trợ nhiều cách viết để ngắn gọn nhất có thể và nhiều cách viết khác nhau như Fluent Query Builder (trình tạo truy vấn) và Eloquent (tài hùng biện) Cực kỳ ngắn gọn – dễ quản lý và hữu dụng Hỗ trợ sẵn các hàm để tìm dữ liệu , nạp dữ liệu, đếm dòng , … Laravel hỗ trợ tương tác với cơ sở dữ liệu như tạo

cơ sở dữ liệu, tạo bảng, chỉnh sửa bảng, insert dữ liệu… thông qua Schema Builder (trình tạo giản đồ)

Route trong Laravel, có thể nhóm các rule (quy định) lại với nhau, các rule con nằm trong rule mẹ sẽ chịu ảnh hưởng Ví dụ:

Có thể thấy các rule con bên trong trước khi được thực thi sẽ phải chạy qua rule mẹ để kiểm tra, nếu thỏa mãn mới thực thi

Trang 15

Laravel được phát hành theo giấy phép MIT, với source code được lưu trữ tại Github nên dễ dàng tìm kiếm và lấy code.

 Nhược điểm

Laravel chưa có nhiều tài liệu tiếng việt nên gặp rất nhiều khó khăn trong việc học hỏi và tìm kiếm code, tìm kiếm cách sửa lỗi khi có lỗi xảy ra trong quá trình code

Laravel thực hiện điều hướng hoàn toàn qua route Tại đây người lập trình có thể làm tất cả các việc mà ngay cả Models và Controller đảm nhận theo mô hình MVC rất tiện, bên cạnh đó, khi đưa vào làm việc nhóm rất có khả năng xảy ra tranh chấp Laravel , khi có lỗi xảy ra ở route thì toàn bộ hệ thống sẽ bị lỗi và ngừng hoạt động

 Điểm mới ở Laravel 5

Taylor Otwell đã nói rằng Laravel 4.3 có thể đổi tên thành Laravel 5 để phản ánh việc thay đổi cấu trúc thư mục và "những sáng kiến thú vị khác" Đã có khoảng gần 20 tính năng mới được giới thiệu kể từ khi có thông báo Laravel 5 và

"những sáng kiến thú vị" đã được phát triển

Rất nhiều những bài viết hướng dẫn nâng cấp version chờ Laravel 5 ra mắt Nhiều những tổ chức, công ty kiên nhẫn sử dụng tạm các develop-branch (GIT -nd) để chờ Laravel 5 ra mắt

Laravel 5 sẽ ra mắt với rất nhiều nâng cấp mới, những tính năng mới nhưng đồng thời lại vẫn giữ được những yếu tố mà đã tạo nên sự thành công của Laravel.Thực tế là nó nhiều tính năng mới đến nỗi việc theo dõi xem nó có gì mới cũng rất mệt Sơ qua một số tính năng mới và những gì được mong chờ ở laravel 5

Trang 16

 Laravel 5 và cấu trúc thư mục

Sự thay đổi quan trọng đầu tiên của phiên bản này đó là cấu trúc thư mục Có một số thay đổi nhỏ trong thư mục app và một số thay đổi ở bên ngoài nó Bao gồm sự thay đổi về config, database, storage và resources

Bên trong thư mục app sẽ được chia nhỏ thành các thư mục:

 Thay đổi về template engine Blade

Blade (lớp cắt) không nhận được nhiều sự cải tiến nhưng lại có một sự nâng cấp khá giá trị

Trong Laravel 4, Blade sử dụng phong cách {{ và {{{ Ngoặc kép là phép echo thuần, và ngoặc ba là phép echo có filter (lọc)

Bây giờ thì cả hai loại ngoặc trên quy về sử dụng một phong cách duy nhất là

Trang 17

{!! $var !!}.

Một trường hợp sử dụng phổ biến cho các hàm helper của lớp Form:

{!! Form::open() !!}

 Các khái niệm về Contracts , Commands và Events

Contracts là một tập các interfaces (giao diện) mà định nghĩa các core services (dịch vụ cốt lõi) được cung cấp bởi framework Về cơ bản thì nó được dùng để mô tả các đặc điểm của framework

Commands (lệnh) và Events (sự kiện) đã được làm lại

Trang 18

Khi các route đang được phân tích từ các tập tin lưu trữ, không thực hiện route tập tin Khi đó có thể làm cho tất cả những thay đổi đối với routes.php và định tuyến các ứng dụng sẽ không thay đổi cho đến khi lưu trữ cache.

Middleware (trung gian)

Trung gian là một loạt các hàm bao xung quanh ứng dụng để trang trí theo yêu cầu và các phản hồi theo một cách nào đó mà không phải là một phần của logic ứng dụng

Trang 19

 Controller Method Injection – Bộ điểu khiển theo phương thức chia nhỏ

Laravel 4 đã hỗ trợ injection trong constructor của controller Trong Laravel

5, tính năng này đã tiến một bước xa hơn Có thể injection được mọi dependencies (phụ thuộc) trong các phương thức:

public function store(Request $request)hoặc

public function taxes(TaxCalculator $tax)

 Authentication Scaffolding – chứng thực khung

Luồng authentication (chứng thực) mặc định đã được thiết lập sẵn

Giới thiệu hai hàm chứng thực mới mới:

 AuthenticatesAndRegistersUsers

 ResetsPasswords

Hai hàm này có thể sử dụng để nhúng hoặc ghi đè các phương thức trong đó nhằm tăng tính tùy chỉnh cho ứng dụng

 Tính giao thiệp Socialite

Tính năng này là một sự tùy chọn, các gói tin của Laravel 5 làm cho việc tương tác với OAuth dễ dàng hơn Socialite hiện tại hỗ trợ Facebook, Twitter, Google, và GitHub

 Hệ thống Flysystem

Trang 20

Jonge Flysystem là một tập các lớp trừu tượng của hệ thống file, dễ dàng cho phép tương tác với hệ thống file trên máy tính hoặc hệ thống file từ xa (Amazon S3, Dropbox, Ftp ).

Hiện tại đã include các bộ chuyển đổi (adapters) sau:

 Local

 Amazon Web Services – S3

 Rackspace Cloud Files

 Dropbox

 Copy

 Ftp

 Sftp (through phpseclib)

 Zip (through ZipArchive)

 WebDAV (through SabreDAV)

 Azure Blob Storage

 NullAdapter

Cho phép dễ dàng tải một tập tin lên bất kỳ dịch vụ lưu trữ nào

 Dotenv – Environmental Detection – phát hiện môi trường

Vance Lucas đã tạo một gói tin có tên là PHP dotenv để tải các biến môi

Trang 21

trường từ các file env thông qua các hàm getenv(), $_ENV and $_SERVER.

Laravel 5 đã thêm gói tin này để quản lý biến môi trường đơn giản hơn Không còn cần phải chỉnh sửa file bootstrap/start.php và mảng $app-> detectEnvironment() nữa

Thay vì thế, sẽ thực hiện tạo một file env và dễ dàng tùy chỉnh nó với các thông tin cần sử dụng Sau đó trong bất kỳ file config nào chỉ cần sử dụng chúng như ví dụ sau:

'database' => env('DB_DATABASE’, 'myproddb'), Gói tin này còn hỗ trợ tùy ý tạo ra những tùy chỉnh cho các môi trường phát triển khác nhau như local, testing, develop

 Form Requests – mẫu yêu cầu

Các vấn đề về form validation – mẫu xác nhận hay form requests – mẫu yêu cầu đã được thảo luận rất nhiều Về cơ bản, auth và validation có thể được chuyển vào FormRequests và được chia nhỏ một cách dễ dàng

 Laravel Scheduler – laravel lịch trình

Laravel Scheduler được thiết kế để đơn giản hóa các tác vụ cần thực thi thông qua CRON ( một tiện ích cho phép thực hiện các tác vụ một cách tự động theo định kỳ ) Tất cả việc cần làm là chạy một commandline artisan schedule:run

và cron job -công việc sẽ được chạy mỗi phút

Một khi cron job của bạn được cài đặt, bạn có thể lên lịch cho bất kỳ tác vụ nào chạy, rất ngắn gọn và đơn giản Việc thiết lập Scheduler được thực hiện trong thư mục app/Console/Commands

Trang 22

Ví dụ:

$schedule->command('cache:clear') ->hourly()

->sendOutputTo($filePath) ->emailOutputTo('john@doe.com');

$schedule->call('SomeClass@method')->dailyAt('10:00');

 Hàm dd mới

Hàm yêu thích của rất nhiều người, và nay nó nhận được một nâng cấp lớn Symfony mới ra mắt thành phần VarDumper và Laravel bây giờ sử dụng nó ở nền dưới

 Tính năng Eloquent Attribute Casting

Attribute Casting cho phép chuyển đổi kiểu dữ liệu của các thuộc tính trong model sang một kiểu khác Ví dụ:

protected $casts = [ 'is_admin' => 'boolean', 'options' => 'array',];

Nó sẽ tự động chuyển is_admin về kiểu bool Các tùy chọn có thể được lưu trong json hoặc tự động chuyển đổi trong mảng khi trả ra

Tính năng này thực sự rất tiện lợi khi sử dụng Javascript và cần kết hợp chúng

Trang 23

 Bỏ trang báo lỗi Whoops và Các lệnh generator mới

Trang báo lỗi Whoops trong Laravel 4 đã bị loại bỏ trong Laravel 5 Tuy nhiên bạn vẫn có thể đưa nó vào lại nếu muốn

Artisan bây giờ mạnh mẽ hơn nhiều bằng việc đem tới rất nhiều lệnh như:make:command — Tạo mới một class Command

make:console — Tạo mới một Artisan command

make:controller — Tạo mới một controller

make:event — Tạo mới một class event

make:middleware — Tạo mới một class middleware

make:migration — Tạo mới một file migration

make:model — Tạo mới một class Eloquent model

make:provider — Tạo mới một class service provider

make:request — Tạo mới một class form request

event:generate — Tự động sinh các missing events và handlers

 Lựa chọn Laravel

Sau một thời gian tìm hiểm và tham khảo qua các trang web trên mạng xã hội Laravel chứng tỏ được sự vượt trội của mình so với các Framwork khác Theo thống kê gần đây nhất của GitHub về 15 PHP Framework miễn phí tốt nhất năm

2015 cho thấy

Trang 24

Hình 1.1 Biểu đồ cho thấy mức độ yêu thích phổ biến và hiệu suất làm việc

Laravel 5.2 là phiên bản mới nhất của Laravel đưa ra khi em bắt đầu nhận đề tài Trước khi làm đề tài em đã nhận thấy được mặt tích cực và khả năng Laravel 5.2 đưa ra hỗ trợ để em có thể hoàn thành bài demo của mình với các ưu điểm sau:

 Với những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng , một hệ thống đóng gói modular (khối kết cấu) và quản lý gói phụ thuộc,

Trang 25

nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ, nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng

 Laravel đã bắt đầu được nhiều lập trình viên Việt Nam hướng tới với những khả năng mà laravel đem lại Nhận thấy có khả năng tìm hiểu và học tập tuy không nhiều

 Laravel 5.* đã thực hiện lược bỏ một số các tính năng không cần thiết, tuy nhiên không bỏ hẳn mà được xem như một vendor (cung cấp) bổ sung tính năng cho phiên bản Đặc biệt là Laravel 5 đã thực hiện lược bỏ tập hợp html

"laravelcollective/html": "~5.0" (cung cấp cách tạo định dạng html khác theo hướng đối tượng) và quay về xây dựng theo html thông thường

 Laravel 5.* thực hiện đặt toàn bộ các file Models trong thư mục /app và đặt file điều hướng route cũng như thư mục /Controller hoàn toàn bên trong thư mục /Http dễ dàng cho việc kiểm soát cũng như quản lý code

 Laravel 5* đặt toàn bộ nội dung phần hiển thị và định dạng ngôn ngữ cho website bên trong thư mục /resources thuận tiện cho việc quản lý các trang của website và định dạng lại ngôn ngữ một cách nhanh chóng

 Cũng như các Framework khác, Laravel cho phép xây dựng bộ thư viện riêng và cho phép bất cứ đâu trong hệ thống có thể gọi tới và sử dụng

Những đặc điểm quan trọng này là cơ sở để nhóm phát triển ứng dụng lựa chọn Laravel làm công cụ chung để xây dựng hệ thống quản lý của bộ môn

Trang 26

Chương 2.

KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG CÔNG TÁC ĐÀO

TẠO CHO BỘ MÔN MẠNG VÀ TRUYỀN THÔNG

 2.1 Nhiệm vụ của đồ án

Để hoàn thành mục tiêu của đồ án, ta phải tiến hành các công việc sau:

 Trước hết cần phải tìm hiểu cơ sở lý luận cho việc xây dựng một hệ thống thông tin

 Tìm hiểu ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu

 Tiến hành xây dựng chương trình

 Đánh giá chương trình: tiến hành chạy thử rồi đánh giá

 2.2 Kết quả dự kiến đạt được

Nắm được kỹ thuật thiết kế web, từ đó xây dựng được chương trình demo và báo cáo kết quả đã đạt được

 2.3 Khảo sát thực tế

 Bộ môn:

 Quản lý chương trình đào tạo: Bộ môn cập nhật thông tin chương trình đào tạo theo quyết định của hội đồng khoa học (môn học, số tín chỉ, học kỳ)

do văn phòng khoa gửi Quản lý các thông tin liên quan đến môn học (ngân hàng

đề, hình thức thi, thời gian thi, giáo viên phụ trách môn học, v.v )

Trang 28

Hình 2.1 Bảng dữ liệu về chương trình đào tạo

 Quản lý hồ sơ giảng dạy:

 Hồ sơ giảng dạy bao gồm: Dùng chung theo môn học (bài giảng, đề cương, bài tập thực hành/thảo luận, đề tài bài tập lớn, tài liệu tham khảo); dùng cho cá nhân (giáo án, slide)

 Giảng viên chịu trách nhiệm về môn giảng dạy, chịu trách nhiệm cùng với nhóm giáo viên chuyên môn xây dựng các hồ sơ giảng dạy dùng chung Mỗi giáo viên tự chịu trách nhiệm xây dựng các hồ sơ giảng dạy cá nhân Bản mềm của hồ sơ giảng dạy (loại dùng chung) sẽ được lãnh đạo bộ môn quản lý tập trung theo môn học Bản mềm của hồ sơ giảng dạy cá nhân sẽ được quản lý theo từng giáo viên

Trang 29

Hình 2.2 Bảng dữ liệu hồ sơ giảng dạy

 Quản lý phân công giảng dạy: Bộ môn phân công giảng dạy theo kế hoạch của phòng đào tạo Kế hoạch đào tạo được phòng đào tạo xây dựng dựa trên chương trình đào tạo của các ngành và đưa về khoa vào đầu năm học Ngoài

ra, trong năm học phòng đào tạo liên tục mở các lớp học cải thiện và kế hoạch tổ chức các lớp học cũng gửi về khoa Văn phòng khoa chuyển các thông tin này về

Trang 30

lớp học phần sẽ mở Văn phòng khoa sẽ tổng hợp phân công của các bộ môn và chuyển lại phòng đào tạo để thực hiện các bước tiếp theo Thông tin phân công giảng dạy có thể thay đổi cho đến trước khi phòng đào tạo lập lịch giảng dạy cho giảng viên



Hình2.3 Bảng dữ liệu phân công giảng dạy

 Phân công phụ trách môn học: Đối với mỗi môn học, bộ môn phân công một giảng viên chịu trách nhiệm và một nhóm giáo viên chuyên môn cùng phụ trách Nhóm chuyên môn cùng xây dựng/chỉnh lý các tài liệu giảng dạy dùng chung theo yêu cầu của bộ môn Tất cả bản mềm của tài liệu giảng dạy sau khi được bộ môn phê duyệt sẽ được lưu trữ tập trung và do lãnh đạo bộ môn quản lý

Trang 31

để giảng dạy theo từng khóa, từng lớp, kiểu học của từng môn học, số giờ học, số sinh viên tối đa một lớp.

 Xem môn chịu trách nhiệm giảng dạy: Bộ môn gửi thông tin các môn

mà giảng viên sẽ chịu trách nhiệm

 Giảng viên là người chịu trách nhiệm chính với môn học: giảng viên xem tên môn học và nhóm các giáo viên cùng chịu trách nhiệm với mình Khi đó, giảng viên chịu trách nhiệm chính là người nhận môn học, ký xác nhận, nộp lên bộ môn và chịu trách nhiệm về môn học đó

 Nhóm giảng viên thực hiện làm đề cương, bài giảng, ngân hàng đề, in,.v v…

Mỗi giảng viên chịu trách nhiệm một hoặc nhiều môn học Giảng viên chịu

Trang 32

trách nhiệm làm đề cương, bài giảng, ngân hàng đề, bài tập thảo luận,… được phân công, thời gian nộp đề cương, bài giảng.

 Phân công phụ trách môn học: Bộ môn gửi thông tin về môn học cho một nhóm giảng viên và đưa ra giảng viên nào chịu trách nhiệm chính trong môn học đó để làm bài giảng, đề cương, bài thảo luận, tài liệu tham khảo

 Quản lý phân công giảng dạy: Bộ môn phân công giảng dạy môn học (lớp học phần,tên môn, v v…) cho các giảng viên Bộ môn có thể thêm, sửa, xóa thông tin môn học đã phân công

 Quản lý hồ sơ giảng dạy: Khi các giảng viên gửi tài liệu về các môn học chịu trách nhiệm làm đề cương, bài giảng, bài thảo luận, tài liệu tham khảo lên cho bộ môn, bộ môn sẽ có nhiệm vụ lưu trữ những tài liệu này

 Quản lý thông tin cá nhân của giảng viên: Khi giảng viên cập nhật thông tin cá nhân lên website, bộ môn có quyền xem, sửa, xóa các thông tin cá nhân Lấy thông tin cá nhân

Trang 33

 Giảng viên: Giảng viên thực hiện các chức năng:

 Xem phân công giảng dạy: Giáo viên sẽ xem được các môn học được phân công giảng dạy trong kỳ học hiện tại hoặc sắp tới Ở chức năng này, giáo viên chỉ được quyền xem thông tin chứ không có quyền sửa, xóa thông tin các môn học

 Xem môn chịu trách nhiệm giảng dạy: Bộ môn sẽ gửi thông tin môn học giảng viên chịu trách nhiệm làm bài giảng, đề cương, bài thảo luận, tài liệu tham khảo,… Giảng viên biết được mình là chịu trách nhiệm chính hay chịu trách nhiệm phụ, biết được các giảng viên cùng chịu trách nhiệm môn học này

 Thời khóa biểu: ở chức năng này, giảng viên sẽ xem được các công việc của mình theo tuần liên quan đến công việc ở trường mà bộ môn phân công

 Cập nhật thông tin cá nhân: Giảng viên truy cập vào phần thông tin cá nhân và thêm hoặc sửa thông tin cá nhân của mình ở đó và lưu lại

Trang 34

 2.5.2 Danh sách UseCase

Bảng 2.2 Danh sách UseCase

Đăng nhập Usecase cho phép người dùng đăng nhập vào

5 Quản lý hồ sơ giảng dạy Use case thêm, sửa, xóa hồ sơ môn học

6 Quản lý thông tin Use case cho phép thêm, sửa, xóa thông tin

7 Xem phân công giảng

Trang 36

Hình 2.5 Biểu đồ Usecase tổng quát

 2.5.4 Mô tả và biểu đồ tuần tự từng Usecase

 Người dùng đăng nhập vào hệ thống

 USE CASE ĐĂNG NHẬP

 Hệ thống kiểm tra Tên đăng nhập và Mật khẩu ở DB

 Đăng nhập thành công, hệ thống chuyển về trang Quản lý

Ngoại lệ Tên đăng nhập hoặc Mật khẩu sai: hệ thống thông báo đăng

nhập không thành công và yêu cầu nhập lại

Trang 37

Hình 2.6 Biểu đồ tuần tự cho Usecase Đăng nhập

 Nguời dùng đăng xuất khỏi hệ thống

 USE CASE ĐĂNG XUẤT

Mô tả Cách Actor đăng xuất khỏi hệ thống

Điều kiện tiên

quyết Actor đang ở trong hệ thống

Điều kiện bài Actor đăng xuất ra khỏi hệ thống

Trang 38

Hoạt động

 Actor chọn chức năng Đăng xuất

 Hệ thống ngắt kết nối và tự động chuyển về trang đăng nhập



Hình 2.7 Biểu đồ tuần tự cho Usecase Đăng xuất

Trang 39

QUẢN LÝ CHƯƠNG TRÌNH ĐÀO TẠO

Ngày đăng: 09/12/2016, 01:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Phạm Hữu Khang, Xây dựng ứng dụng Web bằng PHP & MySQl, Nhà xuất bản Mũi Cà Mau, 2003 Sách, tạp chí
Tiêu đề: Xây dựng ứng dụng Web bằng PHP & MySQl
Nhà XB: Nhà xuất bản Mũi Cà Mau
[2]. Nguyễn Trường Sinh, Sử dụng PHP & MySQL thiết kế Web động, Nhà xuất bản Thống Kê, 2005 Sách, tạp chí
Tiêu đề: Sử dụng PHP & MySQL thiết kế Web động
Nhà XB: Nhà xuất bản Thống Kê
[4]. Đinh Xuân Lâm, Những bài thực hành HTML, Nhà xuất bản Thống Kê, 2003 Sách, tạp chí
Tiêu đề: Những bài thực hành HTML
Nhà XB: Nhà xuất bản Thống Kê
[5]. Quang Bình-Phương Hà, Thiết kế và xuất bản Web với HTML, Nhà xuất bản Thống Kê, 2001 Sách, tạp chí
Tiêu đề: Thiết kế và xuất bản Web với HTML
Nhà XB: Nhà xuất bản Thống Kê
[3]. TS Dương Kiều Hoa, Tôn Thất Hòa, Phân tích và thiết kế HTTT theo UML Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Biểu đồ cho thấy mức độ yêu thích phổ biến và hiệu suất làm việc - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 1.1. Biểu đồ cho thấy mức độ yêu thích phổ biến và hiệu suất làm việc (Trang 24)
Hình 2.2. Bảng dữ liệu hồ sơ giảng dạy - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 2.2. Bảng dữ liệu hồ sơ giảng dạy (Trang 29)
Hình 2.4. Bảng dữ liệu về phân công phụ trách môn học - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 2.4. Bảng dữ liệu về phân công phụ trách môn học (Trang 31)
Hình 2.9. Biểu đồ tuần tự cho Usecase Thêm chương trình đào tạo mới - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 2.9. Biểu đồ tuần tự cho Usecase Thêm chương trình đào tạo mới (Trang 42)
Hình 2.11. Biểu đồ tuần tự cho Usecase Xóa chương trình đào tạo - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 2.11. Biểu đồ tuần tự cho Usecase Xóa chương trình đào tạo (Trang 45)
Hình 2.12.  Usecase cập nhật danh sách môn học - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 2.12. Usecase cập nhật danh sách môn học (Trang 47)
Hình  2.20. Biểu đồ tuần tự cho Usecase xem phân công giảng dạy - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
nh 2.20. Biểu đồ tuần tự cho Usecase xem phân công giảng dạy (Trang 60)
Hình 2.22.  Biểu đồ tuần tự cho Usecase thông tin cá nhân - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 2.22. Biểu đồ tuần tự cho Usecase thông tin cá nhân (Trang 64)
Hình 3.2. Giao diện nhập dữ liệu - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 3.2. Giao diện nhập dữ liệu (Trang 67)
Hình 3.5. Giao diện chưa phân công giảng dạy - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 3.5. Giao diện chưa phân công giảng dạy (Trang 69)
Hình 3.6. Giao diện đã phân công giảng dạy - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 3.6. Giao diện đã phân công giảng dạy (Trang 70)
Hình 3.7. Giao diện trang sửa tên lớp học phần - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 3.7. Giao diện trang sửa tên lớp học phần (Trang 71)
Hình 3.7. Phân công phụ trách môn - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 3.7. Phân công phụ trách môn (Trang 72)
Hình 3.8. Quản lý hồ sơ giảng dạy - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 3.8. Quản lý hồ sơ giảng dạy (Trang 73)
Hình 3.9. Giao diện xem chương trình đào tạo - Xây dựng website quản lý công tác đào tạo cho bộ môn mạng  truyền thông   khoa công nghệ thông tin
Hình 3.9. Giao diện xem chương trình đào tạo (Trang 74)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w