Thứ Tư, 21 tháng 3, 2012

Tìm hiểu mô hình phát triển phần mềm tự do nguồn mở


Cuối năm 2011, đầu năm 2012, Quỹ Linux đã xuất bản một bộ 3 tài liệu có mục đích để giới thiệu những thực tiễn tốt nhất xung quanh sự phát triển của nguồn mở. Các tài liệu đó bao gồm:
  1. Thiết lập chiến lược phần mềm nguồn mở: những cân nhắc chính và những khuyến cáo chiến thuật
Từ số này, tạp chí Tin học và Đời sống sẽ lần lượt giới thiệu với các bạn nội dung của những tài liệu đó và các mối liên quan của chúng với nhau với mục đích để đưa ra được cho các cá nhân và công ty phần mềm Việt Nam nắm được những hiểu biết, cách thức cơ bản và các bước chiến thuật cụ thể để chuyển từ mô hình phát triển phần mềm nguồn đóng sang mô hình phát triển phần mềm tự do nguồn mở một cách thành công từ những gì đã được Quỹ Linux đúc kết trong 3 tài liệu trên.
QUI TRÌNH CHUNG
Mô hình phát triển phần mềm tự do nguồn mở (PMTDNM) được đặc trưng bằng các qui trình và giá trị làm cho nó khác biệt với mô hình phát triển sở hữu độc quyền theo truyền thống.
Mô hình phát triển phần mềm được nhiều tổ chức thực hiện thường bao gồm những giai đoạn riêng rẽ các hoạt động phát triển như kiểu thác nước đổ cho tới khi phát hành một phiên bản của dự án. Mô hình phát triển nguồn mở có tiếp cận khác, ưu tiên cho qui trình phát triển dễ thay đổi hơn được đặc trưng bằng sự gia tăng trong các đội lập trình phát triển về sự cộng tác, tích hợp và kiểm thử liên tục, và sự liên can lớn hơn của người sử dụng đầu cuối trong toàn bộ quá trình phát triển.
Mô hình phát triển nguồn mở đang ngày càng được áp dụng nhiều hơn bên trong các tổ chức phát triển truyền thống như một phương tiện sản xuất phần mềm chất lượng cao hơn, thậm chí bên trong các công ty không phát triển sản phẩm nguồn mở. Điều này thường là do những hiệu quả gia tăng mà mô hình phát triển nguồn mở đem lại cho các đội lớn, phân tán, làm việc trong các dự án phần mềm chủ chốt.
Chúng ta sẽ xem xét mô hình phát triển nguồn mở và mô tả các qui trình đặc trưng cho việc quản lý các yêu cầu tính năng, đệ trình mã nguồn và quyết định về kiến trúc. Chúng ta cũng sẽ đề cập tới những đặc tính cơ bản của vòng đời của nguồn mở như sự rà soát lại ngang hàng, trạng thái tâm lý “phát hành sớm và thường xuyên”, và việc kiểm thử và tích hợp liên tục.
Lưu ý rằng mỗi dự án nguồn mở có cách thức riêng của nó cho việc quản lý qui trình phát triển. Mô tả mô hình phát triển mà chúng ta sẽ đề cập tới không phải là đặc thù cho bất kỳ dự án nào, nhưng thay vào đó là mô tả một qui trình và các đặc tính có thể áp dụng cho hầu hết các dự án nguồn mở.
MÔ HÌNH PHÁT TRIỂN NGUỒN MỞ
Mô hình phát triển nguồn mở giả thiết rằng sự phát triển được phân tán trong nhiều nhóm, làm việc ở các địa điểm khác nhau trên phạm vi toàn thế giới, trong một cấu trúc lỏng lẻo là đàn hồi đối với những người mới tới và những người ra đi. Các cộng đồng nguồn mở thành công đã phát triển các qui trình nơi mà mã nguồn có thể được đệ trình và tích hợp một cách không đồng bộ, giao tiếp được ghi lại tốt thành tài liệu, và các tính năng được tích hợp nhỏ từng tí một để sớm nắm bắt được các vấn đề trong chu kỳ phát triển.
Một trong những đặc tính cốt lõi của mô hình phát triển nguồn mở là các cá nhân hoặc các đội đóng góp có trách nhiệm cho sự phát triển và duy trì mã nguồn, được minh họa trong Hình 1. Các tính năng được đóng góp sẽ được tích hợp vào trong một thân mã nguồn duy nhất từ một hoặc nhiều người duy trì. Những người duy trì này sẽ giúp đảm bảo cho các mã nguồn mới được đệ trình đáp ứng được toàn bộ tầm nhìn và tập hợp các tiêu chuẩn được thiết lập cho dự án.
Vòng đời phát triển tính năng, được minh họa trong Hình 2, bắt đầu với một ý tưởng, tính năng hoặc sự cải tiến cho một dự án mới, được đề xuất cho các lập trình viên khác của dự án. Thảo luận tiếp sau về nhu cầu cho tính năng đó, bước tiếp theo là để thiết kế và triển khai nó.
Khi tính năng mới được biên dịch và chạy, nó đặc trưng được phân tán trong cộng đồng phát triển như một phiên bản alpha, thậm chí dù nó có thể chứa các lỗi được biết hoặc chưa được biết. Mục đích của sự phân phối sớm là để thu thập các ý kiến phản hồi và cho phép những người sử dụng kiểm thử và cung cấp các đầu vào. Điều này thường được gọi là “phát hành sớm và thường xuyên”. Những người sử dụng có thể cung cấp các ý kiến phản hồi, các báo cáo lỗi, chúng sẽ được tích hợp vào phát hành tiếp sau của sự phát triển. Chu kỳ này lặp đi lặp lại, cho tới khi các lập trình viên cảm thấy rằng sự triển khai cài đặt là đủ ổn định để đệ trình đưa vào trong dự án chính.
Hình 1: Dòng chảy của mã nguồn từ những người đóng góp tới phiên bản dòng chính tới thị trường
Hình 2: Vòng đời của tính năng trong mô hình phát triển nguồn mở
Tác giả của mã nguồn sau đó đệ trình mã nguồn cho một người duy trì dự án qua danh sách thư của dự án. Người duy trì xác định liệu mã nguồn có nên được chấp nhận vào trong cây phát triển, hay trả lại để rà soát lại. Một số dự án có thể có nhiều lớp những người duy trì, phụ thuộc vào sự phức tạp của mã nguồn và kích cỡ của dự án.
Khi mã nguồn được tất cả những người duy trì phù hợp ký, thì sau đó nó được đưa vào trong cây nguồn chính của dự án để xuất bản trong phát hành tiếp sau.
Kỳ sau chúng ta sẽ làm quen kỹ hơn với vòng đời tính năng của nguồn mở.
Trần Lê
Bài được đăng trên tạp chí Tin học và Đời sống số tháng 03/2012, trang 68-69.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.