صحه گذاری نرم افزار – تصدیق نرم افزار: در مدیریت پروژه نرمافزاری، تست نرم افزار و مهندسی نرم افزار، تصدیق (verification) و صحه گذاری (validation) که به آن در اصطلاح V&V گفته می شود؛ فرآیندی است برای بررسی اینکه یک سیستم نرمافزاری، مشخصات و الزامات را تا چه حد برآورده میکند و یا هدف مورد نظر را برآورده میکند. همچنین ممکن است به عنوان “کنترل کیفیت نرم افزار” نیز شناخته شود. این موضوع معمولاً به عنوان بخشی از چرخه عمر توسعه نرم افزار می باشد و مسئولیت آن بر عهده آزمایش کنندگان نرم افزار است. به بیان ساده، ما به دو سوال زیر پاسخ میدهیم:
۱- با فرض اینکه نرم افزار X را بسازیم، آیا نرم افزار ما بدون هیچ باگ یا شکافی به اهداف خود می رسد یا نه؟
ما در این سوال نیاز است تا نرم افزار را تصدیق نماییم.
۲- آیا نرم افزار X همان چیزی بود که باید می ساختیم؟ آیا نرم افزار X الزامات سطح بالا را برآورده می کند؟
در پاسخ به این سوال نیز ما نرم افزار را صحه گذاری میکنیم.
• تصدیق (verification) و صحه گذاری (validation) یک چیز نیستند، اگرچه اغلب این دو تعریف اشتباه می شوند:
• تصدیق : آیا ما محصول را به شکل درستی می سازیم؟(تصدیق محصول)
• صحه گذاری : آیا ما محصول مناسبی می سازیم؟(صحه گذاری و معتبر سازی محصول)
در زبان انگلیسی و برای گویا تر شدن مطلب، ما این دو سوال را باید از خودمان بپرسیم:
• Verification: Are we building the product right?
• Validation: Are we building the right product?
در ساخت درست محصول(تصدیق) بررسی میشود که مشخصات به درستی توسط سیستم کاری پیاده سازی شده است یا خیر؟ در حالیکه ساخت محصول مناسب(صحه گذاری) به نیازهای کاربر اشاره دارد. در برخی زمینهها، لازم است الزامات مکتوب برای آنها و همچنین رویه ها یا پروتکلهای رسمی برای تعیین انطباق وجود داشته باشد. در حالت ایدهآل، روشهای رسمی تضمینی ریاضی را ارائه میدهند که نرمافزار با مشخصات آن مطابقت دارد.
درست ساختن محصول(تصدیق)، مستلزم استفاده از مشخصات الزامات به عنوان ورودی برای مرحله بعدی فرآیند توسعه نرم افزار است. این امر به ما کمک میکند تا فرآیند طراحی کهخروجی آن مشخصات طراحی است، به درستی صورت پذیرد. همچنین مستلزم استفاده از مشخصات طراحی برای ورودی فرآیند ساخت است. هر بار که خروجی یک فرآیند به درستی مشخصات ورودی خود را پیاده سازی میکند، محصول نرمافزاری یک گام به تایید نهایی نزدیکتر می شود. اگر خروجی یک فرآیند نادرست باشد، طراحان تجهیزات پزشکی، بایستی مجدد فرآیند را بررسی کنند و تصدیق نمایند. به این نوع تصدیق «تصدیق مشخصات(specification verification)» گفته می شود.
صحه گذاری و معتبر سازی نرم افزار چیست؟
صحه گذاری (معتبر سازی) نرمافزار بررسی میکند که نرمافزار مطابق با کاربرد مورد نظر میباشد یا خیر؟ این میزان انطباق اصطلاحا به شکل “بررسی سطح بالا” انجام می شود(high-level checking)
در کنار این موضوع بایستی سوال دیگری را نیز به شکل واضح پاسخ دهیم:
– آیا نرمافزار الزامات کاربر را برآورده میکند و به مشخصات یا نیازهای کسانی که فقط نرمافزار را اجرا میکنند، می پردازد؟ آیا نیاز همه ذینفعان (مانند کاربران، اپراتورها، مدیران، مدیران ارشد، سرمایه گذاران و غیره) برآورده می شود؟
ما در شرکت توسعه کیفیت، نرم افزار بسیاری از تجهیزات پزشکی و آزمایشگاهی را صحه گذاری و معتبر سازی نموده ایم. بسیاری از طراحان تجهیزات پزشکی و برنامه نویسان به شکل مناسبی نرم افزار را کد نویسی کرده اند اما نیاز های تلویحی ذینفعان را آنالیز نکرده اند. برای داشتن این آنالیز، نیاز است این دو مفهوم (تصدیق و صحه گذاری نرم افزار) را عمیق تر بررسی کنیم و به تفاوت های آن بیشتر بپردازیم.
تفاوت تصدیق با صحه گذاری نرم افزار
در بیشتر مقالات مرتبط با این موضوع، تعاریف تصدیق نرم افزار و صحه گذاری (معتبر سازی) نرم افزار به شرح زیر است:
• صحه گذاری (معتبر سازی) نرمافزار: فرآیند ارزیابی نرمافزار در حین یا در پایان فرآیند توسعه برای تعیین اینکه آیا نیازهای مشخص شده را برآورده می کند یا خیر.
• تصدیق نرمافزار: فرآیند ارزیابی نرمافزار برای تعیین اینکه آیا محصولات یک مرحله، توسعه معین شرایط تعیین شده در شروع آن مرحله را برآورده می کنند یا خیر.
صحه گذاری در طول فرآیند توسعه نرمافزار را میتوان به عنوان شکلی از صحه گذاری نیازمندیهای کاربر مشاهده کرد که در پایان فرآیند توسعه معادل صحه گذاری نرم افزار داخلی و یا خارجی است.
متدولوژی
تصدیق و صحه گذاری نرم افزار معمولاً توسط پنج مرحله اصلی تشکیل می شود، این مراحل می توانند به صورت متوالی یا به عنوان نتایج یک فرآیند اجرا شوند.
۱- برنامه ریزی
• برنامه ریزی فعالیت های تصدیق و صحه گذاری نرم افزار
• تحلیل بحرانی سیستم: شناسایی اجزای حیاتی
• انتخاب روش ها و ابزارهای مناسب
۲- تصدیق الزامات
• تصدیق جامع بودن، صحت، آزمایش پذیری
۳- تصدیق طراحی
• کفایت طراحی و انطباق با الزامات نرم افزار و رابط نرم افزاری(interfaces)
• سازگاری درونی و بیرونی نرمافزار
• تصدیق امکان سنجی و نگهداری نرمافزار
۴- تایید کد
• تصدیق جامع بودن، صحت، سازگاری
• تحلیل معیارهای کد
• تصدیق انطباق با استانداردهای کد نویسی
۵- صحه گذاری(معتبر سازی)
• شناسایی اجزا و یا عملکردهای ناپایدار
• صحه گذاری متمرکز بر رسیدگی به خطا: صحه گذاری تکمیلی (نه همزمان) در رابطه با موردی که توسط تیم توسعه نرم افزار انجام شده است.
• مطابقت نرم افزار با سیستم مورد نیاز
• تکنیک های تست جعبه سیاه و تست جعبه سفید
• تکنیک های مبتنی بر تجربه
در شکل زیر موارد گفته شده و ارتباط آنها را می توانید ملاحظه فرمایید:
جمع بندی
معتبر سازی نرم افزار یکی از پیچیده ترین فعالیت های صورت گرفته توسط شرکت های تجهیزات پزشکی خواهد بود. برای معتبر سازی و صحه گذاری نرم افزار تجهیزات پزشکی بایستی در کنار داشتن دانش فنی دستگاه، تسلط مناسبی بر مفاهیم نرم افزار داشته باشید. خروجی صحه گذاری نرم افزار معمولا یک گزارش بسیار طولانی و دقیق از روند ها، پروتکل ها و نتایج است. ما در کنار شما قرار خواهیم گرفت تا این مسیر را براحتی و با آسودگی طی کنید.
شرکت توسعه کیفیت در سال ۱۳۸۸ تاسیس شده است. این شرکت درحال حاضر با سابقه ترین شرکت حوزه مشاوره تجهیزات پزشکی در ایران می باشد. ما آماده آن هستیم تا بر روی تجهیزات پزشکی و ازمایشگاهی شما ، صحه گذاری نرم افزار را اجرا نماییم.
در هر ساعت شبانه روز می توانید با ما در تماس باشید.
مطالعه مقالات مشابه:
تکنیکال فایل چیست؟ مراحل و نحوه نوشتن یک تکنیکال فایل تجهیزات پزشکی