موضوع مقاله: چرخه زندگی انتشار نرم‌افزار | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # چرخه زندگی انتشار نرم‌افزار | مقدمه: دامنه این چرخه، از توسعه ابتدایی تا انتشار نهایی می‌باشد، و این دامنه شامل ویرایش‌های به‌روزرسانی‌شدهٔ منتشرشده است. | ## بخش 1: چرخه زندگی انتشار نرم‌افزار | دلیل وجود این چرخه، «بهبود نرم‌افزار» و/یا «رفع اشکالات نرم‌افزاری» است، که در ویرایش‌های پیشین وجود داشته‌است. کاربران رایانه باید با «فاز بتا» آشنا شوند، و محصولات نرم‌افزاری گاهی به صورت مردمی به صورت «بتا» تبلیغ می‌شوند، به این دلیل که می‌خواهند انتظارات (جدید) کاربران را برای معتبر بودن آن پس از انتشار آن، کاهش دهند. چرخه حیات نرم‌افزار از مراحل گوناگونی تشکیل شده که پایداری نرم‌افزار و میزان بهبود مورد نیاز، قبل از ارائهٔ نسخهٔ نهایی هم جزو آن است. تمام نسخه‌های اصلی یک محصول معمولاً هنگامی که یک ویژگی جدید اضافه می‌گردد، یا در حین مرحله آلفا عرضه می‌گردد، مرحله‌ای که آن (نرم‌افزار) اشکال‌زدایی می‌گردد همان مرحله بتا(Beta) است، و در نهایت مرحله‌ای که همهٔ اشکالات مهم برطرف شده‌است مرحلهٔ stable است. مراحل ممکن است صریحاً توسط ارائه‌دهندگان پروژه تعدیل شوند یا اعلام گردند، اما گاهی مراحل تولید صریحاً توضیح داده نمی‌شوند. بر طبق قرارداد، اغلب code names قبل از ارائهٔ محصول توسط تعدادی از شرکت‌ها مورد استفاده قرار می‌گیرند، هرچند محصول واقعی و ویژگی‌هایش حقیقتاً محرمانه است. به همان وضوحی که نسخه‌های آلفا یا بتا متفاوتند نسخه Pre- Alpha یک مرحله کامل نیست، که همه فعالیت‌هایی که در پیش از پروژه تا تست نرم‌افزار انجام می‌گیرد را شامل می‌شود. این فعالیت‌ها می‌تواند شامل: تحلیل نیاز، طراحی نرم‌افزار، گسترش نرم‌افزار و مرحله آزمایش باشد. Nightly buildها نسخه‌هایی هستند که معمولاً به‌طور اتوماتیک توسط سیستم‌های کنترل، مثلاً شبها، آزمایش می‌شوند؛ این نسخه‌ها به آزمایش‌کنندگان این اجازه را می‌دهند تا قابلیت‌های جدید پیاده‌سازی شده را سریعاً آزمایش نمایند و اشکالات جدید را بیابند. آلفا (Alpha) نسخه آلفای یک نرم‌افزار، برای آزمایش کنندگان نرم‌افزار -که اشخاصی غیر از مهندسین نرم‌افزار هستند- تهیه می‌گردد. این افراد معمولاً از داخل سازمان یا مجموعه‌ای هستند که نرم‌افزار در آن تهیه می‌شود. در مرحلهٔ ارائه به بازار، کمپانی‌های بیشتر و بیشتری تلاش می‌کنند تا در مرحله تست نسخه آلفا، توجه مشتریان خارجی بیشتری را جلب کنند؛ که این اجازه آزمایش کردن، قابلیت‌های گسترده‌ای را در حین مرحله آلفا می‌دهد. نرم‌افزار سطح بتا معمولاً همه ویژگی‌های نسخهٔ اصلی را داراست، اما امکان دارد اشکالات و عملکردهای شناخته شده در حد بسیار کمی باشد. آن‌ها معمولاً مشتریان فعلی یا آینده سازمان هستند که از نرم‌افزارها استفاده می‌کنند. آن‌ها نرم‌افزار را به‌طور رایگان یا با قیمت کم دریافت می‌کنند، درحالی‌که آزمایش‌کنندگانی رایگان هستند. نسخه‌های بتا پشتیبانی از محصولات را در مسیر راهیابی به بازار (درحالیکه مشتریان بتا در حال افزایشند) و فروش محصول‌ها، جریان‌ها و راه‌های دستیابی را آزمایش می‌کند. | ## بخش 2: چرخه زندگی انتشار نرم‌افزار | نرم‌افزار نسخه‌های بتا، احتمالاً برای نمایش داخلی و پیش‌بینی انتخاب مشتریان مفید واقع می‌باشد، اما ناپایدارند و برای ارائه آماده نیستند. تعدادی از تولیدکنندگان به این مرحله به عنوان یک پیش‌نمایش، یک نسخه نمونه، یک پیش‌نمایش تکنیکی(TP) یا به عنوان یک دسترسی سریع نام می‌برند. دومین مرحله مهم در چرخه اولیه ارائه نرم‌افزار، که پس از مرحله آلفا قرار دارد، به نام حرف بعدی الفبای یونانی beta، که دومین حرف از الفبای یونانی است نامیده می‌شود. اغلب این مرحله هنگامی شروع می‌شود که تهیه‌کنندگان اعلام می‌کنند که ویژگی‌های قابل تغییر دیگری در محصول وجود ندارد که تعیین‌کننده ویژگی‌های مورد نیاز این نسخه از محصولات باشد. آزمایش‌کنندگان تعدادی از اشکالاتی را که می‌یابند و گاهی ویژگی‌های فرعی دیگری را که تمایل دارند در نسخه نهایی ببینند گزارش می‌دهند. متعاقباً CTPها بیشتر ویژگی‌های برنامه‌ریزی شده مانند تعدادی از تغییرات واسط کاربری را در مبنای بازخوردهای آزمایش‌کنندگان بتا ایجاد می‌کنند. ویندوز ویستا در ۲۲ فوریه ۲۰۰۶ به توسط Build 5308 CTP نسخه کامل خود را ارائه داد، و بیشتر کارهای باقی‌مانده مابین Build 6219 و نسخه نهایی بر روی پایداری، کارایی، تطابق، درایوها، برنامه‌ها و مستندسازی متمرکز شد. هنگامی‌که نسخه بتا آماده ارائه عمومی‌است اغلب به‌طور گسترده‌ای توسط خبرگان تکنولوژی، و هم‌رده‌های نسخه‌های قبلی، قبل از ارائه نسخه نهایی استفاده می‌شود. معمولاً تهیه‌کنندگان نسخه‌های رایگان نرم‌افزار یا open source بتاها را ارائه می‌دهند در حالی که مالکان نسخه‌های بتا به گروه کوچکی از آزمایش‌کنندگان مرتبط تعلق دارند. دریافت‌کنندگان نسخه‌های بتای با مالکیت بالا باید یک توافق‌نامه غیر بازرگانی را امضاء کنند. یک ارابه، هنگامی کامل خوانده می‌شود که گروه تولیدکننده با تطابق نیازهای کاربردی سیستم و عدم نیاز اضافه نمودن ویژگی‌های جدید به نسخه، موافقت نمایند؛ اما اشکالات مشخص نرم‌افزاری همچنان وجود دارد. شرکت‌ها با فرایندهای نرم‌افزاری رسمی مایلند تا با لیستی از اشکالات شناخته شده که به منظور ارائه نسخه بتا باید برطرف گردند وارد مرحله بتا شوند، و تعدادی از شرکت‌ها این لیست را در اختیار مشتریان و آزمایش‌کنندگان قرار می‌دهند. هرچند که اینترنت اجازه انتشار ارزان و سریع نرم‌افزار را می‌دهد، شرکت‌ها شروع به استفاده از راهکاری قابل انعطاف‌تر برای استفاده جهانی بتا نموده‌اند. در فوریه ۲۰۰۵ ZDNet مقاله‌ای منتشر کرد در مورد پدیده اخیر که نسخه‌های بتا اغلب سال‌ها مورد استفاده قرار می‌گیرند و تولید می‌شوند. این روش همچنین به تولیدکننده امکان می‌دهد که ارائه پشتیبانی کامل یا مسئولیت انتشار عملکردهای باقی‌مانده را به تأخیر بیندازد. در بستر web ۲٫۰ مردم هنور در مورد بتاهای ماندگار صحبت می‌کنند که دلالت می‌کند بر اینکه تعدادی از نرم‌افزارها در مرحله بتا باقی می‌ماند. | ## بخش 3: چرخه زندگی انتشار نرم‌افزار | سرچشمه آلفا و بتا دوره تست بتا در مورد نرم‌افزاری که قرارداد آزمایش محصول سخت‌افزاری جدید IBM را برای ماشین‌های جدول‌بندی کارت‌های پانچ شده و مرتب‌کننده آن‌ها به‌کار می‌رود استفاده می‌شود. سپس به عنوان نسخه beta test، جهت بررسی صحت عملکردهایی که باید پشتیبانی کنند، و امکان تولید در مقیاس مورد نیاز، به بازار عرضه شدند، و پس از آن نسخه c beta جهت بررسی امنیت آن. با ظهور کامپیوترهای قابل برنامه‌ریزی و برای برنامه‌های نرم‌افزاری قابل اشتراک همین اصطلاحات را برای آزمایش نرم‌افزار نیز به کار می‌برند. نسخه‌های تست بتا به وسیلهٔ گروهی غیر از تولیدکنندگان اجرا شده، هرچند که شرکت‌های دیگری شروع به تولید نرم‌افزار برای مقاصد خود و انتشار آن برای دیگران نموده‌اند. مرحله‌ای که بین بتا و کاندیدای ارائه نرم‌افزار قرار دارد به دلیل اینکه محصول نرم‌افزاری هنوز برای محصول با توانایی نهایی آماده نیست، هرچند که مجموعه‌های نرم‌افزار باکیفیت ارائه شدند. Podcast در خصوص نامگذاری کاندیدای نسخه دوم KDE۴ که توانایی استاندارد بودن آنچه که یک نسخه کاندیدا باید داشته باشد را دارا نبوده‌است، اختراع شد (بوجود آمد). آن‌ها نهایتاً موافقت نمودند که نسخه کاندیدا به همان عنوان به‌کار رود، به‌دلیل اینکه کیفیت نسخه بتا را ندارد، هرچند که مجموعه‌های نرم‌افزاری کیفیت ارائه کاندیدا را دارا باشند. نامزد انتشار (Release Candidate) پس از آنکه برنامه‌نویس/برنامه‌نویسان به این نتیجه می‌رسند که کار تمام شده و نرم‌افزار آمادهٔ انتشار است، و پیش از انتشار رسمی نسخهٔ جدید، معمولاً اقدام به انتشار یک نسخهٔ نامزد می‌کنند تا از عملکرد صحیح نرم‌افزار در بین جمع بزرگتری از کاربران اطمینان یابند. نسخهٔ نامزد به نسخه‌ای که توانایی محصول نهایی شدن را داراست اشاره می‌کند، نسخه‌ای که آمادهٔ ارائه شدن بدون بروز اشتباهات بزرگ است. بعضی از کاربران، به‌طور اهانت‌آمیز، نسخهٔ کاندید یا حتی نسخه‌های نهایی را به‌عنوان نرم‌افزار گیم نت (Game Net) می‌شناسند. تولیدکنندگان مشتریان خود را برای تست نرم‌افزار به کار می‌گیرند، درحالی‌که هنوز برای ارائهٔ عمومی آماده نیستند. غالباً به آزمایش‌کننده‌های بتا که اختصاصاً انتخاب شده‌اند برای استفاده از نسخهٔ کاندید (نامزد) مبلغی پرداخت می‌گردد. ممکن است هنوز Source Code برای برطرف کردن ایراد تغییر داده شود؛ و هنوز ممکن است برای مستندسازی، و فایل‌های اطلاعاتی و کد برای حالت آزمایشی یا موارد مفید، نیاز به تغییرات باشد. برخی از محصولات نرم‌افزاری (مانند توزیع‌های لینوکس) دارای نسخه‌های پشتیبانی بلندمدت (LTS) هستند که بر اساس نسخه‌های کاملی که قبلاً آزمایش شده‌اند و فقط به‌روزرسانی‌های امنیتی را دریافت می‌کنند، منتشر می‌شوند؛ این به توسعه‌دهندگان اجازه می‌دهد تا به‌جای به‌روزرسانی کد یا یافتن و رفع اشکالات جدید معرفی شده به دلیل فرضیات منسوخ در مورد سیستم استفاده شده، زبان یا کتابخانه‌های زیربنایی، زمان بیشتری را به توسعه محصول اختصاص دهند. | ## جمع‌بندی | انتهای چرخه گاهی شرکت‌های نرم‌افزاری پشتیبانی از تولیدات نرم‌افزار جدید را متوقف می‌کنند (یا بسته‌های جدید را ارائه نمی‌دهند).