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

Xây dựng trang web bộ môn Hệ Thống Thông Tin dựa trên nền Zend frameword

20 359 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 20
Dung lượng 468,5 KB

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

Nội dung

Mục Lục Phần 1: Giới thiệu về công nghệ Zend Frameword 3 1.1 Giới thiệu công nghệ Zend Frameword 3 1.2 Mô hình MVC trong Zend framwork 5 1.3 Luồng xử lý trong Zend framework 6 Phần 2: Giới thiệu bài toán 9 2.1 Giới thiệu 9 2.2 Giới thiệu sơ lược về hệ thống 9 2.3 Phân công công việc 9 Phần 3: Phân tích yêu cầu bài toán 11 3.1 Biểu đồ ca sử dụng 11 3.2 Biểu đồ trình tự 11 Phần 4: Thiết kế hệ thống Cơ sở dữ liệu 14 Phần 5: Kết luận và đánh giá 18 Tài liệu tham khảo 19 Phần 1: Giới thiệu về công nghệ Zend Frameword 1.1 Giới thiêu về công nghệ Zend Frameword a . Zend Framwork là gì? Zend Framework là sản phẩm framework mã nguồn mở được phát triển trên nền tảng PHP 5.0 theo mô hình hướng đối tượng. Zend Framwork là framework theo mô hình MVC. Zend Framwork có hỗ trợ làm việc với Template engine kết hợp cùng tầng View. b. Zend Framwork làm được những gì? 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, … 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. c. Ưu khuyết điểm của Zend Framework: Zend Framework là một PHP framework ra đời khá trễ, tiếp thu được những tinh hoa và khắc phục những sai lầm mà các framewok trước mắc phải. • Ưu điểm: Zend Framework được viết theo kiểu hướng đối tượng nên nó thừa hưởng các thế mạnh của kiểu thiết kế này. Các lớp của Zend Framework được BA (Business Analysis) rất chuẩn và khi cần mở rộng bạn costheer dùng tính chất thừa kế của OOP, không cần thiết phải chỉnh sửa core của framework. Các version của Zend Framework không có nhiều thay đổi trong core nên có thể dễ dàng update. Zend Framework tích hợp gần như tất cả các thư viện PHP và CMS khác để sử dụng. Ví dụ: Smarty, Pear, Drupal, … Cách viết của Zend Framework rất thân thiện và đơn giản, tích hợp những công nghệ mới nhất của lập trình web: JSON, Search, Syndication, Web Services, … Thường được sử dụng trong các dự án lớn và có kế hoạc phát triển dài lâu. • Khuyết điểm:

Trang 1

Đại Học Bách Khoa Hà Nội Viện Công Nghệ Thông Tin và Truyền Thông

BÁO CÁO

Môn: PROJECT 2 -K54

Đề tài : Xây dựng trang web bộ môn

Hệ Thống Thông Tin dựa trên nền Zend frameword

Giáo viên hướng dẫn:ThS Phạm Thị Hương GiangSinh viên thực hiện :Phạm Thanh HoàngSHSV:Nguyễn Việt

HiếuSHSV: 20091046

Hà Nội – 05/2012

Trang 2

Mục Lục

Phần 1: Giới thiệu về công nghệ Zend Frameword

3

1.1 Giới thiệu công nghệ Zend Frameword

3 1.2 Mô hình MVC trong Zend framwork

5

Phần 1: Giới thiệu về công nghệ Zend Frameword

*****

Trang 3

1.1 Giới thiêu về công nghệ Zend Frameword

a Zend Framwork là gì?

- Zend Framework là sản phẩm framework mã nguồn mở được phát triển trên nền tảng PHP 5.0 theo mô hình hướng đối tượng

- Zend Framwork là framework theo mô hình MVC

- Zend Framwork có hỗ trợ làm việc với Template engine kết hợp cùng tầng View

b Zend Framwork làm được những gì?

- 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, …

- 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

c Ưu khuyết điểm của Zend Framework:

Zend Framework là một PHP framework ra đời khá trễ, tiếp thu được những tinh hoa và khắc phục những sai lầm mà các framewok trước mắc phải

 Ưu điểm:

- Zend Framework được viết theo kiểu hướng đối tượng nên nó thừa hưởng các thế mạnh của kiểu thiết kế này Các lớp của Zend Framework được BA (Business Analysis) rất chuẩn và khi cần mở rộng bạn costheer dùng tính chất thừa kế của OOP, không cần thiết phải chỉnh sửa core của framework

- Các version của Zend Framework không có nhiều thay đổi trong core nên có thể dễ dàng update

- Zend Framework tích hợp gần như tất cả các thư viện PHP và CMS khác để sử dụng Ví dụ: Smarty, Pear, Drupal, …

- Cách viết của Zend Framework rất thân thiện và đơn giản, tích hợp những công nghệ mới nhất của lập trình web: JSON, Search, Syndication, Web Services, …

Trang 4

Thường được sử dụng trong các dự án lớn và có kế hoạc 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 Zend FrameWork

- Một số lớp chưa ổn định, có sự thy đổi, gây khó khăn cho người

sử dụng khi cập nhật các phiên bản

d Sơ qua về các thành phần trong Zend Framwork:

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

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

Zend_Filters: lọc dữ liệu trước khi thực hiện một quá trình xử lý nào

đó

Zend_Form: đơn giản hóa việc tạo form và xử lý các ứng dụng trên

website

Zend_Local: là một thư viện trả lời cho câu hỏi làm sao ứng dụng có

thể sử dụng trên toàn thế giới

Zend_Search: là một lớp cung cấp cho chúng ta các phương thức

search trên nội dung của các tập tin lưu trữ thông tin

Zend_Translate: là giải pháp cho các ứng dụng đa ngôn ngữ.

Zend_Validate: dùng để kiểm tra dữ liệu nhập vào có phù hợp với

yêu cầu hay không

Trang 5

Zend_View: chính là tầng View trong mô hình MVC, giúp chúng ta

hiển thị những kết quả trong xử lý Controller và Models ra bên ngoài

2.Mô hình MVC trong Zend Framwork:

Bất cứ một ứng dụng nào được xây dựng theo mô hình MVC thì cũng đều phải tuân thủ những nguyên tắc mà mô hình MVC mang lại:

Model:

Thành phần model được chúng ta xây dựng thành các lớp kế thừa từ lớp Zend_Db_Table hoặc Zend_Db_table_Abstract được đặt trong thư mục application/models của ứng dụng Mỗi lớp sẽ đảm nhận việc kết nối và thao tác đến table trong cơ sở dữ liệu

View

Thành phần của view được đặt trong thư mục application/views Trong thư mục views có 3 thành phần :

o Scripts : Chứa các thư mục gồm các file ánh xạ đến các controller/action để hiển thị trang giao diện tương ứng

o Helpers : Trong thư mục này chứa các lớp mà chúng ta tạo ra

và các lớp này sẽ được nạp tự động cho đối tượng Zend_View thông qua Zend_View_Helper để giúp chúng ta dễ dàng gọi đến hàm được xây dựng trong lớp này mà không cần phải khai báo trước vì nó được xem là một thành phần trong thư viện của Zend

Trang 6

o Filers : Tương tự như helpers, thành phần filters chứa các lớp giúp cho chúng ta có thể thay đổi hoặc xóa những dữ liệu không mong muốn trong quá trình nhập liệu thông qua bộ lọc này

Controller

Controller có nhiệm vụ điều hành trang web của bạn Một trang web

có thể có nhiều module, một module có thể có nhiều controller, một

Zend Framework sử dụng đối tượng Front Controller để quản lý các Request được gửi tới Web Server Và dựa trên Request đó nó sẽ gọi các lớp xử lý Model và trả về kết quả trình bày với các lớp View

index.php index.php là một file rất quan trọng trong website,nó có

nhiệm vụ đón đầu tất cả các request vào, sau đó khởi tạo controller

và dispatch request đến controller tương ứng

bootstrap.php : bootstrap.php có nhiệm vụ khởi tạo các đối tượng

toàn cục sử dụng cho website, Bẫy lỗi của ứng dụng và đưa về cho errorController xử lý

Khi có một request từ người dùng Controller sẽ tiếp nhận request, phân tích request, sau đó sẽ phân luồng request để gọi đến Model và View tùy vào request mà người dùng đã gửi Khi người dùng gửi một request từ browser thì nơi đầu tiên tiếp nhận request đó đầu tiên là controller Tùy vào request, mà controller sẽ phân luồng đến model và view

3 Luồng xử lý công việc trong Zend Framework:

Trang 7

o Bước 1: Một yêu cầu được tạo ra và đối tượng Request Object

được tạo ra

o Bước 2: routeStartup được nạp.

o Bước 3: Router xử lý yêu cầu.

o Bước 4: routerShutdown được nạp.

o Bước 5: dispatchLoopStartup được nạp.

o Bước 6: Qui trình gửi thông tin được bắt đầu.

o Bước 7: preDispatch được nạp.

o Bước 8: Dispathcher gọi Action Controller.

o Bước 9: Action Controller tạo Response Object.

o Bước 10: postDispatch được nạp.

o Bước 11: Nếu có Action nào được gọi thì quay lại bước 7.

o Bước 12: dispatchLoopShutdown được nạp

o Bước 13: Response được gửi lại.

Trang 8

4 Cấu trúc thư mục của một Project trong Zend Framework (một module):

Câu trúc thư mục Diễn giải

/aplication Thư mục chứa các thành phần của mô hình MVC

/configs Thư mục chứa các tập tin cấu hình *.ini, *.xml

applications Tập tin cấu hình

/controllers Thư mục chứa các tập tin điều hướng hành động

IndexContro

ller.php

Controller mặc định kế thừa lớp Zend_Controller_Action mỗi tập tin controller sẽ có một phương thức mặc định là indexAction

/forms Thư mục chứa các lớp được tạo bởi Zend_Forms hoặc

các lớp validate form

/models Thư mục chứa các lớp tương tác trực tiếp với database /views Phụ thuộc thư mục /controllers

/filters Chứa các lớp lọc dữ liệu đầu vào, đầu ra

/helpers Chứa các hỗ trợ

/scripts Chứa view của các action trong controller

/index Tương ứng tập tin IndexController.php

/i

ndex.php

Tương ứng phương thức indexAction trong lớp InderController.php

/layouts Thư mục chứa các bố cục,giao diện của ứng dụng

Bootstrap.php Tập tin khởi tạo tài nguyên, nạp sẵn các phương thức

Trang 9

/library Thư mục chứa các thư viện ứng dụng.

/Zend Thư viện của Zend

/Zendvn Thư viện mở rộng Zendvn

/public Thư mục chứa các thành phần khác(dùng chung) /css Thư mục chứa các tập tin CSS

/images Thư mục chứa các tập tin hình ảnh

/js Thư mục chứa các tập tin Javascript

index.php Tập tin chạy chính của ứng dụng

define.php Tập tin định nghĩa hằng số

Phần 2 : Giới thiệu bài toán

2.1 Giới thiệu bài toán

-Quản lý danh sách các giảng viên trong một bộ môn thật khó,việc các giảng viên làm sao có thể quản lý các bài giảng, các học phần mà mình đảm nhiệm

-Trong khuôn khổ môn project 2 nhóm chúng em vận dung kiến thức

đã học được để xây dựng một web site quản lý bộ môn hệ thống thông tin dựa trên nền tảng công nghệ Zend Frameword mà bọn em nghiên cứu được.

2.2 Giới thiệu sơ lược về hệ thống

Các chức năng của hệ thống:

-Quản lý phần tin tức và thông báo chung của bộ môn

-Quản lý danh sách cán bộ giảng viên bộ môn hệ thống thông tin trường Đại Học Bách Khoa Hà Nội

-Các giảng viên có thể đăng nhập,them sửa xóa phần thông tin cá nhân của mình,có thể update và download bài giảng của mình

-Quản lý danh sách các cựu sinh viên tham gia đồ án tốt nghiệp

-Phần tìm kiếm có thể tìm các đề tài nghiên cứu, các slide bài giảng của các giảng viên

2.3 Phân công công việc chung

Trang 10

a Công việc chung

-Cùng nhau tìm hiểu về công nghệ PHP lạp trình web, mysql, apache, mô hình MVC và nền tảng Frameword của Zend

-Cùng phân tích yêu cầu của đề bài, phân tích các chức năng , phân tích cơ sở dữ liệu

b Công việc riêng

Nguyễn Việt Hiếu -Đảm nhiệm thiết kế giao diện của

trang web, sử dụng phần mềm photoshop vẽ phác thảo giao diện của trang web Sau đó chuyển file

photoshop sang html, dùng ngôn ngữ CSS và JQery để căn chỉnh giao diện trang web

-Cùng Phạm Thanh Hoàng sử dụng ngôn ngữ php và mysql thiết kế các Modul hoàn chỉnh

Phạm Thanh Hoàng Thiết kế cơ sở dữ liệu, thực hiện đưa

code theo đúng mô hình MVC và Zend framword

c Công việc từng tuần

Trang 11

Tuần 4: Nhận đề tài và tìm hiểu đề tài

Tuần 5: Phân tích bài toán

Tuần 6:Giải quyết vấn đề lưu trữ bảng trong cơ sở dữ liệu

Tuần 7:Phân tích phác thảo cơ sở dữ liệu, Giải quyết vấn đề upload và download file

Tuần 8:Phân tích cơ sở dữ liệu hoàn chỉnh

Tuần 9: Thực hiện code giao diện, Tạo trang user hoàn chỉnh Thực hiện việc update và download file

Tuần 10:Tạo trang admin quản lý

Tuần 11:Test lỗi và kiểm tra lại sản phẩm

Tuần 12 :Chuẩn bị viết báo cáo và trình bày sản phẩn trước giảng viên hương dẫn

Phần 3 : Phân tích yêu cầu bài toán

*****

3.1 Biểu đồ ca sử dụng

Hệ thống gồm tác nhân chính: usre và admin Hệ thống cung cấp các chức năng : Người dùng (các giảng viên) có thể thêm sửa xóa edit lại phần thông tin cá nhân, các bài giảng ,

Trang 12

3.2 Biểu đồ trình tự

Biểu đồ trình tự cho admin:

Trang 13

Biểu đồ trình tự cho User

Trang 15

Phần 4: Thiết kế hệ thống

***

Biểu đồ csdl : Biểu đồ thực thể liên kết:

Trong đó

-Bảng groups : Dùng để phân quyền giữa admin và các giảng viên

-Bảng catalog_info : bảng lưu trữ loại thông tin

-Bảng information : bảng chứa thông tin

-Bảng subject :

-Bảng teacher : Chứa thông tin các giảng viên

Trang 16

-Bảng student : Chứa thông tin các sinh viên

-Bảng stujects:

-Bảng url_lecture : Chứa đường dẫn các tài liệu download

-Bảng article:

Trang 17

-Bảng teach_subj : Bảng liên kết giữa bảng teacher và bảng subject

-Bảng teach_subjs: Bảng liên kết giữa bảng teacher và bảng subjects

-Bảng teach_article : Bảng liên kết giữa bảng teacher và bảng article

-Bảng student_subj: Bảng liên kết giữa bảng student và bảng subject

Trang 19

Phần 5: Kết luận và đánh giá

***

5.1 Ưu điểm

-Hệ thống đã đáp ứng đầy đủ các chức năng đã đề ra -Vận dụng được kiên thức về Zend Framword vào bài toán -Thiết kế đưa toàn bộ thông tin vào cơ sở sữ liệu

5.2 Nhược điểm

-Hệ thống còn ít chức năng do thời gian hạn chế

-Chưa tối ưu hóa hết phần cơ sở dữ liệu

Trang 20

Tài liệu tham khảo

***

[1] Slide bài giảng “Phân tích và thiết kế hệ thống thông tin” – Nguyễn Hồng Phương, đại học Bách Khoa Hà Nội

[2] “Phát triển hệ thống hướng đối tượng với UML 2.0 và C++” – Nguyễn Văn Ba

[3] Giáo trình “Nhập môn UML” – Huỳnh Văn Đức, Đoàn Thiện Ngân

Ngày đăng: 15/08/2014, 15:11

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