Xây dựng framework hỗ trợ lập trình web luận văn ths công nghệ thông tin

51 518 0
Xây dựng framework hỗ trợ lập trình web  luận văn ths  công nghệ thông tin

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG HẢI AN XÂY DỰNG FRAMEWORK HỖ TRỢ LẬP TRÌNH WEB LUẬN VĂN THẠC SĨ NGÀNH: CÔNG NGHỆ THÔNG TIN Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ ĐẶNG HẢI AN XÂY DỰNG FRAMEWORK HỖ TRỢ LẬP TRÌNH WEB Ngành Chuyên ngành Mã số : Công nghệ thông tin : Kỹ thuật phần mềm : 60480103 LUẬN VĂN THẠC SĨ NGÀNH: CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS TRƢƠNG NINH THUẬN Hà Nội - 2015 LỜI CẢM ƠN Trước hết, xin gửi lời biết ơn sâu sắc đến người thầy PGS.TS Trương Ninh Thuận, thầy dành nhiều thời gian, tâm huyết hướng dẫn nghiên cứu giúp hoàn thành tốt luận văn tốt nghiệp Thầy có hướng mở hay định hướng nghiên cứu thiết thực, bổ ích, đồng thời tạo điều kiện thuận lợi cho nghiên cứu Tôi xin bày tỏ lòng biết ơn tới thầy cô trường Đại học Công nghệ, Đại học Quốc gia Hà Nội tham gia giảng dạy chia sẻ kinh nghiệm quý báu cho tập thể học viên khóa nói chung cá nhân nói riêng Tôi xin cảm ơn tới thầy anh chị thường xuyên giúp đỡ, trao đổi, góp ý vấn đề khoa học liên quan tới luận văn Trên tất cả, xin gửi lời biết ơn tới bố mẹ, gia đình người thân Bố mẹ phải làm việc vất vả tạo hội điều kiện thuận giúp toàn tâm toàn ý thực luận văn chọn đường Một lần nữa, xin chân thành cảm ơn! Hà Nội, tháng năm 2015 Học viên Đặng Hải An LỜI CAM ĐOAN Tôi xin cam đoan công trình riêng Các số liệu, kết nêu Luận văn vô trung thực, chưa công bố công trình khác Tôi xin cam đoan thông tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn ĐẶNG HẢI AN MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC Danh mục ký hiệu chữ viết tắt Danh mục bảng Danh mục hình vẽ, đồ thị MỞ ĐẦU 10 CHƢƠNG TỔNG QUAN VỀ NỀN TẢNG HỖ TRỢ LẬP TRÌNH ỨNG DỤNG WEB (WEB APPLICATION FRAMEWORK) 12 1.1 Framework 12 1.2 Web Application Framework 12 1.3 PHP Framework 14 1.4 Mô hình Model - View - Controller (MVC) 14 1.4.1 Lịch sử mô hình MVC 14 1.4.2 Khái niệm mô hình MVC 15 1.4.3 Các thành phần Web Framework 16 1.4.3.1 Model 16 1.4.3.2 View 17 1.4.3.3 Controller 18 CHƢƠNG XÂY DỰNG THỬ NGHIỆM FRAMEWORK BẰNG NGÔN NGỮ PHP 20 2.1 Tổng quan PHP Framework 20 2.2 Kiến trúc Framework thử nghiệm 24 2.2.1 Tổng quát hệ thống thư mục Framework thử nghiệm 24 2.2.2 Các thành phần Framework thử nghiệm 26 2.2.2.1 Quy trình xử lý yêu cầu 26 2.2.2.2 Các thành phần 26 2.2.2.3 Các khái niệm sử dụng framework thử nghiệm 28 2.3 Hệ thống lớp thư viện hàm hỗ trợ Framework thử nghiệm 34 2.3.1 Các lớp thư viện 34 2.3.1.1 Email (System/Lib/Email.php) 34 2.3.1.2 Database library (system/Database/mysql.php) 35 2.3.1.3 Pagination(System/Lib/Pagination.php) 36 2.3.1.4 Session class (System/Lib/Session.php) 36 2.3.1.5 Upload class (System/Lib/upload.php) 36 2.3.1.6 ExportDataExcel class (System/Lib/ExportDataExcel.php) 37 2.3.2 Các hàm hỗ trợ 37 2.3.2.1 Array Helper 37 2.3.2.2 Text Helper 38 2.3.2.3 exporttoexcel helper 38 CHƢƠNG XÂY DỰNG ỨNG DỤNG “QUẢN LÝ ĐĂNG KÝ SỬ DỤNG PHÒNG THỰC HÀNH MÁY TÍNH TRƢỜNG ĐẠI HỌC HẢI DƢƠNG” SỬ DỤNG FRAMEWORK THỬ NGHIỆM 40 3.1 Giới thiệu quy trình quản lý sử dụng phòng thực hành 40 3.2 Phân tích nhu cầu 40 3.3 Thiết kế hệ thống 41 3.3.1 Biểu đồ Use Case 41 3.3.2 Biểu đồ chi tiết lớp 43 3.4 Ứng dụng quản lý phòng thực hành 45 KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 51 DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT STT 10 11 Từ viết tắt CSS HTTP MVC HTML UI KDE SQL URL XHTML I/O PHP Ý nghĩa Cascading Style Sheet HyperText Transfer Protocol Model View Controller HyperText Markup Language User Interface K Desktop Environment Structured Query Language Uniform Resource Locator Extensible HyperText Markup Language Input/Output Personal Home Page DANH MỤC CÁC BẢNG Bảng 1.1 Vai trò hệ thống thư mục Framework thử nghiệm 24 Bảng 3.1 Danh mục Lớp, phòng ban 43 Bảng 3.2 Danh mục phòng thực hành 44 Bảng 3.3 Danh mục máy/thiết bị phòng thực hành 44 Bảng 3.4 Đăng ký phòng thực hành 45 DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Mô hình MVC 15 Hình 1.2 Biểu đồ chuỗi MVC đơn giản 17 Hình 2.1 Mô hình Model – View – Controller Zend Framework 20 Hình 2.2 Cấu trúc thư mục Zend Framework 21 Hình 2.3 Cấu trúc hệ thống thư mục Framework thử nghiệm 25 Hình 2.4 Quy trình xử lý HTTP Request Framework thử nghiệm 26 Hình 3.1 Biểu đồ Use Case tác nhân mối quan hệ tác nhân 41 Hình 3.2 Biểu đồ Use Case theo hướng chức tác nhân Admin 42 Hình 3.3 Biểu đồ Use Case theo hướng chức tác nhân Giảng viên 42 Hình 3.4 Biểu đồ Use Case theo hướng chức tác nhân Sinh viên 42 Hình 3.5 Biểu đồ Use Case tích hợp hệ thống phụ 43 Hình 3.6.Giao diện đăng nhập hệ thống 45 Hình 3.7 Giao diện đăng nhập thành công với quyền Admin 46 Hình 3.8 Giao diện cập nhật lớp học trường 46 Hình 3.9 Giao diện cập nhật thiết bị phòng máy 47 Hình 3.10 Giao diện cập nhật phòng thực hành trường 47 Hình 3.11 Giao diện đăng ký lịch thực hành phòng máy 48 Hình 3.12 Giao diện xem lịch thực hành phòng máy 48 10 MỞ ĐẦU Lý chọn đề tài Trong năm gần đây, ứng dụng web lớn liên tục tạo ra, đánh dấu bước phát triển nhảy vọt công nghệ giới lập trình Các tảng hỗ trợ lập trình xây dựng hàng loạt nhằm mục đích cải thiện tốc độ thực thi nâng cao tính bảo mật cho ứng dụng web Các tảng hỗ trợ lập trình ứng dụng (application framework) chứa đựng kinh nghiệm nhà kiến trúc phần mềm sau nhiều năm chiêm nghiệm giới lập trình Framework hỗ trợ lập trình làm cho phát triển ứng dụng trở nên trôi chảy hơn, cách cung cấp cấu trúc để xây dựng ứng dụng Hay nói cách khác framework giúp thúc đẩy nhanh chóng trình phát triển ứng dụng, giúp tiết kiệm thời gian, tăng ổn định cho ứng dụng, tái sử dụng lại thành phần Ngoài framework giúp người bắt đầu xây dựng ứng dụng ổn định nhờ việc tương tác xác Database, mã giao diện cách riêng biệt Điều cho phép dành nhiều thời gian để tạo ứng dụng web, phí thời gian viết đoạn mã lặp lại project Vì với mong muốn làm giảm thời gian phát triển ứng dụng web, chọn đề tài “Xây dựng framework hỗ trợ lập trình web” Nội dung đề tài, vấn đề cần giải Nghiên cứu sở lý luận tảng hỗ trợ lập trình ứng dụng web (Web application framework) Khái niệm, mục đích tạo Framework, đặc điểm chung Framework phổ biến Từ đưa kết luận thực tế việc xây dựng Framework Tìm hiểu khái niệm tính phổ biến ứng dụng web, so sánh ưu điểm nhược điểm web tĩnh web động để đưa ưu điểm vượt trội web động Rút khái niệm đặc điểm Web application Framework, Ngoài luận văn đưa ứng dụng mô hình MVC, giới thiệu số PHP Framework phổ biến sử dụng mô hình MVC CakeFramework, Zend Framework, CodeIgniter hay Symfony Xây dựng thử nghiệm framework ngôn ngữ PHP dựa mã nguồn mở Trước giới thiệu Framework thử nghiệm xây dựng tác giả luận văn đưa Zend Framework, phân tích chức thành phần Dựa kiến thức thu phân tích Zend Framework, tác giả xây dựng PHP Framework thử nghiệm, đưa kiến trúc Framework thử nghiệm, với hệ thống thư mục thành phần Framework thử nghiệm 37 Những thông tin dạng mảng (array), bao gồm thông tin ví dụ sau: Array ( [file_name] => [file_type] => [file_path] => [orig_name] => [file_extension] [file_size] => [image_width] => [image_height] => [image_type] => ) your_pic.jpg image/jpeg /path/to/your/upload/ mypic.jpg => jpg 22.2 800 600 jpeg 2.3.1.6 ExportDataExcel class (System/Lib/ExportDataExcel.php) Lớp cung cấp thư viện export bao gồm có nhiều định dạng Ví dụ export excel (.xls) hay file định dạng tsv hay csv Trong có hàm: + ExportData: có nhiệm vụ add Header theo định dạng liệu cần export Nhiệm vụ add dòng liệu vào bảng + ExportDataExcel, ExportDataCSV, ExportDataTSV: quy định loại liệu cần xuất header để phù hợp với cấu trúc file (ở liệu dạng Excel, TSV CSV) 2.3.2 Các hàm hỗ trợ 2.3.2.1 Array Helper Nằm file system/helpers/array_helper.php Bao gồm hàm có chức hỗ trợ làm việc, xử lý mảng Hàm element(): Cho phép nạp thêm phần tử vào mảng, hàm kiểm tra xem có số mảng ko giá trị tương ứng Nếu giá trị tồn trả lại giá trị đó, giá trị ko tồn trả lại giá trị false, bạn có xác định giá trị mặc định qua ba biến.Ví dụ: $array = array('color' => 'red', 'shape' => 'round', 'size' => ''); echo element('color', $array); // returns "red" echo element('size', $array, NULL); // returns NULL Hàm random_element(): Trả giá trị ngẫu nhiên mảng $ran = array(‘1’, ‘2’, ‘4’); echo random_element($ran); 38 2.3.2.2 Text Helper Bao gồm hàm hỗ trợ làm việc với text Hàm word_cutter(): Cắt xén xâu từ với độ dài mong muốn Ví dụ: $string = "UET is the only Vietnamese university having one among the best 100 students"; $string = word_cutter($string, 4); // Returns: UET is the only… Tham số thứ ba hậu tố thêm vào string, mặc định dấu…(3 chấm) Hàm character_cutter(): Cắt xâu thành ký tự có độ dài xác định Hàm đảm bảo toàn vẹn từ nên số ký tự xâu kết sai số không đáng kể.Ví dụ: $string = "UET is the only Vietnamese university having one among the best 100 students"; $string = character_cutter($string, 20); // Returns: UET is the only Vietnamese … Tham số thứ ba hậu tố thêm vào xâu, không khai báo helper mặc định dấu ba chấm (…) Hàm highlight_code(): Tô màu xâu ký tự $string = highlight_code($string); Hàm sử dụng hàm highlight_string() PHP, màu sử dụng xác định file php.ini Hàm highlight_phrase(): Sẽ highlight cụm từ xâu text, tham số xác định string, tham số thứ hai cụm muốn highlight, tham số thứ ba tham số thứ tư thẻ html mở đóng màu bạn muốn Hàm create_slug(): Khi dùng hàm với tham số chuỗi string, kết trả chuỗi cắt bỏ dấu cách từ chuỗi cũ $title = "Cộng hòa xã hội chủ nghĩa Việt Nam?"; $url_title = url_title($title); // Kết quả: conghoaxahoichunghiavietnam Hàm hữu ích việc tạo URL thân thiện với máy tìm kiếm Chẳng hạn: http://yoursite.com/index.php?ini=dangkyphongmay 2.3.2.3 exporttoexcel helper Bao gồm hàm hỗ trợ việc xuất liệu định dạng khác (.xls, tsv hay csv): 39 Hàm cleandata($str): hàm chuẩn hóa liệu dạng html sang dạng excel Hàm exp($data): gọi hàm để chuẩn hóa liệu sang dạng cần export Các hàm với lớp ExportDataExcel (System/ Lib/ ExportDataExcel.php) có ích việc xuất liệu sở liệu thành file văn (ví dụ xls, hay tsv,.csv…) Muốn sử dụng hàm để xuất liệu Excel (định dạng xls) ta làm đoạn mã sau: [...]... luận văn Luận văn được thiết kế bao gồm 3 chương: Chƣơng 1 Tổng quan về nền tảng hỗ trợ lập trình Web (Web Application Framework) Chương này giới thiệu tổng quan về framework, ứng dụng web, so sánh web tĩnh và web động Lợi ích khi sử dụng web application framework để xây dựng ứng dụng web, web động, các dịch vụ web Ngoài ra chương 1 còn giới thiệu về PHP Framework với ý tưởng làm việc chung của PHP Framework. .. TRỢ LẬP TRÌNH ỨNG DỤNG WEB (WEB APPLICATION FRAMEWORK) 1.1 Framework Framework là một bộ mã nguồn được xây dựng, phát triển và đóng gói phân phối bởi các chuyên gia lập trình hoặc bởi các công ty lập trình Framework được tạo ra nhằm giải quyết 2 vấn đề: Tổ chức thư viện và khái quát cấu trúc cho ứng dụng Framework cung cấp một cấu trúc phát triển chuẩn để các nhà phát triển ứng dụng dựa vào đó xây dựng. .. biến của nó Ứng dụng Web được dùng để hiện thực Webmail, Bán hàng trực tuyến, Đấu giá trực tuyến, Diễn đàn thảo luận, Weblog, 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 Application Framework là một Framework được thiết kế để hỗ trợ việc phát triển các website động, các ứng dụng web và các dịch vụ web 14 1.3 PHP Framework PHP framework là web framework được viết... pháp lưu trữ thông tin Thư viện này không chỉ giúp tiết kiệm được thời gian khi lập trình viên làm việc với hệ thống database mà còn giúp lập trình viên tránh được các lỗi báo mật (SQL Injection) khi viết câu lệnh SQL Các thư viện – Library (các class trong system/Lib): Framework thử nghiệm cung cấp một tập hợp các thư viện hỗ trợ lập trình đa dạng, giúp các lập trình viên xây dựng ứng dụng web nhanh... một số PHP Framework hay được sử dụng nhất hiện nay Chƣơng 2 Xây dựng Framework thử nghiệm bằng ngôn ngữ PHP Chương này giới thiệu tổng quan, các thành phần và chức năng của Framework, từ đó tự xây dựng một Framework khác, đó là Framework thử nghiệm Chương 2 cũng cung cấp kiến trúc của Framework thử nghiệm, cách thức vận hành và các thư viện hỗ trợ của Framework thử nghiệm Chƣơng 3 Xây dựng ứng dụng...11 Ngoài ra luận văn cũng giới thiệu các lớp thư viện, và hàm hỗ trợ tự xây dựng được khi làm Framework thử nghiệm Xây dựng ứng dụng Web “Quản lý đăng ký sử dụng phòng thực hành máy tính trường Đại học Hải Dương” dựa trên Framework thử nghiệm, chỉ ra phương thức vận hành của ứng dụng Trước khi xây dựng ứng dụng, tác giả đã tìm hiểu về quy trình quản lý và sử dụng thực tế phòng... phương pháp luận để viết ứng dụng và thư viện trên nó Như vậy có thể nói, người lập trình ra Framework thực tế là viết ra một phần mềm ứng dụng khái quát, tạo ra một thư viện và một bộ gọi - tải - nạp ứng dụng Người lập trình ứng dụng sẽ dựa vào ứng dụng khái quát để phát triển ứng dụng trên Framework 1.2 Web Application Framework Ứng dụng Web là một chương trình ứng dụng có thể tiếp cận web thông qua... thư viện hỗ trợ xử lý các vấn đề nghiệp vụ Core_Ac Chứa các lớp và hàm cốt lõi của Framework thử nghiệm Chứa các lớp xử lý truy xuất tới các hệ quản trị cơ sử dữ liệu MySQL Bảng 1.1 Vai trò hệ thống thư mục trong Framework thử nghiệm Database 25 Hình 2.3 Cấu trúc hệ thống thư mục Framework thử nghiệm Có thể thấy Framework thử nghiệm được xây dựng hỗ trợ cho các lập trình viên viết các ứng dụng web quản... sở dữ liệu đi kèm và được hỗ trợ bởi các phần mềm phát triển web Với web động, thông tin hiển thị được gọi ra từ một cơ sở dữ liệu khi người dùng truy vấn tới một trang web Web động thường được phát triển bằng các ngôn ngữ lập trình tiên tiến như PHP, ASP, ASP.NET, Java, CGI, Perl, và sử dụng các cơ sở dữ liệu quan hệ mạnh như Access, MySQL, MS SQL, Oracle, DB2 .Thông tin trên web động luôn được cập nhật... với PHP Framework phổ biến hiện nay, PHP Framework thử nghiệm được chúng tôi xây dựng cũng kế thừa những PHP Framework khác Ví dụ như một số hàm định nghĩa kiểu dữ liệu trong thư mục helpers đã được PHP hỗ trợ rất tốt (như array, number, string, text,…) Framework thử nghiệm là một PHP framework được viết ra nhằm mục đích tận dụng mọi ưu điểm của mô hình MVC trong việc xây dựng các ứng dụng web động ... ĐẠI HỌC CÔNG NGHỆ ĐẶNG HẢI AN XÂY DỰNG FRAMEWORK HỖ TRỢ LẬP TRÌNH WEB Ngành Chuyên ngành Mã số : Công nghệ thông tin : Kỹ thuật phần mềm : 60480103 LUẬN VĂN THẠC SĨ NGÀNH: CÔNG NGHỆ THÔNG TIN NGƢỜI... triển ứng dụng web, chọn đề tài Xây dựng framework hỗ trợ lập trình web Nội dung đề tài, vấn đề cần giải Nghiên cứu sở lý luận tảng hỗ trợ lập trình ứng dụng web (Web application framework) Khái... phòng máy 49 KẾT LUẬN Các kết luận văn Luận văn đưa sở lý thuyết tảng hỗ trợ lập trình web (đặc biệt Framework mô hình MVC) Đây kiến thức lý thuyết sở để xây dựng framework riêng Luận văn đưa cấu

Ngày đăng: 04/11/2015, 18:06

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan