موضوع مقاله: نقطه عملکرد | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # نقطه عملکرد | مقدمه: نقطه عملکرد یک «واحد اندازه‌گیری» است که برای بیان میزان عملکرد تجاری‌ای که یک سیستم اطلاعاتی (به‌عنوان یک محصول) به کاربر ارائه می‌دهد، به کار می‌رود. | ## بخش 1: نقطه عملکرد | آلبرشت در شرکت IBM در مقاله‌ای تحت عنوان ندازه‌گیری بهره‌وری توسعه نرم‌افزار کاربردی تعریف شدند. در این روش، نیازمندی‌های عملکردی کاربر نرم‌افزار شناسایی می‌شوند و هر یک در یکی از پنج دسته زیر قرار می‌گیرند: خروجی‌ها، پرس‌وجوها، ورودی‌ها، فایل‌های داخلی و رابط‌های خارجی. پس از شناسایی عملکرد و دسته‌بندی آن، پیچیدگی آن ارزیابی شده و تعداد مشخصی از نقاط عملکردی به آن اختصاص داده می‌شود. هر یک از این نیازمندی‌های عملکردی کاربر به یک عملکرد تجاری کاربر نهایی مانند ورود داده برای ورودی یا یک پرس‌وجوی کاربر برای پرس‌وجو (Inquiry) مربوط می‌شود. این تمایز اهمیت دارد، زیرا باعث می‌شود عملکردهایی که در نقاط عملکردی اندازه‌گیری می‌شوند، به‌راحتی با نیازهای کاربرمحور مطابقت داشته باشند. در حال حاضر، هیچ روش اندازه‌گیری عملکردی (FSM) که توسط ISO تأیید شده باشد و پیچیدگی الگوریتمی را در نتیجه اندازه‌گیری لحاظ کند، وجود ندارد. اخیراً رویکردهای مختلفی برای رفع این ضعف در محصولات نرم‌افزاری تجاری ارائه شده است. انواع روش‌های مبتنی بر مدل آلبرشت که توسط IFPUG طراحی شده‌اند تا این ضعف (و سایر ضعف‌ها) را جبران کنند، شامل موارد زیر می‌شوند: نقاط عملکرد اولیه و آسان – این مدل برای پیچیدگی مسئله و داده‌ها تنظیم می‌شود و از دو سوال استفاده می‌کند که یک اندازه‌گیری پیچیدگی تا حدودی ذهنی را ارائه می‌دهند. | ## بخش 2: نقطه عملکرد | نقاط عملکرد مهندسی – در این مدل، عناصر (نام‌های متغیر) و عملگرها (برای مثال، عملیات‌های حسابی، برابری/نابرابری، بولی) شمارش می‌شوند. معیار بنگ (Bang) – یک معیار عملکرد تعریف می‌کند که بر اساس دوازده شمارش اولیه (ساده) است که بر بنگ تأثیر می‌گذارند یا آن را نشان می‌دهند. بنگ به عنوان "معیار عملکرد واقعی که باید تحویل داده شود، به‌طور موردی توسط کاربر درک می‌شود" تعریف شده است. معیار بنگ می‌تواند در ارزیابی ارزش یک واحد نرم‌افزاری از نظر میزان عملکرد مفید آن استفاده شود، اگرچه شواهد کمی در ادبیات وجود دارد که نشان دهد چنین کاربردی دارد. استفاده از معیار بنگ ممکن است هنگام مهندسی مجدد (چه کامل یا به صورت جزئی) مورد استفاده قرار گیرد. نقاط ویژگی – این مدل تغییراتی را اضافه می‌کند که کاربرد آن را در سیستم‌های با پردازش داخلی قابل توجه (مثل سیستم‌های عامل و سیستم‌های ارتباطی) بهبود می‌بخشد. این امکان را می‌دهد تا عملکردهایی که برای کاربر قابل درک نیستند، اما برای عملکرد صحیح ضروری هستند، حساب شوند. نقاط میکرو عملکرد وزنی – یکی از مدل‌های جدیدتر (2009) که نقاط عملکرد را با استفاده از وزن‌هایی که از پیچیدگی جریان برنامه، واژگان عملوند و عملگر، استفاده از اشیاء و الگوریتم‌ها به دست می‌آید، تنظیم می‌کند. | ## بخش 3: نقطه عملکرد | نقاط عملکرد فازی – این مدل انتقالی فازی و تدریجی بین پیچیدگی‌های پایین × متوسط و متوسط × بالا پیشنهاد می‌دهد. کنتراست استفاده از نقاط عملکرد به جای خطوط کد به منظور رسیدگی به چندین مسئله اضافی است: خطر "تورم" خطوط کد ایجاد شده و در نتیجه کاهش ارزش سیستم اندازه‌گیری، در صورتی که توسعه‌دهندگان به منظور افزایش بهره‌وری تشویق شوند. طرفداران نقاط عملکرد به این موضوع اشاره می‌کنند که اندازه‌گیری باید به اندازه‌ راه‌حل اشاره داشته باشد، نه اندازه‌ مسئله. اندازه‌گیری خطوط کد (LOC) زبان‌های سطح پایین را پاداش می‌دهد، زیرا برای ارائه مقدار مشابهی از عملکرد، به خطوط کد بیشتری نیاز است نسبت به زبان‌های سطح بالا. اندازه‌گیری LOC در مراحل اولیه پروژه مفید نیست، جایی که برآورد تعداد خطوط کدی که ارائه خواهد شد دشوار است. با این حال، نقاط عملکرد می‌توانند از نیازمندی‌ها استخراج شوند و بنابراین در روش‌هایی مانند برآورد از طریق نماینده مفید هستند. نقد آلبرشت در تحقیقات خود مشاهده کرد که نقاط عملکرد همبستگی بالایی با خطوط کد دارند، که این موضوع منجر به پرسش درباره ارزش چنین معیاری شده است، به ویژه اگر یک معیار عینی‌تر، مانند شمارش خطوط کد، در دسترس باشد[1]. علاوه بر این، تلاش‌های متعددی برای رفع کاستی‌های درک‌شده این معیار از طریق تقویت رژیم شمارش انجام شده است[2 3 4 5 6 7]. | ## جمع‌بندی | دیگران نیز راه‌حل‌هایی ارائه داده‌اند تا با توسعه روش‌های جایگزین که نماینده‌ای برای میزان عملکرد ارائه‌شده ایجاد می‌کنند، چالش‌ها را دور بزنند[8].