روش شناسی آبشار در مقابل RUP
امروزه روش های مختلف توسعه نرم افزار در صنعت نرم افزار مورد استفاده قرار می گیرد. روش توسعه آبشار یکی از اولین روش های توسعه نرم افزار است. متدولوژی توسعه نرم افزار Waterfall یک مدل متوالی است که در آن هر مرحله به طور کامل تکمیل شده و به ترتیب ثابت دنبال می شود. RUP (فرآیند یکپارچه منطقی) یک چارچوب فرآیندی سازگار از متدولوژی های توسعه نرم افزار تکراری است. RUP به چندین انتقاد از توسعه آبشار مانند صلبیت می پردازد.
روش شناسی آبشار چیست؟
روش شناسی آبشار یکی از اولین مدل های توسعه نرم افزار است.همانطور که از نام آن پیداست، یک فرآیند متوالی است که در آن پیشرفت در چندین مرحله از بالا به پایین جریان می یابد، شبیه به یک آبشار. فازهای مدل Waterfall عبارتند از تجزیه و تحلیل نیاز، طراحی، توسعه، آزمایش و پیاده سازی. تحلیلگران کسب و کار (یا خود برنامه نویسان اگر یک سازمان کوچک باشند) مرحله تجزیه و تحلیل را با دریافت سیستم و الزامات تجاری از مشتری پروژه انجام می دهند. سپس، معماران نرمافزار (یا توسعهدهندگان ارشد نرمافزار) اسناد طراحی را ارائه میکنند که ساختار و اجزای سیستم پیشنهادی را به تصویر میکشد. سپس توسعه دهندگان جوان کدگذاری را با استفاده از اسناد طراحی انجام می دهند. پس از اتمام توسعه، محصول به تیم تست برای فرآیندهای تست و تایید تحویل داده می شود. در نهایت، محصول در سایت مشتری پیاده سازی می شود (یا یکپارچه) و پروژه امضا می شود. نکته مهمی که در اینجا باید به آن توجه داشت این است که هر مرحله قبل از رفتن به مرحله بعدی کاملاً تکمیل شده است. این مدل نتیجه مستقیم انطباق روش توسعه سخت افزار محور (که در صنایع تولیدی و ساختمانی یافت می شود) بود، در زمانی که هیچ مدل رسمی برای توسعه نرم افزار وجود نداشت.
RUP چیست؟
RUP متعلق به خانواده متدولوژی های توسعه نرم افزار تکراری است. در سال 2003 توسط Rational Software Corporation (IBM) توسعه داده شد. در واقع یک چارچوب فرآیندی قابل انطباق است (نه یک فرآیند مشخص) که می تواند توسط سازمان توسعه بر اساس نیازهای آنها سفارشی شود. کمی شبیه به آبشار، دارای مراحل ثابتی به عنوان آغاز، بسط، ساخت و انتقال است. اما برخلاف آبشار، RUP یک فرآیند تکراری است. سه استراتژی جذب شده توسط RUP یک فرآیند قابل تنظیم است که توسعه را هدایت می کند، ابزارهای خودکار برای تسریع فرآیند و خدماتی که به پذیرش سریعتر فرآیند و ابزار کمک می کند. این کارآموز استراتژیها شش روش برتر مهندسی نرمافزار (توسعه تکراری، مدیریت نیازمندیها، معماری مبتنی بر مؤلفه، مدلهای نرمافزار بصری، تأیید مستمر و مدیریت تغییرات) را در بر میگیرد.
تفاوت بین متدولوژی آبشار و RUP چیست؟
اگرچه متدولوژی Waterfall و RUP فازهای ثابتی را تعریف کرده اند، تفاوت های کلیدی بین این دو مدل وجود دارد. تفاوت اصلی این است که در حالی که روش Waterfall به وضوح یک فرآیند متوالی با مراحل تجویز شده است که در آن فاز فعلی قبل از رفتن به فاز بعدی تکمیل می شود، RUP یک فرآیند تکراری است. برخلاف روش آبشار، RUP محصول را در چند مرحله بر اساس بازخورد سهامداران توسعه می دهد. از آنجا که هر تکرار RUP یک نسخه اجرایی تولید می کند، مشتریان خیلی زودتر از Waterfall به مزایای آن پی می برند. در نهایت، متدولوژی Waterfall یک فرآیند بتن تجویزی است، در حالی که RUP یک چارچوب سازگار از فرآیندهای نرم افزاری است.