مدلهای چرخه عمر توسعه نرم افزار
مدلهای چرخه عمر توسعه نرم افزار – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 38000 تومان (ایران ترجمه - Irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۱۳۰ |
کد مقاله | COM130 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | تحقیقی بر مدلهای چرخه عمر توسعه نرم افزار |
نام انگلیسی | A Survey on Software development Life Cycle Models |
تعداد صفحه به فارسی | ۲۲ |
تعداد صفحه به انگلیسی | ۶ |
کلمات کلیدی به فارسی | مهندسی نرم افزار, توسعه نرم افزار, مدل فرآیند نرم افزار, اس دی ال سی, مدل چرخه حیات نرم افزار |
کلمات کلیدی به انگلیسی | Software Engineering, Software Development, Software Process Model, SDLC, Software Life Cycle Model |
مرجع به فارسی | ژورنال بین المللی علوم کامپیوتر و محاسبات سیارمجله ماهانه علوم کامپیوتر و فناوری اطلاعاتدانشکده مهندسی علوم کامپیوتر، دانشکده مهندسی وی ام کا وی، هندوستان |
مرجع به انگلیسی | International Journal of Computer Science and Mobile Computing; Department of Computer Science and Engineering, VMKV Engineering College, India |
کشور | هندوستان |
تحقیقی بر مدلهای چرخه عمر توسعه نرم افزار
چکیده
این مطالعه در ارتباط با یک مسئله اساسی و مهم در توسعه نرم افزار کامپیوتر می باشد و شامل فرآیندهای مدیریت نرم افزار است که در آن اقدام به برآورد مبحث توسعه نرم افزار از طریق مدلهای توسعه، شناخته شده بعنوان چرخه حیات توسعه نرم افزار، می شود. این مقاله ارائه دهنده مدلهای توسعه می باشد که عمدتا شامل موارد ذیل هستند: مدل آبشاری، مدل مبتنی بر تکرار، مدل v– شکل، مدل حلزونی، برنامه نویسی مفرط، روش تکراری و نموی، مدل پروتوتایپ سریع، مدل هرج و مرج، توسعه تطبیقی نرم افزار (ASD)، فرآیند نرم افزار چابک (ASP)، کریستال، روش توسعه پویای سیستم (DSDM)، توسعه ویژگی – مبنا (FDD)، فرآیند منطقی یکپارچه (RUP)، اسکرام (SCRUM)، ویزدام (Wisdom)، مدل بیگ بنگ (Big Bang). این مدلها مزیتها و همچنین معایبی دارند. بنابر این، هدف اصلی این مطالعه نشان دادن تفاوت این مدلهای توسعه نرم افزار و ارائه مقایسه ای بین آنها برای نشان دادن ویژگی ها و نقص های هر مدل می باشد.
کلمات کلیدی : مهندسی نرم افزار، توسعه نرم افزار، مدل فرآیند نرم افزار، اس دی ال سی، مدل چرخه حیات نرم افزار
مدلهای چرخه عمر توسعه نرم افزار
۱- مقدمه
هیچ کس، خصوصا در حال حاضر، اهمیت کامپیوتر در زندگی ما را نادیده نمی گیرد. در حقیقت کامپیوتر در زندگی امروزی بعنوان یک ابزار اجتناب ناپذیر بشمار می آید، چرا که از آن در بسیاری از رشته ها همانند موارد ذکر شده ذیل استفاده می شود: صنعت، پزشکی، تجارت، آموزش، و حتی کشاورزی. این موضوع یک عنصر مهم در صنعت و فناوری نوین کشورهای پیشرفته و همچنین کشورهای در حال توسعه می باشد. امروزه، سازمانها، در نتیجه فناوری های کامپیوتری، برای انجام کارهای خود وابستگی بیشتری به کامپیوتر دارند. کامپیوتر ها بعنوان یک ابزار صرفه جویی در زمان تلقی شده و رشد آنها به انجام فرآیندهای پیچیده، طولانی و مکرر در زمانی کوتاه و سرعتی بالا کمک می کند. علاوه بر استفاده برای کار، مردم از کامپیوتر برای سرگرمی و تفریح نیز استفاده می کنند. به طور قابل توجهی تعداد شرکتهایی که اقدام به تولید برنامه های نرم افزاری برای تسهیل کار دفاتر، ادارات، بانک ها و غیره نموده اند در طول ۴ دهه اخیر رشد نموده است. به علاوه هدف مهندسی نرم افزار ساخت برنامه های دارای کیفیت بالا می باشد.
مدلهای چرخه عمر توسعه نرم افزار
۲– مدلهای فرآیند نرم افزار
چرخه حیات تولید نرم افزار (SDLC) بعنوان مولفه ای مرتبط با فرآیند توسعه یک محصول نرم افزاری بشمار می آید. چنین موردی بصورت مکرر بعنوان زیر مجموعه چرخه حیات توسعه سیستم ها محسوب می شود. تعداد زیادی از مدل های مشخص شده برای چنین فرآیندهایی وجود دارند که هر کدام توصیف کننده رویکردی در ارتباط با محدوده وظایف یا فعالیتهایی هستند که در طول این فرآیند شکل می گیرند. این بخش مدلهای توسعه نرم افزار ذیل را ارائه نموده و با انجام مقایسه ای بین آنها سعی در نشان دادن ویژگی ها و نقص های هر یک از این مدل ها می نماید.
مدل آبشاری
مدل تکراری
مدل v– شکل
مدل حلزونی
برنامه نویسی مفرط
مدل نموی / افزایشی
مدل پروتایپینگ (نمونه سازی) سریع
مدل هرج و مرج
مدل توسعه تطبیقی نرم افزار (ASD)
فرآیند نرم افزار چابک (ASP)
مدل کریستال
روش توسعه پویای سیستم (DSDM)
توسعه ویژگی – مبنا (FDD)
فرآیند منطقی یکپارچه (RUP)
اسکرام
ویزدام
مدل بیگ بنگ
الف. مدل آبشاری
مدل آبشاری ]۱[ مدل قدیمی مهندسی نرم افزار می باشد. این مدل یکی از قدیمی ترین مدلها است و به طور گسترده ای در پروژه های دولتی و در بسیاری از شرکتهای بزرگ دیگر استفاده می شود. با توجه بدانکه این مدل بر روی برنامه ریزی در مراحل اولیه تاکید دارد، قابلیت تضمین نقص های طراحی قبل از توسعه وجود دارد. به علاوه مستند سازی و برنامه ریزی گسترده این سیستم را برای پروژه هایی که در آن کنترل کیفیت یک دغدغه اصلی است کاملا مطلوب ساخته است. این مدل کار خود را با مشخص سازی نیازها و خواسته های سیستمی و نرم افزاری شروع می نماید و در ادامه به رویه های ذیل توجه خواهد داشت:…
ب. مدل تکراری
یک مدل چرخه حیات تکراری (۳) کار خود را با داشتن مشخصه های کاملی از خواسته ها آغاز نمی نماید. در عوض، فرآیند توسعه با مشخص کردن و اجرای بخشی از نرم افزار شروع می شود و بعدا قابلیت مرور آن برای مشخص نمودن خواسته های متعاقب وجود خواهد داشت. سپس این روند تکرار می شود، و نسخه جدید از نرم افزار را برای هر چرخه مدل تولید می کند. مزایا: در مدل تکراری، ما محصول را پله به پله ساخته و بهبود بخشیده و بنابراین قابلیت مشخص نمودن عیب ها در مراحل اولیه وجود دارد این امر از جریان رو به پایین نقص ها جلوگیری می کند. در مدل تکراری ما میتوانیم بازخورد مناسب و مطمئنی از کاربر دریافت کنیم. در مدل تکراری زمان کمتری صرف مستند سازی شده و در مقابل زمان بیشتری برای طراحی صرف می شود. معایب: هر فاز تکرار، بعنوان یک مورد اکید بدون همپوشانی بشمار می آید. بنابر این، معماری سیستم هزینه بر گردیده یا بواسطه آنکه تمامی نیازها و خواسته ها از قبل برای کل پروسه لحاظ نشده است، مسائل و مشکلات طراحی پدیداری خواهند شد…
مدلهای چرخه عمر توسعه نرم افزار
ج. مدل v– شکل
مانند مدل آبشاری، مدل چرخه عمر V شکل [۲] یک مسیر ترتیبی برای اجرای فرآیندها می باشد. هر فاز باید قبل از شروع فاز بعد تکمیل شود. در این مدل تاکید بیشتری در مقایسه با مدل آبشاری بر روی رویه های آزمایشی می باشد. فرآیند آزمایش در چرخه عمر، در طی هر قسمت قبل از اجرا و قبل از هرگونه کد نویسی / برنلمه نویسی انجام می شود. این فرایند، از نظر نیازمندیهای مرتبط با مدل چرخه عمر مشابه با مدل آبشاری است. قبل از شروع رویه توسعه، یک برنامه آزمایش سیستمی ایجاد می شود. تمرکز این برنامه بر روی ویژکگیهای عملکرد مرتبط با جمع آوری خواسته ها است….
د. مدل حلزونی
مدل حلزونی [۴] شبیه مدل نموی است با این تفاوت که تاکید بیشتری بر روی تحلیل ریسک دارد. مدل حلزونی چهار بخش دارد: برنامه ریزی، تحلیل ریسک، مهندسی و ارزیابی. یک پروژه نرم افزاری بصورت تکراری می بایست این قسمت ها (که در این مدل تحت عنوان حلزونی نامیده می شوند) را پشت سر بگذارد. ویژگی خط مبنای حلزونی، که در فاز برنامه ریزی شروع می شود، شامل ضروریات و خواسته ها جمع آوری شده و ریسک های مرتبط نیز ارزیابی می شوند. هر بخش متعاقب حلزونی بر روی بخش خط مبنا ساخته می شود. خواست ها در طی بخش برنامه ریزی جمع آوری می شوند. در فاز تحلیل ریسک فرآیندی جهت مشخص نمودن ریسک و راه حل های جایگزین اعمال می شود. ….
ه. برنامه نویسی مفرط
رویکردی توسعه [۵] این فرآیند مبتنی بر توسعه و ارائه نموهای کاربردی بسیار کوچک می باشد. این مورد بر روی بهبود دائم کد یا برنامه نویسی، مشارکت کاربر در تیم توسعه و برنامه نویسی جفتی تمرکز دارد. البته حفظ منافع مشتریانی که این روند شرکت کرده اند ممکن است مشکل باشد. اعضای تیم ممکن است با مشارکت متراکم که یک از ویژگیهای روشهای چابک است هماهنگ نباشند. به هنگامی که با طرف های ذینفع متعددی روبرو باشیم، امر اولویت بندی تغییرات میتواند مشکل ساز باشد. حفظ سادگی به کار زیادی نیاز دارد. قراردادها ممکن است همانند دیگر رویکردهای توسعه تکراری مشکل آفرین باشند. مزایا: روشهای سبک وزن برای پروژه های دارای اندازه کوچک – متوسط مناسب هستند. قابلیت فراهم آوردن پیوستگی مناسب گروهی و تاکید بر روی محصول نهایی و تکرار. داشتن یک دیدگاه آزمایش – مبنا در زمینه خواسته ها و اطمینان از کیفیت. معایب: مشکل تطابق با پروژه های بزرگی که به مستندسازی و تجربه و مهارت نیاز. فرآیند برنامه نویسی هزینه بر می باشد.
و. روش نموی / افزایشی
این روش به منظور فائق آمدن بر ضعف روش آبشاری توسعه یافت. روش فوق با یک برنامه ریزی اولیه شروع می شود و با اعمال فرآیند تعاملات چرخه ای بینابین خاتمه می یابد. ایده اصلی در ورای این روش توسعه سامانه از طریق چرخه های گردشی (تکراری) و در قسمتهای کوچکتر در هر زمان (نموی) می باشد، بگونه ای که به توسعه دهندگان نرم افزار اجازه می دهد از آنچه در طی توسعه قسمت ها یا نسخ های قبلی سیستم فرا گرفته اند استفاده نمایند [۶]. مزایا: قابلیت ایجاد ارزش تجاری از ابتدای چرخه عمر توسعه. استفاده بهتر از منابع کمیاب از طریق تعریف دقیق ویژگی های نموی. قابلیت گنجاندن برخی از تغییرات درخواست شده از سوی نمو ها. تمرکز بیشتر بر روی ارزشهای مشتری تا رویکردهای خطی. قابلیت شناسایی زودتر مشکلات. معایب: نیاز به مستند سازی سنگین. پیروی از مجموعه ای از فرآیندهای تعریف شده، تعریف نمو ها برحسب وابستگی های مرتبط با توابع و ویژگی ها. نیاز بیشتر به مشارکت مشتری در مقایسه با رویکرد خطی. تفکیک توابع و ویژگی ها ممکن است مشکل ساز باشد. جامعیت بین تکرار، اگر چه در طی فرآیند توسعه در نظر گرفته نمی شود، می تواند یک مساله باشد.
ز. مدل پروتوتایپ سریع و یا توسعه کاربردی سریع (RAD)
یک پروتوتایپ سریع [۷] بعنوان یک مدل در حال کار است که از نظر عملکرد برابر با زیر مجموعه یک محصول می باشد. از آنجا که پروتوتایپ در حال کار از طریق تعامل با مشتری اعتبارسنجی گردیده است، مشخصه های حاصله صحیح خواهد بود. فرآیند تصدیق در پروسه های مشخصه ها، برنامه ریزی و طراحی مورد نیاز است. در اجرا و یکپارچه سازی، آزمایش مورد نیاز است. یک جنبه اساسی پروتوتایپ سریع کلمه “سریع” است. با استفاده از پروتوتایپ سریع در زمینه یافتن نیازهای مشتری میتوانیم روش آبشاری و پروتوتایپ سریع را با یکدیگر ادغام کنیم. مزایا: RAD زمان توسعه را کاهش می دهد و قابلیت استفاده از مولفه های بصورت مجدد سبب تسریع توسعه می شود. تمامی توابع ماژول بندی شده اند در نتیجه کار با آنها آسان است. معایب: در پروژه های بزرگتر RAD، به مهندسان با مهارت بالا در تیم نیاز می باشد. هر دو طرف مشتری نهایی و توسعه دهنده می بایست متعهد به تکمیل سیستم در یک چهارچوب زمانی بسیار کوتاه باشند. در صورت کمبود مشارکت RAD با شکست روبرو می گردد. RAD بر مبنای رویکرد شی گرا می باشد و در صورتی که قابلیت ماژول بندی آن وجود نداشته باشد احتمالا RAD کارکرد خوبی نخواهد داشت.
مدلهای چرخه عمر توسعه نرم افزار
ح. مدل هرج و مرج
مدل هرج و مرج [۸] حلقه حل مشکل خطی را با فراکتالها برای توصیف پیچیدگی توسعه نرم افزار ترکیب می کند. حلقه حل خطی مشکل شامل چهار مرحله مختلف است: تعریف مساله، توسعه فنی، جامعیت حل، وضع موجود. فراکتالها ساختار بین بخشهای مختلف یک پروژه را توصیف می کنند. روش هرج و مرج بواسطه تحمیل اندک تشکیلات و ویژگیهای مرتبط با فرآیند توسعه و در مقابل قابلیت توسعه متعاقب آن از مدل های دیگر متفاوت است. چنین فرآیندی قابلیت پیاده سازی مدل هرج و مرج در بسیاری از وضعیت های پیچیده را خواهد داد. ساختار یک مساله ساده با ساختار یک مساله پیچیده تر متفاوت است. به طور کلی، ما مساله پیچیده را به مساله های فرعی کوچکتر تقسیم می کنیم. ما از این رویکرد کاهشی برای مواجهه با مسایل بسیار بزرگ استفاده می کنیم. با این حال، می توان بیان داشت که ساختار بازگشتی بسیار ساده است.
ط. مدل توسعه نرم افزار بصورت تطبیقی (ASD)
مدل تطبیقی توسعه نرم افزار (ASD) به عنوان چارچوبی تلقی می شود با استفاده از آن قابلیت مخاطب قرار دادن ضرب آهنگ سریع بسیاری از پروژه های نرم افزاری وجود دارد [۹]. ASD بر مبنای علم تئوری سیستم های تطبیقی پیچیده می باشد و از سه مولفه در هم آمیخته برخوردار است: مدل ادراکی تطبیقی، مدل توسعه تطبیقی و مدل مدیریت تطبیقی. در مقایسه با چرخه های متعارف عمر روش آبشاری (برنامه ریزی، ایجاد، اجرا) یا روش تکراری (برنامه ریزی، ایجاد، بازبینی)، چرخه عمر توسعه تطبیقی (تفکر، همکاری، یادگیری) وجود عدم قطعیت و تغییر را مورد شناسایی قرار داده و سعی بر مدیریت توسعه نرم افزار با استفاده از پیش بینی دقیق و استراتژی های کنترلی اکید نمی نماید.
ی. فرآیند نرم افزار چابک (ASP)
فرآیند نرم افزار چابک (ASP) اولین بار در سال ۱۹۹۸ پیشنهاد شد [۱۰]، بر خلاف مدلهای پردازش نرم افزاری سنتی مبتنی بر حجم، ASP مبتنی بر زمان است و به سرعت قابلیت ارائه محصولات نرم افزاری را دارد. چنین پارامتری با یکپارچه سازی فرآیندهای سبک وزن، ساختارهای پردازش ماژولار، و ارائه فرآیند تکراری و نموی قابل تحقق است. روش ASP پنج تعامل مهم را در این عرصه ارائه می نماید. این موارد عبارتند از: یک مدل فرآیند جدید با مکانیسم سکون مبتنی بر زمان. یک مدل فرآیند نرم افزار با قابلیت ارائه تکاملی. یک معماری فرآیند نرم افزار با قابلیت یکپارچه سازی فرآیندهای همزمان و غیر همزمان. ASP یک فرآیند پیچیده است و در نتیجه در مواجهه با مشکلات، در مقایسه با دیگر روش های SDLC سنتی و سبک وزن، آسیب پذیرتر است. مزایای فرآیند ASP توانایی آن برای مدیریت کارای تلاش های مرتبط با توسعه نرم افزار در مقیاس بزرگ می باشد. شاهد این ادعا کاهش ۷۵ درصدی در زمان چرخه توسعه می باشد که ، توسط فوجیتسو، به هنگام کاربرد ASP جهت مدیریت یک پروژه نرم افزاری ارتباطی بزرگ حاصل آمد.
ک. مدل کریستال
خانواده کریستال، یعنی روش SDLC سبک وزن بوسیله آلیستر کاکبرن (Alistair Cockburn) ایجاد شد [۱۷]. کریستال، بواسطه اعتقاد کاکبرن مبنی بر آنکه انواع مختلف پروژه ها نیازمند روشهای متفاوتی هستند، متشکل از بیش از یک روش است. نوع پروژه در امتداد دو خط دسته بندی می شود: تعداد افراد در تیم توسعه و مقدار ریسک (یعنی یک پروژه ۳۰ نفره که در معرض خطر از دست دادن بودجه مصلحتی است به یک روش متفاوتی در مقایسه با یک پروژه ۴ نفره بحران- حیات نیازمند می باشد). روش کریستال به نوارهای کد شده رنگی تقسیم می شود. کریستال “شفاف / بدون رنگ” کوچکترین و سبک ترین مورد است. متعاقبا کریستال با رنگ های “زرد”، “نارنجی”، “قرمز” ،”خرمایی مایل به قرمز”، “آبی” و “بنفش” برای استفاده با گروههای بزرگتر با استفاده از روشهای پیچیده تر مد نظر هستند.
مدلهای چرخه عمر توسعه نرم افزار
ل. مدل توسعه سیستم بصورت پویا (DSDM)
مدل توسعه پویای سیستم (DSDM) چهارچوبی [۱۲] است که برای کنترل پروژه های توسعه نرم افزاری با زمان بندی کوتاه استفاده می شود. این مدل در سال ۱۹۹۴ توسط کنسرسیومی از گروهی از شرکتهای بریتانیایی شکل گرفت. راهکار این مدل با مطالعه امکان سنجی و بررسی تجاری آغاز شده تا مشخص سازد که آیا DSDM برای موضوع مورد بررسی مناسب است یا خیر. بقیه فرآیند شامل ۳ چرخه در هم آمیخته می باشد. این چرخه ها شامل فرآیند تکرار مدل کاربردی، فرآیند تکرار طراحی و ساخت و نهایتا اجرا می باشد. اصول زیر بنایی DSDM عبارتند از: ارائه / تحویل مکرر، ارتباطات فعال با کاربر، تیم های توسعه قدرتمند و صاحب اختیار و آزمایش در کلیه بخش های پروژه. تفاوت DSDM نسبت به روشهای سنتی عدم ثبات نیازمندیها و خواسته ها است. نیازمندیهای پروژه را می توان برحسب یک بازه زمانی ثابت و منابع ثابت پروژه تغییر داد. این روش نیازمند اولویت بندی شفاف نیازمندیهای کاربردی است. بعلاوه، بر روی کیفیت بالا و تطابق با تغییرات نیازمندیها تاکید می شود. این تاکید مزیت یک زیر ساخت استوار (مشابه با روشهای سنتی) را خواهد داشت، در عین آنکه اصول روشهای SDLC سبک وزن رعایت می شود.
م. توسعه ویژگی مبنا (FDD)
توسعه ویژگی / خصیصه مبنا (FDD) یک فرآیند توسعه نرم افزاری تکرار- کوتاه و مدل- مبنا می باشد [۱۳]. فرآیند FDD کار خود را با برقراری یک شکل کلی مدل آغاز می کند. این فرآیند با یک سری از رویه های تکرار شونده “طراحی برحسب ویژگی ، ساخت برحسب ویژگی” دنبال می شود.FDD شامل ۵ فرآیند است: توسعه یک مدل کلی، ایجاد لیستی از ویژگی ها، برنامه ریزی بر حسب ویژگی، و طراحی برحسب ویژگی و ساخت برحسب ویژگی. دو دسته از توسعه دهندگان در پروژه های FDD وجود دارند: برنامه نویسان ارشد و صاحبان کلاس. برنامه نویسان ارشد با مهارترین توسعه دهندگان بشمار آمده و به عنوان هماهنگ کننده، طراح برتر و مربی عمل می کنند. صاحبان کلاس کد نویسی را انجام می دهند. یک مزیت سادگی فرآیند FDD معرفی ساده کادر جدید است. FDD منحنی های یادگیری را تقلیل داده و زمان مورد نیاز برای حصول کارآمدی را کاهش می دهد. نهایتا روش FDD نتایج مکرر و ملموسی را حاصل می آورد. این روش از بلوک های کوچک قابلیت ارزشی- کاربران بهره می جوید. به علاوه ،FDD شامل استراتژی های برنامه ریزی است و فرآیند پیگیری دقیق پیشرفت را فراهم می کند.
ن. فرآیند یکپارچه رشنال / منطقی (RUP)
فرآیند یکپارچه رشنال یا فرآیند منطقی یکپارچه (RUP) به خوبی با پروژه های چند وظیفه ای کار می کند [۱۶]. RUP شش راهکار برتر را شامل می شود: مدیریت خواسته ها، کنترل تغییرات نرم افزار، توسعه نرم افزار به صورت تکراری، استفاده از معماری مولفه- مبنا، مدل بصری و تایید کیفیت. RUP بعنوان یک چهارچوب فرآیند بحساب آمده و می توان آن را هم در حالت سنتی (برای مثال سبک آبشاری) و هم در حالت سبک وزن مورد استفاده قرار داد. یک نمونه از انعطاف پذیری مدل فرآیند do است که توسط رابرت مارتین (Robert Martin) توسعه یافته است. فرآیند dX مشابه با XP است و یک نمونه کاملا سازگار RUP می باشد. این فرآیند برای توسعه دهندگانی توسعه یافت که می بایست از RUP استفاده نمایند، وی ترجیح می دهند از XP استفاده کنند. نهایتا هرچند RUP اصالتا به منظور کمک به مدیریت پروژه های نرم افزاری در نظر گرفته شده بود، طراحی قابل انعطاف آن را مناسب پروژه های تغییر شکل یافته برزگ تجاری می سازد. بعد از اعمال چند افزونه اساسی به این فرآیند، RUP به طور موثر قابلیت ایجاد چهارچوبی مناسب برای رویه های تغییر یافته شرکتهای گسترده – تجارت الکترونیکی را خواهد داشت.
س. اسکرام
اسکرام بعنوان یک تیم راگبی متشکل از ۸ بازیکن است [۱۴]. این تیم بصورت گروهی با هم کار کرده تا توپ را به آنسوی زمین هدایت کنند. کارکرد این تیم بصورت واحدهای متحد و استوار با یک هدف مشخص می باشد. به طریق مشابه، فرآیند توسعه نرم افزار اسکرام سبب تسهیل تمرکز تیمی می شود. اسکرام یک روش SDLC سبک برای تیم های کوچک است تا قابلیت تولید نرم افزار به صورت نموی در محیط های پیچیده را داشته باشند. اسکرام برای پروژه هایی مناسب است که خواسته ها را نمی توان به آسانی تعریف نمود و شرایط هرج و مرج قابل پیش بینی است. اسکرام یک پروژه را به دو اسپرینت (Sprint) (تکرارها) ۳۰ روزه تقسیم می کند. قابلیت کاربرد و ویژگیهای مرتبط با آن قبل از شروع اسپرینت تعریف می شود. هدف این فرآیند تثبیت نیازها و خواست ها در طی یک اسپرینت است.
ع. ویزدام
توسعه سیستم محاوره های وایت واتر (White-water) با مدلهای شی / آبجکت [۱۵] سبب مخطب قرار دادن نیازهای تیم های توسعه کوچکی می شود که خواستار ساخت و نگهداری باکیفیت ترین سیستم های محاوره های هستند. روش ویزدام دارای ۳ مولفه اساسی است: فرآیند نرم افزاری کاربر- محور، سیر تکاملی، و مدل پروتوتایپ سریع. بعلاوه، مجموعه ای از ایده های مدلسازی ادراکی نیز وجود دارند که از مدلسازی مولفه های کاربردی و غیر کاربردی پشتیبانی می کنند. این فرآیند در حقیقت یک فلسفه مدیریت پروژه مبتنی بر استاندارهای استفاده از ابزار و مستند سازی باز است. ویزدام از سه گردش کار اصلی تشکیل شده است: گردش کار خواسته ها، گردش کار تحلیل، و گردش کار طراحی. به علاوه، این روش مبتنی بر ۷ مدل می باشد و از ۴ نوع نمودار استفاده می کند. گردش کار نقش مهمی در ویزدام بازی می کند و منطبق با تصویری از ویژگیهای مستقل از فناوری و مستقل از اجرا در ارتباط با نیت کاربران و مسئولیت های سیستمی می باشد.
مدلهای چرخه عمر توسعه نرم افزار
ف. مدل بیگ بنگ
مدل بیگ بنگ [۱۶] بعنوان مدلی تلقی می شود که در آن مقدار زیادی سرمایه مالی و انسانی در کنار هم قرار می گیرند. در این مدل با وجود صرف مقادیر بالای انرژی احتمال آنکه بهترین نوع محصول نرم افزاری حاصل شود بالسویه خواهد بود. زیبایی این مدل در سادگی آن است، یعنی برنامه ریزی، جدول زمانی یا فرآیند توسعه رسمی اندک. تمامی تلاش ها بر مبنای توسعه نرم افزار و کد نویسی استوار است. در صورتی که درک مناسبی از خواسته های محصول وجود نداشته باشد و تاریخ انتشار نسخه نهایی متغیر است، این فرآیند ایده آل تلقی می گردد. بعلاوه، ویژگی مهم داشتن مشتریان انعطاف پذیر است تا اطلاعی از آنچه بدست می آورند تا زمان تحویل نهایی نداشته باشند.
ص. کد بزن و درست کن
اصطلاح فرآیند توسعه ” کد بزن و درست کن” [۱۱] بعنوان یک استراتژی عامدانه بررسی شده تلقی نشده و با فشار مشخص بر توسعه دهندگان نرم افزار، بدون طراحی خاصی در این رابطه، سبب می شود تا برنامه نویسان بلافاصله شروع به کدنویسی نمایند. در جایی ممکن است شاهد آغاز روند آزمایش باشیم (اغلب در انتهای چرخه توسعه) و در نتیجه باگهای غیر قابل اجتناب را باید قبل از تحویل محصول مرتفع کرد.
مدلهای چرخه عمر توسعه نرم افزار
۳- نتیجه گیری
در این مقاله چندین مدل چرخه عمر توسعه نرم افزار مطالعه و مقایسه شدند. مدل آبشاری فراهم آورند مبنایی برای دیگر مدلهای توسعه می باشد. بعلاوه، مزایا و معایب مدلهای ارتقا یافته ذیل نیز مورد مقایسه قرار گرفت: مدل تکراری، مدل V- شکل، مدل حلزونی، برنامه نویسی مفرط، مدل پروتوتایپینگ تکاملی، روش تکراری و نموی / افزایشی، مدل پروتوتایپ سریع، مدل هرج و مرج، مدل توسعه تطبیقی نرم افزار (ASD)، فرآیند نرم افزاری چابک (ASP)، کریستال، مدل توسعه پویای سیستم (DSDM)، توسعه ویژگی – مبنا (FDD)، فرآیند رشنال / منطقی یکپارچه (RUP)، اسکرام، ویزدام، مدل بیگ بنگ و مدل کد بزن و درست کن.