Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
0,91 MB
Nội dung
PHẦNMỀMNGUỒNMỞ VÀ ỨNG DỤNG TRONG THIẾT KẾ WEB Trình bày: Nguyễn Quốc Hùng Bộ môn: CNPM PHẦN I – Phầnmềmnguồnmở Chương I – Tổng quan Chương II – Các mô hình tổ chức và kinh doanh PMNM Chương III – Kinh nghiệm áp dụng PMNM trên thế giới và hiện trạng tại Việt nam II – Các mô hình tổ chức và kinh doanh PMNM II.1. So sánh mô hình phát triển dự án PMNM và PMNK II.2. Cộng đồng PMNM II.3. Các mô hình kinh doanh PMNM II.1 So sánh mô hình phát triển dự án PMNM và PMNK II.1.1. Quy trình phát triển PM II.1.2. Quy trình phát triển PMNK II.1.3. Mô hình phát triển PMNM II.1.1. Quy trình phát triển PM Các phầnmềm (mở hay đóng) đều thực hiện theo các bước sau: – Xác định các yêu cầu phầnmềm (Requirement Engineering) – Phân tích hệ thống phầnmềm (Analysis) – Thiết kế chi tiết (Design) – Thực hiện (Deployment) – Kiểm thử (Testing) – Tích hợp, triển khai (Intergration – Implementation) – Bảo dưỡng II.1.2. Quy trình phát triển PMNK Các PMNK tuân thủ nghiêm ngặt theo các bước của quy trình nêu trên Tuy nhiên, PMNK thường phụ thuộc HĐH → sử dụng các hàm của HĐH đó (API – Application Programming Interface) – Các hàm API được mô tả chi tiết về dữ liệu đầu vào, đầu ra, các hoạt động (tài liệu của nhà cung cấp HĐH) – Không được biết mãnguồn của hàm (vì là bí mật kinh doanh của nhà cung cấp HĐH) – Nhà cung cấp chịu trách nhiệm đảm bảo hàm hoạt động đúng theo mô tả II.1.2. Quy trình phát triển PMNK (tiếp) II.1.3. Mô hình phát triển PMNM Mô hình phát triển PMNM có đủ tất cả các giai đoạn của quy trình nói chung Dự án PMNM được chia làm 2 loại theo tính chất: – Dự án được tài trợ toàn phần: Kinh phí được tài trợ toàn phần bởi các tổ chức. Quy trình phát triển giống bất kỳ dự án phầnmềm thương mại nào khác (nhưng tính chất lại là nguồn mở). Ví dụ: BSD, BIND, Sendmail . – Dự án không được tài trợ: Không được hỗ trợ kinh phí, mọi người tham gia dự án với tính chất phi thương mại. (Tuy nhiên vẫn có những điều khoản quy định: Cung cấp mãnguồn miễn phí hay có phí, người sử dụng có quyền sửa đổi và sử dụng mãnguồn hay ko?) II.1.3. Mô hình phát triển PMNM (tiếp) Các quá trình của dự án PMNM – (1) Xác định yêu cầu của phầnmềm (Requirement Engineering): Thông thường các yêu cầu phầnmềm được phân tán và lan truyền trên internet Lập trình viên và những người quan tâm trao đổi các thông tin về đặc tính của hệ thống và công cụ – (2) Phân tích hệ thống phầnmềm (Analysis): Thông thường, các phân tích hệ thống không được thực hiện trên các dự án không được tài trợ II.1.3. Mô hình phát triển PMNM (tiếp) – (3) Thiết kế chi tiết (Design): Đây cũng là một bước bị xem nhẹ trong quá trình phát triển PMNM Thông thường, thiết kế chi tiết được thực hiện ở giai đoạn thực hiện – (4) Thực hiện (Development): Cơ hội viết mãnguồn được xem là động cơ chính thúc đẩy cá nhân tham gia và dự án – (5) Kiểm thử (Testing) Các chức năng của phầnmềm được kiểm thử miễn phí và tích cực vì người dùng không phải trả tiền sử dụng phầnmềm [...]... Chỉ đơn thuần sử dụng các phầnmềm như các phầnmềm thương mại, quan tâm đế PMNM chủ yếu do chất lượng cao và khả năng tự thay đổi khi cần thiết Người đọc (Reader): Người dùng chủ động, tích cực, không chỉ sử dụng mà còn cố gắng tìm hiểu xem hệ thống hoạt động như thế nào bắng cách đọc mãnguồn Đóng vai trò như người xét duyệt (Peer Reviewers) trong tổ chức phát triển phầnmềm truyền thống Người báo... Reporter): Phát hiện và thông báo lỗi (không sửa lỗi và có thể không đọc mã nguồn) , đóng vai trò của người kiểm thử (testers) trong tổ chức phầnmềm truyền thống II.2.1 Các thành viên trong cộng đồng (tiếp) – – – – – Người sửa lỗi (Bug Fixer): Sửa các lỗi do họ phát hiện hoặc người khác thông báo Phải đọc, hiểu cặn kẽ phần mãnguồn phát sinh lỗi thì mới có thể chỉnh sửa được Người phát triển ngoại... các thành viên cốt cán Trưởng dự án đưa ra phần lớn các quyết định về phát triển của hệ thống, quyết định đóng góp nào được ghi nhận và đưa vào PMNM đó Số lượng phản hồi nhiều → có nhiều phản hồi bị bỏ qua Đóng góp bằng chương trình và mãnguồn Làm cầu nối trung gian để cải tiến các mãnguồn do người phát triển ngoại vi và người sửa lỗi thực hiện Lựa chọn mãnguồn tốt để trưởng dự án xem xét và quyết... dựng các sản phẩm phầnmềm chất lượng và miễn phí dựa trên sự hợp tác của đông đảo các lập trình viên (Ví dụ: Linux) Thúc đẩy quá trình tham gia của nhiều người vào quá trình xây dựng và phát triển phầnmềm Phát triển PMNM là quá trình tự phát triển, nếu dự án PMNM thu hút được sự quan tâm của đông đảo người sử dụng thì nó sẽ phát triển rất nhanh chóng PMNM cho phép kiểm soát mã nguồn, kiểm thử và... cao và độc đáo của 1 hệ PMNM là động lực chính thu hút các thành viên mới học hỏi nhiều hơn → đọc mãnguồn (chuyển thành người đọc) Hiểu mãnguồn → gỡ lỗi do mình tìm ra hoặc người khác thông báo (người gỡ lỗi) Muốn có thêm 1 số chức năng mới để hệ thống mạnh hơn, đáp ứng nhu cầu tốt hơn → cải tiến mãnguồn của chương trình (người phát triển ngoại vi) Đóng góp được cộng đồng thừa nhận, đóng góp nhiều... Khả năng thực hiện song song: Nếu như mô hình các thành phần đã được xác định thì có thể tổ chức các nhóm lập trình viên giải quyết các nhiệm vụ độc lập Lập trình viên tham gia theo sở thích nên quá trình thực hiện rất nhanh chóng Tránh được hiện tượng Code Focking (phân nhánh) Là hiện tượng thường gặp phải khi có nhiều phiên bản mã nguồn của phầnmềm – nhất là trong các dự án lớn) II.1.3 Mô hình phát...II.1.3 Mô hình phát triển PMNM (tiếp) – (6) Triển khai: – Phầnmềm được tự triển khai bởi người sử dụng (7) Bảo dưỡng: Phầnmềm không cần bảo dưỡng II.1.3 Mô hình phát triển PMNM (tiếp) II.1.3 Mô hình phát triển PMNM (tiếp) Các đặc điểm của quá trình phát triển PMNM – – – – Trao đổi thông... xét và quyết định tích hợp vào sản phẩm PMNM Người đọc (Reader): – – – Vì GNU là một phầnmềm có chất lượng cao, được phát triển bởi đội ngũ lập trình chuyên nghiệp nên có cộng đồng đông đảo người đọc Người đọc GNU thu được nhiều hiểu biết về kỹ năng lập trình, các tri thức hữu ích Họ là người xét duyệt tốt cho phầnmềm Linux Trưởng dự án: – Người phát triển tích cực: – Linus Torvalds, cùng một... động & người báo lỗi – Phần lớn thành viên thuộc loại này Số người đọc ít, người sửa lỗi lại càng ít hơn Jun Trưởng dự án – – Người báo lỗi – Có 1 trưởng dự án (Atsuki Aoki), làm việc với các thành viên cốt cán Tất cả các phát triển đều thực hiện trong nhóm này Rất ít người báo lỗi do phiên bản chỉ được công bố sau khi đã kiểm thử cẩn thận Người đọc – Ít, phần lớn đọc mãnguồn Jun để học hỏi và... là thường xuyên, không cố định như phầnmềm thương mại) II.2.2.1 Đĩa cấu trúc cộng đồng PMNM (tiếp) Để duy trì cộng đồng PMNM có được sự phát triển bền vững, phải đảm bảo tính cân đối trong cấu trúc – – Nếu tất cả các thành viên là người dùng thụ động → không tiến hóa Nếu tất cả đều là thành viên cốt cán → khó điều hòa mọi cố gắng, phát triển Sự tiến hóa của phầnmềm là không bền vững Phân bố thành . PHẦN MỀM NGUỒN MỞ VÀ ỨNG DỤNG TRONG THIẾT KẾ WEB Trình bày: Nguyễn Quốc Hùng Bộ môn: CNPM PHẦN I – Phần mềm nguồn mở Chương I – Tổng. Các phần mềm (mở hay đóng) đều thực hiện theo các bước sau: – Xác định các yêu cầu phần mềm (Requirement Engineering) – Phân tích hệ thống phần mềm (Analysis)