سر فصلهای مهم
Toggleاخذ گواهینامه ایزو 25010 استاندارد مهندسی سیستم ها و نرم افزار
پیاده سازی و اخذ گواهینامه ایزو 25010 استاندارد مهندسی سیستم ها و نرم افزار برای شرکتها فعال رد ای حوزه اهمیت زیادی دارد. اخذ گواهینامه ایزو 25010 به معنای انطباق محصول یا فرآیندهای نرمافزاری یک سازمان با مدل کیفیت استاندارد ISO/IEC 25010 است که یکی از زیرمجموعههای سری SQuaRE (الزامات و ارزیابی کیفیت محصول نرمافزار) محسوب میگردد.
استاندارد ایزو 25010 چارچوبی جامع برای سنجش کیفیت نرمافزار ارائه میدهد و هشت ویژگی اصلی کیفیت محصول شامل کارکردی بودن، کارایی عملکرد، سازگاری، قابلیت استفاده، قابلیت اطمینان، امنیت، نگهداشتپذیری و قابلیت حمل را تعریف میکند. هدف اصلی این گواهینامه، ایجاد زبان مشترک میان تولیدکنندگان، خریداران و ارزیابان نرمافزار و افزایش شفافیت در ارزیابی کیفیت محصولات نرمافزاری است.
فرآیند اخذ این گواهینامه معمولاً با تحلیل شکاف (Gap Analysis)، تدوین مستندات و پیادهسازی فرآیندهای کیفیت آغاز میشود، سپس ممیزی داخلی و در نهایت ممیزی خارجی توسط نهاد صدور گواهینامه مورد تأیید مرکز ملی تأیید صلاحیت ایران (NACI) یا IAF و GLOBAL ACI انجام میگیرد.
اخذ گواهینامه ایزو 25010 استاندارد مهندسی سیستم ها و نرم افزار را از طریق سیستم کاران اقدام نمایید. جهت دریافت گواهینامه ISO/IEC 25010 با شماره تلفن 79165-021 تماس حاصل نمایید. همچنین برای کسب اطلاعات بیشتر در مورد اخذ گواهینامه ایزو 25010 با کارشناسان ما از طریق شماره 09198386295 در پیام رسانها چت نمایید.
ایزو 25010 چیست؟
در نهاد سازمان استاندارد جهانی ایزو تعریفی خاص برای استاندارد ایزو 25010 وجوددارد. نام دقیق و کامل لاتین و فارسی این استاندارد به شرح زیر است.
ISO/IEC 25010:2023
Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Product quality model
ایزو آی ای سی 25010 با ویرایش سال 2023
مهندسی سیستمها و نرمافزار – الزامات و ارزیابی کیفیت سیستمها و نرمافزار (SQuaRE) – مدل کیفیت محصول
متن استاندارد ISO / IEC 25010 توسط دو نهاد بین المللی ISO و IEC تهیه و تدوین گزدیده است. ISO (سازمان بینالمللی استانداردسازی) و IEC (کمیسیون بینالمللی الکتروتکنیک) سیستم تخصصی استانداردسازی جهانی را تشکیل میدهند.
نهادهای ملی که عضو ISO یا IEC هستند، از طریق کمیتههای فنی که توسط سازمان مربوطه برای رسیدگی به زمینههای خاص فعالیت فنی ایجاد شدهاند، در تدوین استانداردهای بینالمللی مشارکت میکنند. کمیتههای فنی ISO و IEC در زمینههای مورد علاقه مشترک همکاری میکنند. سایر سازمانهای بینالمللی، دولتی و غیردولتی، در ارتباط با ISO و IEC نیز در این کار مشارکت دارند.
مزایای اخذ گواهینامه ایزو 25010 شامل افزایش اعتماد مشتریان، بهبود کیفیت محصول، تسهیل در صادرات نرمافزار، ایجاد مزیت رقابتی و انطباق با الزامات بینالمللی است. البته باید توجه داشت که این استاندارد بیشتر یک چارچوب ارزیابی کیفیت است تا یک سیستم مدیریتی مانند ISO 9001، بنابراین سازمانها معمولاً آن را در کنار سایر استانداردهای مدیریتی پیادهسازی میکنند.
اخذ گواهینامه ایزو 25010 استاندارد مهندسی سیستم ها و نرم افزار را از طریق سیستم کاران اقدام نمایید. جهت دریافت گواهینامه ISO/IEC 25010 با شماره تلفن 79165-021 تماس حاصل نمایید. همچنین برای کسب اطلاعات بیشتر در مورد اخذ گواهینامه ایزو 25010 با کارشناسان ما از طریق شماره 09198386295 در پیام رسانها چت نمایید.
نحوه اخذ گواهینامه ایزو 25010
خیلی از کاربران بدنبال کسب اطلاعات در مورد شرایط و دریافت گواهی نامه ایزو 25010 هستند. استاندارد ISO 25010 مربوط به کیفیت نرمافزار (Software Quality Model) است و معمولاً سازمانها برای محصولات یا فرآیندهای نرمافزاری خود به دنبال ارزیابی مطابق با این استاندارد هستند.
از آنجایی که “سیستم کاران” یک مجموعه تخصصی در حوزه خدمات فنی و استاندارد است، فرآیند دریافت گواهینامه یا تاییدیه از آنها معمولاً شامل مراحل ارزیابی و بازرسی فنی است.
در ادامه، مراحل کلی برای اخذ این نوع استاندارد از یک مرکز معتبری مانند سیستم کاران را برای شما شرح میدهیم:
۱. مرحله آمادهسازی و خودارزیابی (Self-Assessment)
قبل از درخواست رسمی، باید اطمینان حاصل کنید که محصول یا فرآیند نرمافزاری شما با ویژگیهای اصلی ISO 25010 همخوانی دارد. این ویژگیها عبارتند از:
Functionality (عملکردی): آیا نرمافزار وظایف مورد نظر را درست انجام میدهد؟
Efficiency (کارایی): میزان استفاده از منابع (CPU, RAM) و زمان پاسخگویی.
Usability (قابلیت استفاده): سهولت کار با نرمافزار توسط کاربر.
Reliability (قابلیت اطمینان): پایداری سیستم در شرایط مختلف.
Security (امنیت): میزان حفاظت از دادهها.
Maintainability (قابلیت نگهداری): چقدر راحت میتوان نرمافزار را اصلاح یا بهروز کرد.
Portability (قابلیت انتقال): امکان اجرا در محیطهای مختلف.
۲. برقراری ارتباط و ثبت درخواست (Application)
شما باید با مرکز سیستم کاران تماس بگیرید تا:
نوع دقیق محصول یا سرویس خود را مشخص کنید.
فرم درخواست اخذ گواهینامه یا تاییدیه را تکمیل کنید.
مستندات اولیه فنی را برای آنها ارسال کنید.
۳. مرحله ممیزی اولیه و بررسی مستندات (Document Review)
کارشناسان مرکز سیستم کاران مستندات فنی، طرحهای معماری نرمافزار، مستندات تست و پروتکلهای امنیتی شما را بررسی میکنند تا مشخص شود آیا زیرساختهای لازم برای استانداردسازی وجود دارد یا خیر.
۴. مرحله ممیزی میدانی و تست فنی (Audit & Testing)
این مرحله حیاتیترین بخش است. در این مرحله:
تست عملکردی: کارشناسان مستقیماً روی نرمافزار شما تستهای مشخصی را طبق پروتکل ISO 25010 انجام میدهند.
بازبینی کد یا فرآیند: بررسی میشود که آیا چرخه حیات توسعه نرمافزار (SDLC) با استانداردهای کیفی مطابقت دارد یا خیر.
۵. رفع نواقص (Non-conformity Correction)
اگر در مرحله تست، کاستیهایی (مانند ضعف در امنیت یا کارایی پایین) مشاهده شود، مرکز سیستم کاران گزارشی از نواقص به شما ارائه میدهد. شما باید در یک بازه زمانی مشخص، اصلاحات لازم را انجام داده و مستندات اصلاحی را ارسال کنید.
۶. صدور گواهینامه (Certification Issuance)
پس از تایید نهایی تمام پارامترها توسط کارشناسان سیستم کاران، گواهینامه یا تاییدیه رسمی مطابق با استاندارد ISO 25010 برای شما صادر میشود.
اخذ گواهینامه ایزو 25010 استاندارد مهندسی سیستم ها و نرم افزار را از طریق سیستم کاران اقدام نمایید. جهت دریافت گواهینامه ISO/IEC 25010 با شماره تلفن 79165-021 تماس حاصل نمایید. همچنین برای کسب اطلاعات بیشتر در مورد اخذ گواهینامه ایزو 25010 و گواهینامه ایزو 27001 با کارشناسان ما از طریق شماره 09198386295 در پیام رسانها چت نمایید.
استاندارد ISO/IEC 25010 – بندها و الزامات
بخش اول: این استاندارد اصلاً چیست و چرا وجود دارد؟
۱.۱ مشکل اصلی که این استاندارد حل میکند.
تصور کنید یک شرکت نرمافزاری میخواهد یک نرمافزار بفروشد. مشتری میپرسد: «کیفیت این نرمافزار چطور است؟» فروشنده میگوید: «خیلی خوب است!» مشتری میپرسد: «یعنی چه؟ بر چه اساسی؟» اینجا مشکل پیش میآید. کیفیت یک واژه مبهم است. هر کسی برداشت خودش را دارد.
استاندارد ISO/IEC 25010 دقیقاً برای حل همین مشکل ساخته شده است. این استاندارد میگوید: «کیفیت نرمافزار یعنی این ۸ چیز، و هر کدام از این ۸ چیز یعنی این زیرمجموعهها، و برای هر کدام میتوانی اندازهگیری کنی.» به این ترتیب، وقتی میگویید «کیفیت این نرمافزار خوب است»، دقیقاً مشخص میشود منظورتان کدام ویژگیهاست.
۱.۲ جایگاه این استاندارد در خانواده SQuaRE
استاندارد ISO/IEC 25010 عضوی از خانواده بزرگتری به نام SQuaRE است که مخفف *Software product Quality Requirements and Evaluation* میباشد. این خانواده شامل چندین استاندارد است که هر کدام یک وظیفه دارند:
– نقشه راه و راهنمای کل خانواده SQuaRE مطابق با ISO/IEC 25000
– تعریف مدلهای کیفیت (همین استاندارد مورد بحث) ISO/IEC 25010
– چگونگی اندازهگیری کیفیت ISO/IEC 25020
– چگونه گی نوشتن الزامات کیفیت ISO/IEC 25030
– چگوننگی ارزیابی کیفیت ISO/IEC 25040
– کیفیت داده (نه نرمافزار) ISO/IEC 25012
پس ISO/IEC 25010 قلب این خانواده است، چون تعریف میکند «کیفیت چیست». بقیه استانداردها میگویند «چگونه آن را اندازه بگیریم، بنویسیم و ارزیابی کنیم».
۱.۳ نکته بسیار مهم درباره ماهیت این استاندارد
بسیاری از افراد اشتباه میکنند و فکر میکنند ISO/IEC 25010 یک استاندارد مدیریتی مانند ISO 9001 است که میتوان برای آن گواهینامه گرفت. این تصور غلط است.
ISO/IEC 25010 یک مدل مفهومی است، نه یک استاندارد مدیریتی. یعنی میگوید «کیفیت نرمافزار از این اجزا تشکیل شده است»، اما نمیگوید «شما باید این فرآیندها را داشته باشید تا گواهینامه بگیرید». به همین دلیل، گواهینامه ISO/IEC 25010 به آن معنا که برای ISO 9001 صادر میشود، وجود ندارد. آنچه وجود دارد، ارزیابی انطباق محصول نرمافزاری با این مدل است که توسط نهادهای ارزیابی انجام میشود.
بخش دوم: مدل کیفیت محصول (Product Quality Model) — هسته اصلی استاندارد
این مدل از دیدگاه تولیدکننده و توسعهدهنده نرمافزار به کیفیت نگاه میکند. یعنی میپرسد: «یک محصول نرمافزاری چه ویژگیهای ذاتی باید داشته باشد تا باکیفیت محسوب شود؟» پاسخ این پرسش، ۸ ویژگی اصلی است که در ادامه هر کدام را عمیقاً تشریح میکنم.
ویژگی ۱: کارکردی بودن (Functional Suitability)
این ویژگی به چه سؤالی پاسخ میدهد؟
«آیا نرمافزار دقیقاً همان کاری را انجام میدهد که قرار بود انجام دهد؟»
کارکردی بودن یعنی نرمافزار باید کارکردهای درست را بهدرستی و بهطور کامل ارائه دهد. این ویژگی سه زیرشاخه دارد:
الف) کامل بودن کارکردی (Functional Completeness)
یعنی آیا تمام کارکردهایی که کاربر نیاز دارد، در نرمافزار وجود دارد؟ مثلاً اگر یک نرمافزار حسابداری میخرید، آیا امکان ثبت سند، صدور فاکتور، محاسبه مالیات، تهیه ترازنامه و گزارشگیری را دارد؟ اگر یکی از اینها نباشد، کامل بودن کارکردی نقض شده است.
ب) درستی کارکردی (Functional Correctness)
یعنی آیا نرمافزار نتایج درست تولید میکند؟ مثلاً اگر نرمافزار مالیات را اشتباه محاسبه کند، کارکرد وجود دارد اما درست نیست. درستی کارکردی به دقت و صحت خروجیها مربوط میشود.
ج) مناسب بودن کارکردی (Functional Appropriateness)
یعنی آیا کارکردها به شکلی طراحی شدهاند که انجام وظایف کاربر را تسهیل کنند؟ مثلاً فرض کنید نرمافزاری برای ثبت یک فاکتور ساده، ۲۰ مرحله پیچیده داشته باشد. کارکرد وجود دارد و درست هم کار میکند، اما مناسب نیست چون کار کاربر را سخت کرده است.
چرا این ویژگی مهم است؟
اگر نرمافزار کارکردی نباشد، عملاً بیفایده است. این ویژگی پایه و اساس کیفیت است. نرمافزاری که کارکردی نباشد، حتی اگر زیبا و سریع باشد، ارزشی ندارد.
چگونه اندازهگیری میشود؟
– کامل بودن: نسبت کارکردهای پیادهسازیشده به کارکردهای موردنیاز
– درستی: نرخ خطا در خروجیها (تعداد خطا به ازای هر هزار عملیات)
– مناسب بودن: نظرسنجی از کاربران درباره میزان تسهیل وظایف
ویژگی ۲: کارایی عملکرد (Performance Efficiency)
این ویژگی به چه سؤالی پاسخ میدهد؟
«نرمافزار با چه سرعت و با مصرف چه مقدار منابع، کار خود را انجام میدهد؟»
کارایی عملکرد یعنی نرمافزار باید سریع باشد و منابع کمی مصرف کند. این ویژگی سه زیرشاخه دارد:
الف) رفتار زمانی (Time Behaviour)
یعنی زمان پاسخدهی نرمافزار چقدر است؟ زمان پردازش چقدر است؟ نرخ توان عملیاتی (Throughput) چقدر است؟ مثلاً اگر کاربری روی دکمه «جستجو» کلیک میکند، چند ثانیه طول میکشد تا نتیجه بیاید؟ اگر بیش از حد طول بکشد، رفتار زمانی ضعیف است.
ب) استفاده از منابع (Resource Utilization)
یعنی نرمافزار چقدر از CPU، حافظه RAM، فضای دیسک، پهنای باند شبکه و باتری مصرف میکند؟ مثلاً یک اپلیکیشن موبایل که باتری را در یک ساعت تمام میکند، از نظر استفاده از منابع ضعیف است.
ج) ظرفیت (Capacity)
یعنی نرمافزار حداکثر چقدر میتواند بار را تحمل کند؟ مثلاً یک سرور وب حداکثر چند کاربر همزمان را میتواند پشتیبانی کند؟ حداکثر حجم دادهای که میتواند ذخیره کند چقدر است؟
چرا این ویژگی مهم است؟
کاربران امروزی تحمل کمی برای نرمافزار کند دارند. تحقیقات نشان میدهد اگر صفحهای بیش از ۳ ثانیه طول بکشد، بخش قابل توجهی از کاربران آن را رها میکنند. همچنین مصرف بیرویه منابع، هزینه زیرساخت را بالا میبرد.
چگونه اندازهگیری میشود؟
– زمان پاسخ: میلیثانیه (میانگین، حداکثر، صدک ۹۵)
– مصرف منابع: درصد CPU، مگابایت RAM، مگابیت بر ثانیه شبکه
– ظرفیت: حداکثر کاربر همزمان، حداکثر تراکنش بر ثانیه
ویژگی ۳: سازگاری (Compatibility)
این ویژگی به چه سؤالی پاسخ میدهد؟
«آیا نرمافزار میتواند در کنار سایر نرمافزارها و سیستمها بهخوبی کار کند؟»
سازگاری یعنی نرمافزار باید بتواند با دیگران کنار بیاید. این ویژگی دو زیرشاخه دارد:
الف) همزیستی (Co-existence)
یعنی نرمافزار میتواند در همان محیط با نرمافزارهای دیگر همزمان کار کند بدون اینکه به آنها آسیب بزند یا آنها به او آسیب بزنند. مثلاً دو آنتیویروس که همزمان نصب میشوند و سیستم را قفل میکنند، همزیستی ندارند. یا نرمافزاری که تمام حافظه را میخورد و برنامههای دیگر را متوقف میکند.
ب) قابلیت همکاری (Interoperability)
یعنی نرمافزار میتواند با سیستمهای دیگر اطلاعات مبادله کند و از آن اطلاعات استفاده کند. مثلاً نرمافزار حسابداری شما بتواند اطلاعات را با نرمافزار انبارداری رد و بدل کند. یا یک سیستم بانکی بتواند با سیستم بانک مرکزی ارتباط برقرار کند. این ویژگی به استانداردهای تبادل داده (مانند XML، JSON، پروتکلهای API) مربوط میشود.
چرا این ویژگی مهم است؟
در دنیای امروز، هیچ نرمافزاری جزیرهای کار نمیکند. همه سیستمها به هم متصل هستند. اگر نرمافزاری نتواند با دیگران ارتباط برقرار کند، منزوی میشود و ارزشش را از دست میدهد.
چگونه اندازهگیری میشود؟
– همزیستی: تعداد تداخلهای شناساییشده با نرمافزارهای همزمان
– قابلیت همکاری: تعداد سیستمهایی که میتوانند با نرمافزار تبادل داده کنند
ویژگی ۴: قابلیت استفاده (Usability)
این ویژگی به چه سؤالی پاسخ میدهد؟
«آیا کاربر میتواند بهراحتی با نرمافزار کار کند و از آن راضی باشد؟»
قابلیت استفاده یعنی نرمافزار باید برای انسانها قابل استفاده باشد. این ویژگی شش زیرشاخه دارد:
الف) مناسب بودن برای تشخیص (Appropriateness Recognizability)
یعنی کاربر بهسرعت بفهمد این نرمافزار به چه کاری میآید و آیا نیاز او را برآورده میکند. مثلاً وقتی وارد یک وبسایت میشوید، باید در چند ثانیه اول بفهمید این سایت چیست و چه کاری انجام میدهد.
ب) قابلیت یادگیری (Learnability)
یعنی کاربر چقدر سریع میتواند کار با نرمافزار را یاد بگیرد. مثلاً یک نرمافزار باید در چند دقیقه اول قابل استفاده باشد، نه اینکه کاربر مجبور شود یک کتاب ۵۰۰ صفحهای بخواند. آموزشهای داخلی، راهنماها و طراحی شهودی به این ویژگی کمک میکنند.
ج) قابلیت کارکرد (Operability)
یعنی کار کردن با نرمافزار چقدر راحت است. آیا دکمهها در جای منطقی هستند؟ آیامنوها گویا هستند؟ آیا کاربر میتواند بهراحتی بین صفحات جابهجا شود؟ آیانرمافزار امکان شخصیسازی دارد؟
د) حفاظت از خطای کاربر (User Error Protection)
یعنی نرمافزار کاربر را از اشتباه کردن بازمیدارد یا اگر اشتباه کرد، جلوی فاجعه را میگیرد. مثلاً قبل از حذف یک فایل مهم، تأیید میگیرد. یا اگر کاربر فرمت اشتباهی وارد کرد، پیام خطا میدهد. یا امکان «واگرد» (Undo) فراهم میکند.
ه) زیبایی رابط کاربری (User Interface Aesthetics)
یعنی ظاهر نرمافزار چقدر خوشایند است. رنگها، فونتها، چیدمان، انیمیشنها و تصاویر باید هماهنگ و زیبا باشند. این ویژگی مستقیماً بر رضایت کاربر تأثیر میگذارد.
و) دسترسپذیری (Accessibility)
یعنی نرمافزار برای همه افراد قابل استفاده باشد، از جمله افراد دارای معلولیت. مثلاً نابینایان بتوانند با صفحهخوان از آن استفاده کنند. افراد کمبینا بتوانند فونت را بزرگ کنند. افراد ناشنوا بتوانند از زیرنویس استفاده کنند. این ویژگی به استانداردهای WCAG مربوط میشود.
چرا این ویژگی مهم است؟
نرمافزار برای انسانها ساخته میشود، نه برای کامپیوترها. اگر کاربر نتواند از نرمافزار استفاده کند، تمام ویژگیهای دیگر بیمعنی است. تحقیقات نشان میدهد هر دلاری که برای بهبود قابلیت استفاده خرج شود، بین ۱۰ تا ۱۰۰ دلار بازگشت سرمایه دارد.
چگونه اندازهگیری میشود؟
– قابلیت یادگیری: زمان لازم برای انجام اولین وظیفه
– قابلیت کارکرد: تعداد کلیکهای لازم برای انجام یک وظیفه
– حفاظت از خطا: تعداد خطاهای کاربر که به خرابی منجر شده
– دسترسپذیری: انطباق با استاندارد WCAG 2.1
– رضایت کلی: پرسشنامه SUS (System Usability Scale)
ویژگی ۵: قابلیت اطمینان (Reliability)
این ویژگی به چه سؤالی پاسخ میدهد؟
«آیا میتوان به نرمافزار اعتماد کرد که همیشه کار کند؟»
قابلیت اطمینان یعنی نرمافزار باید در طول زمان و در شرایط مختلف بهطور قابل اعتماد کار کند. این ویژگی چهار زیرشاخه دارد:
الف) بلوغ (Maturity)
یعنی نرمافزار چقدر بدون خرابی کار میکند. هر نرمافزاری ممکن است خطا داشته باشد، اما نرمافزار بالغ کمتر دچار خرابی میشود. بلوغ معمولاً با معیار MTBF (میانگین زمان بین دو خرابی) سنجیده میشود.
ب) دسترسپذیری (Availability)
یعنی نرمافزار در چه درصدی از زمان در دسترس است. مثلاً یک سرویس ابری ممکن است ۹۹.۹٪ (سه نه) یا ۹۹.۹۹٪ (چهار نه) یا ۹۹.۹۹۹٪ (پنج نه) دسترسپذیری داشته باشد. هر ۹ اضافه، هزینه را بهشدت بالا میبرد.
ج) تحمل خطا (Fault Tolerance)
یعنی اگر بخشی از سیستم خراب شود، نرمافزار به کار خود ادامه دهد. مثلاً اگر یک سرور از کار بیفتد، سرور دیگر جایگزین شود. یا اگر یک دیسک سخت خراب شود، داده از دیسک دیگر بازیابی شود. این ویژگی به معماریهای افزونه (Redundant) مربوط میشود.
د) قابلیت بازیابی (Recoverability)
یعنی اگر نرمافزار خراب شد، چقدر سریع میتواند به حالت عادی برگردد و دادهها را بازیابی کند. مثلاً بعد از قطع برق، سرور چقدر سریع بالا بیاید؟ دادههای ناتمام چقدر سریع بازیابی شوند؟ این ویژگی به پشتیبانگیری (Backup) و بازیابی (Recovery) مربوط میشود.
چرا این ویژگی مهم است؟
عدم اطمینان، اعتماد کاربر را از بین میبرد. اگر یک بانک هر ماه یک بار از دسترس خارج شود، مشتریان آن را ترک میکنند. اگر یک نرمافزار پزشکی خراب شود، جان انسانها در خطر است.
چگونه اندازهگیری میشود؟
– بلوغ: MTBF (میانگین زمان بین خرابیها)
– دسترسپذیری: درصد زمان در دسترس بودن (Uptime)
– تحمل خطا: تعداد خرابیهایی که به توقف کل سیستم منجر نشده
– بازیابی: MTTR (میانگین زمان بازیابی)
ویژگی ۶: امنیت (Security)
این ویژگی به چه سؤالی پاسخ میدهد؟
«آیا اطلاعات و سیستم در برابر تهدیدات محافظت میشوند؟»

امنیت یعنی نرمافزار باید از اطلاعات و دسترسیها محافظت کند. این ویژگی پنج زیرشاخه دارد:
الف) محرمانگی (Confidentiality)
یعنی فقط افراد مجاز بتوانند به اطلاعات دسترسی داشته باشند. مثلاً رمزنگاری دادهها، کنترل دسترسی مبتنی بر نقش (RBAC)، احراز هویت دو مرحلهای. اگر یک کارمند عادی بتواند حقوق مدیرعامل را ببیند، محرمانگی نقض شده است.
ب) یکپارچگی (Integrity)
یعنی اطلاعات دستکاری نشوند. یعنی دادهها همانطور که ذخیره شدهاند، باقی بمانند و کسی نتواند بدون مجوز آنها را تغییر دهد. مثلاً امضای دیجیتال، هش کردن دادهها، جلوگیری از تغییر غیرمجاز.
ج) عدم انکار (Non-repudiation)
یعنی کسی نتواند انکار کند که کاری را انجام داده است. مثلاً اگر مدیرعامل یک تراکنش بانکی را تأیید کرد، بعداً نتواند بگوید «من این کار را نکردم». این ویژگی با ثبت لاگهای قابل اعتماد و امضای دیجیتال محقق میشود.
د) پاسخگویی (Accountability)
یعنی هر اقدام قابل نسبتدادن به یک موجودیت مشخص باشد. یعنی مشخص باشد چه کسی، چه زمانی، چه کاری انجام داده است. این ویژگی با سیستمهای لاگگیری و Audit Trail محقق میشود.
ه) اصالت (Authenticity)
یعنی هویت یک کاربر یا سیستم قابل اثبات باشد. یعنی وقتی کسی ادعا میکند «من مدیرعامل هستم»، بتوان این ادعا را تأیید کرد. این ویژگی با رمز عبور، اثر انگشت، توکن، گواهی دیجیتال و… محقق میشود.
چرا این ویژگی مهم است؟
امنیت امروز یکی از بحرانیترین ویژگیهای نرمافزار است. یک نقص امنیتی میتواند به سرقت دادههای میلیونها کاربر، جریمههای سنگین، از دست رفتن اعتبار و حتی تعطیلی شرکت منجر شود. قوانین مانند GDPR در اروپا و قانون حفاظت از دادهها در ایران، رعایت امنیت را الزامی کردهاند.
چگونه اندازهگیری میشود؟
– محرمانگی: تعداد آسیبپذیریهای شناساییشده در تست نفوذ
– یکپارچگی: تعداد رخدادهای دستکاری غیرمجاز
– عدم انکار: وجود سیستمهای امضای دیجیتال و لاگ
– پاسخگویی: کامل بودن Audit Trail
– اصالت: قدرت مکانیزمهای احراز هویت
ویژگی ۷: نگهداشتپذیری (Maintainability)
این ویژگی به چه سؤالی پاسخ میدهد؟
«آیا میتوان نرمافزار را در آینده تعمیر، تغییر و بهبود داد؟»
نگهداشتپذیری یعنی نرمافزار باید طوری ساخته شود که تغییر دادن آن آسان باشد. این ویژگی پنج زیرشاخه دارد:
الف) ماژولار بودن (Modularity)
یعنی نرمافزار از اجزای جداگانه تشکیل شده باشد که تغییر در یکی، تأثیر کمی بر دیگران بگذارد. مثلاً اگر بخواهید بخش پرداخت را تغییر دهید، نباید مجبور شوید کل سیستم را بازنویسی کنید. معماریهای میکروسرویس و ماژولار به این ویژگی کمک میکنند.
ب) قابلیت استفاده مجدد (Reusability)
یعنی اجزای نرمافزار بتوانند در پروژههای دیگر هم استفاده شوند. مثلاً یک ماژول احراز هویت که در چند پروژه مختلف به کار میرود. این ویژگی هزینه توسعه را کاهش میدهد.
ج) قابلیت تحلیل (Analysability)
یعنی بتوان علت خرابی یا تأثیر تغییر را بهراحتی تشخیص داد. یعنی وقتی باگی رخ میدهد، برنامهنویس بتواند سریع بفهمد کجای کد مشکل دارد. لاگهای مناسب، کد خوانا و مستندسازی به این ویژگی کمک میکنند.
د) قابلیت تغییر (Modifiability)
یعنی بتوان نرمافزار را تغییر داد بدون اینکه خرابی جدید ایجاد شود یا کیفیت پایین بیاید. این ویژگی مستقیماً به کیفیت کد، معماری و تستها بستگی دارد.
ه) قابلیت آزمون (Testability)
یعنی بتوان آزمون نوشت و اجرا کرد تا از درستی نرمافزار مطمئن شد. نرمافزاری که تستپذیر نباشد، تغییر دادنش خطرناک است چون نمیدانید چه چیزی خراب میشود.
چرا این ویژگی مهم است؟
هزینه نگهداری نرمافزار معمولاً ۶۰ تا ۸۰ درصد کل هزینه چرخه عمر آن است. نرمافزاری که نگهداشتپذیر نباشد، بهسرعت به یک «هیولای کد» (Legacy Code) تبدیل میشود که هیچکس جرئت نمیکند به آن دست بزند. بسیاری از شرکتها مجبور شدهاند سیستمهای خود را از صفر بازنویسی کنند چون نگهداشتپذیری نداشتند.
چگونه اندازهگیری میشود؟
– ماژولار بودن: تعداد وابستگیهای بین ماژولها
– قابلیتت تحلیل: زمان لازم برای یافتن علت یک باگ
– قاببلیت تغییر: زمان و هزینه اعمال یک تغییر مشخص
– قابلییت آزمون: درصد پوشش تست (Test Coverage)
– شاخصهای کد: پیچیدگی سایکلوماتیک، تعداد خطوط کد، بدهی فنی
ویژگی ۸: قابلیت حمل (Portability)
این ویژگی به چه سؤالی پاسخ میدهد؟
«آیا میتوان نرمافزار را به محیطهای دیگر منتقل کرد؟»
قابلیت حمل یعنی نرمافزار باید بتواند از یک محیط به محیط دیگر منتقل شود. این ویژگی سه زیرشاخه دارد:
الف) قابلیت انطباق (Adaptability)
یعنی نرمافزار بتواند با محیطهای مختلف سازگار شود. مثلاً همان نرمافزار روی ویندوز، لینوکس و مک کار کند. یا روی موبایل و تبلت و دسکتاپ. یا با صفحهنمایشهای مختلف اندازهها.
ب) قابلیت نصب (Installability)
یعنی نرمافزار بتواند بهراحتی نصب (و حذف) شود. مثلاً نصب یک اپلیکیشن موبایل با یک کلیک در مقابل نصب یک نرمافزار سازمانی که چند روز طول میکشد و نیاز به تنظیمات پیچیده دارد.
ج) قابلیت جایگزینی (Replaceability)
یعنی نرمافزار بتواند جایگزین نرمافزار دیگری شود که همان هدف را در همان محیط دنبال میکند. مثلاً بتوانید از یک سیستم مدیریت پایگاه داده به دیگری مهاجرت کنید بدون از دست دادن دادهها.
چرا این ویژگی مهم است؟
در دنیای امروز، نرمافزارها باید در محیطهای متنوع کار کنند. کاربران از دستگاههای مختلف استفاده میکنند. شرکتها زیرساختهای خود را تغییر میدهند. نرمافزاری که قابلیت حمل نداشته باشد، به یک محیط خاص گره میخورد و انعطاف را از دست میدهد.
چگونه اندازهگیری میشود؟
– قابلیت انطباق: تعداد پلتفرمهای پشتیبانیشده
– قابلییت نصب: زمان و مراحل لازم برای نصب
– قاببلیت جایگزینی: سهولت مهاجرت دادهها و تنظیمات
اخذ گواهینامه ایزو 25010 استاندارد مهندسی سیستم ها و نرم افزار را از طریق سیستم کاران اقدام نمایید. جهت دریافت گواهینامه ISO/IEC 25010 با شماره تلفن 79165-021 تماس حاصل نمایید. همچنین برای کسب اطلاعات بیشتر در مورد اخذ گواهینامه ایزو 25010 با کارشناسان ما از طریق شماره 09198386295 در پیام رسانها چت نمایید. پیاده سازی ایزو 27001 می تواند زمینه ساز سایر استانداردهای مرتبط گردد.
بخش سوم: مدل کیفیت در حال استفاده (Quality in Use Model)
این مدل از دیدگاه کاربر نهایی به کیفیت نگاه میکند. یعنی میپرسد: «وقتی کاربر واقعی در محیط واقعی از نرمافزار استفاده میکند، چه تجربهای دارد؟» این مدل ۵ ویژگی دارد.
ویژگی ۱: اثربخشی (Effectiveness)
اثربخشی یعنی آیا کاربر توانست هدف خود را با دقت و کامل بودن محقق کند؟ مثلاً اگر کاربر میخواهد یک فایل PDF را به Word تبدیل کند، آیا نرمافزار این کار را درست و کامل انجام داد؟ اگر تبدیل ناقص بود یا فایل خروجی خراب بود، اثربخشی پایین است.
نکته مهم: اثربخشی به نتیجه توجه دارد، نه به سرعت یا راحتی. یعنی «آیا کار انجام شد؟»
اندازهگیری
– نرخ موفقیت در انجام وظیفه (Task Success Rate)
– درصد دقت در انجام وظیفه
– درصد کامل بودن نتیجه
ویژگی ۲: کارایی (Efficiency)
کارایی یعنی آیا کاربر توانست هدف خود را با صرف منابع متناسب محقق کند؟ منابع شامل زمان، تلاش، هزینه و منابع مادی است. مثلاً اگر کاربر برای ثبت یک فاکتور ساده، ۱۰ دقیقه وقت بگذارد، کارایی پایین است.
تفاوت با اثربخشی: اثربخشی میگوید «آیا کار انجام شد؟» کارایی میگوید «با چه هزینهای؟»
اندازهگیری
– زمان لازم برای انجام وظیفه (Task Time)
– تعداد کلیکها یا مراحل
– تلاش ذهنی (با پرسشنامه NASA-TLX)
ویژگی ۳: رضایت (Satisfaction)
رضایت یعنی آیا کاربر از تجربه استفاده از نرمافزار خشنود است؟ این ویژگی چهار زیرشاخه دارد:
الف) سودمندی (Usefulness)
یعنی کاربر احساس میکند نرمافزار نیازهای عملی او را برآورده میکند. یعنی «به کارم میآید».
ب) اعتماد (Trust)
یعنی کاربر به رفتار مورد انتظار سیستم اعتماد دارد. یعنی مطمئن است نرمافزار همان کاری را میکند که باید بکند و اطلاعاتش را به خطر نمیاندازد.
ج) لذت (Pleasure)
یعنی کاربر از استفاده از نرمافزار لذت میبرد. یعنی تجربه خوشایند است، نه فقط بیطرف.
د) راحتی (Comfort)
یعنی کاربر از راحتی فیزیکی خود راضی است. مثلاً چشمش خسته نمیشود، دستش درد نمیگیرد، وضعیت بدنش راحت است.
اندازهگیری
– پرسشنامههای رضایت (مانند SUS، QUIS)
– نرخ بازگشت کاربر (Retention Rate)
– نظرات و بازخورد کاربران
ویژگی ۴: آزادی از ریسک (Freedom from Risk)
آزادی از ریسک یعنی نرمافزار خطرات بالقوه را برای کاربر و محیط کاهش دهد. این ویژگی سه زیرشاخه دارد:
الف) کاهش ریسک اقتصادی (Economic Risk Mitigation)
یعنی نرمافزار کاربر را از ضرر مالی محافظت کند. مثلاً یک نرمافزار معاملاتی که جلوی معامله اشتباه را میگیرد. یا یک نرمافزار حسابداری که جلوی ثبت سند نادرست را میگیرد.
ب) کاهش ریسک سلامت و ایمنی (Health and Safety Risk Mitigation)
یعنی نرمافزار جان و سلامت انسان را به خطر نیندازد. مثلاً نرمافزار تجهیزات پزشکی نباید بیمار را آسیب بزند. نرمافزار خودران نباید تصادف کند. نرمافزار صنعتی نباید باعث حادثه شود.
ج) کاهش ریسک محیطی (Environmental Risk Mitigation)
یعنی نرمافزار به محیط زیست آسیب نزند. مثلاً مصرف انرژی را بهینه کند. یا در سیستمهای کنترل آلودگی، دقیق عمل کند.
اندازهگیری
– تعداد حوادث رخداده
– خسارت مالی ناشی از خطاهای نرمافزار
– انطباق با استانداردهای ایمنی (مانند IEC 61508)
ویژگی ۵: پوشش زمینه (Context Coverage)
پوشش زمینه یعنی نرمافزار در چه طیفی از زمینهها قابل استفاده است. این ویژگی دو زیرشاخه دارد:
الف) کامل بودن زمینه (Context Completeness)
یعنی نرمافزار در تمام زمینههایی که در الزامات مشخص شده قابل استفاده است. مثلاً اگر قرار بود نرمافزار در محیطهای با اینترنت ضعیف کار کند، آیا واقعاً کار میکند؟
ب) انعطافپذیری (Flexibility)
یعنی نرمافزار در زمینههای جدیدی که در ابتدا پیشبینی نشده بود هم قابل استفاده است. مثلاً نرمافزاری که برای دسکتاپ طراحی شده، روی تبلت هم بهخوبی کار کند.
اندازهگیری
– تعداد زمینههای استفاده پشتیبانیشده
– نرخ موفقیت در زمینههای جدید
– انعطافپذیری در برابر تغییرات محیطی
بخش چهارم: روابط بین دو مدل
استاندارد ISO/IEC 25010 تأکید میکند که این دو مدل جدا از هم نیستند، بلکه مرتبط هستند.
رابطه علت و معلولی
کیفیت محصول پیشنیاز کیفیت در حال استفاده است. یعنی اگر محصول از نظر فنی باکیفیت باشد (کارکردی، امن، سریع، قابل اطمینان)، احتمال اینکه کاربر تجربه خوبی داشته باشد بیشتر است. اما این رابطه یکبهیک نیست.
چرا رابطه یکبهیک نیست؟
ممکن است محصولی از نظر فنی بینقص باشد، اما کاربر از آن راضی نباشد. مثلاً نرمافزاری که تمام ویژگیهای فنی را دارد اما رابط کاربریاش پیچیده است. یا برعکس، محصولی که از نظر فنی ضعیف است اما کاربران به دلیل سادگی آن را دوست دارند.
نقش زمینه استفاده
کیفیت در حال استفاده به زمینه بستگی دارد. یعنی همان نرمافزار ممکن است برای یک کاربر عالی و برای کاربر دیگر بد باشد. زمینه شامل:
– نوع کاربر (مبتدی، حرفهای)
– نوع وظیفه (ساده، پیچیده)
– محیط فیزیکی (اداری، صنعتی، خانگی)
موضوعات و الزامات استاندارد در زمینه ایزو 25010 خیلی گستره تر از مباحث فوق است. بنابراین علاقمندان می توانند برای تکمیل تحقیقات خود به سایت رسمی استاندراد جهانی ایزو مراجعه نمایند.
اخذ گواهینامه ایزو 25010 استاندارد مهندسی سیستم ها و نرم افزار را از طریق سیستم کاران اقدام نمایید. جهت دریافت گواهینامه ISO/IEC 25010 با شماره تلفن 79165-021 تماس حاصل نمایید. همچنین برای کسب اطلاعات بیشتر در مورد اخذ گواهینامه ایزو 25010 با کارشناسان ما از طریق شماره 09198386295 در پیام رسانها چت نمایید.

