چکیده:
برای حل مسائل کنونی در صنعت نرم افزاری موجود، یک مهندس نرم افزار یا مهندسی باید راهبرد های توسعه را که شامل تعیین فرایند، روش ها و انواع ابزار های مورد نیاز می باشد، به صورت کارآمد با یکدیگر ترکیب و آمیخته نماید. این راهبرد، بیشتر به عنوان یک شیوه فرایند(1) مطرح می شود و روش پردازش برای مهندسی نرم افزار، بر پایه پروژه های واقعی و برنامه های کاربردی انتخاب می شود. روش ها و ابزار ها باید به صورت صحیح مورد استفاده قرار گرفته و کنترل شوند و در زمان مورد نیاز، تحویل داده شوند. روش های مختلف تولید نرم افزار، الگو های مختلفی را به منظور آسان سازی ایجاد و به کارگیری روش فرایند پیشنهاد می نمایند که در دنیای نرم افزار با اصطلاح «متدولوژی ها/ روش های نرم افزاری» شناخته شده اند. روش های نرم افزاری، مدل های متفاوت مجتمع سازی پروسه تولید نرم افزار هستند که هریک، از الگوها، مراحل و نشانه های متفاوتی استفاده می کنند و بر اساس کاربرد های متفاوت، روش های گوناگونی مورد نیاز است که بسته به امکان سنجی نیاز های متعدد پروژه، ترجیهات مشتری یا دیدگاه های مدیریتی مختلف، می توان یکی از این روش ها و یا ترکیبی از این الگوها را در فرایند تولید نرم افزار بهکارگرفت. در این نوشتار، به شرح ویژگی های برتر و مهم ترین متدولوژی یا روش های نرم افزاری مطرح می پردازیم.
خلاصه ماشینی:
مراحل و فازهای مختلف این الگو، به شرح ذیل است: - مهندسی اطلاعات یا سیستم(4): بهدلیل اینکه نرمافزار، بخشی از یک سیستم بزرگتر (یک تجارت) است، همیشه کار با ایجاد پیشنیاز برای تمام المانهای سیستم و سپس نسبتدادن زیرمجموعهای از این نیازها به نرمافزار شروع میشود.
2. تولیدکننده نرمافزار گاهی برای رسیدن سریع به یک نمونه قابل استفاده، از برخی روشهای پیادهسازی استفاده میکند که در آینده مشکلآفرین است؛ مثل سیستم عامل نامناسب، زبان برنامهنویسی ساده که در دسترس و شناخته شده است و یا الگوریتم غیرکارا که بتواند فقط قابلیت ارائه یک نمونه را داشته باشد.
علاوه بر این، مراحل این روش میتواند به صورتی طراحی شود که بتوان خطرهای فنی(23) را در نظر گرفت؛ بهعنوان مثال، یک سیستم کلان ممکن است نیاز به سختافزاری جدید داشته باشد که در حال ساخت است و زمان عرضه آن، مشخص نیست.
مهمترین مشکلات الگوی توسعه سریع کاربردها، شامل موارد زیر است: - برای پروژههای بزرگ، ولی قابل گسترش(32) ، این روش نیاز به منابع انسانی کافی دارد تا تیمهای RAD را به تعداد ایجاد کند و نیز منابع انسانی باید دارای تعهد کاری باشند.
(رجوع شود به تصویر صفحه) روش توسعه همروند این روش، بیشتر برای تولید برنامههای مشتری/خدمتگزار(66) استفاده میشود.
روش CMM روش تکامل قابلیت (Capability Maturity Model) که بهاختصار CMM نامیده میشود، شیوهای است که برای توسعه و تصحیح فرایند توسعه نرمافزار استفاده میگردد.