باگ چیست؟
- مجموعه: مقالات مهندسي > مهندسي كامپيوتر | کلمات کلیدی : باگ+چیست؟+
باگ چیست؟
یک باگ نرم افزاری، اصطلاحی است برای توصیف یک خطا، عیب، اشتباه، خرابی یا نقص در یک برنامه کامپیوتری که باعث ایجاد نتایج غیر منتظره یا نا درست در برنامه ها می شود. علت بسیاری از باگ ها در نرم افزارها، اشتباهات برنامه نویسان در هنگام نوشتن سورس کد نرم افزارهاست. در یک برنامه بزرگ، اشتباه در فاز طراحی نیز می تواند باعث ایجاد باگ های جبران ناپذیر شود.
باگ هایی که باعث ایجاد نتایج اشتباه در خروجی نرم افزار می شوند، از بدترین نوع باگ ها هستند. نرم افزاری که خروجی اشتباه تولید کند به درد کاربر نمی خورد و کسی از آن استفاده نخواهد کرد. برخی باگ ها بر روی کاکرد برنامه تاثیر می گذارند و ممکن است باعث کرش کردن برنامه شوند. بعضی از باگ ها، اشکالات امنیتی هستند و ممکن است باعث دسترسی افراد غیر مجاز به اطلاعات حساس سیستم شوند. در این میان باگ هایی نیز وجود دارند که تا مدت ها مخفی می مانند و بر روی کارکرد برنامه تاثیرات منفی می گذارند.
وجود داشتن باگ در نرم افزارها کاملاً طبیعی است. از آن جا که هیچ کدام از ساخته های بشر کامل و بی نقص نیستند، نرم افزار نیز از این قاعده خارج نیست. یک باگ می تواند هنگام شناسایی نیازمندی های سیستم نرم افزاری توسط یک تیم نرم افزاری ایجاد شود. اگر نیازمندی های یک سیستم به درستی تشخیص داده نشوند، طراحی نرم افزار اشکال خواهد داشت، و در نتیجه کدنویسی ما نقص خواهد داشت. به جز برنامه نویسان و طراحان سیستم، کاربران سیستم نیز می توانند با ورود داده های اشتباه به سیستم باعث ایجاد باگ در سیستم نرم افزاری شوند. اینجاست که اعتبار سنجی داده های ورودی کاربر اهمیت زیادی پیدا می کند.
برای جلوگیری از ایجاد باگ در سیستم های نرم افزاری در فازهای مختلف ایجاد سیستم از روش های استانداردی استفاده می کنند. با استفاده از روش های استاندارد و معروف مهندسی نرم افزار و جمع آوری درست نیازهای سیستم، تحلیل و طراحی بر اساس آن می توان باگ های احتمالی را به حداقل رساند. در هنگام برنامه نویسی بسیاری از خطاها هنگام کامپایل کردن برنامه رفع می شوند. اکثر باگ های مربوط به برنامه نویسی، خطاهای منطقی هستند که کامپایلرها توانایی تشخیص آن ها را ندارند. امروزه پلت فرم ها و زبان های برنامه نویسی پرکاربرد امکانات خوبی برای شناسایی و هندل کردن خطاهای برنامه نویسی به ما ارائه می کنند. بلاک های کنترل خطا و استثناها، ابزارهای خطایابی، کنترل نوع داده ها و شناسایی خطاهای زمان اجرا در یک زبان برنامه نویسی باعث ایجاد کمترین باگ در یک نرم افزار می شوند.
برای شناسایی باگ ها معمولاً قبل از ارائه نسخه عمومی یک نرم افزار، نسخه های آلفا و بتا را منتشر می کنند. این نسخه های آزمایشی در اکثر اوقات راه خوبی برای پیدا کردن باگ های جدید در یک نرم افزار است. کاربران از نسخه های آزمایشی استفاده می کنند و اشکالات برنامه را گزارش می کنند. معمولاً تیم های نرم افزاری برای این کار از نرم افزار های مدیریت باگ یا Bug Tracking و Issue Tracking استفاده می کنند تا عملیات ثبت باگ های جدید، بحث در مورد آن ها و رفع آن ها را مدیریت کنند. از این نرم افزارها می توان به Bugzilla، BugTracker.NET، JIRA و OTRS اشاره کرد.
دیباگ کردن یک روش مرسوم و پرکاربرد برای یافتن باگ ها و از بین بردن آن هاست. دیباگ به پروسه خطایابی در یک نرم افزار گفته می شود که قسمت عمده ای از زمان تست نرم افزار را به خود اختصاص می دهد. در اکثر مواقع برنامه نویسان بیشتر زمان خود را در حال دیباگ کردن کد خود هستند تا اینکه کد جدید بنویسند! ابزارهای دیباگر در محیط های توسعه با امکان اجرای خط به خط کد، مشاهده مقادیر متغیرها در زمان اجرا و مطالعه رفتار برنامه به برنامه نویسان برای پیدا کردن باگ ها و درست کردن آن ها کمک زیادی می کنند. حتی با وجود ابزارهای دبیاگر خوب، پیدا کردن بعضی باگ ها کار واقعاً سختی است. ممکن است پس از انتشار نسخه عمومی برنامه باگ های جدیدی توسط کاربران پیدا شوند، که در این مواقع برنامه نویسان با انتشار یک Patch سعی می کنند باگ های شناسایی شده را اصلاح کنند.
دانشنامه مهندسی ایران
www.smsm.ir
باگ چیست؟
کلمات کلیدی : باگ,چیست؟,باگ چیست؟ , مقالات مهندسي , مهندسي كامپيوتر , کامپیوتر، مکانیک، برق، عمران، شیمی، پزشکی باگ+چیست؟+
- آخرین مطالب مشاهده شده توسط کاربران :
نویسنده پست : علي
عنوان پست : باگ چیست؟
منبع اصلی مطلب سایت :
- باگ چیست؟
- زغال فعال شده (Activated Carbon) چیست؟
- جوشكاری ترمیت (Thermit Welding)
- سیستم پایداری الكترونیكی خودرو Electronic Stability Programm...
- آشنایی با پروتکل SSL و عملکرد آن – Secure Socket Layer
- آموزش بازگرداندن ایمیل ارسال شده در Gmail
- از اين راه قارچ ها به پاي شما نفوذ مي کنند!
- نکات مفید برای بالا بردن پیج رنک و افزایش رتبه در موتورهای ج...
- انگور قرمز ضد کلسترول
- دسر شکلاتی با کاکائو
- دردهای قاعدگی بعد از روز سوم را جدی بگیرید
- Captain Shahbazi’s international campaign and his stat...
- آشنایی با پهپاد پرودیتور
- اجزاء، مکانیزم، سیستم، ماشین
- واقعیترین ربات انساننما رونمایی شد
- مغز انسان و آینده صنعت رباتیك
- Subnetting به زبان ساده
- ترکهای سطوح بتنی Cracks in concrete surfaces
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- رباتها ناجی بیماران اختلال اعصاب
- ثبت پتنت جدید اپل
- دو ابزار هوشمند به درد بخور
- سوسك جاسوس، یك ربات زنده!
- اهمیت پرورش گیاهان دارویی در فضای سبز شهری
- مروری بر پیشینه آلودگی هوا، منابع و راههای پیشگیری
- عیوب ناشی از ماسه داغ در خطوط قالبگیری با ماسه تر
- خوردگی فلزات در تجهیزات و ماشین آلات صنعتی و روش های جلوگیری از آن
- آشنایی با شبكههای لرزهنگاری مركز لرزهنگاری كشوری + اطلاعات آنلاین زمین لرزه های ایران
- آشنایی با انواع پلیمرها، كاربرد و خواص آنها
- فارس من| اهمیت شبکه ملی اطلاعات در افزایش کیفیت و قیمت پایین خدمات است
- اختتامیه یازدهمین جشنواره بینالمللی فارابی برگزار شد/ 4 توصیه وزیر علوم به متخصصان علوم انسانی و اسلامی
- تلفن همراه مخصوص نابینایان
- فنجانی که موسیقی پخش می کند
- موسی که با تنفس کار می کند
- معرفی یک باگ جدید در ویندوز 7
- نحوه گرفتن عکس پانوراما
- عینک متاپرو چیست؟
- گوشی های هوشمند جدید
- لپ تاپ لمسی با نمایشگر معلق به بازار وارد شد
- گوشی Elife E7 mini
- آشنایی با گجت های تحسینبرانگیز
- فبلت Fonepad Note 6 ایسوس وارد بازار ایران شد
- علت فروش ضعیف LG G2 چیست ؟
- چگونه امنیت مودم ها را افزایش دهیم ؟
- زندگینامه نیکی کریمی
- تزیین هندوانه شب یلدا
- خواص اناردربهبود بیماری ها
- دسر شکلاتی با کاکائو
- قانون سینوسها
- تازههایی از دنیای دانش و فناوری
- نامگذاری و شناسایی گریس
- Subnetting به زبان ساده
- مغز انسان و آینده صنعت رباتیك
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- مقياس هاي سنجش قدرت و شدت زلزله
- علت فروش ضعیف LG G2 چیست ؟
- شب قدر در نگاه علامه طباطبایى
- سوسك جاسوس، یك ربات زنده!
- فارس من| اهمیت شبکه ملی اطلاعات در افزایش کیفیت و قیمت پایین...
- موسی که با تنفس کار می کند
- دسر شکلاتی با کاکائو
- ترکهای سطوح بتنی Cracks in concrete surfaces
- قانون سینوسها
- فنجانی که موسیقی پخش می کند
- دعای روز هشتم ماه مبارک رمضان
- دو ابزار هوشمند به درد بخور
- تزیین هندوانه شب یلدا
- تلفن همراه مخصوص نابینایان
- معرفی یک باگ جدید در ویندوز 7
برترین های ماه
- تازههایی از دنیای دانش و فناوری
- نامگذاری و شناسایی گریس
- دعاى روز نهم ماه مبارك رمضان
- نکات مثبت و منفی نوشیدن قهوه
- آشنایی با مدار فلوتاسیون در کارخانه کانه آرایی چادرملو
- سیستم های کنترل هوشمند موتورخانه
- Subnetting به زبان ساده
- مدیریت بازیافت خودرو
- زندگینامه نیکی کریمی
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- بیانیه و کمپین جهاني كاپيتان هوشنگ شهبازی
- مقياس هاي سنجش قدرت و شدت زلزله
- قانون سینوسها
- حقیقت شب قدر