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

XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA

95 1K 5
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Xây Dựng Component Quản Lý Dự Án Phần Mềm Cho Website Joomla
Tác giả Nguyễn Thị Thu Thiện, Lê Thị Hồng Thủy
Người hướng dẫn T.S Nguyễn Thanh Bình, Th.S Nguyễn Văn Nguyên
Trường học Đại Học Bách Khoa Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo cáo thực tập tốt nghiệp
Năm xuất bản 2009
Thành phố Đà Nẵng
Định dạng
Số trang 95
Dung lượng 5,73 MB

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

Nội dung

Xậy dựng component cho website Joomla thực hiện một số công việc cơ bản của quản lý dự án phần mềm như:

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

Tel (84-511) 3736 949, Fax (84-511) 842 771Website: itf.ud.edu.vn, E-mail: cntt@ud.edu.vn

BÁO CÁO THỰC TẬP TỐT NGHIỆP

NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN

MỀM CHO WEBSITE JOOMLA

SINH VIÊN : Nguyễn Thị Thu Thiện

Trang 2

LỜI CẢM ƠN

Tôi chân thành cảm ơn Thầy cô trong khoa Công nghệ thông tin cũng như các thầy cô giảng dạy trong trường Đại học Bách khoa Đà Nẵng đã truyền đạt những kiến thức quý báu cho chúng tôi trong những năm học vừa qua.

Đặc biệt, tôi xin chân thành cảm ơn thầy giáo Nguyễn Thanh Bình và thầy Nguyễn Văn Nguyên - thuộc khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng đã tận tình hướng dẫn, động viên và giúp đỡ tôi trong suốt thời gian thực hiện đề tài.

Và để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình đã động viên, khích lệ, tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này.

Xin chân thành cám ơn các bạn trong khoa Công nghệ thông tin – khóa

04, đặc biệt là các bạn lớp 04T4 đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được cho tôi trong quá trình nghiên cứu và thực hiện

đề tài.

Một lần nữa tôi xin chân thành cảm ơn !

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan:

1 Những nội dung trong báo cáo này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy T.S Nguyễn Thanh Bình và thầy Th.S Nguyễn Văn Nguyên.

2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên, Ngưyễn Thị Thu Thiện

Lê Thị Hồng Thủy

Trang 4

MỤC LỤC

MỞ ĐẦU 1

I Đặt vấn đề 1

II Lý do chọn đề tài 1

III Hướng nghiên cứu của đề tài 2

III.1 Về mặt lý thuyết 2

III.2 Công cụ xây dựng đề tài 2

IV Dự kiến kết quả đạt được 2

V Nội dung tóm tắt các chương tiếp theo 3

CƠ SỞ LÝ THUYẾT ERROR! BOOKMARK NOT DEFINED. VI Giới thiệu về joomla 1

VI.1 Joomla là gì? 1

VI.2 Các dòng phiên bản của Joomla 1

VI.3 Kiến trúc Joomla 1

VII Một số khái niệm trong Joomla 2

VII.1 Front-end và back-end 2

VII.1.1 Front-end 2

VII.1.2 Back-end 2

VII.2 Template 2

VII.3 Menu 2

VII.4 Các thành phần mở rộng 3

VII.4.1 Module 3

VII.4.2 Component 3

VII.4.3 Mambot (Plug-in) 4

VIII Cách xây dựng một component trong Joomla 1.5 6

VIII.1 Giới thiệu mô hình MVC 6

VIII.2 Cài đặt Joomla MVC 6

VIII.3 Tạo một component 7

VIII.3.1 Tạo một entry point 7

VIII.3.2 Tạo Controller 8

VIII.3.3 Tạo View 9

VIII.3.4 Tạo Template 10

VIII.3.5 Đóng gói tất cả- Tạo file hello.xml 10

VIII.4 Bổ sung Model vào component 12

VIII.4.1 Tạo Model 12

VIII.4.2 Sử sụng Model 13

VIII.4.3 Bổ sung file vào package 14

VIII.5 Sử dụng cơ sở dữ liệu trong component MVC 15

VIII.5.1 Lấy dữ liệu 15

VIII.5.2 Tạo file SQL trong quá trình cài đặt và gỡ bỏ component 16

VIII.5.3 Cập nhật file cài đặt 17

VIII.6 Tạo giao diện quản trị trong MVC 19

i

Trang 5

VIII.6.1 Tạo Framework cơ sở 19

VIII.6.2 Model Hellos 20

VIII.6.3 View Hellos 22

VIII.6.4 Template hellos 23

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 25

IX Phân tích hệ thống thông tin 25

IX.1 Sơ đồ Use Case 26

IX.1.1 Use Case “Projects Management” 26

IX.1.2 Use Case “Tasks Management” 26

IX.1.3 Use Case “Delivery Management” 27

IX.1.4 Use Case “Requirements Management” 27

IX.1.5 Use Case “Design Management” 28

IX.1.6 Use Case “Coding Management” 28

IX.1.7 Use Case “Risks Management” 29

IX.1.8 Use Case “File Manage” 29

IX.1.9 Use Case “Calendar Management” 30

IX.1.10 Use Case “Board Management” 30

IX.1.11 Use Case “Profile Management” 31

IX.1.12 Use Case “User Management” 31

IX.2 Danh sách Actor, Phân Quyền và Use Case 31

IX.2.1 Actor 31

IX.2.2 Use Case 32

IX.3 Đặc tả chi tiết 35

IX.3.1 Use Case “Login” 35

IX.3.2 Use Case “Projects Management” 36

I.1.2 Use Case “Tasks Management” 38

I.1.2 Use Case “Delivery Management” 39

I.1.2 Use Case “Requirements Management” 41

I.1.2 Use Case “Design Management” 42

I.1.3 Use Case “Coding Management” 44

I.1.4 Use Case “Risks Management” 45

I.1.5 Use Case “File Manage” 46

I.1.2 Use Case “Calendar Management” 48

I.1.3 Use Case “Board Management” 49

I.1.4 Use Case “Profile Management” 51

I.1.5 Use Case “User Management” 51

I.2 Sơ đồ tuần tự 53

I.2.1 Chức năng “Login” 53

I.2.2 Chức năng “Projects Management” 53

I.2.3 Chức năng “Tasks Management” 55

I.2.4 Chức năng “Delivery Management” 56

I.2.5 Chức năng “Requirements Management” 57

I.2.6 Chức năng “Design Management” 58

I.2.7 Chức năng “Coding Management” 59

I.2.8 Chức năng “Risks Management” 60

ii

Trang 6

Mục lục iii

I.2.9 Chức năng “File Manage” 61

I.2.10 Chức năng “Calendar Management” 62

I.2.11 Chức năng “Board Management” 63

I.2.12 Chức năng “User Management” 64

I.3 Thiết kế hệ thống 65

I.3.1 Tổ chức dữ liệu 65

XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ THỰC HIỆN 76

I Công cụ và môi trường phát triển 76

I Một số kết quả đạt được 76

I.1 Màn hình khởi động 76

I.2 Màn hình “Tasks Management” 77

II Màn hình “Delivery Management” 77

II.1 Màn hình “Requirements Management” 78

II.2 Màn hình “Design Management” 78

II.3 Mành hình “Coding Management” 79

II.4 Màn hình “Risks Management” 79

II.5 Màn hình “Upload File” 80

II.6 Màn hình “Calendar Management” 80

II.7 Màn hình “Update profile” 81

II.8 Màn hình “User Management” 81

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82

Trang 7

Mục lục iv

Trang 8

mã nguồn mở là tiết kiệm chi phí Ngoài ra, khi ứng dụng phần mềm chạy trên nềnweb người dùng sẽ dễ dàng truy cập và sử dụng bằng các trình duyệt như Firefox hay

IE mà không cần phải cài đặt gì thêm

Có nhiều chương trình mã nguồn mở khác nhau, chúng tôi chọn tìm hiểu về hệthống quản lý tin Joomla CMS vì Joomla được sử dụng ở khắp mọi nơi trên thế giới,

từ những website cá nhân cho tới những hệ thống website doanh nghiệp có tính phứctạp cao, cung cấp nhiều dịch vụ và ứng dụng Joomla có thể dễ dàng cài đặt, dễ dàngquản lý và có độ tin cậy cao Joomla giúp mọi người có thể phát triển việc kinh doanh,học tập, giảng dạy, giới thiệu, quảng bá hình ảnh, dịch vụ, sản phẩm của mình, củacông ty, của trường mình một cách tốt nhất, hiệu quả nhất với chi phí thấp nhất Ngoài ra, chương trình này còn được hỗ trợ bởi một cộng đồng rộng lớn, đáp ứng cácyêu cầu về an toàn và bảo mật thông tin

Để tìm hiểu mô hình hoạt động và cách xây dựng một ứng dụng trên nền Joomla,chúng tôi xin giới thiệu đề tài « Xây dựng component quản lý dự án phần mềm chowebsite Joomla »

Mặc dù ứng dụng đã triển khai được phần lớn các yêu cầu chính trong việc quản lýmột dự án phần mềm, tuy nhiên việc xây dựng một chương trình quản lý dự án là kháphức tạp Do đó ứng dụng này không tránh khỏi những thiếu sót, rất mong nhận đượcnhiều ý kiến nhận xét của thầy cô và các bạn để chúng tôi có thể rút kinh nghiệm choviệc xây dựng những ứng dụng thực tế sau này

II Lý do chọn đề tài

Trong thuật ngữ của chuyên ngành Kĩ nghệ phần mềm, Quản lý dự án phần mềm làcác hoạt động trong lập kế hoạch, giám sát và điều khiển tài nguyên dự án, thời gianthực hiện, các rủi ro trong dự án và cả quy trình thực hiện dự án; nhằm đảm bảo thànhcông cho dự án Khi triển khai một dự án phần mềm thì các vấn đề sau thường xảy ra:thời gian thực hiện quá mức dự kiến, kết quả của dự án không như mong đợi Đểtránh những vấn đề đó xảy ra đòi hỏi người quản lý phải làm tốt về:

 Quản lý thời gian: lập lịch, kiểm tra đối chiếu quá trình thực hiện dự án với lịch trình, điều chỉnh lịch trình khi cần thiết

Trang 9

 Quản lý nhân lực: xác định, điều phối nhân lực cho hợp lý

 Quản lý sản phẩm: thêm, bớt các chức năng phù hợp với yêu cầu của khách hàng

 Quản lý rủi ro: xác định, phân tích rủi ro và đề xuất giải pháp khắc phục Xuất phát từ những yêu cầu trên, chúng tôi đã chọn đề tài « Xây dựng componentquản lý dự án phần mềm cho website Joomla » làm đề tài tốt nghiệp Việc xây dựngmột ứng dụng như vậy nhằm áp dụng những kiến thức mà chúng tôi đã được học ởtrường trong thời gian qua vào thực tiễn với mong muốn sẽ làm cho công việc quản lý

dự án doanh nghiệp phần mềm sẽ thuận tiện hơn Chương trình được viết trên nềnweb nên những người tham gia dự án chỉ cần truy cập vào website của công ty để lấynhững thông tin về dự án, trao đổi về công việc Hơn nữa người quản lý vẫn có thểxem xét quá trình làm dự án, trực tiếp quản lý dự án đó khi vắng mặt ở công ty

III Hướng nghiên cứu của đề tài

III.1 Về mặt lý thuyết

 Tìm hiểu về CMS Joomla, ngôn ngữ PHP, MySQL, cách xây dựng

component cho website Joomla

 Tìm hiểu về các thao thác cơ bản trong việc quản lý dự án nói chung và quản lý dự án phần mềm nói riêng

 Đưa ra một số định hướng để phát triển đề tài

III.2 Công cụ xây dựng đề tài

 Công cụ nghiên cứu cơ sở lý thuyết: Các tài liêu tham khảo về ngôn ngữ PHP, MySQL, Joomla, quản lý dự án

 Công cụ thiết kế phần mềm: trình duyệt Firefox, Internet Explore, Joomla 1.5.9, Jcode studio for Joomla, StarUML

IV Dự kiến kết quả đạt được

Xậy dựng component cho website Joomla thực hiện một số công việc cơ bản củaquản lý dự án phần mềm như:

 Hiển thị thông tin các dự án mà công ty đang thực hiện Chương trình cho phép admin và trưởng dự án trực tiếp chỉnh sửa, cập nhật thông tin về dự án trên đó Nhân viên sau khi xem thông tin về dự án nếu muốn tham gia có thể gởi yêu cầu và nếu đựợc admin hay trưởng dự án đồng ý thì sẽ trở thành thành viên của dự án

 Trưởng dự án có thể chia một dự án ra thành nhiều task nhỏ, mỗi task có một thời hạn deadline riêng, do một nhân viên trực tiếp chịu trách nhiệm để tiện cho việc quản lý

Trang 10

 Mỗi dự án phần mềm được chia ra thành những phần cụ thể như :

 Task: Mỗi dự án chia ra thành các công việc nhỏ hơn Mỗi công việc cómột thời hạn deadline riêng

 Requirement: đưa ra những yêu cầu của khách hàng về dự án phần mềmđó

 Design: đưa ra các bản thiết kế cho phần mềm sao cho phù hợp với requirement, mỗi requirement có thể có nhiều mẫu design khác nhau

 Coding: phần này để quản lý việc coding của dự án, ứng với mỗi design thì có một hoặc nhiều phần coding khác nhau

 Risks: là nơi đưa ra những rủi ro dự kiến được của dự án, hậu quả và cách khắc phục

 Delivery: trưởng dự án đưa ra thông tin về kế hoạch chuyển giao cho khách hàng ở đây để mọi người tham khảo và điều chỉnh kế hoạch làm việc của mình cho kịp tiến độ

 Quản lý file: Các thành viên của dự án có thể đưa những tài liệu có liên quanlên đây cho mọi người Chương trình cho phép tạo một thư mục mới và liên kếtvới task có liên quan

 Diễn đàn thảo luận nội bộ của các thành viên trong dự án: là nơi để các thành viên trong dự án đưa lên những ý kiến của mình, những khó khăn khi thực hiện để trưởng dự các và các thành viên khác xem xét, cân nhắc, đưa ra kéhoạch làm việc phù hợp

 Quản lý thành viên: Mỗi nhân viên phải có tài khoản đăng kí trên website của công ty Nếu muốn nhân viên đó trở thành thành viên của dự án thì admin hay trưởng dự án sẽ dùng tên tài khoản mà nhân viên đã đăng kí hoặc địa chỉ mail của nhân viên để add vào dự án

V Nội dung tóm tắt các chương tiếp theo

Chương 1: Cơ sở lý thuyết

Chương 2: Phân tích và thiết kế hệ thống

Chương 3: Xây dựng chương trình và kết quả thực hiện

Chương 4: Kết luận

Trang 11

CHƯƠNG 2

CƠ SỞ LÝ THUYẾT

Trang 12

I Giới thiệu về joomla

Joomla là một hệ quản trị nội dung mã nguồn mở (Open Source Content

Management Systems).Joomla được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ

liệu MySQL , cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họlên Internet hoặc Intranet

Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiểnthị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễnđàn, bình chọn, lịch biểu, tìm kiếm trong Site và hỗ trợ đa ngôn ngữ

Joomla! được sử dụng rất phổ biến, từ những website cá nhân cho tới những hệthống website doanh nghiệp, cung cấp nhiều dịch vụ và ứng dụng Joomla dễ dàng càiđặt, quản lý và có độ tin cậy cao

Joomla có mã nguồn mở do đó việc sử dụng Joomla là hoàn toàn miễn phí.

Joomla có 2 dòng phiên bản chính: Joomla 1.0.x và Joomla 1.5.x

 Dòng phiên bản 1.0.x: Là phiên bản phát hành ổn định Được sử dụng rộng rãi, có nhiều thành phần mở rộng (component, module, mambot)

 Dòng phiên bản 1.5.x: Là phiên bản cải tiến từ Joomla 1.0.x (phần mã được viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử như cũ) Joomla 1.5 hỗ trợ

đa ngôn ngữ Joomla 1.5 dùng charset mặc định là UTF-8 (thay vì ISO-8859-1 trong Joomla 1.0.x)

 Tầng thứ ba là mức mở rộng Tại tầng này có các thành phần (component),

mô đun (module) và giao diện (template) được thực thi và thể hiện

Trang 13

Hình 1: Kiến trúc Joomla

II Một số khái niệm trong Joomla

II.1 Front-end và back-end

II.1.1 Front-end

Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần giao diện

phía ngoài, nơi tiếp xúc với mọi người sử dụng Bất cứ ai cũng có thể trông thấy khi

gõ đúng đường dẫn URL vào trình duyệt

Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ

II.1.2 Back-end

Back-end, còn được biết với tên gọi Public Back-end, Administrator, Control Pane: phần dành cho người quản trị Những người bình thường không biết đường dẫn

để truy cập, hoặc nếu có biết thì cũng phải qua bước kiểm tra tài khoản

Phần back-end được truy cập thông qua đường dẫn:http://your_domain/administrator

II.2 Template

Là giao diện, khuông dạng, kiểu mẫu, hình thức được thiết kế để trình bày nội dungcủa trang Web và có các vị trí định sẵn để tích hợp các bộ phận, thành phần của trangWeb Joomla! cho phép cài đặt và thay đổi Temp cho Web Site hay cho từng trangWeb khác nhau một cách dễ dàng

II.3 Menu

Joomla! có rất nhiều kiểu Menu, mỗi Menu sẽ là một trang hiển thị có nội dung vàcách trình bày theo nhiều kiểu khác nhau

Các Menu này được quản lý theo mã số ID nên có thể thay đổi tên và vị trí mà ảnh

hưởng đến nội dung, địa chỉ liên kết của chúng

Trang 14

Joomla! cho phép lựa chọn và quyết định Menu nào làm Trang chủ (Home) là trang

sẽ xuất hiện đầu tiên khi truy cập vào địa chỉ của trang Web

Tất cả các thành phần, nội dung, trong Joomla! đều có thể cho phép hiển thị hay

không hiển thị (sử dụng hay không sử dụng) thông qua chức năng Published hay Unpublish

II.4 Các thành phần mở rộng

II.4.1 Module

Module là một trong 3 thành phần mở rộng chính của Joomla! Đó là một đoạn mã

nhỏ thường được dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thị các kếtquả tìm được Nó có thể được nạp vào một vị trí bất kỳ trên template (vị trí left, right,top, bottom hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trangcủa Website hay một số trang được ấn định Khả năng tương tác giữa người sử dụng

và hệ thống thông qua module là hạn chế (chúng ta thường chỉ nhận thông tin trả về)

Module có tên bắt đầu bằng mod_ Chúng ta có các module thông dụng:

Lastest News (mod_latestnews): Module hiển thị các tin mới nhất

Popular News (mod_mostreads): Module hiển thị các bài được quan tâm nhiều nhất

Related Items (mod_related_items): Module hiển thị các bài viết liên quan

Random Image (mod_random_image): Module hiển thị các ảnh ngẫu nhiên

Search Module (mod_search): Module công cụ tìm kiếm

Login Module (mod_login): Module hiển thị form đăng nhập hệ thống

Stats Module (mod_stats): Module hiển thị các thông tin thống kê về hệ thống

Menu Module (mod_mainmenu): Module hiển thị các menu của website

Banners Module (mod_banners): Moudule hiển thị các banner quảng cáo

II.4.2 Component

Component là một thành phần mở rộng lớn nhất và phức tạp nhất của Joomla CMS.Các component có thể xem như là các ứng dụng con và nếu joomla là một hệ điềuhành thì các component là các ứng dụng desktop Ví dụ component nội dung(com_content) là một ứng dụng mini xử lý tất cả các vấn đề về nội dung được trả lạinhư thế nào mỗi khi có yêu cầu duyệt nội dung được đưa ra

Trang 15

Một component có hai thành phần chính: phần quản trị và phần trên site Phần trênsite là phần được sử dụng để tải về các trang khi được triệu gọi trong quá trình hoạtđộng của một website thông thường Phần quản trị cung cấp giao diện để cấu hình,quản lý các khía cạnh khác nhau của component và được truy cập thông qua ứng dụngquản trị của Joomla

Component có thể có thêm modul để hỗ trợ cho việc hiển thị các chức năng và nộidung của component

Thông thường sau khi cài đặt joomla có sẵn các component: Banner (quản lý cácbảng quảng cáo), Contact ( quản lý việc liên hệ giữa người dùng với ban quản trịwebsite), Search (quản lý việc tìm kiếm), Web links (quản lý các liên kết ngoàiwebsite), và các component quản lý nội dung của trang web

II.4.3 Mambot (Plug-in)

Mambot (plug-in) là chức năng được bổ sung thêm cho component, các mambotnày sẽ can thiệp, bổ sung vào nội dung của trang web trước khi nó được hiển thị.Mambot được xem như là phương tiện giao tiếp giữa hệ thống joomla với component,chẳng hạn tìm kiếm thông tin

III Cách xây dựng một component trong Joomla 1.5

III.1 Giới thiệu mô hình MVC

Bắt đầu từ phiên bản Joomla 1.5.x hoặc các phiên bản sau này, Joomla đã đưavào một framework mới, mang lại những thuận tiên rất lớn cho những người pháttriển Các đoạn code giờ đây rất dễ dàng để kiểm tra và khá rõ ràng Framework nàyđưa ra một mẫu thiết kế mới, thiết kế MVC (Model-View-Controller) trong Joomla Model-View-Controller (gọi tắt là MVC) là một mẫu thiết kế phần mềm đượcdùng để tổ chức các đoạn mã theo cách mà việc xử lý dữ liệu và biểu diễn dữ liệu táchrời nhau Điều này tạo ra tiền đề cho hướng tiếp cận sau này khi mà việc xử lý dữ liệuđược nhóm vào trong một section, khi đó giao diện hay quá trình tương tác với ngườidùng bao quanh dữ liệu có thể được định dạng và tùy biến lại mà không phải lập trìnhlại việc xử lý dữ liệu nữa

Model: là thành phần của component đóng gói dữ liệu cho ứng dụng Nó thường

cung cấp các thủ tục để quản lý, thao tác dữ liệu trong đó có thêm các thủ tục để lấy

dữ liệu từ model Có thể là bổ sung (insert), loại bỏ (delete) hay cập nhật (update)thông tin về một trường nào đó trong cơ sở dữ liệu (CSDL) Theo cách này, nếu mộtứng dụng chuyển đổi sang việc sử dụng một file bình thường để lưu trữ thông tin của

nó thay vì sử dụng CSDL thì chỉ có thành phần Model là thay đổi còn các thành phầnView và Controller là không đổi

View: là một thành phần của component được sử dụng để trả lại dữ liệu từ model.

Đối với ứng dụng web, view thông thường là các trang HTML để trả lại dữ liệu Viewlấy dữ liệu từ Model (dữ liệu này được chuyển qua View tới Controller) Sau cùng là

Trang 16

đưa dữ liệu vào trong template (dữ liệu này sẽ hiển thị với người dùng) View khônglàm thay đổi dữ liệu, nó chỉ hiển thị dữ liệu lấy từ Model mà thôi)

Controller: Controller chịu trách nhiệm phản hồi các hành động của người dùng.

Trong các ứng dụng web, một hành động của người dùng thông thường là một yêucầu tải trang Controller sẽ xác định yêu cầu gì được người dùng đưa ra và phản hồithích hợp bằng việc yêu cầu Model tính toán dữ liệu phù hợp và chuyển từ Model vàoView Controller không thể hiện dữ liệu từ Model, nó kích hoạt các phương thức trongModel để hiệu chỉnh dữ liệu và sau đó chuyển từ Model sang View để hiển thị dữ liệu Trong Joomla, mô hình MVC được hỗ trợ thông qua 3 lớp JModel, JView vàJcontroller

III.2 Cài đặt Joomla MVC

Trong Joomla mấu MVC được thực hiện sử dụng 3 lớp:

 <classname>JModel</classname>

 <classname>JView</classname>

 <classname>JController</classname>

III.3 Tạo một component

Đối với component cơ sở của chúng ta, chúng ta chỉ cần 5 file:

hello.php - đây là điểm vào cho component của chúng ta

controller.php - file này có chứa controler cơ bản

views/hello/view.html.php - file này nhận các dữ liệu cần thiết và đặt nó lên

template

views/hello/tmpl/default.php - file này là temple cho đầu ra

hello.xml - đây là một file XML nói cho joomla biết cách cài đặt

component

của chúng ta như thế nào

III.3.1 Tạo một entry point

Joomla luôn luôn được truy cập thông qua một điểm vào đơn: index.php cho cácứng dụng site và administrator/index.php cho ứng dụng quản trị Sau đó ứng dụng sẽtải các component cần thiết dựa trên giá trị chọn lựa trong URL hoặc trong dữ liệuPOST Đối với component của chúng ta URL sẽ như sau:index.php?option=com_hello&view=hello Việc này sẽ tải file chính của chúng ta và có thể đượcxem như một điểm vào đơn cho component của chúng ta:components/com_hello/hello.php

<?php

Trang 17

defined( '_JEXEC' ) or die( 'Restricted access' );

$controller = new $classname( );

$controller->execute( JRequest::getVar( 'task' ) );

$controller->redirect();

?>

Câu lệnh đầu tiên là câu lệnh kiểm tra bảo mật

JPATH_COMPONENT là đường dẫn tuyệt đối tới component hiện tại, trongtrường hợp của chúng ta là components/com_hello Nếu bạn cần xác định sitecomponent hoặc admin component thì bạn có thể sử dụngJPATH_COMPONENT và JPATH_COMPONENT_ADMINISTRATOR

DS là dấu phân cách thư mục trong hệ thống của bạn: có thể là “\” hoặc “/” Điềunày được thiết lập tự động bởi frameword, vì thế developer không phải quan tâm đếnviệc phát triển các phiên bản khác nhau cho các hệ điều hành khác nhau DS sẽ luônđược sử dụng khi tham chiếu đến các file trên máy chủ cục bộ

Sau khi tải controler cơ bản, chúng ta sẽ kiểm tra một controler cụ thể cần đến.Trong component này, controler cơ bản chỉ là một controler nhưng chúng ta đề cậpđến điều này cho các công việc trong tương lai

<classname>JRequest</classname>:getVar() tìm một biến trong URL hoặc POST dữliệu Bởi vậy nếu URL của chúng ta là: index.php?option=com_hello>controller=controller_name thì chúng ta có thể nhận được têncontroler của chúng ta trong component bằng sử dụng câu lệnh sau: echo

<classname>JRequest</classname>::getVar(’controller’);

Bây giờ chúng ta đã có controler cơ sở ‘<classname>HelloController</classname>’trong com_hello/controller.php, và nếu cần thiết bổ sung thêm các controler dạng như:

Trang 18

‘<classname>HelloControllerController1</classname>’ trongcom_hello/controllers/controller1.php.

Sau khi controler được tạo ra, chúng ta cho controler chạy nhiệm vụ như được chỉ

ra trong URL: index.php?option=com_hello&task=sometask Nếu không có nhiệm vụnào được thiết lập thì nhiệm vụ mặc định ‘display’ sẽ được giả định Khi ‘display’được sử dụng, biến ‘view’ sẽ quyết định cái gì sẽ được hiển thị Các nhiệm vụ khácnhư ‘save’, ‘edit’, ‘new’, …

Controler có thể quyết định redirect the page (thực hiện tải lại một trang), thôngthường là sau khi một nhiệm vụ như ‘save’ được hoàn thành Câu lệnh cuối cùng thựchiện việc này

Điểm vào chính (hello.php) về bản chất đã thông qua việc điều khiển controler thựchiện các nhiệm vụ được đặt ra trong request

III.3.2 Tạo Controller

Component của chúng ta chỉ có một nhiệm vụ - greet the world (thể hiện lời chào).Bởi vậy controler sẽ rất đơn giản Không cần đến việc tính toán trên dữ liệu Tất cảnhững gì cần thiết phải làm là tải view thích hợp Chúng ta sẽ chỉ có một phương thứctrong controler là display() Hầu hết các hàm cần thiết được xây dựng trong lớpJControler, bởi vậy tất cả những gì chúng ta cần là gọi phương thứcJControler::display(); Code của controler cơ sở như sau:

Trang 19

Phương thức display() này thật sự không cần thiết bởi vì tất cả những gì nó làm làgọi hàm khởi tạo của cha nó Tuy nhiên, đó là một cơ sở khá tốt để chỉ ra điều gì cầnphải làm trong controler

Phương thức <classname>JController</classname>::display() sẽ xác định view vàlayout từ request, tải view đó và thiết lập layout Khi bạn tạo ra một menu item chocomponent của bạn, menu manager sẽ cho phép admin lựa chọn view mà họ thích đểthể hiện và trên layout cụ thể Một view thông thường được xem như một cách hiểnthị của một tập các dữ liệu nào đó (ví dụ, danh sách các car, danh sách các event, mộtcar đơn, một event đơn, …) Một layout là một cách tổ chức view

Trong component của chúng ta chúng ta sẽ có một view đơn được gọi là hello, vàmột layout đơn (default)

III.3.3 Tạo View

Nhiệm vụ của view là rất đơn giản: nó nhận dữ liệu được thể hiện và đặt nó lêntemplate Dữ liệu được đặt lên template sử dụng phương thức

<classname>JView</classname>::assignRef Đoạn mã của view như sau:

$greeting = "Hello World!";

$this->assignRef( 'greeting', $greeting );

parent::display($tpl);

}

}

?>

III.3.4 Tạo Template

Joomla template/ layout là các file PHP thông thường, được sử dụng để bố trí, xếpđặt dữ liệu từ view theo một cách cụ thể nào đó Các biến được gán bởi phương thứcJView::assignRef có thể được truy cập từ template sử dụng $this→{propertyname}(xem mã template bên dưới như một ví dụ)

Trang 20

Template của chúng ta rất đơn giản, chúng ta chỉ muốn thể hiện một lời chào hợpquy cách từ view

<?php

defined('_JEXEC') or die('Restricted access'); ?>

<h1><?php echo $this->greeting; ?></h1>

III.3.5 Đóng gói tất cả- Tạo file hello.xml

Có thể cài đặt thủ công một component bằng cách copy tất cả các file bằng FPTclient và hiệu chỉnh CSDL Nhưng sẽ hiệu quả hơn nếu tạo ra một file được đóng gói

để Joomla! Installer thực hiện điều này cho bạn File đóng gói này sẽ chứa nhiều dạngthông tin khác nhau như:

 Các miêu tả chi tiết cơ bản về component của bạn (ví dụ như tên), và tùy ý một số mô tả thông tin về bản quyền …

 Một danh sách các file cần copy

 Một file PHP thực hiện bổ sung các thao tác cài đặt và gỡ bỏ (file này là không bắt buộc)

 Một file SQL có chứa các câu truy vấn dữ liệu mà sẽ được thực hiện vào lúc cài đặt hoặc gỡ bỏ (file này là không bắt buộc)

Định dạng của file XML như dưới đây:

<version>Component Version String</version>

<description>Description of the component </description>

<files folder="site">

Trang 21

<html><body bgcolor="#FFFFFF"></body></html>

File khác là admin.hello.php, đây là điểm vào cho section quản trị trong componentcủa chúng ta Bởi vì chúng ta chưa có section quản trị trong component vào thời điểmnày nên nó sẽ có nội dung tương tự như file index.html

III.4 Bổ sung Model vào component

III.4.1 Tạo Model

Khái niệm model được gọi tên như thế bởi vì lớp này được dùng để mô hình hóacho một vài thực thể nào đó Trong trường hợp của chúng ta, model đầu tiên sẽ đưa ra

Trang 22

một lời chào mừng Điều này phù hợp với thiết kế hiện tại, bởi vì chúng ta đã có mộtview ‘hello’, view đó thể hiện một câu chào mừng tới người dùng

Cách thông thường để đặt tên cho các model trong Joomla! Frameword là tên lớpbắt đầu bằng tên của component (trong trường hợp của chúng ta là ‘hello’), tiếp theo

là ‘model’, và cuối cùng là là tên của model Bởi thế lớp model của chúng ta được gọi

là HelloModelHello

Ở thời điểm này chúng ta chỉ mô hình hóa cách xử lý của model hello, và nó sẽ trảlại một lời chào Chúng ta sẽ có một phương thức được gọi là getGreeting() Phươngthức này đơn giản là trả lại chuỗi “Hello, World” Dưới đây là code cho model củachúng ta:

Bây giờ chúng ta đã tạo ra model của mình Tiếp theo chúng ta sẽ phải hiệu chínhview để nó có thể lấy được lời chào

III.4.2 Sử sụng Model

Joomla! Frameword được thiết lập theo cách controler sẽ tự động tải model có têntrùng với view và đặt nó vào trong view Vì view của chúng ta được đặt là ‘hello’, nênmodel ‘hello’ của chúng ta sẽ tự động được tải và được đặt vào trong view Bởi vậychúng ta sẽ dễ dàng nhận được một tham chiếu đến model của chúng ta sử dụngphương thức JView::getModel() Đoạn mã cho view trước của chúng ta có chứa dòng:

Trang 23

$greeting = "Hello World!";

Để sử dụng model, chúng ta chuyển đổi dòng trên thành:

$model =& $this->getModel();

III.4.3 Bổ sung file vào package

Tất cả những gì còn lại cần phải làm là bổ sung một entry vào file XML để modelmới của chúng ta được copy Joomla! Frameword sẽ tìm kiếm model của chúng tatrong thư mục models Bởi vậy entry cho file này trông như sau:

Trang 24

<name>Hello</name>

<creationDate>2007 02 22</creationDate>

<author>John Doe</author>

<authorEmail>john.doe@example.org</authorEmail> <authorUrl>http://www.example.org</authorUrl>

<copyright>Copyright Info</copyright>

<license>License Info</license>

<version>Component Version String</version>

<description>Description of the component </description> <files folder="site">

Trang 25

III.5 Sử dụng cơ sở dữ liệu trong component MVC

III.5.1 Lấy dữ liệu

Model hiện tại của chúng ta có một phương thức getGreeting() Phương thức nàyrất đơn giản, tất cả những gì nó làm là trả về một câu chào được code cố định

Để làm những điều này thú vị hơn, chúng ta sẽ lấy câu chào từ bảng cơ sở dữliệu Trong phần sau, chúng ta sẽ mô tả làm cách nào để tạo ra một file SQL và bổsung các đoạn mã phù hợp vào file XML để tạo ra bảng và bổ sung dữ liệu mẫu vàobảng khi component được cài đặt Bây giờ, chúng ta chỉ đơn giản thay thế câu lệnh trả

về trong hàm getGreeting bằng đoạn code lấy lời chào mừng từ CSDL và trả lại lờichào mừng đó

Đầu tiên, chúng ta cần lấy được một tham chiếu đến đối tượng CSDL Vìjoomla sử dụng CSDL cho các thao tác thông thường của nó, nên nó đã có một kết nốitới CSDL tồn tại, bởi thế không cần thiết phải tạo ra một kết nối CSDL riêng Có thểlấy được một tham chiếu tới kết nối bằng cách sử dụng câu lệnh:

$db =& JFactory::getDBO();

JFactory là một lớp static được sử dụng để nhận tham chiếu đến nhiều đối tượng hệ

thống khác nhau Các thông tin thêm về lớp này có thể tham khảo trong tài liệu vềAPI Tên hàm getDBO là viết tắt cho get DataBase Object, có thể nhớ một cách dễdàng và rất quan trọng

Bây giờ chúng ta đã có một tham chiếu đến đối tượng CSDL, Chúng ta có thể lấy

dữ liệu Điều này được thực qua hai bước:

Lưu trữ câu truy vấn của vào đối tượng CSDL

Trang 26

Phương thức $db→loadResult() sẽ chạy câu lệnh truy vấn CSDL đã được lưu trữ

và trả về trường đầu tiên của dòng đầu tiên trong kết quả Xem JDatabase APIreference để có các thông tin nhiều hơn về các phương thức khác trong lớp JDatabase

III.5.2 Tạo file SQL trong quá trình cài đặt và gỡ bỏ component

Joomla! installer có xây dựng sẵn việc hỗ trợ đối với việc chạy các câu truy vấntrong quá trình cài đặt component Tất cả các câu truy vấn này được lưu trữ trong mộtfile text chuẩn

Chúng ta sẽ có 3 câu truy vấn trong file cài đặt: việc đầu tiên sẽ thực hiện xóa bảngtrong trường hợp nó đã tồn tại, tiếp theo thực hiện việc tạo ra bảng với các trường phùhợp, và cuối cùng là chèn dữ liệu vào bảng vừa tạo

Dưới đây là các câu truy vấn của chúng ta:

DROP TABLE IF EXISTS `# hello`;

CREATE TABLE `# hello` (

`id` int(11) NOT NULL auto_increment,

`greeting` varchar(25) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT DEFAULT CHARSET=utf8;

INSERT INTO `# hello` (`greeting`) VALUES ('Hello, World!'),

('Bonjour, Monde!'),

('Ciao, Mondo!');

Joomla! sẽ thay thế các tiền tố #_ trong tên bảng bởi tiền tố đã được xác địnhtrong quá trình cài đặt Đối với hầu hết các bản cài đặt, bảng này sẽ trở thànhjos_hello Điều này cho phép nhiều bản cài đặt joomla có thể sử dụng chung CSDL,

và ngăn chặn các xung đột với các ứng dụng khác sử dụng cùng tên bảng (ví dụ, haiứng dụng có thể chia sẻ chung một CSDL, nhưng cả hai đều cần một bảng ‘user’, vớicách này vấn đề sẽ được giải quyết)

Chúng ta đã xác định hai trường trong CSDL Trường đầu tiên là ‘id’ đóng vai trò

là khóa chính Khóa chính trong một bảng của CSDL là trường dùng để xác định duynhất một bản ghi trong bảng Nó thường được sử dụng để tìm kiếm các hàng trongCSDL Trường còn lại là ‘greeting’ Đây là trường lưu câu chào mừng được trả lại bởitruy vấn mà chúng ta đã sử dụng ở trên Các câu truy vấn của chúng ta sẽ được lưutrong file install.utf.sql

Tạo ra file SQL để gỡ bỏ cài đặt

Trang 27

Joomla! sẽ quản lý việc xóa các file và các thư mục được tạo ra trong quá trình càiđặt, nhưng phải bổ sung các câu truy vấn sẽ loại bỏ các bảng đã được thêm vàoCSDL Trong ví dụ, chúng ta chỉ cần một câu truy vấn sau để xóa nó

DROP TABLE IF EXISTS `# hello`;

Câu truy vấn này sẽ được lưu trữ trong file uninstall.utf.sql

Cập nhật file cài đặt

Chúng ta cần phải thay đổi một vài thứ trong file cài đặt XML Đầu tiên, chúng tacần bổ sung hai file mới vào danh sách các file File cài đặt SQL sẽ phải đưa vàotrong thư mục admin Thứ hai, chúng ta cần phải báo cho trình cài đặt chạy các câutruy vấn trong các file của chúng ta trong quá trình cài đặt và quá trình gỡ bỏ

File XML mới của chúng ta sẽ như sau:

<version>Component Version String</version>

<description>Description of the component </description>

Trang 28

Chú ý đến hai thuộc tính xuất hiện trong các thẻ <file> nằm trong các phần

<install> và <uninstall>: charset và driver Charset là kiểu charset được sử dụng Chỉ

có charset hợp lệ là utf8 Nếu bạn muốn tạo ra các file cài đặt cho CSDL không phải

là utf8 bạn sẽ bỏ qua thuộc tính này Thuộc tính driver xác định CSDL nào các câutruy vấn được viết cho Hiện tại, thuộc tính này chỉ có thể là mysql, nhưng các phiênbản joomla trong tương lai có thể có nhiều dạng CSDL hơn

Trang 29

III.6 Tạo giao diện quản trị trong MVC

III.6.1 Tạo Framework cơ sở

Frameword cơ sở của panel quản trị cũng tương tự như phần site Điểm vào chínhcho phần quản trị là file admin.hello.php File này giống y hệt file hello.php được sửdụng trong phần site ngoại trừ tên của controler mà nó tải sẽ được thay đổi thànhHellosController Ngoài ra, controler mặc định được gọi là controller.php và file nàygiống y hệt controler mặc định trong phần site, ngoại trừ tên của controler được gọi làHellosController thay vì HelloController Sự thay đổi này để JControler theo mặc định

sẽ tải hellos view, view này sẽ hiển thị một danh sách các câu chào mừng

Dưới đây là code của admin.hello.php

$controller = new $classname( );

$controller->execute( JRequest::getVar( 'task' ) );

$controller->redirect();

?>

Chúng sẽ bắt đầu với view hellos và model hellos Đầu tiên là model hellos

III.6.2 Model Hellos

Model Hellos sẽ rất đơn giản Hiện tại, công việc mà chúng ta cần chỉ là truy vấn

để nhận được một danh sách của các câu chào mừng từ CSDL Công việc này sẽ đượcthực hiện bằng cách gọi phương thức getData()

Trang 30

Lớp JModel có một phương thức protected được xây dựng sẵn _getList() Phươngthức này có thể được sử dụng để đơn giản hóa tác vụ truy vấn để nhận được một danhsách các bản ghi từ CSDL Đơn giản là chúng ta cần truyền cho nó câu truy vấn và nó

sẽ trả lại danh sách các bản ghi

Trong tương lai, có thể chúng ta lại muốn sử dụng câu truy vấn trong một phươngthức khác Vì vậy, ở đây chúng ta sẽ tạo ra một phương thức private _buildQuery() sẽtrả lại câu truy vấn sẽ được truyền vào phương thức _getList() Điều này sẽ tạo ra khảnăng thay đổi câu truy vấn khi nó được đặt trong một tình huống khác

Do đó trong lớp của chúng ta sẽ có hai phương thức: getData() và _buildQuery() Phương thức _buidQuery đơn giản là trả về câu truy vấn Code của nó như sau:

sẽ được gọi là _data

Dưới đây là code của phương thức getData()

Trang 32

III.6.3 View Hellos

Bây giờ chúng ta đã có một model để nhận dữ liệu, chúng ta cần hiển thị nó Viewhellos này sẽ khá giống với view trong phần site Model của chúng ta được tự độngcài đặt trên site, bởi vậy nó nằm trong phần quản trị Các phương thức bắt đầu bằng

‘get’ trong model có thể được truy cập bằng việc sử dụng phương thức get() của lớpJView Bởi vậy view của chúng ta sẽ có 3 dòng Một để lấy dữ liệu từ model, một đểđẩy dữ liệu lên template, và một gọi phương thức display để hiển thị Bởi vậy chúng

ta có code như sau:

// Get data from the model

$items =& $this->get( 'Data');

$this->assignRef( 'items', $items );

parent::display($tpl);

}

}

File này được lưu thành views/hellos/view.html.php.

III.6.4 Template hellos

Template sẽ lấy dữ liệu được đưa đến từ view và đưa dữ liệu đó ra đầu ra để hiểnthị Chúng ta sẽ hiển thị kết quả ở đầu ra trong một bảng đơn giản Trong khi template

Trang 33

ở phần site là rất đơn giản, thì trong trang quản trị chúng ta sẽ cần mở rộng một chút

để xử lý vòng lặp thông qua dữ liệu

Dưới đây là code trong template của chúng ta:

<?php defined('_JEXEC') or die('Restricted access'); ?>

<form action="index.php" method="post" name="adminForm">

Trang 34

<input type="hidden" name="option" value="com_hello" />

<input type="hidden" name="task" value="" />

<input type="hidden" name="boxchecked" value="0" />

<input type="hidden" name="controller" value="hello" />

</form>

Template này được lưu thành views/hellos/tmpl/default.php

Trang 35

CHƯƠNG 3

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Trình bày kết quả phân tích và thiết kế bài toán gồm: phân tích chức năng như sơ

đồ UseCase, sơ đồ tuần tự; thiết kế như sơ đồ lớp; giao diện,…)

I Phân tích hệ thống thông tin

Dưới đây là sơ đồ mô tả tổng quát chức năng của hệ thống quản lý dự án

Hình 1: Sơ đồ tổng quát của hệ thống

Trang 36

I.1 Sơ đồ Use Case

I.1.1 Use Case “Projects Management”

Hình 2: Sơ đồ Use Case “Projects Management”

I.1.2 Use Case “Tasks Management”

Hình 3: Sơ đồ Use Case “Tasks Management”

Trang 37

I.1.3 Use Case “Delivery Management”

Hình 4: Sơ đồ Use Case “Delivery Management”

I.1.4 Use Case “Requirements Management”

Hình 5: Sơ đồ Use Case “Requirements Management”

Trang 38

I.1.5 Use Case “Design Management”

Hình 6: Sơ đồ Use Case “Design Management”

I.1.6 Use Case “Coding Management”

Hình 7: Sơ đồ Use Case “Coding Management”

Trang 39

I.1.7 Use Case “Risks Management”

Hình 8: Sơ đồ Use Case “Risks Management”

I.1.8 Use Case “File Manage”

Hình 9: Sơ đồ Use Case “File Manage”

Trang 40

I.1.9 Use Case “Calendar Management”

Hình 10: Sơ đồ Use Case “Calendar Management”

I.1.10 Use Case “Board Management”

Hình 11: Sơ đồ Use Case “Board Management”

Ngày đăng: 25/04/2013, 11:14

HÌNH ẢNH LIÊN QUAN

Hình 1: Sơ đồ tổng quát của hệ thống - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 1 Sơ đồ tổng quát của hệ thống (Trang 34)
Hình 3: Sơ đồ Use Case “Tasks Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 3 Sơ đồ Use Case “Tasks Management” (Trang 35)
Hình 2: Sơ đồ Use Case “Projects Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 2 Sơ đồ Use Case “Projects Management” (Trang 35)
Hình 4: Sơ đồ Use Case “Delivery Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 4 Sơ đồ Use Case “Delivery Management” (Trang 36)
Hình 6: Sơ đồ Use Case “Design Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 6 Sơ đồ Use Case “Design Management” (Trang 37)
Hình 7: Sơ đồ Use Case “Coding Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 7 Sơ đồ Use Case “Coding Management” (Trang 37)
Hình 8: Sơ đồ Use Case “Risks Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 8 Sơ đồ Use Case “Risks Management” (Trang 38)
Hình 10: Sơ đồ Use Case “Calendar Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 10 Sơ đồ Use Case “Calendar Management” (Trang 39)
Bảng  1:  Các chức năng của member - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
ng 1: Các chức năng của member (Trang 41)
Bảng  2: Danh sách các Use Case - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
ng 2: Danh sách các Use Case (Trang 44)
.I.4. Sơ đồ tuần tự - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
4. Sơ đồ tuần tự (Trang 62)
Hình 15: Sơ đồ tuần tự chức năng “Projects Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 15 Sơ đồ tuần tự chức năng “Projects Management” (Trang 63)
Hình 16: Sơ đồ tuần tự chức năng “Tasks Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 16 Sơ đồ tuần tự chức năng “Tasks Management” (Trang 64)
Hình 17: Sơ đồ tuần tự chức năng “Delivery Management” - XÂY DỰNG COMPONENT QUẢN LÝ DỰ ÁN PHẦN MỀM CHO WEBSITE JOOMLA
Hình 17 Sơ đồ tuần tự chức năng “Delivery Management” (Trang 65)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w