چرخه زندگی انتشار نرم‌افزار: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
اصلاح بخش آغازین مقاله، +برچسب تمیزکاری
Msud.gh (بحث | مشارکت‌ها)
جز ←‏جایگزینی با [[وپ:اشتباه|اشتباه‌یاب]]: ارائه‌شدن⟸ارائه شدن، ازمایش‌کننده‌های⟸آزمایش‌کننده‌های، اشتبهات⟸اشتباهات، تحویل‌دادن⟸تحو...
خط ۲:
'''چرخه حیات نرم‌افزار'''، مجموع مراحل یک [[نرم‌افزار]] از زمان گسترش تا بلوغ، انتشار و پشتیبانی پس از آن را شامل می‌شود.
 
چرخه حیات نرم‌افزار از مراحل گوناگونی تشکیل شده که پایداری نرم‌افزار و میزان بهبود مورد نیاز، قبل از ارائهٔ نسخهٔ نهایی هم جزو آن است.. تمام نسخه‌های اصلی یک محصول معمولاً هنگامی که یک ویژگی جدید اضافه می‌گردد، یا در حین مرحله آلفا عرضه می‌گردد، مرحله‌ای که‌آنکه آن (نرم‌افزار) اشکال‌زدایی می‌گردد همان مرحله بتا(Beta) است، و در نهایت مرحله‌ای که همهٔ اشکالات مهم برطرف شده‌است مرحلهٔ stable است. یک مرحله میانی نیز ممکن است وجود داشته باشد. مراحل ممکن است صریحاً توسط ارائه‌دهندگان پروژه تعدیل شوند یااعلامیا اعلام گردند، اما گاهی اوقات مراحل تولید صریحاً توضیح داده نمی‌شوند. بر طبق قرارداد، اغلب code names قبل از ارائهٔ محصول توسط تعدادی از شرکت‌ها مورد استفاده قرار می‌گیرند، هرچند محصول واقعی و ویژگی‌هایش حقیقتاً محرمانه است.
 
== مراحل ارائهٔ نرم‌افزار ==
=== پیش‌آلفاپیش آلفا (Pre- Alpha) ===
گاهی اوقات قبل از ارائه نسخه Alpha یا Beta یک محصول که بنام Pre- Alpha شناخته می‌شود، انتشار می‌یابد. به همان وضوحی که نسخه‌های آلفا یا بتا متفاوتند نسخه Pre- Alpha یک مرحله کامل نیست، که همه فعالیت‌هایی که در پیش از پروژه تا تست نرم‌افزار انجام می‌گیرد را شامل می‌شود. این فعالیت‌ها می‌تواند شامل: تحلیل نیاز، طراحی نرم‌افزار، گسترش نرم‌افزار و مرحله آزمایش باشد.
 
در دنیای Open Source تعداد زیادی از نسخه‌های Pre- Alphaوجود دارد. نسخه‌های Milestone شامل مجموعه‌های مشخصی از قابلیت‌هاست و هنگامی که این قابلیت‌ها تکمیل می‌گردند ارائه می‌گردند. Nightly buildها نسخه‌هایی هستند که معمولاً به طور اتوماتیک توسط سیستمهای کنترل، مثلاً شبها، آزمایش می‌شوند؛ این نسخه‌ها به آزمایش‌کنندگان این اجازه را می‌دهند تا قابلیت‌های جدید پیاده‌سازی‌شدهپیاده‌سازی شده را سریعاً آزمایش نمایند، واشکالاتاشکالات جدید را بیابند.
 
=== آلفا (Alpha) ===
خط ۱۵:
 
=== بتا (Beta) ===
نسخهٔ بتا اولین نسخهٔ ارائه‌شده در خارج از سازمان مجموعهٔ تولیدکنندهٔ نرم‌افزار، به منظور ارزیابی واقعی آزمایش‌های Black / Grey-Box است. فرایند تحویل‌دادنتحویل دادن نسخه بتا به استفاده‌کنندگان را، ارائهٔ نسخه‌بتانسخه بتا گویند. نرم‌افزار سطح بتا معمولاً همه ویژگی‌های نسخهٔ اصلی را داراست، اما امکان دارد اشکالات و عملکردهای شناخته شده در حد بسیار کمی باشد.
کاربرانِ نسخه بتا را، آزمایش‌کنندگان بتا گویند. آن‌ها معمولاً مشتریان فعلی یا آینده سازمان هستند که از نرم‌افزارها استفاده می‌کنند. آن‌ها نرم‌افزار را به طور رایگان یا با قیمت کم دریافت می‌کنند، در حالیکه آزمایش‌کنندگانی رایگان هستند. نسخه‌های بتا پشتیبانی از محصولات را در مسیر راهیابی به بازار (درحالیکه مشتریان بتا در حال افزایشند) و فروش محصول‌ها، جریان‌ها و راه‌های دستیابی را آزمایش می‌کند.
 
خط ۲۳:
تهیه‌کنندگان هریک از دونسخه close beta یا open beta را ارائه می‌دهند؛ نسخه‌های close beta برای انتخاب کاربرهای آزمایشی فردی ارائه می‌گردند در حالی که نسخه‌های open beta برای گروه‌های اجتماعی بزرگتر و معمولاً گروه‌های اصلی. آزمایش‌کنندگان تعدادی از اشکالاتی را که می‌یابند و گاهی ویژگی‌های فرعی دیگری را که تمایل دارند در نسخه نهایی ببینند گزارش می‌دهند.
 
یک نمونه از نسخه آزمایش اصلی عمومی هنگامی بود که‌مایکروسافتکه ‌مایکروسافت ارائه community technology previews (CTP) ویندوز ویستا را به آزمایش‌کنندگان بتا در ژانویه ۲۰۰۵ آغار نمود، که اولین آن Build 5219 بود. متعاقباً CTPها بیشتر ویژگی‌های برنامه‌ریزی شده مانند تعدادی از تغییرات واسط کاربری را در مبنای بازخوردهای آزمایش‌کنندگان بتا ایجاد می‌کنند. ویندوز ویستا در ۲۲ فوریه ۲۰۰۶ به توسط Build 5308 CTP نسخه کامل خود را ارائه داد، و بیشتر کارهای باقی‌مانده مابین Build 6219 و نسخه نهایی بر روی پایداری، کارایی، تطابق، درایوها، برنامه‌ها و مستندسازی متمرکز شد.
 
هنگامی‌که نسخه بتا آماده ارائه عمومی‌است اغلب بطور گسترده‌ای توسط خبرگان تکنولوژی، و هم‌رده‌های نسخه‌های قبلی، قبل از ارائه نسخه نهایی استفاده می‌شود. معمولاً تهیه‌کنندگان نسخه‌های رایگان نرم‌افزار یا open source بتاها را ارائه می‌دهند در حالی که مالکان نسخه‌های بتا به گروه کوچکی از آزمایش‌کنندگان مرتبط تعلق دارند. دریافت‌کنندگان نسخه‌های بتای با مالکیت بالا باید یک توافق‌نامه غیر بازرگانی را امضاء کنند.
 
یک ارابه، هنگامی کامل خوانده می‌شود که گروه تولیدکننده با تطابق نیازهای کاربردی سیستم و عدم نیاز اضافه نمودن ویژگی‌های جدید به نسخه، موافقت نمایند؛ اما اشکالات مشخص نرم‌افزاری همچنان وجود دارد. شرکت‌ها با فرایندهای نرم‌افزاری رسمی مایلند تا با لیستی از اشکالات شناخته شده که به منظور ارائه نسخه بتا باید برطرف گردند وارد مرحله بتا شوند، وتعدادیو تعدادی از شرکت‌ها این لیست را در اختیار مشتریان و آزمایش‌کنندگان قرار می‌دهند. هرچند که اینترنت اجازه انتشار ارزان و سریع نرم‌افزار را می‌دهد، شرکت‌ها شروع به استفاده از راه‌کاریراهکاری قابل انعطاف‌تر برای استفاده جهانی بتا نموده‌اند.
 
Netscape communication به خاطر ارائه نسخه آلفای جستجوگر خود در سطح عمومی و بتا خواندن آن بدنام شده‌است. در فوریه ۲۰۰۵ ZDNet مقاله‌ای منتشر کرد در مورد پدیده‌اخیرپدیده اخیر که نسخه‌های بتا اغلب سال‌ها مورد استفاده قرار می‌گیرند و تولید می‌شوند. آن مقاله اشاره کرد که به عنوان مثال Gmail و Google News در مدت زیادی نسخه بتا بودند و تمایلی نداشتند وضعیت بتا را تغییر دهند، علی‌رغم این واقعیت که آنها بطور گسترده‌ای مورد استفاده قرار می‌گرفتند، هرچند که Google News در ژانویه ۲۰۰۶ از نسخه بتا خارج شد. این روش همچنین به تولیدکننده امکان می‌دهد که ارائه پشتیبانی کامل و یا مسئولیت انتشار عملکردهای باقی‌مانده را به تأخیر بیندازد. در بستر web ۲٫۰ مردم هنور در مورد بتاهای ماندگار صحبت می‌کنند که دلالت می‌کند بر اینکه تعدادی از نرم‌افزارها در مرحله بتا باقی می‌ماند. همچنین بتا گاهی برای مشخص کردن چیزی شبیه release candidate مانند
halo 3 public beta استفاده می‌شود.
 
==== سرچشمه آلفا و بتا ====
دوره تست بتا در مورد نرم‌افزاری که قرارداد آزمایش محصول سخت‌افزاری جدید IBM را برای ماشین‌های جدول‌بندی کارت‌های پانچ‌شدهپانچ شده و مرتب کننده آنها به‌کار می‌رود استفاده می‌شود. سخت‌افزارها در ابتدا بصورت alpha test برای کاربرهای اولیه و با قابلیت انجام کار در مقیاس کوچک ارائه شد. سپس به عنوان نسخه beta test، جهت بررسی صحت عملکردهایی که باید پشتیبانی کنند، و امکان تولید در مقیاس مورد نیاز، به بازار عرضه شدند، و پس از آن نسخه c beta جهت بررسی امنیت آن. با ظهور کامپیوترهای قابل برنامه‌ریزی و برای برنامه‌های نرم‌افزاری قابل اشتراک همین اصطلاحات را برای آزمایش نرم‌افزار نیز به کار می‌برند. نسخه‌های تست بتا بوسیله گروهی غیر از تولیدکنندگان اجرا شده، هرچند که شرکت‌های دیگری شروع به تولید نرم‌افزار برای مقاصد خود و انتشار آن برای دیگران نموده‌اند. این مجموعه اصطلاحات تعمیم یافته و اکنون بخشی از واژگان عمومی‌است.
 
=== Seigo stage ===
Seigo stage مرحله‌ایست در گسترش نرم‌افزار که مجموعه‌برنامه‌هایمجموعه برنامه‌های آماده تولیدند (خیلی نزدیک آماده شدن) اما محصول نهایی هنوز نیاز به بهینه‌سازی دارد. مرحله‌ای که بین بتا و کاندیدای ارائه نرم‌افزار قرار دارد به دلیل اینکه محصول نرم‌افزاری هنوز برای محصول با توانایی نهایی آماده نیست، هرچند که مجموعه‌های نرم‌افزار باکیفیت ارائه شدند.
 
=== منشأ Seigo stage ===
اصطلاحSeigo stage بعد از یک بحث داغ بر رویLinux Action Show! Podcast در خصوص نامگذاری کاندیدای نسخه دوم KDE۴ که توانایی استاندارد بودن آنچه که یک نسخه کاندیدا باید داشته باشد را دارا نبوده‌است، اختراع شد (بوجود آمد). آن بحث بین دوتن از ارائه کنندگان (مجریان) نمایش و Aaron segio توسط اتفاق افتاد.
 
آنها نهایتاً موافقت نمودند که نسخه کاندیدا به همان عنوان به‌کار رود، به‌دلیل اینکه کیفیت نسخه بتا را ندارد، هرچند که مجموعه‌های نرم‌افزاری کیفیت‌ارائه‌کاندیداکیفیت‌ ارائه‌ کاندیدا را دارا باشند. در این وضعیت یکی از مجریان نمایش گفت که آنها باید مرحله KDE۴ را تغییر نام دهند نامی که آنها انتخاب نمودند Seigo stage بود.
 
=== نامزد انتشار ===
پس از آنکه برنامه‌نویس/برنامه‌نویسان به این نتیجه می‌رسند که کار تمام شده و نرم‌افزار آمادهٔ انتشار است، و پیش از انتشار رسمی نسخهٔ جدید، معمولاً اقدام به انتشار یک نسخهٔ نامزد می‌کنند تا از عملکرد صحیح نرم‌افزار در بین جمع بزرگتری از کاربران اطمینان یابند.<ref>{{یادکرد وب|نویسنده = |نشانی = http://wordpress.org/news/2011/12/wordpress-3-3-release-candidate-1/ |عنوان = WordPress 3.3 Release Candidate 1| ناشر =[[وردپرس]] |تاریخ =۱ دسامبر ۲۰۱۱ |تاریخ بازدید =۱ دسامبر ۲۰۱۱}}</ref>
 
نسخهٔ نامزد به نسخه‌ای که توانایی محصول نهایی شدن را داراست اشاره می‌کند، نسخه‌ای که آمادهٔ ارائه‌شدنارائه شدن بدون بروز اشتبهاتاشتباهات بزرگ است. در این مرحله همه ویژگی‌های محصول به طور کاربردی طراحی شده‌اند. در این فاز محصول معمولاً code complete شرکت مایکروسافت اغلب از اصطلاح Release candidateاستفاده می‌کند
در دهه ۹۰، Apple Inc برای نسخه کاندیدای خود از اصطلاح golden master، و برای نسخهٔ دردسترس عموم از اصطلاح final golden master استفاده کرد.
دیگر واژه‌ها شامل gamma (و گهگاهی delta و شاید حتی سایر حروف یونانی (برای نسخه‌هایی که اساساً کامل هستند، اما هنوز در حال آزمایش‌اند و omega برای نسخه‌های نهایی‌آزمایش‌شدهنهایی آزمایش‌شده که ادعای بدون اشکال بودن دارند و ممکن است هر زمانی تولید شوند) omega و delta و Gamma، به ترتیب سومین، چهارمین و آخرین حرف از حروف یونانی هستند). بعضی از کاربران، به طور اهانت‌آمیز، نسخهٔ کاندید یا حتی نسخه‌های نهایی را به‌عنوان نرم‌افزار گیم نت (Game Net) می‌شناسند.
 
تولیدکنندگان مشتریان خود را برای تست نرم‌افزار به کار می‌گیرند، درحالی‌که هنوز برای ارائهٔ عمومی آماده نیستند. غالباً به ازمایش‌کننده‌هایآزمایش‌کننده‌های بتا که اختصاصاً انتخاب شده‌اند برای استفاده از نسخهٔ کاندید (نامزد) مبلغی پرداخت می‌گردد. وقتی که تیم موافقند کد منبع جدیدی به نسخه اضافه نخواهد شد آن نسخه (ارائه) Code Complete نامیده می‌شود. ممکن است هنوز Source Code برای برطرف کردن ایراد تغییردادهتغییر داده شود؛ و هنوز ممکن است برای مستندسازی، و فایل‌های اطلاعاتی و کد برای حالت آزمایشی یا موارد مفید، نیاز به تغییرات باشد. ممکن است به نسخه‌های آینده کدهای جدید اضافه شود.
 
== انتهای چرخه ==
گاهی اوقات شرکت‌های نرم‌افزاری پشتیبانی از تولیدات نرم‌افزار جدید را متوقف می‌کنند (یا بسته‌های جدید را ارائه نمی‌دهند). در این مرحله به این محصول گفته می‌شود که دروضعیتدر وضعیت پایانی‌است یا در انتهای چرخه. به عنوان مثال شرکت اپل در ۱۵ اوت ۲۰۰۷ اعلام کرد که Apple Works به انتهای راهش رسید.
 
== جستارهای وابسته ==