Xây dựng hệ thống thông tin quản lý niên luận, luận văn

  • Số trang: 62 |
  • Loại file: PDF |
  • Lượt xem: 99 |
  • Lượt tải: 0
minhtuan

Đã đăng 15929 tài liệu

Mô tả:

TRƢỜNG ĐẠI HỌC CẦN THƠ KHOA KHOA HỌC TỰ NHIÊN BỘ MÔN TIN HỌC ỨNG DỤNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÝ NIÊN LUẬN, LUẬN VĂN Sinh viên thực hiện Cán bộ hƣớng dẫn Phan Hoàng Huy ThS. Hồ Văn Tú MSSV: 1108015 Cần Thơ, 2014 TRƢỜNG ĐẠI HỌC CẦN THƠ KHOA KHOA HỌC TỰ NHIÊN BỘ MÔN TIN HỌC ỨNG DỤNG LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÝ NIÊN LUẬN, LUẬN VĂN Sinh viên thực hiện Cán bộ hƣớng dẫn Phan Hoàng Huy ThS. Hồ Văn Tú MSSV: 1108015 Cán bộ phản biện TS. Nguyễn Hữu Hòa ThS. Lê Thị Diễm 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 Tin học Ứng dụng Khoa Khoa học Tự nhiên, Trƣờng Đại học Cần Thơ vào ngày 19 tháng 05 năm 2014 Mã số đề tài: Có thể tìm hiểu luận văn tại: -Trung tâm Học liệu, Trƣờng Đại học Cần Thơ -Website: http://www.lrc.ctu.edu.vn/ Cần Thơ, 2014 LỜI CẢM ƠN Trong khoảng thời gian học tập và nghiên cứu thực hiện luận văn em đã 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 em hoàn thành luận văn này. Em xin gửi lời cám ơn chân thành đến: Cha mẹ, những ngƣời luôn bên cạnh em trên mỗi chặng đƣờng em đã đi qua, luôn động viên em để em 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 ThS. Hồ Văn Tú đã tận tình hƣớng dẫn em về mặt chuyên môn cũng nhƣ khích lệ cho em rất nhiều về mặt tinh thần trong việc hoàn thành luận văn này. Quý thầy cô Bộ môn Tin Học Ứng Dụng – Khoa Khoa Học Tự Nhiên đã tận tâm truyền đạt kiến thức trong suốt quá trình em học tập tại trƣờng Đại học Cần Thơ, giúp em có nền tảng kiến thức để thực hiện luận văn này. Các bạn đã hỗ trợ, chia sẽ và đóng góp ý kiến cho em để hoàn thành tốt luận văn. Em xin chân thành cảm ơn! Cần Thơ, ngày 28 tháng 04 năm 2014 Phan Hoàng Huy MỤC LỤC DANH MỤC BẢNG ..................................................................................................... iii DANH MỤC HÌNH .......................................................................................................iv DANH MỤC KÝ HIỆU VÀ VIẾT TẮT ..................................................................... vii TÓM TẮT.................................................................................................................... viii ABSTRACT ...................................................................................................................ix CHƢƠNG 1: TỔNG QUAN ........................................................................................... 1 1.1 Đặt vấn đề ..................................................................................................................1 1.2 Lịch sử giải quyết vấn đề ........................................................................................... 1 1.3 Phạm vi đề tài ............................................................................................................2 1.4 Phƣơng pháp nghiên cứu ........................................................................................... 2 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT ................................................................................4 2.1 Mô hình MODEL-VIEW-CONTROLLER (MVC) ..................................................4 2.1.1 Khái niệm mô hình MVC .......................................................................................4 2.1.2 Các thành phần của mô hình MVC.........................................................................4 2.1.3 Cách thức hoạt động của mô hình MVC ................................................................ 5 2.1.4 Ƣu điểm và nhƣợc điểm ......................................................................................... 5 2.2 Zend Framework ........................................................................................................6 2.2.1 Sơ lƣợc về Zend Framework ..................................................................................6 2.2.2 Các thành phần trong Zend Framework .................................................................6 2.3 Mô hình MVC trong Zend framework ......................................................................7 2.4 Cấu trúc thƣ mục của một dự án trong Zend Framework..........................................8 2.5 Tại sao phải sử dụng Zend framework ......................................................................9 CHƢƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU ..........................................10 3.1 Kết quả điều tra và thu thập thông tin......................................................................10 3.1.1 Khảo sát hiện trạng ............................................................................................... 10 3.1.2 Mô tả yêu cầu ........................................................................................................10 3.2 Phân tích hệ thống ...................................................................................................11 i 3.2.1 Biểu đồ phân rã chức năng Use case ....................................................................11 3.2.2 Mô hình mức quan niệm (CDM) ..........................................................................13 3.2.2.1 Mô hình ..............................................................................................................13 3.2.2.2 Danh sách các thực thể ...................................................................................... 14 3.2.3 Mô hình cơ sở dữ liệu mức vật lý (PDM) ............................................................ 15 3.2.4 Mô hình cơ sở dữ liệu ........................................................................................... 15 3.2.4.1 Mô hình ..............................................................................................................15 3.2.4.2 Mô tả chi tiết các bảng ....................................................................................... 17 3.2.5 Biểu đồ phân cấp chức năng BFD ........................................................................22 3.3 Thiết kế hệ thống .....................................................................................................23 3.3.1 Giao diện cho khách ............................................................................................. 23 3.3.2 Giao diện cho sinh viên ........................................................................................ 26 3.3.3 Giao diện cho giáo viên ........................................................................................ 35 3.3.4 Giao diện cho cán bộ quản lý ...............................................................................44 3.4 Kết quả và những vấn đề chƣa giải quyết đƣợc....................................................... 48 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ....................................................................49 TÀI LIỆU THAM KHẢO ............................................................................................. 50 ii DANH MỤC BẢNG Bảng 3.1 Bảng các thực thể ........................................................................................... 14 Bảng 3.2 Bảng các thuộc tính của bảng Khoa ............................................................... 17 Bảng 3.3 Bảng các thuộc tính của bảng Bộ môn ........................................................... 17 Bảng 3.4 Bảng các thuộc tính của bảng Ngành ............................................................. 17 Bảng 3.5 Bảng các thuộc tính của bảng Chuyên ngành ................................................17 Bảng 3.6 Bảng các thuộc tính của bảng Lớp .................................................................18 Bảng 3.7 Bảng các thuộc tính của bảng Học kỳ niên khóa ...........................................18 Bảng 3.8 Bảng các thuộc tính của bảng Thông báo ...................................................... 18 Bảng 3.9 Bảng các thuộc tính của bảng Trạng thái ....................................................... 18 Bảng 3.10 Bảng các thuộc tính của bảng Môn học ....................................................... 19 Bảng 3.11 Bảng các thuộc tính của bảng Giáo viên ...................................................... 19 Bảng 3.12 Bảng các thuộc tính của bảng Sinh viên ...................................................... 19 Bảng 3.13 Bảng các thuộc tính của bảng Đề tài ............................................................ 20 Bảng 3.14 Bảng các thuộc tính của bảng Danh sách đăng ký .......................................20 Bảng 3.15 Bảng các thuộc tính của bảng Kết quả ......................................................... 21 Bảng 3.16 Bảng các thuộc tính của bảng Tiến độ thực hiện .........................................21 Bảng 3.17 Bảng các thuộc tính của bảng Trao đổi ........................................................ 21 iii DANH MỤC HÌNH Hình 2.1 Sơ đồ hoạt động của mô hình MVC .................................................................5 Hình 2.2 Mô hình MVC trong Zend framework ............................................................. 7 Hình 2.3 Cấu trúc cây thƣ mục của một dự án Zend framewrok ....................................8 Hình 3.1 Biểu đồ chức năng Use-case cho Sinh viên ...................................................11 Hình 3.2 Biểu đồ chức năng Use-case cho Giáo viên ...................................................12 Hình 3.3 Biểu đồ chức năng Use-case cho Cán bộ quản lý ..........................................12 Hình 3.4 Mô hình mức quan niệm (CDM) ....................................................................13 Hình 3.5 Mô hình vật lý (PDM) ....................................................................................15 Hình 3.6 Mô hình cơ sở dữ liệu .....................................................................................16 Hình 3.7 Biểu đồ phân cấp chức năng ...........................................................................22 Hình 3.8 Trang chủ ........................................................................................................23 Hình 3.9 Danh sách đề tài cho khách ............................................................................23 Hình 3.10 Tìm đề tài ......................................................................................................24 Hình 3.11 Tìm kiếm đề tài theo tên ...............................................................................24 Hình 3.12 Đăng nhập .....................................................................................................25 Hình 3.13 Đăng nhập sai ............................................................................................... 25 Hình 3.14 Trang chủ dành cho sinh viên .......................................................................26 Hình 3.15 Danh sách đề tài chuyên ngành sinh viên ở trạng thái mới .......................... 26 Hình 3.16 Danh sách các đề tài theo chuyên ngành của sinh viên ................................ 27 Hình 3.17 Danh sách đề tài chuyên ngành khác ............................................................ 27 Hình 3.18 Thông báo không trong thời gian đăng ký đề tài..........................................28 Hình 3.19 Đăng ký đề tài đợt 1 .....................................................................................28 Hình 3.20 Danh sách đề tài đăng ký đợt 1.....................................................................28 Hình 3.21 Đăng ký đề tài đợt 2 .....................................................................................29 Hình 3.22 Danh sách đề tài đăng ký đợt 2.....................................................................29 Hình 3.23 Kết quả đăng ký đề tài ..................................................................................30 Hình 3.24 Thông báo không trong thời gian thực đề tài ...............................................30 iv Hình 3.25 Sinh viên báo cáo tiến độ lần đầu tiên .......................................................... 31 Hình 3.26 Thông báo yêu cầu nhập đầy đủ dữ liệu ....................................................... 31 Hình 3.27 Báo cáo tiến độ thực hiện đề tài của sinh viên .............................................32 Hình 3.28 Trao đổi của sinh viên ..................................................................................32 Hình 3.29 Đổi mật khẩu sinh viên .................................................................................33 Hình 3.30 Đổi mật khẩu sinh viên 1 ..............................................................................33 Hình 3.31 Đổi mật khẩu sinh viên 2 ..............................................................................34 Hình 3.32 Đổi mật khẩu sinh viên 3 ..............................................................................34 Hình 3.33 Trang chủ dành cho giáo viên ......................................................................35 Hình 3.34 Danh sách đề tài chuyên ngành trạng thái Hoàn thành ................................ 35 Hình 3.35 Danh sách đề tài chuyên khác ......................................................................36 Hình 3.36 Trang cho giáo viên ra đề tài đầu tiên trong học kỳ .....................................36 Hình 3.37 Đề tài của giáo viên ...................................................................................... 37 Hình 3.38 Chức năng thêm đề tài mới...........................................................................37 Hình 3.39 Thông báo lỗi khi thêm đề tài .......................................................................38 Hình 3.40 Thông báo lỗi khi thêm đề tài 2 ....................................................................38 Hình 3.41 Chức năng sửa đề tài ....................................................................................38 Hình 3.42 Thông báo khi xóa đề tài ..............................................................................39 Hình 3.43 Xem danh sách đăng ký đề tài của sinh viên ................................................39 Hình 3.44 Theo dõi tiến độ thực hiện 1 .........................................................................39 Hình 3.45 Theo dõi tiến độ thực hiện 2 .........................................................................40 Hình 3.46 Theo dõi tiến độ thực hiện 3 .........................................................................40 Hình 3.47 Đề xuất của giáo viên ...................................................................................41 Hình 3.48 Đề xuất của giáo viên ...................................................................................41 Hình 3.49 Trao đổi của giáo viên với các sinh viên ...................................................... 42 Hình 3.50 Đổi mật khẩu giáo viên.................................................................................42 Hình 3.51 Đổi mật khẩu giáo viên 1..............................................................................43 Hình 3.52 Đổi mật khẩu giáo viên 2..............................................................................43 v Hình 3.53 Đổi mật khẩu giáo viên 3..............................................................................43 Hình 3.54 Trang chủ ......................................................................................................44 Hình 3.55 Quản lý Khoa ................................................................................................ 44 Hình 3.56 Quản lý các Giáo viên ..................................................................................45 Hình 3.57 Viết thông báo .............................................................................................. 45 Hình 3.58 Danh sách sinh viên đăng ký đề tài .............................................................. 46 Hình 3.59 Quá trình thực hiện đề tài .............................................................................46 Hình 3.60 Cập nhật kết quả đề tài .................................................................................47 Hình 3.61 Upload các tập tin kết quả ............................................................................47 Hình 3.62 Quản lý kết quả đề tài ...................................................................................48 vi DANH MỤC KÝ HIỆU VÀ VIẾT TẮT STT Ký hiệu/Chữ viết tắt Định nghĩa/Mô tả 1 BFD Mô hình phân rã chức năng (Business Function Diagram) 2 CDM Mô hình mức quan niệm (Conceptual Data Model) 3 MVC Model-View-Controller 4 PDM Mô hình mức vật lý (Physical Data Model) vii TÓM TẮT Công nghệ thông tin đƣợc ứng dụng vào đời sống giúp các hoạt động trở nên nhanh chóng, hiệu quả và chính xác hơn. Một trong các lĩnh vực đó là Giáo dục. Việc ứng dụng tin học hóa ở các trƣờng Đại học đã và đang đƣợc đƣa vào thực hiện. Một trong số đó là trƣờng Đại học Cần Thơ. Niên luận và luận văn là những môn học không thể thiết đối với sinh viên năm ba và năm cuối. Giáo viên ra đề tài và sinh viên đăng ký đề tài vẫn thực hiện trên giấy tờ, chƣa có chƣơng trình quản lý và lƣu trữ. Giáo viên gặp nhiều khó khăn trong việc theo dõi tiến độ thực hiện và trao đổi với sinh viên. Kết quả của các đề tài cần đƣợc quản lý và lƣu trữ để thuận tiện cho việc tìm kiếm sau này. Từ những vần đề trên, đòi hỏi chúng ta cần xây dựng một hệ thống thông tin hỗ trợ cho ngƣời dùng, nhằm giúp cho ngƣời dùng thực hiện những công việc nhanh chóng và hiệu quả hơn. Hệ thống thông tin Quản lý niên luận, luận văn giúp giải quyết các vần đề của sinh viên về đăng ký đề tài, báo cáo tiến độ thực hiện, trao đổi với giáo viên; những vấn đề của giáo viên ra đề tài, theo dõi tiến độ và trao đổi với sinh viên; vần đề quản lý quá trình thực hiện đề tài, quản lý và lƣu trữ kết quả đề tài của cán bộ quản lý. Hệ thống đƣợc xây dựng dựa trên các công nghệ nhƣ ngôn ngữ lập trình Zend framework kết hợp với mô hình MVC. Những công nghệ tiên tiến này có nhiều ƣu điểm và nhiều lập trình viên sử dụng để xây dựng rất nhiều ứng dụng hiện nay. Từ khóa: Hệ thống thông tin, luận văn, niên luận, quản lý ứng dụng. viii ABSTRACT Information technology is applied in our life that it helps many activities to become faster, more efficient and accurate. One of areas is education. The application of computerization at the University has been put into practice. One of them is Cantho University. Project and the thesis are not possible the course for students in the third and final year. Teachers create to topics and students registrate topics that it has still done on paper and not program manages and stores them. Teachers have many difficulties with monitoring implementation progress and communication with students. Results of topics need to be managed and stored to facilitate the search later. From the above problems, they required we need to building a information systems to support users in order to help users perform tasks more quickly and efficiently. An information system manage project and thesis solves the problems of students in the registration topics, reportion implementation progress, communicationwith teachers; problems of the teachers such as creation topics, monitoring progress and communication with students; problems management process to implement the topics, management and storage of results of managers. The system is based on technologies such as Zend framework programming language combined with the MVC model. The advanced technology has many advantages and many programmers use to build many applications today. Key word: Information systems, management applications, project, thesis. ix CHƢƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Việc thực hiện các đề tài niên luận, luận văn là những phần không thể thiếu cho sinh viên năm ba và năm cuối. Tuy việc đăng ký đề tài đã đƣợc tin học hóa bằng cách cho sinh viên đăng ký trực tuyến nhƣng vẫn còn nhiều bất cập. Việc chọn đề tài của sinh viên chƣa thực sự khách quan. Trong quá trình thực hiện, sinh viên và giáo viên hƣớng dẫn tốn nhiều thời gian trong việc gặp gỡ trao đổi. Giáo viên hƣớng dẫn khó theo dõi đƣợc tiến độ thực hiện niên luận, luận văn của sinh viên hằng tuần, hằng tháng. Sau khi sinh viên thực hiện xong đề tài niên luận hay luận văn, cần phải lƣu lại và quản lý để thuận tiện cho việc tìm kiếm sau này. Vì vậy, chúng ta cần phải xây dựng một hệ thống quản lý theo hƣớng tin học hóa nhằm đáp ứng những yêu cầu nêu trên. Đề tài: “Xây dựng hệ thống thông tin quản lý niên luận, luận văn” đƣợc thực hiện với mục tiêu xây dựng một website quản lý niên luận, luận văn một cách hiệu quả trên nền tảng Zend Framework kết hợp mô hình MVC. Với hệ thống này, website sẽ giúp cho ngƣời dùng dễ dàng tìm kiếm các niên luận, luận văn. Sinh viên có thể dễ dàng và chủ động trong việc đăng ký, trao đổi và báo cáo tiến độ cho giáo viên hƣớng dẫn. Giáo viên thuận tiện hơn trong việc ra các đề tài, trao đổi và theo dõi tiến độ thực hiện của sinh viên trong quá trình thực hiện niên luận, luận văn. 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,…Vấn đề quản lý niên luận, luận văn tại đơn vị này lại không phải là một đề tài mới chƣa đƣợc thực hiện, nhƣng với đề tài “Xây dựng hệ thống thông tin quản lý niên luận, luận văn” đây là một hƣớng tiếp cận hoàn toàn mới, quản lý cả tiến trình 1 quản lý niên luận, luận văn. Đề tài đƣợ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. Do đó việc xây đựng Hệ thống quản lý niên luận, luận văn 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. Ở các trƣờng Đại học, cao đẳng khác nếu cần xây dựng hệ thống tƣơng tự cần phải tìm hiểu việc quản lý đào tạo của từng trƣờng để có hƣớng xây dựng hệ thống phù hợp. 1.3 PHẠM VI ĐỀ TÀI Về mặt phân tích và thiết kế hệ thống: Xây dựng website Quản lý niên luận, luận văn, bƣớc đầu ứng dụng cho khoa Khoa Học Tự Nhiên. Với các đối tƣợng sử dụng: khách, sinh viên, giáo viên, cán bộ quản lý; tƣơng ứng các chức năng: - Khách: Xem tên các đề tài, giáo viên hƣớng dẫn: tìm kiếm theo tên bất kỳ, hoặc tìm kiếm đề tài theo khoa, chuyên ngành, học phần, học kỳ niên khóa. - Sinh viên: Xem tên đề tài, chi tiết đề tài, tham khảo các đề tài đã hoàn thành, giáo viên hƣớng dẫn; đăng ký đề tài; báo cáo tiến độ; trao đổi. - Giáo viên: Xem tên đề tài, chi tiết đề tài, giáo viên hƣớng dẫn; ra đề tài, xóa, sửa; theo dõi tiến độ; trao đổi. - Cán bộ quản lý: Quản lý (thêm, xóa, sửa) các khoa, bộ môn, ngành, chuyên ngành…; viết các thông báo liên quan đến việc ra đề tài, đăng ký đề tài; xem danh sách sinh viên đăng ký đề tài; cập nhật quá trình thực hiện; cập nhật kết quả của đề tài; quản lý kết quả đề tài. Về mặt lập trình: Nghiên cứu và phân tích thiết kế website bằng ngôn ngữ Zend Framework kết hợp mô hình MVC và hệ quản trị cơ sở dữ liệu mySQL. 1.4 PHƢƠNG PHÁP NGHIÊN CỨU  Tham khảo, tìm hiểu việc đăng ký, thực hiện, quản lý Niên luận, Luận văn trong thực tế.  Phân tích những yêu cầu của thực tế đặt ra.  Tìm hiểu các tài liệu, giáo trình về phân tích thiết kế hệ thống thông tin; lập trình web bằng ngôn ngữ Zend Framework kết hợp mô hình MVC.  Xây dựng các mô hình cơ sở dữ liệu cho hệ thống. 2  Thiết kế giao diện phù hợp đáp ứng yêu cầu của ngƣời sử dụng.  Cuối cùng tiến hành viết mã lệnh xây dựng chƣơng trình ứng dụng cho hệ thống Quản lý Niên luận, Luận văn. Nội dung quyển luận văn gồm bốn phần: Phần 1 Tổng quan giới thiệu đề tài, lịch sử giải quyết, phạm vi giải quyết vấn đề và hƣớng nghiên cứu đề tài; phần 2 Cơ sở lý thuyết trình bài lý thuyết của công nghệ đƣợc sử dụng đề xây dựng chƣơng trình; phần 3 Nội dung và kết quả nghiên cứu trinh bày sản phẩm ứng dụng, kết quả đạt đƣợc của toàn bộ quá trình nghiên cứu và xây dựng ứng dụng ; Phần 4 Kết luận và hƣớng phát triển trình bày kết luận về toàn bộ quá trình nghiên cứu và hƣớng phát triển của đề tài. 3 CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 MÔ HÌNH MODEL-VIEW-CONTROLLER (MVC) 2.1.1 Khái niệm mô hình MVC Mô hình MVC (Model - View - Controller) [9] là một kiến trúc phần mềm hay mô hình thiết kế đƣợc sử dụng trong kỹ thuật phần mềm. Nó giúp cho các nhà phát triển (developer) tách ứng dụng của họ ra 3 thành phần khác nhau Model, View và Controller. Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác. 2.1.2 Các thành phần của mô hình MVC Mô hình MVC đƣợ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 mỗi 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. 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) View hiển thị các thông tin cho ngƣời dùng của ứng dụng và đƣợc giao nhiệm vụ cho việc nhận các dữ liệu vào từ ngƣời dùng, gửi đi các yêu cầu đến controller, sau đó là nhận lại các phản hồi từ controller và hiển kết quả cho ngƣời dùng. Các trang HTML, JSP, các thƣ viện thẻ và các tập tin nguồn là một phần của thành phần View. Trong các web framework, View gồm 2 phần chính: - Tập tin mẫu định nghĩa cấu trúc và cách thức trình bày dữ liệu cho ngƣời dùng. Ví dụ nhƣ layout, color, windows… - Logic xử lý cách áp dụng dữ liệu vào cấu trúc trình bày. Logic này có thể bao gồm việc kiểm tra định dạng dữ liệu, chuyển đổi định dạng dữ liệu sang một dạng dữ liệu trung gian, lựa chọn một cấu trúc hiển thị phù hợp.  Controller (Tầng điều khiển) Controller đảm nhiệm việc cập nhật bộ phận hiển thị (View) khi cần thiết. Bộ điều khiển này nhận dữ liệu nhập từ ngƣời dùng, truy xuất các thông tin cần thiết từ mô hình trong (Model), và cập nhật thích hợp phần hiển thị (View). Giao diện với 4 ngƣời sử dụng phần mềm đƣợc thiết lập nhờ sự tƣơng tác qua lại giữa View và Controller: hai bộ phận này chính là phần trình bày bên ngoài của đối tƣợng biểu diễn bên trong. 2.1.3 Cách thức hoạt động của mô hình MVC Hình 2.1 Sơ đồ hoạt động của mô hình MVC Nhìn lại sơ đồ phía trên, ta thấy có mũi tên nét liền và những mũi tên nét đứt. Những mũi tên nét đứt đƣợc hình thành trên quan điểm của ngƣời dùng mà không phải là của những nhà thiết kế phần mềm thực sự. Do đó chúng ta chỉ quan tâm đến những mũi tên còn lại. Đây là một cách đơn giản để mô tả lại luồng sự kiện đƣợc xử lý trong MVC:  User tƣơng tác với View, bằng cách click vào button, user gửi yêu cầu đi.  Controller nhận và điều hƣớng chúng đến đúng phƣơng thức xử lý ở Model.  Model nhận thông tin và thực thi các yêu cầu.  Khi Model hoàn tất việc xử lý, View sẽ nhận kết quả từ Model và hiển thị lại cho ngƣời dùng. 2.1.4 Ƣu điểm và nhƣợc điểm Mô hình MVC có các ƣu và nhƣợc điểm sau [9]: 5  Ưu điểm:  Phát triển phần mềm: chuyên nghiệp hóa, có thể chia công việc cho nhiều nhóm chuyên môn khác nhau: nhóm thiết kế, nhóm lập trình, nhóm tổ chức database... Giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp.  Bảo trì: với các lớp đƣợc phân chia, 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ế bên của nó, chứ không ảnh hƣởng cả chƣơng trình.  Mở rộng: việc thêm chức năng vào cho từng lớp sẽ dễ dàng.  Nhược điểm: Đối với dự án nhỏ việc áp dụng mô hình MVC gây cồng kềnh, tốn thời gian trong quá trình phát triển. Tốn thời gian trung chuyển dữ liệu của các thành phần. 2.2 ZEND FRAMEWORK 2.2.1 Sơ lƣợc về Zend Framework Zend Framework là PHP Framework đuợc lập trình trên PHP dựa theo mô hình MVC sẽ giúp tách các phần xử lý riêng biệt cho website, nó giúp cho việc lập trình dễ quản lý, chỉnh sửa và nâng cấp code [3]. Nền tảng:  Sử dụng PHP 5.  Viết hƣớng đối tƣợng.  Cung cấp mô hình tiên tiến MVC.  Là một phần mềm nguồn mở có sự hỗ trợ cộng đồng.  Cung cấp một loạt các ứng dụng của các nhà cung cấp. 2.2.2 Các thành phần trong Zend Framework Zend framework có các thành phần nhƣ sau [3]: Zend_Controller: module này giúp lấy các yêu cầu từ phía Client và thực thi nó bằng các Action. Zend_Db: dựa trên đối tƣợng PDO (PHP Data Objects), cung cấp cách thức giao tiếp với cơ sở dữ liệu. Zend_View: đây chính là tầng View trong mô hình MVC. 6 Zend_Acl: quản lý phân quyền cho toàn bộ trang web. Zend_Auth: hỗ trợ chứng thực ngƣời dùng. Zend_Feed: giúp xử lý các nguồn cung cấp dữ liệu nhƣ Rss và Atom. Zend_Validate: xác nhận các kiểu dữ liệu ngƣời dùng cung cấp gửi về Server, và xét xem dữ liệu đó có đúng với yêu cầu hay không. Zend_Filter: lọc các chuỗi nhập vào xem có hợp lệ với yêu cầu không, ví dụ nhƣ kiểm tra một chuỗi có phải là email hoặc là các ký tự số hay không. Zend_Service_*: cung cấp truy cập tới các dịch vụ web APIS của các nhà cung cấp nhƣ Amazon, Flick, Yahoo,… Zend_Pdf: tạo và xử lý các tập tin PDF. Zend_XmlRpc: tạo ra giao tiếp XMLRpc (giao tiếp client-server, các xử lý tập trung phía server, client chỉ để hiển thị). Zend_Session: quản lý các session. Zend_Log: lớp này dùng để hỗ trợ việc ghi log cho ứng dụng, giúp cho ngƣời lập trình dễ kiểm tra lỗi. Zend_Cache: hỗ trợ ghi cache cho ứng dụng và làm tăng tốc ứng dụng. 2.3 MÔ HÌNH MVC TRONG ZEND FRAMEWORK Hình 2.2 Mô hình MVC trong Zend framework Bất cứ một ứng dụng nào đƣợc xây dựng theo mô hình MVC nào thì cũng điều phải tuân thủ những nguyên tắc mà mô hình MVC mang lại.Hình 2.2: Mô hình MVC trong Zend Framework - Model: Cung cấp tập hợp các lớp đƣợc trừu tƣợng hóa sử dụng cho việc truy xuất dữ liệu. Lớp phục vụ: Zend_DB, Zend_DB_Table. 7 - View: Định nghĩa các thông tin hiển thị phía ngƣời dụng sau khi đƣợc xử lý và trả về từ controller. Lớp phục vụ: Zend_View. - Controller: Kiểm soát dữ liệu vào ra. Xuất thông tin ra tầng View khi đƣợc thực thi. Lớp phục vụ: Zend_Controller. Khi có một yêu cầu (request) từ ngƣời dùng. Controller sẽ tiếp nhận yêu cầu, phân tích yêu cầu, sau đó sẽ phân luồng yêu cầu để gọi đến Model và View tùy vào yêu cầu mà ngƣời dùng đã gửi. Khi ngƣời dùng gửi một yêu cầu từ trình duyệt thì nơi đầu tiên tiếp nhận yêu cầu đó đầu tiên là controller. Tùy vào yêu cầu, mà Controller sẽ phân luồng đến Model và View. Tóm lại, một ứng dụng đƣợc xây dựng theo mô hình MVC hoạt động tổng quát nhƣ sau: Tiếp nhận yêu cầu từ trình duyệt dƣới dạng HTML. Sau đó đƣợc biên dịch thông qua Java Servlet → controller tiếp nhận, phân tích yêu cầu để phân luồng đến model và view. Cuối cùng trả về trình duyệt dƣới dạng một response HTML. 2.4 CẤU TRÚC THƢ MỤC CỦA MỘT DỰ ÁN TRONG ZEND FRAMEWORK Hình 2.3 Cấu trúc cây thƣ mục của một dự án Zend framewrok  Thƣ mục config: chứa các tập tin config chính cho hệ thống. 8
- Xem thêm -