موضوع مقاله: بازبینی نرم‌افزار | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # بازبینی نرم‌افزار | مقدمه: از جمله محصولات متداولی که تحت بازبینی قرار می‌گیرند می‌توان به مشخصات نیازمندی‌های نرم‌افزار و برنامه‌های آزمون اشاره کرد. | ## بخش 1: بازبینی نرم‌افزار | در فرایند بازبینی، یک محصول کاری برای مرور انتخاب می‌شود و تیمی برای جلسهٔ بازبینی گرد هم می‌آیند تا آن را بررسی کنند. در بازبینی، نقص به هر بخشی از محصول کاری اطلاق می‌شود که مانع از تأیید آن توسط بازبین شود. برای نمونه، اگر تیم در حال بازبینی سند نیازمندی‌های نرم‌افزار باشد، هر نقص به متنی در سند گفته می‌شود که یکی از بازبین‌ها با آن مخالف باشد یا آن را نادرست بداند. فرآیند بازبینی فرایند بازبینی در میانهٔ دههٔ ۱۹۷۰ توسعه یافت و بعدها گسترش و اصلاح شد. برای آغاز فرایند بازبینی، باید معیارهای ورود مشخصی وجود داشته باشد که آمادگی محصول کاری برای بازبینی را تعیین می‌کنند. وجود این معیارها از ورود محصولات ناتمام یا ناقص به فرایند بازبینی جلوگیری می‌کند. معیارهای ورود می‌توانند شامل فهرستی از مواردی مانند «سند از نظر نگارشی بررسی شده‌است» باشند. مراحل فرایند بازبینی عبارت‌اند از: برنامه‌ریزی، جلسهٔ مروری کلی، آماده‌سازی، جلسهٔ بازبینی، بازکاری، پیگیری. مراحل «آماده‌سازی»، «جلسهٔ بازبینی» و «بازکاری» ممکن است چند بار تکرار شوند تا تمام نقص‌ها شناسایی و اصلاح گردند. جلسهٔ مروری کلی: نویسنده زمینه و پیش‌زمینهٔ محصول کاری را برای اعضای تیم توضیح می‌دهد. | ## بخش 2: بازبینی نرم‌افزار | آماده‌سازی: هر بازبین به‌صورت جداگانه محصول کاری را بررسی می‌کند تا نقص‌های احتمالی را شناسایی کند. جلسهٔ بازبینی: در این جلسه، خواننده متن محصول کاری را بخش‌به‌بخش قرائت می‌کند و بازبین‌ها نقص‌ها را در هر بخش اعلام می‌کنند. بازکاری: نویسنده با توجه به برنامه‌های اقدام اصلاحی که در جلسهٔ بازبینی پیشنهاد شده‌اند، تغییرات لازم را در محصول کاری اعمال می‌کند. پیگیری: تغییرات انجام‌شده توسط نویسنده بررسی می‌شوند تا از درستی و کامل بودن اصلاحات اطمینان حاصل گردد. فرایند بازبینی زمانی پایان می‌یابد که ناظر تشخیص دهد معیارهای خروج که از پیش تعیین شده‌اند، برآورده شده‌اند. اصطلاح «بازبینی» به یکی از مهم‌ترین اجزای کل فرایند توسعه و اجرای موفق یک پروژهٔ مهندسی نرم‌افزار اشاره دارد. نقش‌های بازبینی در یک بازبینی، نقش‌های زیر تعریف می‌شوند: نویسنده: فردی که محصول کاری مورد بازبینی را ایجاد کرده است. دبیر یا ثبت‌کننده: کسی که اشکالات مطرح‌شده را در طول جلسه بازبینی ثبت و مستند می‌کند. انواع بازبینی مرتبط بازبینی کد (Code review) بازبینی کد، نوعی خاص از فرایند بازبینی است که در آن، تیمی از برنامه‌نویسان بخشی از کد را بررسی می‌کنند و خطاهای موجود در آن را برطرف می‌سازند. در بازبینی کد، «خطا» به بخشی از کد گفته می‌شود که یا الزامات مورد نظر را به‌درستی پیاده‌سازی نکرده باشد، یا عملکرد آن با هدف برنامه‌نویس تطابق نداشته باشد، یا حتی اگر نادرست هم نباشد، قابلیت بهبود داشته باشد (برای نمونه، خوانایی آن افزایش یابد یا عملکرد بهتری پیدا کند). | ## بخش 3: بازبینی نرم‌افزار | افزون بر شناسایی و رفع اشکالات، بازبینی کد به تیم‌ها کمک می‌کند تا برنامه‌نویسان مختلف با کدهای یکدیگر آشنا شوند (آموزش متقابل)، و نیز برنامه‌نویسان کم‌تجربه با تکنیک‌های جدید برنامه‌نویسی آشنا شوند. بازبینی همتایان بازبینی همتایان یکی از بهترین روش‌های پذیرفته‌شدهٔ صنعت برای شناسایی زودهنگام نقص‌های نرم‌افزاری و آشنایی با مصنوعات نرم‌افزاری به‌شمار می‌رود. این نوع بازبینی شامل گشت‌زنی نرم‌افزار (walkthrough) و بازبینی نرم‌افزار است و بخشی جدانشدنی از فعالیت‌های مهندسی محصول نرم‌افزاری محسوب می‌شود. اجرای بهینهٔ بازبینی همتایان نیازمند مجموعه‌ای هماهنگ از دانش، مهارت‌ها و رفتارهای مشخص است. از جمله عناصر کلیدی در بازبینی همتایان می‌توان به فرایند بازبینی ساخت‌یافته، چک‌لیست‌های استاندارد کیفیت محصول، نقش‌های تعریف‌شده برای شرکت‌کنندگان، و فرم‌ها و گزارش‌های ثبت‌شده اشاره کرد. بازبینی‌های نرم‌افزار دقیق‌ترین و ساخت‌یافته‌ترین شکل بازبینی همتایان به‌شمار می‌روند و از همهٔ عناصر بازبینی برای شناسایی نقص‌ها بهرهٔ کامل می‌برند. گشت‌زنی‌های نرم‌افزار به‌صورت انتخابی از این عناصر استفاده می‌کنند تا به تولیدکننده در درک عمیق‌تر یک مصنوع نرم‌افزاری و رسیدن به اجماع میان شرکت‌کنندگان کمک کنند. نتایج سنجش‌شده نشان می‌دهد که بازبینی‌های همتایان، بازگشت سرمایه‌ای چشمگیر به‌همراه دارند که از طریق یادگیری سریع‌تر و شناسایی زودهنگام نقص‌ها حاصل می‌شود. | ## جمع‌بندی | برای دستیابی به بهترین نتایج، بازبینی‌های همتایان باید از طریق یک برنامهٔ مشخص در سازمان پیاده‌سازی شوند؛ این برنامه شامل تهیهٔ سیاست‌ها و رویه‌ها، آموزش کارکنان و مدیران، تعریف معیارهای سنجش و ایجاد پایگاه داده برای ثبت اطلاعات و همچنین حفظ زیرساخت‌های لازم برای اجرای پایدار بازبینی‌ها است.