Các đặc trưng dự án FOSSD
• Những người phát triển FOSS cũng chính là người sử
dụng, trong khi ~1% người dùng FOSS là người phát
triển.
• Cần có khối lượng lớn người đóng góp và các thành
phần FOSS được kết nối qua mạng tương tác kỹ
thuật-xã hội.
• Các dự án FOSSD có thể xuất hiện thông qua những
cái sẵn có.
– Kết cấu kiến trúc không đoán trước được
– Những tích hợp thành phần đa dự án
16 trang |
Chia sẻ: thanhle95 | Lượt xem: 576 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Bài giảng Phát triển phần mềm mã nguồn mở - Bài 1: Giới thiệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu
Phát triển phần mềm mã nguồn mở
Khoa CNTT – ĐH Sài Gòn
Nội dung
• FOSSD and FOSS
• Các đặc trưng
• CMS
Phát triển PM mã nguồn mở
• Còn gọi là FOSSD.
• Phân biệt “miễn phí” và “mở” (free/open)
– Đều là tự do sử dụng, nghiên cứu, chỉnh sửa và lại
đóng góp cho mã nguồn. Tuy nhiên,
– Miễn phí thì luôn luôn mở, nhưng mở chưa chắc là
miễn phí.
• FOSSD không phải là “CNPM”
– Vì FOSSD có tính chất nhanh hơn, tốt hơn, rẻ hơn so
với CNPM trong một số tình huống.
– Các nhóm FOSSD dùng 10-50 công cụ OSSD tools và
các ứng dụng giao tiếp để hỗ trợ công việc phát triển
của họ.
Phần mềm mã nguồn mở
Các đặc trưng dự án FOSSD
• Những người phát triển FOSS cũng chính là người sử
dụng, trong khi ~1% người dùng FOSS là người phát
triển.
• Cần có khối lượng lớn người đóng góp và các thành
phần FOSS được kết nối qua mạng tương tác kỹ
thuật-xã hội.
• Các dự án FOSSD có thể xuất hiện thông qua những
cái sẵn có.
– Kết cấu kiến trúc không đoán trước được
– Những tích hợp thành phần đa dự án
Mô hình phát triển OSS tiêu biểu
Lập trình viên
Lập trình viên
uy tín
• Người dùng OSS dùng phần mềm không cần trả phí
• Người dùng OSS trả phí huấn luyện và hỗ trợ (cạnh tranh)
• Người dùng OSS có trách nhiệm trả phí/phát triển những cải tiến mới
&bất cứ đánh giá nào họ cần; thường kết hợp với những người khác để
thực hiện.
• Mục tiêu: Duy trì nhóm phát triển (giống 1 liên minh)
Nơi lưu trữ
uy tín
Nhà phân phối
Người dùng
Báo cáo bug
Cải tiến mã nguồn và kết quả đánh
giá: Người dùng và người phát triển
Cộng đồng
phát triển
Xưởng phát triển OSS
Môi trường FOSSD
Content Management System (CMS)
• Hệ thống quản lý nội dung
Content Management System (CMS)
• Chứa nhiều đoạn mã phức tạp
• Phải cài đặt database và tạo template
riêng.
• Nội dung động, người cập nhật nội dung
không cần kiến thức kỹ thuật, mang lại sự
tiện dụng cho khách hàng.
• Được phát triển có hệ thống nên dễ thêm
chức năng và tùy biến.
Content Management System (CMS)
• Các loại CMS được yêu thích:
– Joomla
– Drupal
– WordPress
• Các CMS trên sử dụng ngôn ngữ PHP, hệ quản
trị MySQL.
Cấu trúc CMS
Content Management Application
• Ứng dụng quản lý nội dung (CMA) quản lý
vòng đời đầy đủ của các thành phần nội
dung từ khi bắt đầu đến khi xóa bỏ chúng.
• CMA tạo các thành phần nội dung trong
kho lưu trữ, bảo trì chúng trong thời gian
chúng tồn tại, và loại bỏ các thành phần
nội dung này khỏi kho lưu trữ khi không
cần thiết.
Metacontent management Application
• MMA là ứng dụng quản lý vòng đời đầy đủ
của cấu trúc nội dung.
• Ta có thể định nghĩa cấu trúc nội dung,
đặc biệt là cách các thành phần nội dung
được hiển thị trên các website như thế
nào.
• Mục đích của MMA là sinh ra các cấu trúc
nội dung thay vì các thành phần nội dung.
Content Delivery Application
• Công việc của ứng dụng phân phối nội
dung CDA là lấy nội dung từ nơi “Quản trị
nội dung” và hiển thị chúng theo những
định nghĩa trong MMA ra trang web.
• CDA chỉ có quyền đọc kho lưu trữ, điều
này sẽ tăng khả năng bảo mật cho trang
web.
• CDA cung cấp cho người sử dụng là hàm
tìm kiếm trên một thực thể nội dung.
Các đồ án
• Tìm hiểu Joomla và ứng dụng viết chương
trình dự toán.
• Tìm hiểu Drupal và ứng dụng viết chương
trình dự toán.
• Tìm hiểu WordPress và ứng dụng viết chương
trình dự toán.
• Đồ án khác.