Xây dựng hệ thống quản lý sử dụng phòng học trên nền tảng zend framework

Trường Đại học Cần Thơ không ngừng xây dựng và phát triển nguồn cơ sở vật chất

nhằm phục vụ cho công tác giảng dạy, học tập và nghiên cứu. Cùng với sự phát triển này,

yêu cầu đặt ra là phải quản lý và vận dụng hiệu quả nguồn cơ sở hạ tầng của nhà trường trên

cơ sở tin học hóa các quy trình quản lý truyền thống. Trong đó việc quản lý sử dụng phòng

học tại trường là một trong những hệ thống quản lý thiết thực và đã được thực hiện trong đề

tài này. Về mặt lý thuyết, đề tài đã giới thiệu tổng quan về mô hình MVC; cách cài đặt, cấu

hình một ứng dụng trên nền Zend Framework cũng như cách sử dụng một số lớp cơ bản

trong Zend Framework. Về mặt thực tiễn, đề tài đã giới thiệu quy trình xây dựng một hệ

thống quản lý trên nền Zend Framework nói chung và hệ thống quản lý sử dụng phòng học

tại trường ĐHCT nói riêng.

pdf68 trang | Chia sẻ: luyenbuizn | Lượt xem: 1116 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Xây dựng hệ thống quản lý sử dụng phòng học trên nền tảng zend framework, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lư u T rư ờn g H ải Lâ n LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG HỆ THỐNG QUẢN LÝ SỬ DỤNG PHÒNG HỌC TRÊN NỀN TẢNG ZEND FRAMEWORK Sinh viên thực hiện: Cán bộ hướng dẫn Lưu Trường Hải Lân TS. Huỳnh Xuân Hiệp MSSV: 1071454 MSCB: 1067 Cần Thơ, 2011 TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG Lư u T rư ờn g H ải Lâ n LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG HỆ THỐNG QUẢN LÝ SỬ DỤNG PHÒNG HỌC TRÊN NỀN TẢNG ZEND FRAMEWORK Sinh viên thực hiện Cán bộ hướng dẫn Lưu Trường Hải Lân TS. Huỳnh Xuân Hiệp MSSV: 1071454 MSCB: 1067 Cán bộ phản biện ThS. Nguyễn Văn Linh ThS. Trương Thị Thanh Tuyền TS. Huỳnh Xuân Hiệp Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Kỹ Thuật Phần Mềm Khoa Công nghệ Thông tin & Truyền Thông, Trường Đại học Cần Thơ Vào ngày 17, tháng 05, năm 2011 Mã số đề tài: Có thể tìm hiểu luận văn tại: Thư viện Khoa Công Nghệ Thông Tin & Truyền Thông, Trường Đại học Cần Thơ Website: TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG Lư u T rư ờn g H ải Lâ nTỔ CHỨC CỦA LUẬN VĂNMở đầu luận văn bao gồm các nội dung: • Lời cảm ơn • Mục lục: Liệt kê các chương mục và số thứ tự trang tương ứng. • Ký hiệu và viết tắt: Liệt kê những ký hiệu và chữ viết tắt trong luận văn. • Tóm tắt, abstract và từ khóa: gồm 3 phần, phần tóm tắt, phần abstract là phần dịch tóm tắt trên ra tiếng Anh và phần từ khoá liệt kê một số từ quan trọng trong luận văn. Nội dung chính của luận văn gồm 4 chương và • Chương 1: Tổng quan. Chương này trình bày các vấn đề tổng quan bao gồm: đặt vấn đề, lịch sử giải quyết vấn đề, phạm vi của đề tài và phương pháp nghiên cứu hướng giải quyết vấn đề. • Chương 2: Cơ sở lý thuyết. Chương này giới thiệu sơ lược hai nội dung cơ bản về mô hình MVC và Zend Framework • Chương 3: Nội dung và kết quả nghiên cứu. Chương này tập trung trình bày hai nội dung chính: nội dung thứ nhất sẽ trình bày kết quả phân tích và thiết kế hệ thống, nội dung thứ hai trình bày một số trường hợp sử dụng Zend Framework để xây dựng hệ thống. Kết thúc luận văn bao gồm 4 nội dung: • Kết luận và đề nghị: nội dung này trình bày kết luận về toàn bộ nội dung đã nghiên cứu và các đề nghị rút ra từ kết quả nghiên cứu. • Phụ lục: nội dung này được trình bày nhằm xác định chi phí cho phần mềm • Tài liệu tham khảo: trình bày danh mục các tài liệu tham khảo • Chỉ mục (Index): trình bày các từ khoá theo vần alphabet và số thứ tự trang tương ứng của từ khoá đó Trang 1 Lư u T rư ờn g H ải Lâ nLỜI CẢM ƠNTrong khoảng thời gian học tập và nghiên cứu thực hiện luận văn “Quản lý sử dụng phòng học tại trường Đại Học Cần Thơ”, tôi đã gặp rất nhiều khó khăn và trở ngại, nhưng nhờ sự giúp đỡ của của gia đình, bạn bè và sự hướng dẫn nhiệt tình của thầy hướng dẫn cùng với sự cố gắng và nỗ lực của bản thân đã giúp tôi hoàn thành luận văn này. Tôi xin chân thành cám ơn: Gia đình đã động viên, giúp đỡ để tôi an tâm học tập, nghiên cứu và thực hiện luận văn. Giáo viên hướng dẫn chính TS. Huỳnh Xuân Hiệp đã tận tình hướng dẫn tôi về mặt chuyên môn cũng như khích lệ cho tôi rất nhiều về mặt tinh thần trong việc hoàn thành luận văn này. Thầy Phạm Vũ Khánh, giáo viên khóa học Zend Framework online, đã hỗ trợ tôi rất nhiều trong việc nghiên cứu Zend Framework. Cộng đồng Zend Framework Việt Nam đã cùng chia sẻ và đưa ra những ý kiến đóng góp quí báu cho đề tài của tôi. Quý thầy cô Khoa Công Nghệ Thông Tin & Truyền Thông đã tận tâm truyền đạt kiến thức trong suốt quá trình tôi học tập tại trường Đại học Cần Thơ, giúp tôi có nền tảng kiến thức để thực hiện luận văn này. Cần Thơ, ngày 30 tháng 04 năm 2011 Sinh viên thực hiện Lưu Trường Hải Lân Trang 2 Lư u T rư ờn g H ải Lâ nMỤC LỤCTỔ CHỨC CỦA LUẬN VĂN....................................................................................................1LỜI CẢM ƠN.............................................................................................................................2 MỤC LỤC................................................................................................................................... 3 KÍ HIỆU VÀ VIẾT TẮT...........................................................................................................5 TÓM TẮT, ABSTRACT VÀ TỪ KHÓA.................................................................................6 CHƯƠNG 1: TỔNG QUAN......................................................................................................9 1.1. Đặt vấn đề.....................................................................................................................9 1.2. Lịch sử giải quyết vấn đề............................................................................................10 1.3. Phạm vi của đề tài......................................................................................................10 1.4. Phương pháp nghiên cứu............................................................................................11 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT........................................................................................13 2.1. Mô hình MVC............................................................................................................13 2.1.1. Các thành phần trong mô hình...............................................................................13 2.1.2. Sơ đồ hoạt động của mô hình................................................................................14 2.1.3. Ưu nhược điểm......................................................................................................14 2.2. Zend Framework.........................................................................................................15 2.2.1. Tổng quan.............................................................................................................15 2.2.2. Một số lớp phổ biến..............................................................................................16 2.2.3. Mô hình MVC trong Zend Framework.................................................................17 2.2.4. Luồng xử lý công việc...........................................................................................18 CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU....................................................21 3.1. Đặc tả hệ thống...........................................................................................................21 3.1.1. Giới thiệu..............................................................................................................21 3.1.2. Mô tả tổng thể.......................................................................................................21 3.2. Phân tích hệ thống......................................................................................................23 3.2.1. Sơ đồ Use Case.....................................................................................................24 3.2.2. Mô hình MCD.......................................................................................................30 3.3. Thiết kế hệ thống........................................................................................................31 Trang 3 Lư u T rư ờn g H ải Lâ n3.3.1. Mô hình quan hệ dữ liệu........................................................................................313.3.2. Sơ đồ chức năng....................................................................................................323.4. Cấu hình ứng dụng......................................................................................................323.5. Sử dụng một số phương thức cơ bản trong Zend Framework.....................................36 3.5.1. Khởi tạo kết nối database......................................................................................36 3.5.2. Tạo selectbox gồm danh sách các tòa nhà.............................................................37 3.5.3. Sử dụng Zend_Validate để kiểm tra dữ liệu hợp lệ...............................................37 3.5.4. Hiển thị danh sách sinh viên..................................................................................38 3.5.5. Xây dựng lớp Zend_Validate_ConfirmPassword..................................................39 3.5.6. Cấu hình template.................................................................................................39 KẾT LUẬN VÀ ĐỀ NGHỊ.......................................................................................................41 PHỤ LỤC: XÁC ĐỊNH GIÁ TRỊ PHẦN MỀM.....................................................................42 TÀI LIỆU THAM KHẢO........................................................................................................65 CHỈ MỤC.................................................................................................................................. 66 Trang 4 Lư u T rư ờn g H ải Lâ nKÝ HIỆU VÀ VIẾT TẮT• CB: Cán Bộ• CBGD: Cán bộ phụ trách giảng dạy nhóm học phần • ĐVQL: Cán bộ phụ trách ở đơn vị quản lý • GVCV: Giáo viên cố vấn • MVC: Model – View – Controller • OOP: Object oriented programming • QLDT: Cán bộ phụ trách công tác quản lý đào tạo • QLTN: Người quản lý tòa nhà • QTHT: Người quản trị hệ thống • SV: Sinh Viên • TLTB: Trợ lý thiết bị • TN: Tòa nhà • ZF: Zend Framework Trang 5 Lư u T rư ờn g H ải Lâ nTÓM TẮTTrường Đại học Cần Thơ không ngừng xây dựng và phát triển nguồn cơ sở vật chất nhằm phục vụ cho công tác giảng dạy, học tập và nghiên cứu. Cùng với sự phát triển này, yêu cầu đặt ra là phải quản lý và vận dụng hiệu quả nguồn cơ sở hạ tầng của nhà trường trên cơ sở tin học hóa các quy trình quản lý truyền thống. Trong đó việc quản lý sử dụng phòng học tại trường là một trong những hệ thống quản lý thiết thực và đã được thực hiện trong đề tài này. Về mặt lý thuyết, đề tài đã giới thiệu tổng quan về mô hình MVC; cách cài đặt, cấu hình một ứng dụng trên nền Zend Framework cũng như cách sử dụng một số lớp cơ bản trong Zend Framework... Về mặt thực tiễn, đề tài đã giới thiệu quy trình xây dựng một hệ thống quản lý trên nền Zend Framework nói chung và hệ thống quản lý sử dụng phòng học tại trường ĐHCT nói riêng. Website quản lý sử dụng phòng học được thực hiện trên nền Zend Framework, các mô hình hướng đối tượng được phân tích bằng công cụ Power Desginer 15.2, công cụ lập trình Zend Studio 8.0. Ngôn ngữ lập trình được sử dụng là PHP và hệ quản trị cơ sở dữ liệu My SQL. Hệ thống sau khi được xây dựng đã đạt được những chức năng cơ bản như quản lý thông tin phòng học, tòa nhà, đơn vị, cán bộ và sinh viên tại trường. Đồng thời quản lý thời khóa biểu sử dụng phòng của các nhóm học phần nhằm quản lý việc đăng ký sử dụng tòa nhà, phòng học của cán bộ và sinh viên. Trang6 Lư u T rư ờn g H ải Lâ nABSTRACTCan Tho University (CTU) is in the progress of constructing and developing infrastructures for more qualified teaching, studying and researching. Simultaneously with this progress, managing and utilizing of infrastructures in an effective way based on computerizing traditional managing methods are considered to be essential duties. Foremost amongst these is the system of classroom managing, which is constructed in this thesis. For theoretical values, this thesis introduces briefly about MVC model, installing method and configuration of an application on Zend Framework as well as some basic classes in Zend Framework… For practical values, this thesis introduces the constructing process of a managing system on Zend Framework in general and the classroom managing system for CTU in specific. The managing website of using classrooms was built on Zend Framework. In addition, object-oriented models were analyzed by Power Desginer 15.2 and Zend Studio 8.0. PHP was used as the coding language together with My SQL. The achieved system possessed some typical functions such as managing information of class rooms, buildings, faculties and students of CTU. Besides, the schedule of room using was managed in order to support the management of classroom registering. Trang7 Lư u T rư ờn g H ải Lâ nTỪ KHÓA• Đại học Cần Thơ• Đăng ký phòng học • MVC • OOP • PHP & MySQL • Quản lý phòng học • Zend • Zend Framework Trang8 Lư u T rư ờn g H ải Lâ n Chương 1: Tổng quan CHƯƠNG 1: TỔNG QUAN 1.1. ĐẶT VẤN ĐỀ Trong những năm gần đây, trường Đại học Cần Thơ không ngừng hoàn thiện và phát triển, trở thành cơ sở đào tạo trọng điểm và là trung tâm văn hóa – khoa học kỹ thuật của đồng bằng Sông Cửu Long. Từ một số ít ngành đào tạo ban đầu, trường đã củng cố, phát triển thành một trường đa ngành đa lĩnh vực với khoảng 76 chuyên ngành đại học, 28 chuyên ngành cao học, 8 chuyên ngành nghiên cứu sinh và 1 chuyên ngành cao đẳng. Nhằm hỗ trợ tốt cho việc mở rộng đào tạo, cơ sở hạ tầng cũng như trang thiết bị của trường luôn được quan tâm nâng cấp và phát triển, đặc biệt là hệ thống phòng học phục vụ cho công tác giảng dạy, đào tạo, học tập và nghiên cứu. Hiện nay, ngoài các nhà học trực thuộc Khoa, Viện, Trung tâm, Trường còn có nhiều dãy nhà học chung phục vụ cho các lớp học phần như dãy nhà học A1, nhà học A3, nhà học B1, nhà học C1… Hiện nay, các nhà học, phòng học được quản lý theo phương pháp thủ công. Theo đó, nhà học hay một số phòng trong nhà học được giao cho một hoặc nhiều Đơn vị tiếp quản phục vụ công tác giảng dạy, đào tạo, nghiên cứu, .... đặc thù riêng của Đơn vị. Ngoài các giờ học chính quy, đa số các dãy nhà học được bàn giao cho Trung tâm ngoại ngữ sử dụng vào buổi tối phục vụ việc giảng dạy ngoại ngữ cho sinh viên. Sinh viên có thể sử dụng các phòng học khi không có lớp học phần để tự học, học nhóm, tổ chức sinh hoạt, … Việc sử dụng ngoài giờ này có thể được hợp thức hóa bằng việc đăng ký theo mẫu đơn giấy có sẵn, sau đó cán bộ quản lý tòa nhà sẽ xem xét cấp quyền sử dụng phòng học cho cán bộ hay sinh viện đã gửi giấy đăng ký sử dụng. Với một lượng lớn nhà học, phòng học cũng như số lượng Đơn vị, cán bộ và sinh viên thì việc quản lý thủ công như trên gặp phải một số vấn đề bất cập. Do đó, yêu cầu đặt ra là phải quản lý và sử dụng hiệu quả hệ thống nhà học, phòng học của trường trên cơ sở tin học hóa các quy trình quản lý truyền thống. Nhằm giải quyết yêu cầu này, đề tài “Quản lý sử dụng phòng học tại trường Đại học Cần Thơ” được thực hiện với mục tiêu xây dựng một website quản lý sử dụng phòng học hiệu quả trên nền Zend Framework. Trang 9 Lư u T rư ờn g H ải Lâ n Chương 1: Tổng quan 1.2. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ Ứng dụng công nghệ thông tin nói chung và ứng dụng các ứng dụng Web nói riêng vào công tác quản lý ở các đơn vị như trường học, cơ quan, xí nghiệp, … đã trở nên phổ biến và quen thuộc trong những năm gần đây. Điển hình ở trường Đại Học Cần Thơ, các hệ thống quản lý của trường ngày càng được tin học hóa như các hệ thống: quản lý sinh viên, quản lý đăng ký học phần, quản lý kết quả học tập của sinh viên, … Tuy nhiên đề tài xây dựng hệ thống quản lý tình hình sử dụng và đăng ký phòng học tại đơn vị này lại là một đề tài mới chưa được thực hiện. Đặc biệt đề tài này được thực hiện trên nền tảng Zend Framework, một xu hướng mới cho việc lập trình web hiện nay. Cũng giống như những PHP Framework khác, trong giai đoạn đầu Zend Framework có rất ít các thư viện xử lý và rất nhiều khuyết điểm, lúc này để hoàn thành một ứng dụng Web bằng Zend Framework đòi hỏi phải tích hợp nhiều thư viện khác để hỗ trợ Framework này. Tuy nhiên càng về sau Zend Framework càng hoàn thiện hơn và bổ sung những thư viện mới rất hữu ích cho các ứng dụng web. Và đó cũng lý do tại sao có nhiều công ty lớn như IGN.com, RottenTomatoes.com, AskMen.com, IBM… đã chọn Zend Framework làm nền tảng phát triển các ứng dụng trực tuyến. Việc chọn Zend Framework để xây dựng các ứng dụng Web ngày càng phổ biến ở những thị trường phần mềm lớn như Nhật, Mỹ, Châu Âu … Nhu cầu xây dựng các ứng dụng Web bằng Zend Framework ở Việt Nam trong những năm gần đây cũng dần trở nên cấp thiết hơn. Do đó việc xây đựng hệ thống quản lý tình hình sử dụng phòng tại trường Đại học Cần Thơ trên nền tảng Zend Framework là một đề tài mới, mở ra con đường nghiên cứu và xây dựng các ứng dụng Web bằng công nghệ Zend Framework. 1.3. PHẠM VI CỦA ĐỀ TÀI Về mặc phân tích và thiết kế hệ thống: kết quả thu được của đề tài từ các mô hình phân tích hệ thống, cơ sở dữ liệu, … hoàn toàn có khả năng xây dựng phần cơ sở dữ liệu cho ứng dụng Web quản lý tình hình sử dụng phòng tại trường Đại học Cần Thơ. Về mặt lập trình: trên cơ sở nghiên cứu và áp dụng Zend Framework, hoàn thành các nội dung chủ yếu sau: Trang 10 Lư u T rư ờn g H ải Lâ n Chương 1: Tổng quan • Hiểu và vận dụng thành công các lớp Zend Framework để xây dựng thành công các module chủ yếu cho hệ thống: module cố vấn học tập, đơn vị quản lý, quản trị thiết bị, trợ lý thiết bị, quản lý tòa nhà và quản lý đào tạo. • Đảm bảo hệ thống vận hành theo đúng cấu trúc của một ứng dụng Zend Framework (theo mô hình MVC). • Tối ưu hóa các lớp, sử dụng các lớp Zend Framework thay cho cách viết thẻ HTML. • Đảm bảo sự độc lập của các module, dễ dàng phát triển và nâng cấp hệ thống. 1.4. PHƯƠNG PHÁP NGHIÊN CỨU: • Nghiên cứu Zend Framework thông qua website chính: hay từ website của cộng đồng Zend Việt Nam: • Lập kế hoạch thực hiện đề tài: Tuần Thời gian Nội dung chính 1 03/01/2011 đến 09/01/2011 • Liên hệ với giáo viên hướng dẫn • Lập kế hoạch nghiên cứu Zend Framework 2 10/01/2011 đến 16/02/2011 • Tìm hiểu Zend Framework 3 17/01/2011 đến 23/01/2011 4 24/01/2011 đến 30/01/2011 5 31/01/2011 đến 06/02/2011 6 07/02/2011 đến 13/02/2011 7 14/02/2011 đến 20/02/2011 • Nhận đề tài “Quản lý sử dụng phòng học tại trường Đại Học Cần Thơ” 8 21/02/2011 đến 27/02/2011 • Xác định giá trị phần mềm 9 28/02/2011 đến 06/03/2011 • Quyển báo cáo: ◦ Chương 1: Tổng quan • Tìm hiểu Zend Framework Trang 11 Lư u T rư ờn g H ải Lâ n Chương 1: Tổng quan 10 07/03/2011 đến 13/03/2011 • Phân tích hệ thống • Quyển báo cáo ◦ Chương 2: Cơ sở lý thuyết • Tìm hiểu Zend Framework 11 14/03/2011 đến 20/03/2011 • Phân tích hệ thống • Quyển báo cáo ◦ Chương 2: Cơ sở lý thuyết • Tìm hiểu Zend Framework 12 21/03/2011 đến 27/03/2011 • Sơ đồ Use case 13 28/03/2011 đến 03/04/2011 • Phân tích hệ thống • Quyển báo cáo ◦ Chương 2: Cơ sở lý thuyết 14 04/04/2011 đến 10/04/2011 • Lập trình 1 • Kiểm thử đơn vị • Quyển báo cáo: ◦ Chương 3: Nội dung và kết quả nghiên cứu 15 11/04/2011 đến 17/04/2011 • Lập trình 2 • Kiểm thử đơn vị • Quyển báo cáo: ◦ Chương 3: Nội dung và kết quả nghiên cứu 16 18/04/2011 đến 24/04/2011 • Lập trình 3 • Quyển báo cáo: ◦ Tóm tắt, abstract và từ khóa 17 25/04/2011 đến 01/05/2011 • Lập trình 4: • Hoàn thành quyển báo cáo 18 02/05/2011 đến 08/05/2011 • Hoàn thành lập trình • Kiểm thử hệ thống • Hoàn thành quyển báo cáo 19 09/05/2011 đến 15/05/2011 • Hoàn thành nội dung quyển báo cáo • Chuẩn bị slide báo cáo • Liên hệ giáo viên hướng dẫn để báo cáo trước 20 16/05/2011 đến 22/05/2011 • Báo cáo luận văn Trang 12 Lư u T rư ờn g H ải Lâ n Chương 2: Cơ sở lý thuyết CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1. MÔ HÌNH MVC: 2.1.1. Các thành phần trong mô hình: Hình 2.1.1.1: Mô hình kiến trúc MVC Trong kiến trúc này, hệ thống được chia thành 3 tầng tương ứng đúng với tên gọi của nó (Model – View – Controller). Ở đó nhiệm vụ cụ thể của các tầng được phân chia như sau: • Model (Tầng dữ liệu): Là một đối tượng hoặc một tập hợp các đối tượng biểu diễn cho phần dữ liệu của chương trình. Nó được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu vào từ người dùng sẽ thông qua View đến Controller và được kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model • View (Tầng giao diện): Là phần giao diện với người dùng, bao gồm việc hiện dữ liệu ra màn hình, cung cấp các menu, nút bấm, hộp đối thoại, chọn lựa …, để người dùng có thể thêm, xóa. sửa, tìm kiếm và làm các thao tác khác đối với dữ liệu trong hệ thống.. Thông Trang 13 Lư u T rư ờn g H ải Lâ n Chương 2: Cơ sở lý thuyết thường, các thông tin cần hiển thị được lấy từ thành phần Models. • Controller (Tầng điều khiển): Là phần điều khiển của ứng dụng, điều hướng các nhiệm vụ (task) đến đúng phương thức (method) có chức năng xử lý nhiệm vụ đó. Nó chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với models, và cuối cùng là chọn một view thích hợp để hiển thị ra màn hình. 2.1.2. Sơ đồ hoạt động của mô hình: Hình 2.1.2.1: Sơ đồ 1 chuỗi MVC đơn giản 2.1.3. ƯU NHƯỢC ĐIỂM: 2.1.3.1. Ưu điểm: • Trong trường hợp sử dụng mô hình MVC để phát triển phần mềm: Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhóm được đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập trình đến tổ chức database. Giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp.. • Đối với trường hợp bảo trì: Với các lớp được phân chia theo như đã nói, thì các thành phần của một hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không phát tán náo loạn trong cả chương trình. • Khu cần mở rộng ứng dụng: Với các lớp được chia theo ba lớp như đã nói, việc thêm chức năng vào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác. Trang 14 Lư u T rư ờn g H ải Lâ n Chương 2: Cơ sở lý thuyết 2.1.3.2 Nhược điểm: • Đối với dự án nhỏ việc áp dụng mô hình MC gây cồng kềnh, tốn thời gian, … • Mất khá nhiều thời gian trong việc trung chuyển dữ liệu giữa các tầng. 2.2. ZEND FRAMEWORK: 2.2.1. Tổng quan: 2.2.1.1 Khái niệm: • Zend Framework là sản phẩm framework mã nguồn mở được phát triển trên nền PHP 5.0 theo chuẩn hướng đối tượng. • Zend Framwork là framework theo mô hình MVC. • Zend Framework có hỗ trợ làm việc với Tempalate engine kết hợp cùng tầng View 2.2.1.2. Phạm vi ứng dụng: • Tạo ứng dụng web theo mô hình chuẩn MVC • Url tiêu chuẩn, ngắn gọn • Hỗ trợ phân quyền tới từng Action • Có các thành phần thư viên hỗ trợ API của các nhà cung cấp như Google, Yahoo, Flick • Quản lý code dễ dàng, liệt kê và lấy các truy vấn history • Dễ dàng phát triển thêm các ứng dụng nhúng, sử dụng Plugins 2.2.1.2. Ưu khuyết điểm: Zend Framework là một PHP framework ra đời khá trễ, tiếp thu những tinh hoa và khắc phục những sai lầm mà các framework trước mắc phải. Ưu điểm: • ZF được viết theo kiểu OOP nên nó thừa hưởng các thế mạnh của kiểu viết này. Các lớp của ZF được BA (Business Analysis) rất chuẩn và khi cần mở rộng bạn có thể dùng thể dùng tính chất thừa kế của OOP. Nói chung là chúng ta không phải chỉnh sửa core của Trang 15 Lư u T rư ờn g H ải Lâ n Chương 2: Cơ sở lý thuyết ZF. • Hầu như các version mới của ZF ko có nhiều thay đổi trong core nên ta có thể dễ dàng update. • ZF tích hợp được gần như tất cả các thư viện PHP và các CMS khác để sử dụng. Ví dụ: Smarty - Pear - FCKEditer - Drupal .. • Các viết của ZF rất thân thiện và đơn giản. Tích hợp những mới nhất của lập trình web như: JSON - Search - Syndication - Web Services... • ZF được sử dụng trong các dự án lớn và có kế hoạch phát triển dài lâu Khuyết điểm: • Mất nhiều thời gian để tìm hiểu về thư viện của ZF • Một số lớp chưa ổn định, có sự thay đổi, gây khó khăn cho người sử dụng khi cập nhật các phiên bản. 2.2.1.4. Quá trình phát triển: • Trải qua giai đoạn hình thành và phát triển, Zend Framework hiện tại có 11 phiên bản, và phiên bản mới nhất hiện tại là 1.11. • Các phiên bản đã phát hành: Zend Framework 1.11, Zend Framework 1.10, Zend Framework 1.9, Zend Framework 1.8, Zend Framework 1.7, Zend Framework 1.6, Zend Framework 1.5, Zend Framework 1.0, Zend Framework 0.9, Zend Framework 0.8, Zend Framework 0.6 2.2.2. Một số lớp phổ biến: • Zend_Acl: giúp chúng ta phân quyền cho ứng dụng chi tiết trên từng action, controller và module • Zend_Auth: cung cấp một API cho việc chứng thực tài khoản khi đăng nhập vào hệ thống • Zend_Cache: giúp cho các ứng dụng không phải sử dụng CPU hoặc truy xuất vào database quá nhiều Trang 16 Lư u T rư ờn g H ải Lâ n Chương 2: Cơ sở lý thuyết • Zend_Controller: giúp lấy các request từ phía Client và thực thi nó bằng các Action • Zend_Currency: xử lý tất cả các vấn đề liên quan đến tiền tệ • Zend_Date: xử lý tất cả các vấn đề liên quan thời gian • Zend_Db: Dựa trên đối tuợng PDO (PHP Data Objects), cung cấp cách thức giao tiếp với database • Zend_Feed: xử lý với Rss và Atom feeds • Zend_File: cung cấp, hỗ trợ mở rộng việc upload và download của các tập tin. Nó gắn liền với kiểm tra các chức năng của tập tin.

Các file đính kèm theo tài liệu này:

  • pdf1071454_2465.pdf
Tài liệu liên quan