باگ چیست؟
- مجموعه: مقالات مهندسي > مهندسي كامپيوتر | کلمات کلیدی : باگ+چیست؟+
باگ چیست؟
یک باگ نرم افزاری، اصطلاحی است برای توصیف یک خطا، عیب، اشتباه، خرابی یا نقص در یک برنامه کامپیوتری که باعث ایجاد نتایج غیر منتظره یا نا درست در برنامه ها می شود. علت بسیاری از باگ ها در نرم افزارها، اشتباهات برنامه نویسان در هنگام نوشتن سورس کد نرم افزارهاست. در یک برنامه بزرگ، اشتباه در فاز طراحی نیز می تواند باعث ایجاد باگ های جبران ناپذیر شود.
باگ هایی که باعث ایجاد نتایج اشتباه در خروجی نرم افزار می شوند، از بدترین نوع باگ ها هستند. نرم افزاری که خروجی اشتباه تولید کند به درد کاربر نمی خورد و کسی از آن استفاده نخواهد کرد. برخی باگ ها بر روی کاکرد برنامه تاثیر می گذارند و ممکن است باعث کرش کردن برنامه شوند. بعضی از باگ ها، اشکالات امنیتی هستند و ممکن است باعث دسترسی افراد غیر مجاز به اطلاعات حساس سیستم شوند. در این میان باگ هایی نیز وجود دارند که تا مدت ها مخفی می مانند و بر روی کارکرد برنامه تاثیرات منفی می گذارند.
وجود داشتن باگ در نرم افزارها کاملاً طبیعی است. از آن جا که هیچ کدام از ساخته های بشر کامل و بی نقص نیستند، نرم افزار نیز از این قاعده خارج نیست. یک باگ می تواند هنگام شناسایی نیازمندی های سیستم نرم افزاری توسط یک تیم نرم افزاری ایجاد شود. اگر نیازمندی های یک سیستم به درستی تشخیص داده نشوند، طراحی نرم افزار اشکال خواهد داشت، و در نتیجه کدنویسی ما نقص خواهد داشت. به جز برنامه نویسان و طراحان سیستم، کاربران سیستم نیز می توانند با ورود داده های اشتباه به سیستم باعث ایجاد باگ در سیستم نرم افزاری شوند. اینجاست که اعتبار سنجی داده های ورودی کاربر اهمیت زیادی پیدا می کند.
برای جلوگیری از ایجاد باگ در سیستم های نرم افزاری در فازهای مختلف ایجاد سیستم از روش های استانداردی استفاده می کنند. با استفاده از روش های استاندارد و معروف مهندسی نرم افزار و جمع آوری درست نیازهای سیستم، تحلیل و طراحی بر اساس آن می توان باگ های احتمالی را به حداقل رساند. در هنگام برنامه نویسی بسیاری از خطاها هنگام کامپایل کردن برنامه رفع می شوند. اکثر باگ های مربوط به برنامه نویسی، خطاهای منطقی هستند که کامپایلرها توانایی تشخیص آن ها را ندارند. امروزه پلت فرم ها و زبان های برنامه نویسی پرکاربرد امکانات خوبی برای شناسایی و هندل کردن خطاهای برنامه نویسی به ما ارائه می کنند. بلاک های کنترل خطا و استثناها، ابزارهای خطایابی، کنترل نوع داده ها و شناسایی خطاهای زمان اجرا در یک زبان برنامه نویسی باعث ایجاد کمترین باگ در یک نرم افزار می شوند.
برای شناسایی باگ ها معمولاً قبل از ارائه نسخه عمومی یک نرم افزار، نسخه های آلفا و بتا را منتشر می کنند. این نسخه های آزمایشی در اکثر اوقات راه خوبی برای پیدا کردن باگ های جدید در یک نرم افزار است. کاربران از نسخه های آزمایشی استفاده می کنند و اشکالات برنامه را گزارش می کنند. معمولاً تیم های نرم افزاری برای این کار از نرم افزار های مدیریت باگ یا Bug Tracking و Issue Tracking استفاده می کنند تا عملیات ثبت باگ های جدید، بحث در مورد آن ها و رفع آن ها را مدیریت کنند. از این نرم افزارها می توان به Bugzilla، BugTracker.NET، JIRA و OTRS اشاره کرد.
دیباگ کردن یک روش مرسوم و پرکاربرد برای یافتن باگ ها و از بین بردن آن هاست. دیباگ به پروسه خطایابی در یک نرم افزار گفته می شود که قسمت عمده ای از زمان تست نرم افزار را به خود اختصاص می دهد. در اکثر مواقع برنامه نویسان بیشتر زمان خود را در حال دیباگ کردن کد خود هستند تا اینکه کد جدید بنویسند! ابزارهای دیباگر در محیط های توسعه با امکان اجرای خط به خط کد، مشاهده مقادیر متغیرها در زمان اجرا و مطالعه رفتار برنامه به برنامه نویسان برای پیدا کردن باگ ها و درست کردن آن ها کمک زیادی می کنند. حتی با وجود ابزارهای دبیاگر خوب، پیدا کردن بعضی باگ ها کار واقعاً سختی است. ممکن است پس از انتشار نسخه عمومی برنامه باگ های جدیدی توسط کاربران پیدا شوند، که در این مواقع برنامه نویسان با انتشار یک Patch سعی می کنند باگ های شناسایی شده را اصلاح کنند.
دانشنامه مهندسی ایران
www.smsm.ir
باگ چیست؟
کلمات کلیدی : باگ,چیست؟,باگ چیست؟ , مقالات مهندسي , مهندسي كامپيوتر , کامپیوتر، مکانیک، برق، عمران، شیمی، پزشکی باگ+چیست؟+
- آخرین مطالب مشاهده شده توسط کاربران :
نویسنده پست : علي
عنوان پست : باگ چیست؟
منبع اصلی مطلب سایت :
- همنشینی یک دنبالهدار و کهکشان
- باگ چیست؟
- انواع ذخایر در منابع معدنی
- منظور از یک کلید قدرت و انواع آن
- روش های استخراج نفت
- درمان خودسرانه توسط والدین ممنوع!
- استفاده از نانوذرات برای درمان بیماری ام اس
- انگور قرمز ضد کلسترول
- بتن يا فولاد؟
- اندروید چیست؟ برنامه نویسی اندروید چگونه است؟
- کاربردها و موارد استفاده از فلز طلا – Uses of Gold Met...
- گالری ایزاک آسیموف؛ فاتح کهکشانها
- دروپال چیست؟
- سیستم سوخت رسانی LPG
- واقعیترین ربات انساننما رونمایی شد
- مغز انسان و آینده صنعت رباتیك
- Subnetting به زبان ساده
- ترکهای سطوح بتنی Cracks in concrete surfaces
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- رباتها ناجی بیماران اختلال اعصاب
- ثبت پتنت جدید اپل
- دو ابزار هوشمند به درد بخور
- سوسك جاسوس، یك ربات زنده!
- اهمیت پرورش گیاهان دارویی در فضای سبز شهری
- مروری بر پیشینه آلودگی هوا، منابع و راههای پیشگیری
- عیوب ناشی از ماسه داغ در خطوط قالبگیری با ماسه تر
- خوردگی فلزات در تجهیزات و ماشین آلات صنعتی و روش های جلوگیری از آن
- آشنایی با شبكههای لرزهنگاری مركز لرزهنگاری كشوری + اطلاعات آنلاین زمین لرزه های ایران
- آشنایی با انواع پلیمرها، كاربرد و خواص آنها
- فارس من| اهمیت شبکه ملی اطلاعات در افزایش کیفیت و قیمت پایین خدمات است
- اختتامیه یازدهمین جشنواره بینالمللی فارابی برگزار شد/ 4 توصیه وزیر علوم به متخصصان علوم انسانی و اسلامی
- تلفن همراه مخصوص نابینایان
- فنجانی که موسیقی پخش می کند
- موسی که با تنفس کار می کند
- معرفی یک باگ جدید در ویندوز 7
- نحوه گرفتن عکس پانوراما
- عینک متاپرو چیست؟
- گوشی های هوشمند جدید
- لپ تاپ لمسی با نمایشگر معلق به بازار وارد شد
- گوشی Elife E7 mini
- آشنایی با گجت های تحسینبرانگیز
- فبلت Fonepad Note 6 ایسوس وارد بازار ایران شد
- علت فروش ضعیف LG G2 چیست ؟
- چگونه امنیت مودم ها را افزایش دهیم ؟
- زندگینامه نیکی کریمی
- تزیین هندوانه شب یلدا
- خواص اناردربهبود بیماری ها
- دسر شکلاتی با کاکائو
- قانون سینوسها
- بیانیه و کمپین جهاني كاپيتان هوشنگ شهبازی
- قانون سینوسها
- Welding Stainless Steels and their Properties
- آشنایی با مدار فلوتاسیون در کارخانه کانه آرایی چادرملو
- فبلت Fonepad Note 6 ایسوس وارد بازار ایران شد
- دعاى روز نهم ماه مبارك رمضان
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- Subnetting به زبان ساده
- موسی که با تنفس کار می کند
- واقعیترین ربات انساننما رونمایی شد
- مغز انسان و آینده صنعت رباتیك
- دعای روز هشتم ماه مبارک رمضان
- چگونه امنیت مودم ها را افزایش دهیم ؟
- آشنایی با گجت های تحسینبرانگیز
- فارس من| اهمیت شبکه ملی اطلاعات در افزایش کیفیت و قیمت پایین...
- ترکهای سطوح بتنی Cracks in concrete surfaces
- مدیریت بازیافت خودرو
- علت فروش ضعیف LG G2 چیست ؟
- حقیقت شب قدر
- تلفن همراه مخصوص نابینایان
برترین های ماه
- تازههایی از دنیای دانش و فناوری
- نامگذاری و شناسایی گریس
- بیانیه و کمپین جهاني كاپيتان هوشنگ شهبازی
- آشنایی با مدار فلوتاسیون در کارخانه کانه آرایی چادرملو
- دعاى روز نهم ماه مبارك رمضان
- نکات مثبت و منفی نوشیدن قهوه
- سیستم های کنترل هوشمند موتورخانه
- Subnetting به زبان ساده
- قانون سینوسها
- مدیریت بازیافت خودرو
- درخواست پیشنهاد یا RFQ چیست؟ Request for Quotation
- فبلت Fonepad Note 6 ایسوس وارد بازار ایران شد
- زندگینامه نیکی کریمی
- چرا خداوند از حق الناس نمی گذرد؟