مطالعه ای بر تکنیک های هوش مصنوعی و استفاده از آن ها در فرآیند توسعه نرم افزار

مطالعه ای بر تکنیک های هوش مصنوعی و استفاده از آن ها در فرآیند توسعه نرم افزار

رضا محمدی فارسانی1

1) کارشناسی ارشد مهندسی کامپیوتر، گرایش نرم افزار کامپیوتر، دانشگاه پیام نور، واحد اهواز، خوزستان، ایران،

کد IOI مقاله : XEEA-HBHAE
محل انتشار : چهارمین کنگره بین المللی مهندسی، فناوری و نوآوری(eticong.com/4th)
چکیده :
    مهندسی نرم افزار و هوش مصنوعی دو رشته مهم در علوم کامپیوتر هستند. هوش مصنوعی در مورد هوشمندتر کردن ماشین‌ها صحبت می‌کند، در حالی که مهندسی نرم‌افزار در مورد دانش متمرکز بر فعالیت صحبت می‌کند که به دانش گسترده‌ای از برنامه نرم‌افزار هدف نیاز دارد. در علوم کامپیوتر، هوش مصنوعی یا هوش ماشینی، هوشی است که از هر ماشینی (نه انسان) ناشی می شود. کتاب های مرجع در زمینه هوش مصنوعی این علم را دانش مطالعه عوامل هوشمند می دانند که این گونه تعریف می شود: «هر وسیله ای که توانایی درک محیط و فعالیت را با حداکثر شانس موفقیت داشته باشد». به طور کلی، اصطلاح هوش مصنوعی برای توصیف ماشین‌ها یا رایانه‌هایی استفاده می‌شود که فعالیت‌های شناختی مرتبط با ذهن انسان را به خوبی انجام می‌دهند. فعالیت های شناختی مهم شامل «یادگیری» و «حل مسئله» است. اگرچه هوش مصنوعی (AI) تبدیل به واژه‌ای برای خود سازماندهی برنامه‌های IT شده است، ارتباط آن با مهندسی نرم‌افزار به سختی به طور سیستماتیک تجزیه و تحلیل شده است. این مطالعه ترکیبی از یک بررسی سیستماتیک از تحقیقات قبلی در این زمینه و پنج مصاحبه کیفی با توسعه دهندگان نرم افزاری است که از ابزارهای هوش مصنوعی در کارهای روزمره خود استفاده می کنند یا می خواهند از آنها استفاده کنند، تا وضعیت توسعه، پتانسیل های توسعه آینده و به همان اندازه خطرات کاربرد هوش مصنوعی را ارزیابی کند. به مهندسی نرم افزار این مطالعه بینش ها را در چرخه عمر توسعه نرم افزار طبقه بندی می کند. تجزیه و تحلیل نشان می دهد که دستاوردهای عمده و پتانسیل های آینده هوش مصنوعی عبارتند از: الف) اتوماسیون کارهای معمول طولانی در توسعه و آزمایش نرم افزار با استفاده از الگوریتم ها، به عنوان مثال. برای اشکال زدایی و مستندسازی، ب) تجزیه و تحلیل ساختار یافته مخازن داده های بزرگ برای کشف الگوها و خوشه های اطلاعاتی جدید و ج) ارزیابی سیستماتیک این داده ها در شبکه های عصبی. بنابراین هوش مصنوعی به سرعت بخشیدن به فرآیندهای توسعه، کاهش هزینه های توسعه و افزایش بهره وری کمک می کند. هوش مصنوعی تا به امروز به ساختارهای دست‌ساز بستگی دارد و عمدتاً تولید مثل می‌کند، اما اتوماسیون روال‌های مهندسی نرم‌افزار مستلزم یک مزیت بزرگ است: توسعه‌دهندگان انسانی پتانسیل خلاقانه خود را در هنگام استفاده مؤثر از ابزارهای هوش مصنوعی چند برابر می‌کنند.

کلمات کلیدی : مهندسی نرم افزار تکنیک های هوش مصنوعی فرآیند توسعه نرم افزار