Vòng đời phát_hành phần_mềm Một vòng đời phát_hành phần_mềm là một sự tổng_hợp các pha phát_triển phần_mềm từ giai_đoạn sơ_khai cho đến giai_đoạn hoàn_chỉnh và cuối_cùng là công_bố phần_mềm đó hoặc phiên_bản nâng_cấp mới Việc chia thành nhiều giai_đoạn như_vậy giúp cho việc quản_lý sửa lỗi và bảo_trì phần_mềm dễ_dàng hơn Người dùng máy_tính rất có_thể đã quen với giai_đoạn beta vì các sản_phẩm phần_mềm đôi_khi được quảng_cáo công_khai là đang ở dạng beta để giảm kỳ_vọng của người dùng về độ tin_cậy của chúng Các giai_đoạn trong phát_triển Tiền alpha Đây là giai_đoạn sơ_khai nhất bao_gồm những hoạt_động được thực_hiện trước khi vào giai_đoạn kiểm_thử phần_mềm Những hoạt_động trong giai_đoạn này gồm có phân_tích yêu_cầu thiết_kế phần_mềm phát_triển phần_mềm kiểm_thử đơn_vị unit testing Alpha_Giai đoạn này là pha đầu_tiên bắt_đầu kiểm_thử phần_mềm trong vòng đời phát_hành alpha là ký_tự đầu_tiên trong bảng_chữ_cái Hy_Lạp được sử_dụng như số 1 Các kĩ_thuật kiểm_thử chủ_yếu là hộp trắng white box testing Việc phê_duyệt validation nếu có bằng các kĩ_thuật hộp_đen hoặc hộp xám sẽ được tiến_hành bởi những đội_ngũ kiểm_thử khác Các phần_mềm trong giai_đoạn này đều chưa hoàn_chỉnh và có_thể gây ra mất dữ_liệu hoặc crash nên những phiên_bản phần_mềm như_vậy thường không được công_bố rộng_rãi mà chỉ khuyến_khích bộ_phận kiểm_thử hay những người_tình_nguyện kiểm_thử sử_dụng nhằm tìm_kiếm lỗi Tuy_nhiên đối_với những phần_mềm mã nguồn mở thì có_thể có một_chút khác_biệt Những phiên_bản alpha của chúng thường được phân_phối công_khai và thường kèm theo mã nguồn của phần_mềm đó Giai_đoạn alpha luôn_luôn được kết_thúc bằng việc không bổ_sung thêm chức_năng nào nữa feature freeze như_vậy có_thể nói phần_mềm sau giai_đoạn này là đã hoàn_chỉnh về chức_năng feature complete Beta_Trong hệ_thống bảng_chữ_cái Hy_Lạp thì Beta đứng liền sau Alpha nên được xem là pha tiếp_theo sau giai_đoạn hoàn_chỉnh các chức_năng Từ giai_đoạn này trờ đi các chức_năng sẽ không được thêm mới vào nữa và những chức_năng mới được đề_xuất bổ_sung sẽ được đưa vào vòng đời_mới sau khi kết_thúc vòng đời hiện_tại Phần_mềm trong pha này vẫn còn nhiều lỗi bugs cũng như các vấn_đề về hiệu_năng Khác với giai_đoạn alpha phần_mềm ở pha này được xem là đủ ổn_định tuy vẫn chưa_thể ổn_định để sử_dụng hằng ngày hoặc trong môi_trường công_việc để công_bố rộng_rãi người dùng có_thể truy_cập công_khai và sử_dụng nếu muốn Những người sử_dụng phần_mềm beta với mục_đích kiểm_tra phát_hiện lỗi và báo_cáo lỗi cho nhà_phát_triển được gọi là beta testers Một_số thuật_ngữ khác_thường được dùng để chỉ giai_đoạn beta như preview prototype techical preview TP hoặc early access Open và closed beta Các nhà_phát_triển có_thể phát_hành nowiki bản beta đóng nowiki closed beta còn được gọi là nowiki nowiki bản beta riêng_tư nowiki nowiki private beta hoặc nowiki bản beta mở nowiki open beta còn được gọi là nowiki bản beta công_khai nowiki public beta phiên_bản beta kín được phát_hành cho một nhóm cá_nhân bị hạn_chế để người dùng thử_nghiệm theo lời mời trong khi những người thử_nghiệm beta mở thuộc một nhóm lớn hơn hoặc bất_kỳ ai quan_tâm Bản beta riêng_tư có_thể phù_hợp với phần_mềm có khả_năng mang lại giá_trị nhưng chưa sẵn_sàng để mọi người sử_dụng do các vấn_đề về quy_mô thiếu tài_liệu hoặc vẫn còn thiếu các tính_năng quan_trọng Người kiểm_tra báo_cáo bất_kỳ lỗi nào mà họ tìm thấy và đôi_khi đề_xuất các tính_năng bổ_sung mà họ cho rằng nên có trong phiên_bản cuối_cùng Các bản beta mở phục_vụ với mục_đích kép là giới_thiệu sản_phẩm cho người dùng tiềm_năng và thử_nghiệm giữa một lượng lớn người dùng có khả_năng dẫn đến các lỗi nhẹ mà nhóm thử_nghiệm nhỏ hơn nhiều có_thể không tìm thấy Release_Candidate_Release_Candidate hay thường được viết tắt là RC là giai_đoạn hậu beta trong đó phần_mềm sau khi trải qua các hoạt_động phát_hiện lỗi và sửa lỗi ở beta đã trở_nên ổn_định hơn và có_thể chuyển sang giai_đoạn phát_hành release final nếu không phát_hiện thêm lỗi nghiêm_trọng nào nữa Về mặt kĩ_thuật phần_mềm RC được xem như đã có những thiết_kế đầy_đủ về các tính_năng đã hoàn_thành việc viết mã và đã được áp_dụng các kĩ_thuật kiểm_thử khác nhau nên sẽ không có sự thay_đổi nào về mã nguồn tài_liệu hay dữ_liệu trừ việc sửa lỗi Nhiều phần_mềm có_thể được dự_đoán trước phiên_bản cuối_cùng của phần_mềm khi phát_hành nhờ vào sự chuyển_tiếp từ RC sang Final từ phiên_bản phần_mềm hiện_tại của RC nếu không có sự thay_đổi về mã nguồn nào thì đó cũng chính là phiên_bản được phát_hành vào thời_điểm được định trong kế_hoạch Bản phát_hành ổn_định Còn được gọi là bản phát_hành sản_xuất bản phát_hành ổn_định là Release_Candidate cuối_cùng RC sau khi đã vượt qua tất_cả các xác_minh thử_nghiệm Các lỗi còn lại được coi là có_thể chấp_nhận Bản phát_hành này sẽ được đưa vào sản_xuất Một_số miền ví_dụ Bản phân_phối Linux có hai loại bản phát_hành ổn_định bản phát_hành bình_thường hoặc ổn_định và bản phát_hành hỗ_trợ dài_hạn LTS được duy_trì trong một khoảng thời_gian dài hơn Phát_hành Sau khi phát_hành phần_mềm thường được gọi là bản phát_hành ổn_định Thuật_ngữ chính_thức thường phụ_thuộc vào phương_thức phát_hành phương_tiện vật_lý phát_hành trực_tuyến hoặc ứng_dụng web Release to manufacturing RTM Thuật_ngữ phát_hành để sản_xuất release to manufacturing viết tắt là RTM còn được gọi là going gold là một thuật_ngữ được sử_dụng khi một sản_phẩm phần_mềm đã sẵn_sàng để giao Bản dựng này có_thể được ký điện_tử cho_phép người dùng cuối xác_minh tính toàn_vẹn và tính xác_thực của giao_dịch mua phần_mềm Một bản_sao của bản dựng RTM gọi là gold master hoặc GM được gửi đi để sao_chép hàng_loạt hoặc sao ra băng_đĩa nếu có Thuật_ngữ này được lấy từ ngành công_nghiệp ghi_âm cụ_thể là quá_trình làm chủ RTM đi trước tính khả_dụng chung GA khi sản_phẩm phát_hành ra công chúng Bản dựng tổng_thể vàng GM thường là bản dựng cuối_cùng của một phần_mềm trong giai_đoạn beta dành cho các nhà_phát_triển Thông_thường đối_với iOS đây là bản dựng cuối_cùng trước khi phát_hành chính tuy_nhiên vẫn có một_vài ngoại_lệ Nó thường sử_dụng trong một_số bối_cảnh phần_mềm sản_xuất hàng_loạt bán_lẻ trái_ngược với sản_xuất hoặc dự_án phần_mềm chuyên_dụng trong sản_xuất và phân_phối thương_mại hoặc chính_phủ nơi phần_mềm được bán như một phần của gói trong một đợt bán phần_cứng máy_tính có liên_quan và thường là ở nơi phần_mềm và phần_cứng có liên_quan cuối_cùng phải được cung_cấp và bán đại_trà công_khai tại các cửa_hàng bán_lẻ để chỉ ra rằng phần_mềm đã đáp_ứng một mức chất_lượng xác_định và sẵn_sàng để phân_phối bán_lẻ hàng_loạt RTM cũng có_thể có nghĩa là trong các ngữ_cảnh khác rằng phần_mềm đã được phân_phối hoặc phát_hành cho khách_hàng hoặc người dùng để cài_đặt hoặc phân_phối tới các máy_tính hoặc máy người dùng cuối phần_cứng có liên_quan Thuật_ngữ này không xác_định cơ_chế hoặc khối_lượng giao hàng nó chỉ nói lên chất_lượng đủ để phân_phối đại_trà Có_thể phân_phối từ_tổ_chức kỹ_thuật thường ở dạng phương_tiện chủ vàng được sử_dụng để nhân_bản hoặc tạo_hình ảnh cho web General availability GA Có hiệu_lực chung General availability viết tắt là GA là giai_đoạn tiếp_thị mà tại đó tất_cả các hoạt_động thương_mại_hoá cần_thiết đã hoàn_thành và sản_phẩm phần_mềm đã có sẵn để có_thể mua tuy_nhiên vẫn phải tuỳ_thuộc vào ngôn_ngữ khu_vực tính khả_dụng của phương_tiện điện_tử và phương_tiện truyền_thông Các hoạt_động thương_mại_hoá có_thể bao_gồm kiểm_tra tính tuân_thủ và bảo_mật cũng như nội_địa_hoá và tính khả_dụng trên toàn thế_giới Thời_gian giữa RTM và GA có_thể từ một tuần đến vài tháng trong một_số trường_hợp trước khi có_thể công_bố một bản phát_hành chung có sẵn do cần có thời_gian để hoàn_thành tất_cả các hoạt_động thương_mại_hoá theo yêu_cầu của GA Ở giai_đoạn này phần_mềm đã hoạt_động Release to the Web_RTW_Phát hành lên web Release to the We b viết tắt là RTW hoặc Web release là một phương_tiện phân_phối phần_mềm sử_dụng Internet để phân_phối Nhà_sản_xuất không sản_xuất phương_tiện vật_lý nào trong loại cơ_chế phát_hành này Các bản phát_hành web đang trở_nên phổ_biến hơn khi việc sử_dụng Internet ngày_càng tăng Xem thêm BULLET Quy_trình phát_triển phần_mềm BULLET Tự_động_hoá phát_hành ứng_dụng BULLET Triển_khai phần_mềm Liên_kết ngoài BULLET Free_Software_Project_Management HOWTO BULLET Software_Release_Decisions_BULLET A Methodology to Support_Software_Release_Decisions BULLET Software_Testing_Life_Cycle BULLET Semantic versioning Tham_khảo thư loại BULLET Continuous_Delivery_Reliable_Software Releases through Build_Test and Deployment_Automation by Jez_Humble_David_Farley
Vòng đời phát_hành phần_mềm