نام پژوهشگر: نرجس شجاعتی
نرجس شجاعتی ناصر نعمت بخش
چکیده مهندسی نرم افزار به عنوان تلاشی برای حل مسئله شناخته می شود. شرایط برای تولیدکنندگان نرم افزار به علت تعامل و روابط متقابل میان تمامی عوامل دخیل در ایجاد نرم افزار، غیر قابل پیش بینی است. تغییرات سریع در فناوری سبب ایجاد مشکلات مضاعفی در زمینه برنامه ریزی و سازماندهی ساختار تولیدی پروژه های مهندسی نرم افزار شده است. با توجه به نیاز به ارائه نرم افزار در یک مدت معین و با یک هزینه معین؛ مدل ها و فرآیندها تلاش می کنند تا حالت تصادفی در مدل فرآیند را کاهش دهند. اما ایجاد تخمین های تفصیلی برای آماده سازی یک نرم افزار کاری غیر عملی است و مدل فرآیندها بر روی کاغذ با حالت واقعی خود در هنگام اجرا تفاوت بسیاری دارند. در این پژوهش از مبحث سیستم های پیچیده به عنوان شیوه ای برای برنامه-ریزی و مقابله با این تغییرات استفاده می شود. پیچیدگی و تئوری آشوب می توانند در شناسایی و تبیین الگوهای موجود در مهندسی نرم افزار مفید باشند. هدف از این پژوهش تعیین دینامیک فرآیند توسعه نرم افزار با استفاده از علوم غیرخطی و تئوری آشوب است. در این پژوهش فرآیند تولید نرم افزار با مشخصات سیستم های پیچیده تطبیق داده شده و نحوه انتقال آن به دامنه آشوب توصیف می شود. در ادامه اجزاء و ویژگی های self organized criticality و تعادل نشانه دار در فرآیند تولید نرم افزار بررسی می شود. سپس با استفاده از تکنیک های آشوب به تجزیه و تحلیل فرآیند تولید نرم افزار پرداخته و ساختار فرکتالی حاصل از مدل فرآیند توصیف می شود. مدل فرآیند فرکتالی روشی مناسب برای مواجه با ساختار پویای مهندسی نرم افزار است. ایجاد یک مدل فرآیند بر اساس تئوری آشوب با کمک ساختار انعطاف پذیر و متغیر فرکتال می تواند بسیاری از حقایق موجود در توسعه نرم افزار را نمایش دهد و منعکس کننده الگوهای پیچیده موجود در طول پروژه نرم افزاری باشد. با شناسایی دینامیک آشوبناک مهندسی نرم افزار، می توان از نظریه آشوب و تکنیک های مربوط به ایجاد سیستم های پیچیده برای درک دقیق تر این روند استفاده کرد و از تاثیر حالت غیر خطی بر هزینه، عملکرد، روابط و ویژگی های پروژه های نرم افزاری جلوگیری کرد. این نگرش سبب ایجاد درک بهتری از مشکلات و عوامل موجود پیشروی علم مهندسی نرم افزار برای تولید یک نرم افزار کارآمد می شود و هراس حاصل از هسته ی پیچیده موجود در حوزه نرم افزار را از بین می برد. استفاده از تئوری آشوب یک روش موثر برای دستیابی به مزایای رقابتی در مهندسی نرم افزار است و مهندسین نرم افزار با استفاده از تئوری های پیچیدگی و آشوب امکان داشتن برتری اطلاعاتی را در پروژه های نرم افزاری، به دست می آورند. در نتیجه با معرفی مدل فرآیند فرکتالی دیگر هیچ دلیلی مبنی بر عدم علاقه به پدیده های آشوبناک در مهندسی نرم افزار وجود ندارد.