
مهمترین فاکتورهای کنترل کیفیت نرم افزار
۱۴۰۰/۰۸/۲۴
چند وقت پیش یکی از مشتریانی که قصد داشت با ما قراردادی ببنده
سوال جالبی از ما پرسید:
وقتی قطعاتی رو تامینکننده برای ما میفرسته ما با معیارهایی کیفیتشون رو کنترل میکنیم در مورد نرم افزار چطور میتونیم این کار رو انجام بدیم؟ چطور میتونیم فازهای مختلفی رو که به ما تحویل میدید رو کنترل کنیم؟!
صادقانه اینکه ما تا حالا بهش فکر نکرده بودیم نرم افزار یک محصول خاصه نه یک کالای فیزیکیه نه مثل خدماته؛ یک موجودیت پیچیده ست.
به این فکر افتادیم که آیا ممکنه یک چک لیستی تنظیم بشه که معیارهای اندازهگیری کیفی یک نرم افزار در اون گنجونده بشه ؟!
مراحل تولید نرم افزار
اگر که فرض کنیم نرم افزار سه تا مرحله داره
پیش از شروع تولید
حین تولید
بعد از استقرار و بهرهبرداری
هر کدوم اینا از نظر کیفیت شاخصهای جدیدی رو به چک لیست اضافه میکنه؛
پیش تولید نرم افزار:
- تیمی که قراره اون نرم افزار رو تولید کنه:
مدیر مهندس و طراحش گرفته تا برنامهنویس و مسئول تست، تحویل و مستندسازی.
- پلتفرمی که قراره ازش استفاده بشه؛ از نظر اینکه زبان برنامهنویسی چه چیزی هست، پایگاه داده از چه پلتفرمی استفاده میکنه و اینکه ظاهر نرم افزار با چه ابزارهایی آماده میشه؛ ابزارهایی که برای خود مدیریت پروژه مورد بهرهبرداری قرار میگیره مثل ان اس پراجکت یا ابزارهایی که برای مستند سازی به کار میره
حین تولید نرم افزار:
- در حین تولید سه فاکتور خیلی مهم هست که در هر آزمونی که از ماژول انجام میشه بایستی بررسی بشه :
اول دقت نتایج: به این معنا که با ورودیهایی که به فرآیندها داده میشه خروجیهای صحیحی دریافت بشه
دوم سرعت عملیات: به این معنا که در کوتاهترین زمان ممکن با دادههایی که وارد میکنیم خروجیهای مناسبی رو دریافت کنیم
سوم پایایی فرایندها: به این معنی که در دراز مدت با حجم دیتای مختلف و با انواع دیتای متنوعی که به فرایند وارد میشه نتایج همچنان دقت و سرعتشون رو حفظ میکنن
- خروجی ابزارهای مستندسازی و مدیریت پروژه:
این خروجیها که تحویل کارفرما میشه باید منظم باشن و فهرست سازی درستی داشته باشن؛ اگر قراره در آینده بهشون رجوع بشه بین انبوه اطلاعات، به راحتی بشه به دیتاهایی که مورد نیازه، دسترسی پیدا کرد. این شاخص در مراحل قبل از تولید، حین تولید و قبل از استقرار و بهرهبرداری باید مد نظر باشه.
- طراحی:
طراحی از نظر معماری نرم افزاری، ظاهر نرم افزار و تجربه کاربری؛ معمولن این بخش باید به صورت تخصصی انجام بشه نه با سلیقه شخصی چون وقتی به صورت سلیقهای هر کدوم از ابعاد پروژه نرم افزاری نگاه میشن ممکنه اتفاقات ناخوشایندی در تصمیمگیری به وجود بیاد؛ بنابراین احتیاج هست که با یک دید تخصصی از سمت یک ناظر سوم و یک متخصصی که روی مفاهیم طراحی مسلطه، نرم افزار مورد ارزیابی قرار بگیره؛ نتایج مشاهدات ناظر میتونه به عنوان شاخص کیفی در نظر گرفته بشه.
مرحله استقرار نرم افزار:
- کیفیت سرعت عمل در استقرار
- آسون بودن نرم افزار برای استقرار و نصب
- آسون بودن دیتا اینتری و ورود اطلاعات
- کیفیت آموزشی:
نرم افزار به نحوی آسون باشه و سطح کیفی آموزش به طوری تنظیم شده باشه که با انتقال دانش به کاربران نرم افزار، به راحتی بتونن از اون نرم افزار استفاده کنن و اون رو یاد بگیرن.
- تست استرس روی نرم افزار (یک مساله مهم قبل از بهرهبرداری) :
به این معنی که پیش بینی بکنیم چه تعداد کاربر همزمان از نرم افزار استفاده میکنن، چه تعداد درخواست همزمان قراره به سمت سرور بیاد و نرم افزار در برابر خواستههای انبوه همزمان، چه واکنشی رو نشون میده و همچنان پایایی و دقت و سرعت و صحت خودش رو حفظ کنه
- قابلیت به روز رسانی آسون:
به این معنی که اگر اگر فناوری جدیدی اومد این نرم افزار قابلیت ارتقاء به نرم افزار جدیدتر رو داشته باشه.