[scrapWiki] 소프트웨어 배포 생명 주기, Software Release Life Cycle

>

​​​

소프트웨어 생명주기[1](영어: Software Release Life Cycle)는 컴퓨터 소프트웨어 개발 단계의 총체이며 초기 개발 단계부터 마지막 출시를 모두 정리한다. 여기에는 소프트웨어 개선에 도움이 되는 업데이트 버전과 소프트웨어에 내재된 버그 수정을 포함할 수 있다.​

프리 알파 프리알파(Pre-)는 테스트 이전의 소프트웨어 프로젝트 기간 중에 이루어지는 모든 활동을 가리킨다. 이 활동에는 요구사항 분석, 소프트웨어 설계, 소프트웨어 개발, 유닛 테스트를 포함할 수 있다. 일반적인 오픈 소스 개발 환경에서는, 프리 알파 버전에 몇개의 종류가 있다. 마일스톤(Milestone) 버전에는 특정 집합기능이 포함되며 기능이 완성되는 즉시 공개된다.​

알파(Alpha)는 소프트웨어 생명주기의 한 단계로 소프트웨어 테스트를 시작하는 첫 단계이기도 하다. 알파 소프트웨어는 불안정한 경우가 있어 충돌이나 데이터 손실을 일으킬 수 있다.​

베타(Beta)는 알파 다음으로 소프트웨어 개발 단계이다. 소프트웨어가 기능을 완성시킬 때 일반적으로 이 단계가 시작된다. 베타 단계의 소프트웨어는 일반적으로 속도/성능 문제와 함께 완전히 완성된 소프트웨어보다 더 많은 버그가 존재한다. 베타판은 많은 사용자에게 (주로 무료로) 시험사용하게 하고 사용성이나 디자인, 성능 등에 대해 의견을 받아 이들을 소프트웨어 개발에 반영하거나 미처 발견하지 못한 오류를 보고하고 수정하여 정식판을 보다 좋게 완성하는 것을 목적으로 하고 있다. 종종 베타 소프트웨어는 기밀유지 협약을 하는 경우가 있으며, MMORPG의 경우 무료라는 특성을 살려 고객 획득이나 마케팅 수단으로 이용하는 경우도 있다.​

베타는 크게 오픈 베타와 클로즈 베타로 나뉘며 오픈 베타의 경우 일반용으로 베타 버전을 공개해 시험 사용에 협조하도록 한다.클로즈베타의 경우 개발자의 지인이나 모든 버전의 사용자 또는 공개모집한 사용자로 수를 제한하고 시험사용에 협조한다.​

릴리즈 후보(Release Candidate, RC)는 마지막 제품이 될 가능성이 있는 베타 버전으로, 상당한 버그가 나타나지 않으면 출시할 준비가 되었음을 의미한다.

RTMRTM(Release to Manufacturing)은 소프트웨어가 고객에게 배송 및 제공될 준비가 되어 있음을 뜻하는 용어이다. 이 용어는 배송구조나 배송량을 정의하는 것이 아니라 단순히 제품품질이 대량생산을 하기에 충분함을 정의한다.​

GA(General Availability, General Accceptance)는 필요한 모든 상업화 활동이 완료되고 웹이나 물리매체를 통해 시장에서 이용할 수 있게 되는 것을 의미한다. GA와 거의 같은 의미의 다른 용어로 FCS(First Customer Shipment)가 있다. 선마이크로시스템스나 시스코 같은 일부 기업은 자사의 소프트웨어 버전에 FCS라는 용어를 사용하고 있다.​

웹에서의 릴리스(Release to Web), 또는 간단하게 웹 릴리스(Web Release)는 소프트웨어를 인터넷으로 배포하는 것을 의미한다. 어떤 물리매체도 여기에 포함되지 않는다. 인터넷 이용이 늘면서 웹 출시는 많이 보편화되고 있다.​

Continuous Delivery: Reliable Software Releasesthrough Build, Test, and Deployment Automation by Jez Humble, David Farley; ISBN 0-321-60191-2

소프트웨어 버전 생성s://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%%EC%96%B4_%EB%B2%84%EC%A0%84_%EC%9E%91%EC%84%B1

소프트웨어생명주기-컴퓨터인터넷용어대사전,전산용어사전편찬위원회편

(영어) Free Software Project Management HOWTO (영어) Software Release Decisions

분류:소프트웨어개발프로세스_s://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4_%EB%B0%B0%ED%8F%AC_%EC%83%9D%EB%%85_%EC%A3%BC%EA%B8%B0

컴퓨터 인터넷 IT용어 대사전

>

소프트웨어를 공산품과 같은 관점에서 취했을 때의 소프트웨어의 착상, 개발에서 사용까지의 일련의 시간적인 경과를 가리킨다. 소프트웨어의 규모나 S/W 개발방법론(software development methodology) 등에 의해서 여러가지 정의가 있지만, 통상, 다음의 국면이 있는 것이 되고 있다. 요구 명세(requirement), 설계(design), 구체화 명세를 실현하는 것(implementation), 시험(testing), 릴리스(release), 또는 설치(installation), 운용(operation)과 보수(maintenance). 하나의 소프트웨어의 수명기간, 소프트웨어의 고안, 개발로부터 운용과 보수에 이르는 일련의 경과기간을 나타낸다.[네이버 지식백과]소프트웨어 생명주기[software lifecycle](컴퓨터 인터넷 IT 용어대사전, 2011.1.20., 전산용어사전편찬위원회)s://terms.naver.com/entry.nhn?cid=42344