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

Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông

61 763 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 61
Dung lượng 1,74 MB

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

Nội dung

Công việc quản lý lịch giảng dạy và sắp xếp lịch thi là một công việc thường xuyên trong mỗi kì học của giảng viên và trưởng bộ môn.. Với mục tiêu số hóa dữ liệu lịch giảng dạy và lịch c

Trang 1

LỜI CẢM ƠN

Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo trong trường Đại học Công Nghệ Thông Tin Và Truyền Thông nói chung và các thầy cô giáo trong khoa Công Nghệ Thông Tin, bộ môn Công Nghệ Phần Mềm nói riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua

Đặc biệt em xin gửi lời cảm ơn đến cô giáo ThS Nguyễn Thu Phương

đã tận tình hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm thực tập tốt nghiệp Trong thời gian làm việc với cô, em không những tiếp thu thêm nhiều kiến thức bổ ích từ cô mà còn học được tinh thần làm việc, thái độ tìm tìm hiểu học tập nghiêm túc, hiệu quả Đây là những điều rất cần thiết cho em trong quá trình học tập và công tác sau này

Công việc quản lý lịch giảng dạy và sắp xếp lịch thi là một công việc thường xuyên trong mỗi kì học của giảng viên và trưởng bộ môn Hiện nay việc quản lý bằng file excel tải từ website của nhà trường là khó khăn, giao diện không trực quan Bên cạnh đó việc tìm kiếm giảng viên không trùng lịch dạy để sắp xếp coi thi nếu làm bằng tay là một công việc khó khăn đòi hỏi thời gian lớn Chính vì vậy nhu cầu cần thiết một công cụ để hỗ trợ việc quản

lý lịch giảng dạy và sắp xếp lịch coi thi là vô cùng cần thiết

Bên cạnh đó việc sử dụng dữ liệu từ file excel là khó khăn để phát triển các ứng dụng hỗ trợ Với mục tiêu số hóa dữ liệu lịch giảng dạy và lịch coi thi của giảng viên bằng cơ sở dữ liệu nhằm mục đích cung cấp dữ liệu cho phát triển các ứng dụng sử dụng dữ liệu lịch giảng dạy của giảng viên

Với mục tiêu và lý do như trên nên em chọn đề tài “Xây dựng hệ thống

hỗ trợ phân công, quản lý lịch cho giáo viên trường Đại Học Công Nghệ Thông Tin và Truyền Thông” Em hi vọng trong quá trình tìm hiểu xây

dựng đề tài có thể giúp bản thân có thêm nhiều kiến thức bổ ích phục vụ cho

Trang 2

quá trình học tập và làm việc sau này Trong quá trình làm đề tài còn nhiều thiếu xót và hạn chế em mong nhận được sự đóng góp ý kiến của quý thầy cô

để em có thể hoàn thành tốt nhất mọi công việc

Do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng đề tài đồ án tốt nghiệp của em khó tránh khỏi những thiếu sót Em rất mong nhận được những ý kiến đóng góp của quý Thầy Cô và các bạn để đồ án tốt nghiệp của

em được hoàn thiện hơn

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

Thái nguyên, ngày tháng năm 2016

Sinh viên

Bùi Văn Hiếu

Trang 3

LỜI CAM ĐOAN

Em xin cam đoan rằng đây là bài đồ án tốt nghiệp của em, được sự hướng dẫn từ Giáo viên Th.S Nguyễn Thu Phương – giảng viên trường đại học Công nghệ thông tin và truyền thông Thái Nguyên, Đại học Thái Nguyên, các nội dung nghiên cứu và kết quả trong đề tài này là trung thực và không sao chép từ các báo cáo thực tập và đồ án khác trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính bản thân thu thập từ các nguồn khác nhau đã được chỉ dẫn trong tài liệu tham khảo Nếu có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm trước hội đồng

Thái nguyên, ngày tháng năm 2016

Sinh viên

Bùi Văn Hiếu

Trang 4

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 3

MỤC LỤC 4

LỜI NÓI ĐẦU 7

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 8

1.1 Đặt vấn đề 8

1.1.1 Mục đích xây dựng đề tài 8

1.1.2 Phạm vi đề tài 8

1.2 Cở sở lý thuyết 8

1.2.1 Cakephp Framwork 8

1.2.2 Ngôn ngữ HTML 13

1.2.3 Ngôn ngữ Javascript 15

1.2.4 Ngôn ngữ PHP 16

1.2.5 Hệ quản trị CSDL MySQL 20

1.2.6 Công nghệ Responsive Boostrap 21

1.2.7 Json 27

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 28

2.1 Khảo sát hệ thống 28

2.1.1 Thực trạng việc phân công của bộ môn CNPM 28

2.1.2 Phần mềm quản lý lịch hiện nay 29

2.1.3 Mô tả hệ thống 29

2.1.4 Một số bảng biểu kèm theo 30

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

Trang 5

2.3 Các yêu cầu chức năng của hệ thống 31

2.4 Phân tích thiết kế 32

2.4.1 Biểu đồ Use case 32

2.4.2 Biểu đồ cộng tác 37

2.4.3 Biểu đồ trình tự 40

2.4.4 Biểu đồ lớp 44

2.4.5 Thiết kế cơ sở dữ liệu 45

2.4.6 Thiết kế API 46

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH 48

3.1 Giao diện trang đăng nhập 48

3.2.Giao diện trang import lịch giảng dạy 49

3.3.Giao diện trang xem lịch giảng dạy 49

3.4 Giao diên trang import kế hoạch thi 50

3.5.Giao diện trang sắp xếp lịch thi 50

3.6.Giao diện đăng nhập trang quản trị 51

3.7 Giao diện menu quản trị 51

3.8 Ứng dụng sử dụng api – ICTU SOCIAL 53

KẾT LUẬN 58

TÀI LIỆU THAM KHẢO 60

Trang 6

DANH MỤC HÌNH

Hình 2.1 cấu trúc thư mục của cakephp 10

Hình 2 2 Sơ đồ hoạt động của cakephp 11

Hình 2.3: Cấu trúc thư mục của bootstrap 23

Hình 2.4: Ví dụ về Bootstrap 24

Hình 2.5: Ví dụ về Bootstrap 26

Hình 3.1: Lịch giảng dạy được sử dụng mẫu 30

Hình 3.2: Lịch thi được sử dụng mẫu 31

Hình 3.3: Biểu đồ use case user 33

Hình 3.4: Biểu đồ user tài khoản trưởng bộ môn 34

Hình 3.5: Biểu đồ use case Admin 35

Hình 3.6: Biểu đồ UC đăng nhập 37

Hình 3.7: Biểu đồ Use case import lịch giảng dạy 38

Hình 3.8: Biểu đồ Use case xem lịch giảng dạy 38

Hình 3.9: Biểu đồ Use case Import kế hoạch thi 38

Hình 3.10: Biểu đồ Use case sắp xếp lịch thi 39

Hình 3.12: Biểu đồ trình tự đăng nhập 40

Hình 3.13: Biểu đồ trình tự import lịch giảng dạy 41

Hình3.14: Biểu đồ trình tự xem lịch giảng dạy 41

Hình 3.15: Biểu đồ trình tự import kế hoạch thi 42

Hình 3.17: Biểu đồ trình tự xem lịch thi 43

Hình 3.18: Biểu đồ lớp 44

Hinh 3.19 Thiết kế cơ sở dữ liệu 45

Hình 4.1: Giao diện trang đăng nhập 48

Hình 4.4: Giao diện import kế hoạch thi 50

Hình 4.5: Giao diện sắp xếp lịch thi 51

Hình 4.6: Giao diện đăng nhập trang quản lý 51

Trang 7

LỜI NÓI ĐẦU Tổng quan về vấn đề nghiên cứu

Lý do chọn đề tài

Dựa trên tình hình thực tế về việc quản lý giảng viên và phân công coi thi

ở bộ môn công nghệ phần mềm Hiện tại việc giảng viên tự quản lịch cá nhân thông qua giấy tờ hoặc quản lý file excel trên máy tính Việc thay đổi lịch trong quá trình giảng dạy là rất khó và khi phân công thi vẫn còn tính trạng trùng lịch thi và khó khăn cho người phân công Hiện tại có một số hệ thống quản lý nhưng chưa đáp ứng được nhu cầu thực tế

Mục tiêu nghiên cứu

Mục tiêu của đề tài là xây dựng ra hệ thống quản lý lịch giảng viên, hỗ trợ tích cực trong quá trình phân công lịch thi

Giúp giảng viên xem và cập nhật lịch cá nhân nhanh chóng tiện lợi Cán bộ phân công coi thi được hỗ trợ tiện lợi, dễ dàng, đảm bảo không trùng lịch của giảng viên

Trang 8

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Đặt vấn đề

Từ thực tế quá trình quản lý lịch cá nhân của giảng viên Sự trùng chéo khi phân công coi thi và khó khăn khi xem lịch giảng dạy của giảng viên

Để cho quá trình quản lý lịch cá nhân trở nên đơn giản và số hóa hỗ trợ giảng viên trong quá trình cập nhật và quản lý lịch của bản thân em đưa ra

quyết định chọn đề tài: “Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường Đại Học Công Nghệ Thông Tin và Truyền Thông” 1.1.1 Mục đích xây dựng đề tài

Xây dựng hệ thống website cho phép import và quản lý lịch giảng dạy của giảng viên Từ dữ liệu về lịch giảng dạy của giảng viên hỗ trợ quá trình phân công lịch thi đảm bảo không bị trùng lặp

1.1.2 Phạm vi đề tài

Hệ thống áp dụng cho trường Đại Học Công Nghệ Thông Tin và Truyền Thông và các trường đại học sử dụng chung mấu biểu trong khối đại học Thái Nguyên

1.2 Cở sở lý thuyết

1.2.1 Cakephp Framwork

CakePHP là một Framework cho php Mục đích của nó là cung cấp một framework cho người sử dụng php phát triển những ứng dụng web nhanh, mạnh mẽ, linh họat và điều quan trọng là CakePHP là một OpenSource Để sử dụng nó, yêu cầu người làm phải biết những kiến thức như: Cơ bản về PHP và HTML, Kiến trúc MVC, Lập trình hướng đối tượng

Một số tính năng của CakePHP :

• Nguồn mở, miễn phí, có cộng đồng sử dụng và hỗ trợ rộng lớn

• Tương thích PHP4 và PHP5

Trang 9

• Mô hình MVC

• Đa ngôn ngữ

• Sinh code tự động

• Caching

• Phân quyền (ACL)

• Kiểm tra ràng buộc dữ liệu

• Xây dựng nhiều thư viện hỗ trợ cho View như: Ajax, HTML Form, Javascript…

• Xây dựng nhiều thư viện hỗ trợ cho Controller: Email, Security,

Session, Cookies, Request Handling

• Dễ dàng viết thêm thư viện hỗ trợ, liên kết với ứng dụng khác (thông qua vendors)

• Đa giao diện

• Hỗ trợ nhiều hệ quản trị CSDL

Cấu trúc thư mục CakePHP

Sau khi tải và giải nén CakePHP, bạn có thể thấy các files và thư mục

app: là nơi chứa mã nguồn ứng dụng của bạn (phần này quang

trọng)

cake: là nơi chứa mã nguồn của CakePHP Bạn không nên chỉnh

sửa các files trong thư mục này nếu bạn không hiểu rõ về chúng

vendors: chứa ứng dụng của bên thứ 3, phục vụ cho ứng dụng của

bạn

plugins: chứa các thành phần mở rộng dùng cho ứng dụng

Trang 10

Hình 2.1 cấu trúc thư mục của cakephp Ghi chú :

Config Chứa file cấu hình hệ thống

Controllers Chứa các controller và component

Locale Chứa file ngôn ngữ , phục vụ cho ứng dụng đa ngôn ngữ

Molels Chứa file Model và behavor, datasource

Plugins Chứa các gói mở rộng

TmpThư mục tạm của ứng dụng

Vendors Chứa ứng dụng của bên thứ 3

Views Chứa các file giao diện

Webroot Chứa tài liệu (hình ảnh,file ), file CSS , file javascript…

Kiến trúc CakePHP

CakePHP hoạt động theo mô hình MVC

Trang 11

Mô hình này chia ứng dụng ra làm 3 phần chính:

• Model

• View

• Controller

Cách hoạt động chung của CakePHP trên mô hình MCV

Hình 2 2 Sơ đồ hoạt động của cakephp

Ví dụ về mô hình MVC căn bản :

Ta có liên kếthttp://abc.com/product/view/10

- User A click vào 1 liên kết có dạnghttp://abc.com/products/view/10thì :

 Trình duyệt sẽ gởi yêu cầu tới server

Bộ phận điều vận Dispatcher(một thành phần của CakePHP) kiểm tra phần tử products/view/10và gởi yêu cầu tới controller tương

- Tham số thứ 1 : ta có Controllerproduct

- Tham số thứ 2 : ta có view là tên của 1 action của Controllerproductsẽ được

gọi để thực thi 1 hành động nào đó

- Tham số thứ 3 : ta có 1 giá trị 10, thông thường tham số thứ 3 có thểm có hoặc không, tùy vào mục đích sử dụng, ở đây tôi có tham số = 10 để xem sản

phẩm có id = 10

Trang 12

- Giải nén, cho vào thư mục của web server

- Trong ví dụ này thư mục websever gốc là :C://xampp/htdocs

- Vậy ta có cấu trúc như sau :C://xampp/htdocs/cakephp

Sau khi cài đặt thành công truy cập vào đường dẫn như hình

Trang 13

1.2.2 Ngôn ngữ HTML

HTML (viết tắt từ HyperText Markup Language) là một ngôn ngữ đánh dấu siêu văn bản, được thiết kế ra để xây dựng các trang web.Vậy thế nào là ngôn ngữ đánh dấu siêu văn bản? Ta hãy cùng xem xét từng khía cạnh một:

Siêu văn bản (HyperText): Như ta đã biết, liên kết siêu văn bản là một từ hay một câu trong trang Web dùng để chỉ đến trang Web khác Khi nhấn chuột lên một trong các liên kết này, trình duyệt web (như Netscape Navigator hoặc Internet Explorer) sẽ đưa ta tức khắc đến trang Web kia mà không cần hỏi han

gì Vì những liên kết siêu văn bản này thật sự là tính năng đặc trưng của World Wide Web, các trang Web thường được biết như là những tài liệu siêu văn bản

Vì thế, HTML có từ siêu văn bản trong tên của nó

Đánh dấu (Markup): Có từ điển định nghĩa markup là các chỉ dẫn chi tiết về kiểu dáng được ghi trên bản viết tay để xếp chữ in Như vậy, chúng ta

có thể hiểu đó là các lệnh chi tiết về kiểu dáng được đánh vào tài liệu văn bản

để đưa lên WWW

Nói chung, HTML tồn tại như là các tập tin văn bản chứa trên các máy tính nối vào mạng Internet Các file này có chứa thẻ đánh dấu và thường được

Trang 14

truyền đi trên mạng internet thông qua giao thức mạng HTTP Sau đó thì phần HTML của chúng sẽ được hiển thị thông qua một trình duyệt web, một loại phần mềm trực quan đảm nhiệm công việc đọc văn bản của trang cho người

sử dụng

Cấu trúc của một tài liệu HTML

Các tập tin HTML luôn bắt đầu bằng thẻ <HTML>.Thẻ này không làm

gì khác ngoài nhiệm vụ báo cho trình duyệt Web biết rằng nó đang đọc một tài liệu có chứa các mã HTML.Tương tự, dòng cuối trong tài liệu định dạng HTML luôn luôn là thẻ </HTML>, có tác dụng thông báo sự kết thúc của văn bản HTML với trình duyệt

Chi tiết kế tiếp trong catalog thẻ HTML dùng để chia tài liệu thành hai phần: đầu và thân

Phần đầu giống như lời giới thiệu cho trang Các trình duyệt Web dùng phần đầu này để thu nhặt các loại thông tin khác nhau về trang Để xác định phần đầu, ta sử dụng thẻ <HEAD> và thẻ </HEAD> ngay sau thẻ <HTML> Mặc dù ta có thể đặt một số chi tiết bên trong phạm vi phần đầu này, nhưng phổ biến nhất là tên trang Nếu có ai đó xem trang này trong browser, thì tên trang sẽ xuất hiện trong dải tên của cửa sổ browser Để xác định tên trang, ta đặt đoạn văn bản tên đó giữa các thẻ <TITLE> và </TITLE>

Phần thân là nơi nhập vào các văn bản sẽ xuất hiện trên trang Web lẫn các thẻ khác quy định dáng vẻ của trang Để xác định phần thân, ta đặt các thẻ

<BODY> và </BODY> sau phần đầu (dưới </HEAD>)

Dưới đây là cấu trúc cơ bản của một trang web định dạng HTML:

<HTML>

<HEAD>

<TITLE> tên trang <TITLE>

Các thẻ tiêu đề khác

Trang 15

Javascript là ngôn ngữ dưới dạng script có thể gắn với các file HTML

Nó không được biên dịch mà được chương trình duyệt diễn dịch.Không giống Java phải chuyển thành mã để trình duyệt biên dịch, trình duyệt đọc Javascript dưới dạng mã nguồn Chính vì vậy, ta có thể dễ dàng học Javascript qua các

ví dụ bởi ta có thể thấy cách sử dụng Javascript trên các trang web

Javascript có khả năng đáp ứng các sự kiện như tải hay loại bỏ các form.Khả năng này cho phép Javascript trở thành ngôn ngữ script động

Giống với HTML và Java, Javascript được thiết kế độc lập với hệ điều hành.Nó có thể chạy trên bất kì hệ điều hành nào có hỗ trọ Javascript Ngoài

ra, Javascript còn giống Java ở khía cạnh an ninh là không thể đọc và viết vào file của người dùng

Cũng giống như C, JavaScript không có bộ xử lý xuất/nhập (input/output) riêng.Trong khi C sử dụng thư viện xuất/nhập chuẩn, JavaScript dựa vào phần mềm ngôn ngữ được gắn vào để thực hiện xuất/nhập

Trang 16

Hiện nay, JavaScript được sử dụng rất nhiều trong việc thiết kế trang web động và một số hiệu ứng Hình ảnh thông qua DOM Ngoài ra, JavaScript còn được dùng để thực hiện một số tác vụ không thể thực hiện được với chỉ HTML như kiểm tra thông tin nhập vào, tự động thay đổi Hình ảnh, Ở Việt Nam, JavaScript còn được ứng dụng để làm bộ gõ tiếng Việt Tuy nhiên, mỗi trình duyệt áp dụng JavaScript khác nhau và không tuân theo chuẩn W3C DOM, do đó trong rất nhiều trường hợp lập trình viên phải viết nhiều phiên bản của cùng một đoạn mã nguồn để có thể hoạt động trên nhiều trình duyệt

1.2.4 Ngôn ngữ PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") 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

Ngày nay, PHP đã được sử dụng rộng rãi và phổ biến nhất để xây dựng các các trang web động Chúng ta có thể thấy trên nhiều diễn đàn, các cổng thông tin Portal, các website cá nhân được thiết kế bằng mã nguồn mở của PHP Vì thế mà PHP đang có một chỗ đứng vững chắc trong thế giới các ngôn ngữ lập trình web

Xuất phát từ thực tế trên, đặc biệt là những ưu thế mà PHP đem lại, em

đã quyết định lựa chọn ngôn ngữ này để thực hiện đề tài xây dựng website du lịch mà em đã nghiên cứu trong quá trình thực tập

Trang 17

a) Cú pháp căn bản của PHP

Như đã trình bày, PHP dựa trên cú pháp của ngôn ngữ lập trình C nên về

cơ bản cú pháp của nó tương tự như C Ngoài ra, để lập trình bằng PHP ta cần lưu ý mấy điểm sau:

 Cuối mỗi câu lệnh phải có dấu ;

 Biến trong PHP có tiền tố là $

 Khai báo biến không có kiểu dữ liệu

 Khai báo biến có phân biệt chữ hoa và chữ thường

 Nên có giá trị khởi tạo cho biến khai báo

 Mỗi phương thức đều được bắt đầu bằng dấu { và kết thúc bằng }

 Phải có ghi chú cho mỗi feature mới

 Để giải thích cho mỗi ghi chú ta dùng dấu // hoặc #

 Sử dụng /* để mở đầu và */ kết thúc cho mỗi đoạn ghi chú

b) Kiểu dữ liệu

PHP hỗ trợ 8 kiểu dữ liệu chính:

 4 kiểu dữ liệu vô hướng: boolean, integer, float (double), string

 2 kiểu dữ liệu tổ hợp: array, object

 2 kiểu dữ liệu đặt biệc: resource, NULL

c) Biến

Một biến trong PHP được bắt đầu bằng ký tự $ và đi theo ngay sau đó là

tên của biến Ví dụ: $a: biến có tên là a

d) Câu lệnh

Do cú pháp của PHP dựa trên ngôn ngữ C nên các câu lệnh điều khiển của

nó cũng hoạt động tương tự như trong C Các câu lệnh điều khiển trong PHP:

Trang 18

 If (điều kiện) {câu lệnh;}

 If (điều kiện) {câu lệnh;} else {câu lệnh;}

 If (điều kiện) {câu lệnh;} elseif {câu lệnh;}

 For (biểu thức 1; biểu thức 2; biểu thức 3) câu lệnh;

 While (điều kiện)

 Do … while (điều kiện)

e) Hàm

Hàm do người dùng định nghĩa

Trong lập trình, có một số đoạn mã được dùng nhiều lần ở nhiều nơi khác nhau trong chương trình Sẽ rất phiền và khó sửa lỗi nếu như ta phải viết lặp đi lặp lại 1 đoạn mã đó ở nhiều nơi PHP cung cấp một giải pháp đó là hàm do người dùng định nghĩa Ta có thể đưa đoạn mã đó vào trong 1 hàm, và ở chỗ nào cần dùng đoạn mã đó ta chỉ cần gọi hàm, khi cần sửa đổi, ta chỉ cần sửa đổi

1 chỗ duy nhất là nội dung của hàm chứ không cần phải sửa ở nhiều nơi trong chương trình

Cú pháp để tạo 1 hàm do người dùng định nghĩa như sau:

function tênHàm($tham_số1, $tham_số2, , $tham _sốn) {

Trang 19

Khi tham số của hàm không được truyền, nó sẽ nhận giá trị mặc định Ta

có thể gán giá trị mặc định cho tham số của hàm:

Trang 20

1.2.5 Hệ quản trị CSDL MySQL

MySQL là hệ quản trị CSDL mã nguồn mở phổ biến nhất thế giới.Đây

là hệ CSDL dùng cho các ứng dụng web vừa và nhỏ Tuy không phải là hệ quản trị CSDL lớn nhưng MySQL cũng có trình giao diện trên Wingdows hay Linux, cho phép người dùng thao tác các hành động liên quan đến CSDL

Cũng giống như các CSDL khác, khi làm việc với CSDL MySQL, ta đăng kí kết nối, tạo CSDL, quản lý người dùng, phân quyền sử dụng, thiết kế đối tượng table của CSDL và xử lý dữ liệu

Để thao tác trên CSDL, ta có thể dùng trình quản lý dạng đồ hoạ hay dùng dòng lệnh (Command line) Tất nhiên, dùng hệ quản trị có hỗ trợ trình giao diện đồ hoạ thì tiện lợi hơn.Tuy vậy, dù dùng dưới Hình thức nào thì mục đích cũng là quản lý và thao tác trên CSDL

lệnh cơ bản của MySQL

 Hiển thị tất cả database trong mysql server:

SHOW DATABASES;

Tạo một database: CREATE DATABASE {tên database};

Ví dụ tạo một database có tên là "champiblog" như sau:

create database champiblog;

Xóa một database: DROP DATABASE {tên database};

Ví dụ khi muốn xóa database có tên là "champiblog"

DROP DATABASE champiblog;

Tạo một bảng: CREATE TABLE [tên table] (cột 1, cột 2 );

Ví dụ muốn tạo một table có tên là "member" có hai cột dữ liệu là "userid"

và "username": CREATE TABLE member (userid int(7), username text);

Trang 21

Nhập dữ liệu vào bảng: INSERT INTO [tên table] ([cột 1],[cột 2], ) VALUES (giá trị 1, giá trị 2, );

Vị dụ nhập dữ liệu cho table "member" đã được tạo ở trên: INSERT INTO member (userid,username) VALUES (1,'champi');

 Lấy dữ liệu từ table: SELECT {tên cột muốn hiển thị} FROM [tên table];

Ví dụ lấy tất cả các cột: SELECT * FROM member;

Hoặc là chỉ lấy 1 số cột nhất định: select username from member;

 Sửa đổi dữ liệu trong table: UPDATE [tên table] SET [cột muốn sửa]='giá trị mới' WHERE [điều kiện] = 'giá trị';

Ví dụ muốn sửa tên thành viên "champi" thành "anh champi" (userid của

champi = 1): UPDATE member SET username='anh champi' WHERE userid = 1;

 Đếm số data có trong table: SELECT COUNT FROM [tablename];

Ví dụ: SELECT COUNT FROM member;

 Xóa dữ liệu: DELETE FROM [tablename] WHERE ;

Ví dụ: DELETE FROM member WHERE userid=1;

 Xóa table: DROP TABLE [tên table];

Ví dụ :DROP TABLE member;

1.2.6 Công nghệ Responsive Boostrap

 Giới thiệu về Twitter Bootstrap

 Twitter Bootstrap bao gồm các mã CSS + HTML cơ bản cho typography, forms, buttons, tables, grids, navigation, và nhiều thành phần khác của website

 Twitter Bootstrap cung cấp lưới cố định (fixed) rộng 940px và 12 cột Tất nhiên là cũng có giải pháp cho việc dùng layout dạng động (fluid)

Trang 22

 Style của các phần tử HTML trong Twitter Bootstrap khá đơn giản và thanh lịch Ví dụ như phần đổ bóng trong input, highlight của bảng biểu, các

mã CSS hiển thị cảnh báo, tabs, phân trang…

Trang 23

 Tại sao lại sử dụng Twitter Bootstrap

Twitter Bootstrap giúp chúng ta giảm thiểu thời gian thiết kết html và css.Twitter Bootstrap định nghĩa sẳn các class css công việc của chúng ta chỉ

là sử dụng các class đó vào mục đích của mình.Twitter Bootstrap còn hổ trợ Responsive design một cách làm giao diện đa thiết bị rất được ưu chuộng trong thời gian gần đây

 Cách sử dụng Twitter Bootstrap

Tải Bootstrap tại đây: http://twitter.github.io/bootstrap/

Sau khi tải về, bạn sẽ có một file Zip Tiến hành giải nén ta có một thư mục có tên bootstrap, bên trong có 3 thư mục : css, img, js

Hình 2.3: Cấu trúc thư mục của bootstrap

Bước 1: Chúng ta tạo 1 file html có tên là index.html ở trong thư mục bootstrap vừa giải nén phía trên

Trang 24

Vậy là xong phần head Giờ chúng ta viết tiếp phần body với 2 textbox và

2 button như sau:

Hình 2.4: Ví dụ về Bootstrap

Trang 25

Vậy là xong Ví dụ chỉ đơn giản vậy thôi

Bạn sẽ thắc mắc là sao chạy nút submit và reset lại không nằm xuống phía dưới?

Hãy thu nhỏ trình duyệt và bạn sẽ thấy điều kỳ diệu:

Trang 26

Hình 2.5: Ví dụ về Bootstrap

Trang 27

1.2.7 Json

JSon là từ viết tắt của JavaScript Object Notation, nó thực chất là một chuỗi

có cấu trúc nhất định, ví dụ như cấu trúc tại:

"bomon": "C\u00f4ng ngh\u1ec7 ph\u1ea7n m\u1ec1m",

"khoa": "Khoa c\u00f4ng ngh\u1ec7 th\u00f4ng tin"

}

}

Cấu trúc của JSon có thể bắt đầu bằng một cặp dấu ngoặc vuông [] như trên, khi đó nó biểu diễn một mảng các phần tử bên trong (bên trên là mảng gồm 3 phần từ) Hoặc cũng có thể bắt đầu bằng cặp dấu ngoặc nhọn {}, khi đó nó biễu diễn một phần tử và trong mỗi phần tử đều có các cặp key-value (khóa và giá trị), như trên bạn có thể thấy “id”:”2″ là một cặp key- value Hoặc JSon cũng có thể chỉ là một cặp key-value hay một chuỗi rất

Trang 28

bình thường Nhưng ở đây mình muốn các bạn chú ý và phân biệt JSon trong

cặp ngoặ vuông và ngoặc nhọn vì cách xử lý của chúng rất khác nhau

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ 2.1 Khảo sát hệ thống

2.1.1 Thực trạng việc phân công của bộ môn CNPM

Quy trình quản lý lịch dạy và lịch coi thi

Từ chương trình đào tạo nhà trường sẽ tổ chức các lớp học, sau đó từ danh sách lớp học sẽ phân công ra các giảng viên giảng dạy Lịch giảng dạy của giảng viên sẽ được xuất thành file excel cụ thể Khi kết thúc kì học nhà trường sẽ tạo ra kế hoạch thi cho cả trường được gửi về các bộ môn Các bộ môn lọc ra các môn thi của bộ môn và sau đó lọc và tìm ra giảng viên không trùng lịch để đi coi thi

 Với số lượng giảng viên ở các bộ môn là lớn việc quản lý lịch dạy

 Từ những hạn chế trên vấn đề đặt ra là phải xây dựng một công cụ khắc phục được những hạn chế và giảm công việc cũng như thời gian cho người phân công giảng dạy và coi, chấm thi Giúp giảng viên nắm bắt lịch giảng dạy được dễ dàng và nhanh chóng

Trang 29

2.1.2 Phần mềm quản lý lịch hiện nay

 Hiện nay google cũng có phần mềm google calendar giúp người dùng quản lý được thời gian biểu nhưng nó cũng có hạn chế trong việc quản lí lịch giảng dạy và hỗ trợ phân công coi, chấm thi như:

o File excel để nhập lịch của trường là không theo mẫu như google yêu cầu

o Hệ thống không hỗ trợ phân công coi thi

o Không thể quản lý lịch của nhóm thành viên

o Để thêm lịch phải thêm bằng tay mất thời gian và không thực sự tiện lợi

Trang 30

 Chức năng xem lịch giảng dạy của giảng viên khác: giúp giảng viên

có thể xem được lịch giảng dạy của các giảng viên trong bộ môn

 Chức năng phân công: giúp cán bộ phân công coi, chấm thi phân công coi, chấm thi

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Minh Hoàng, Giáo trình cấu trúc dữ liệu và giải thuật; 2002, [2] Ivan Morgillo, RxJava Essentials; 2015 Khác
[3] Phạm Hữu Khang(chủ biên); Lập trình hướng đối tượng; NXB Lao Động Xã Hội; 2006 Khác
[4] Nguyễn Văn Ba; Phân tích và thiết kế hệ thống thông tin; NXB Đại học Quốc gia Hà Nội; 2006 Khác
[5] Đỗ Trung Tuấn; Cơ sở dữ liệu; NXB Giáo dục; 1998 Khác
[6] Vũ Đức Thi; CSDL kiến thức và thực hành; NXB Thống Kê; 1997, [7] Đỗ Trung Tuấn; Cơ sở dữ liệu; NXB Giáo dục; 1998 Khác
[8] Leslie F. Sikos Ph.D (2009), Web Standards Mastering HTML5, CSS3, and XML Khác
[9] Brian P. Hogan (2008), HTML5 and CSS3 Develop with Tomorrow's Standards Today (Pragmatic Programmers) 1st Edition Khác
[10] Lê Minh Hoàng (2004), Thiết kế Web với CSS– NXB Lao động xã hội Khác
[11] Đoàn Văn Ba (1997), Phân tích thiết kế hướng đối tượng bằng UML- NXB Thống Kê Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1 cấu trúc thư mục của cakephp - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 2.1 cấu trúc thư mục của cakephp (Trang 10)
Hình 3.1: Lịch giảng dạy được sử dụng mẫu - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.1 Lịch giảng dạy được sử dụng mẫu (Trang 30)
Hình 3.2: Lịch thi được sử dụng mẫu - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.2 Lịch thi được sử dụng mẫu (Trang 31)
Hình 3.4: Biểu đồ user tài khoản trưởng bộ môn - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.4 Biểu đồ user tài khoản trưởng bộ môn (Trang 34)
Hình 3.5: Biểu đồ use case Admin - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.5 Biểu đồ use case Admin (Trang 35)
Hình 3.8: Biểu đồ Use case xem lịch giảng dạy - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.8 Biểu đồ Use case xem lịch giảng dạy (Trang 38)
Hình 3.12: Biểu đồ trình tự đăng nhập - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.12 Biểu đồ trình tự đăng nhập (Trang 40)
Hình 3.13: Biểu đồ trình tự import lịch giảng dạy - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.13 Biểu đồ trình tự import lịch giảng dạy (Trang 41)
Hình 3.17: Biểu đồ trình tự xem lịch thi - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.17 Biểu đồ trình tự xem lịch thi (Trang 43)
Hình 3.18: Biểu đồ lớp - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 3.18 Biểu đồ lớp (Trang 44)
Hình 4.3: Giao diện trang xem lịch giảng dạy - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 4.3 Giao diện trang xem lịch giảng dạy (Trang 49)
Hình 4.5: Giao diện sắp xếp lịch thi - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 4.5 Giao diện sắp xếp lịch thi (Trang 51)
Hình 4.7: Giao diện quản trị - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 4.7 Giao diện quản trị (Trang 52)
Hình 4.9: Giao diện lịch ngày của ứng dụng ICTU SOCIAL - Xây dựng hệ thống hỗ trợ phân công, quản lý lịch cho giáo viên trường đại học công nghệ thông tin và truyền thông
Hình 4.9 Giao diện lịch ngày của ứng dụng ICTU SOCIAL (Trang 55)

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