اینفوتکنولوژی | بلاگ | مقالات

نقش هوش مصنوعی (AI) در مهندسی نرم افزار

01 آذر 1399
احمد شرفی
نویسنده: احمد شرفی
کارشناس تولید محتوا
۴ دقیقه

همانطور که در مقالات پیشین عنوان کردیم، برخی از مردم نگرانند که هوش مصنوعی باعث احساس حقارت در افراد شود. آلن کی، معتقد است که این فناوری باعث پیشرفت ما خواهد شد و باور دارد که به جای هوش مصنوعی، بایستی هوش خود را تقویت کنیم-. جینی رومتی هوش مصنوعی را مرکز قرن ۲۱ می‌نامد. شرکت مبنا به عنوان یک تولید کننده و توسعه دهنده نرم افزارهای پخش مویرگی به دنبال بررسی تاثیرات هوش مصنوعی بر این صنعت می‌باشد.

 هوش مصنوعی (AI) و ماشین های هوشمند

نقشAI  در ماشین های هوشمند بیشتر به داستان های علمی محدود شده است، اما هوش محاسباتی، به طور منظم نمونه هایی از رفتارهای هوشمند را ارائه می دهد که در آن، ماشین از بهترین انسان ها هم، بهتر عمل می کند. هوش مصنوعی در مورد هوشمند سازی ماشین آلات است، در حالی که مهندسی نرم افزار (SE) فعالیتی است برای تعریف ، طراحی و استقرار پیچیده ترین سیستم های چالش برانگیز. برای درک بهتر این موضوع، برج ایفل را مثال می زنیم که یک مهندسی عجیب و غریب حاوی حدود ۲٫۵ میلیون پرچ است.

وقتی یکی از ۲٫۵ میلیون پرچ برج ایفل از کار بیفتد ، برج خود خراب نمی شود، اما برای نرم افزاری با میلیون ها خط کد ، خرابی هر یک از آنها می تواند منجر به خرابی کامل سیستم شود.  بر اساس مشاهدات فوق می توان گفت؛ که الگوریتم های هوش مصنوعی به خوبی برای مشکلات پیچیده مهندسی نرم افزار مناسب هستند. در نتیجه ، جامعه مهندسی نرم افزار، الگوریتم ها و تکنیک های هوش مصنوعی بسیاری را در پیش گرفته است.

تکنیک های بهره وری از هوش مصنوعی (AI) در نرم افزار

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

طبقه بندی ، یادگیری و پیش بینی

 نمونه‌های موجود نشان داد که پتانسیل قابل توجهی، برای مهندسان نرم افزار، برای بهره مندی از هوش مصنوعی وجود دارد.

 “AI & SE “ مهندسی نرم افزار احتمالی، طبقه بندی ، یادگیری و پیش بینی برای مهندسی نرم افزار و “مهندسی نرم افزار مبتنی بر جستجو” سه زمینه ای هستند که در آنها تکنیک های هوش مصنوعی مفید شناخته شده است.

 SE برای حل مسائل فازی و احتمالی و تکنیک های AI، برای رسیدگی به مشکلات دنیای واقعی که مبهم و احتمالی هستند ، ساخته شده است.

همچنین در SE، ما همیشه در تلاش هستیم؛ تا با یادگیری و تجربه، رویکرد خود را بهینه کنیم. از هوش مصنوعی، به عنوان استدلال احتمالی، برای پیش بینی‌های احتمالی نرم افزار استفاده شده است و نمونه ای از چگونگی استفاده از تکنیک های AI برای بهینه سازی فرآیندهای SE یا محصولات آن است .

در مثالی دیگر، الگوریتم ژنتیک، می‌تواند نمونه خوبی باشد که به ما کمک می کند، تا همپوشانی بین یادگیری ماشین و مهندسی نرم افزار جستجوگر (SBSE) را بهتر درک کنیم.

در (SBSE)، از الگوریتم های ژنتیک، برای حل مشکلاتی مانند رفع خودکار اشکال، انتقال بین سیستم عامل ها، پارادایم های زبان و برنامه نویسی و تجارت خصوصیات عملکردی_ غیر عملکردی، استفاده می شود. الگوریتم ژنتیک در اینجا به عنوان الگوریتمی برای یادگیری مدل های رفتار نرم افزاری عمل می کند که به نظر می رسد ترکیبی از روش بهینه سازی و رویکرد یادگیری ماشین باشد. بنابراین، می توان دریافت که بین یادگیری ماشین برای SE و SBSE ارتباط بسیار نزدیک وجود دارد. اولین قدم برای کاربرد موفقیت آمیز هر تکنیک هوش مصنوعی در هر حوزه مهندسی نرم افزار ، یافتن فرمول بندی مناسب از مسئله مهندسی نرم افزار است، تا تکنیک های هوش مصنوعی قابل استفاده شوند.

هنگامی که این فرمول به پایان رسید، به طور معمول دریچه فرصت فناوری را باز می کند؛ که از طریق آن بسیاری از تکنیک‌های هوش مصنوعی، همانطور که بارها در کارهای قبلی نشان داده شده است؛ سبب شود، تا با سودآوری عبور کنند.

در واقع روش‌های زیادی وجود دارد که به ما کمک می کند تا بینش صحیحی در مورد ماهیت هوش مصنوعی بدست آوریم. SBSE برای آشکار کردن معاملات بین ذینفعان و اجرای آنها استفاده شده است. اما روش های زیادی وجود دارد که می توان از طریق آنها از تکنیک های AI برای دستیابی به این بینش ها استفاده کرد.

لازم به ذکر است که در توسعه و استقرار نرم افزار، فرآیندهای موجود مهندسی نرم افزار، نمی توانند به سادگی از تکنیک های هوش مصنوعی استفاده کنند، بلکه باید فرایندها و محصولات را متناسب با دنیای مهندسی نرم افزار غنی از کاربرد تکنیک های AI سازگار کرد.

 از آنجا که استفاده از ابزارهای خودکار هوشمند مبتنی بر هوش مصنوعی گسترش می یابد، ما باید در مورد روش‌هایی که می توانند در فرآیند توسعه نرم افزار استفاده شوند، تجدید نظر کنیم.

 به عنوان مثال ، اگر می خواهیم از بهینه سازی پویا استفاده کنیم، پس باید راهی پیدا کنیم که کاربران بتوانند ناراحتی یا نارضایتی خود را ابراز کنند.

افزایش علاقه به مهندسی نرم افزار مبتنی بر جستجو، اشتهای جامعه مهندسی نرم افزار به تکنیک های هوش مصنوعی را نشان می دهد.

امروزه تمرکز شرکت مبنا بر استقرار و نگهداری گسترده تر از سیستم های متصل، هوشمند، پیچیده و تعاملی، برخلاف سیستم های قدیمی که عایق بندی شده و دارای ساختاری کاملاً مشخص هستند، استوار است، که سبب شده تا استراتژی شرکت به تغییر تکنیک های توسعه و استقرار سوق پیدا کند. ما معتقدیم، که تکنیک های هوش مصنوعی، به خوبی برای این سیستم های متصل، پیچیده و تعاملی مناسب هستند ، از این رو راهی برای نسل جدیدی از نرم افزارهای هوشمند به وجود می‌آورند.

برچسب‌ها:

چه راه حلی برای

پخش محصولات خود دارید؟

نـرم‌افـــزار پــــخش مــــویرگی و فــروش مـــبنا راهکـــاری بــرای فــروش بـــیشتر صنعت پخش

نام
ایمیل

نظرات کاربران