Software quality
سافٹ ویئر انجینئرنگ کے تناظر میں، سافٹ ویئر کا معیار دو متعلقہ لیکن الگ الگ تصورات سے مراد ہے: سافٹ ویئر کا فعال معیار اس بات کی عکاسی کرتا ہے کہ یہ فعال ضروریات یا وضاحتیں کی بنیاد پر کسی دیئے گئے ڈیزائن کے ساتھ کتنی اچھی طرح سے مطابقت رکھتا ہے یا اس کے مطابق ہے۔ اس خاصیت کو سافٹ ویئر کے کسی ٹکڑے کے مقصد کے لیے فٹنس کے طور پر بھی بیان کیا جا سکتا ہے یا یہ کس طرح بازار میں حریفوں کے ساتھ ایک قابل قدر پروڈکٹ کے طور پر موازنہ کرتا ہے۔ یہ اس حد تک ہے جس تک صحیح سافٹ ویئر تیار کیا گیا تھا۔ سافٹ ویئر ساختی معیار سے مراد یہ ہے کہ یہ کس طرح غیر فعال ضروریات کو پورا کرتا ہے جو فعال ضروریات کی فراہمی میں مدد کرتا ہے، جیسے کہ مضبوطی یا دیکھ بھال۔ اس کا اس ڈگری سے بہت زیادہ تعلق ہے جس پر سافٹ ویئر ضرورت کے مطابق کام کرتا ہے۔ ساختی معیار کے بہت سے پہلوؤں کا اندازہ صرف سافٹ ویئر کے اندرونی ڈھانچے، اس کے سورس کوڈ (سافٹ ویئر میٹرکس دیکھیں)، یونٹ کی سطح پر، اور سسٹم کی سطح پر (جسے بعض اوقات اینڈ ٹو اینڈ ٹیسٹنگ کہا جاتا ہے) کے تجزیے کے ذریعے مستحکم طور پر کیا جا سکتا ہے، جس کا اثر یہ ہے کہ اس کا فن تعمیر سافٹ ویئر فن تعمیر کے صوتی اصولوں پر عمل کرتا ہے جو آبجیکٹ مینجمنٹ گروپ (او ایم جی) کے ذریعہ موضوع پر ایک مقالے میں بیان کیا گیا ہے۔ تاہم کچھ ساختی خصوصیات، جیسے استعمال کی اہلیت، کا اندازہ صرف متحرک طور پر کیا جا سکتا ہے (صارفین یا ان کی طرف سے کام کرنے والے دوسرے سافٹ ویئر کے ساتھ تعامل کرتے ہیں یا، کم از کم، کچھ پروٹو ٹائپ یا جزوی نفاذ ؛ یہاں تک کہ گتے میں بنائے گئے فرضی ورژن کے ساتھ تعامل بھی ایک متحرک ٹیسٹ کی نمائندگی کرتا ہے کیونکہ اس طرح کے ورژن کو پروٹو ٹائپ سمجھا جا سکتا ہے)۔ دیگر پہلو، جیسے وشوسنییتا، میں نہ صرف سافٹ ویئر بلکہ بنیادی ہارڈ ویئر بھی شامل ہو سکتا ہے، لہذا، اس کا اندازہ مستحکم اور متحرک دونوں طرح سے کیا جا سکتا ہے (تناؤ کی جانچ)۔ فنکشنل کوالٹی کا اندازہ عام طور پر متحرک انداز میں کیا جاتا ہے لیکن جامد ٹیسٹ (جیسے سافٹ ویئر کے جائزے) کا استعمال بھی ممکن ہے۔ تاریخی طور پر، سافٹ ویئر کے معیار کے انتظام پر لاگو صفات اور میٹرکس کی ساخت، درجہ بندی اور اصطلاحات آئی ایس او 9126 اور اس کے بعد کے آئی ایس او/آئی ای سی 25000 معیار سے اخذ یا نکالی گئی ہیں۔ ان ماڈلز کی بنیاد پر (ماڈلز دیکھیں)، کنسورشیم فار آئی ٹی سافٹ ویئر کوالٹی (سی آئی ایس کیو) نے کاروباری قدر فراہم کرنے کے لیے سافٹ ویئر کے ایک ٹکڑے کے لیے درکار پانچ اہم مطلوبہ ساختی خصوصیات کی وضاحت کی ہے: وشوسنییتا، کارکردگی، سلامتی، بحالی اور (مناسب) سائز۔ سافٹ ویئر کے معیار کی پیمائش اس بات کی مقدار طے کرتی ہے کہ ان پانچ جہتوں میں سے ہر ایک کے ساتھ سافٹ ویئر پروگرام یا سسٹم کی شرح کس حد تک ہے۔ سافٹ ویئر کے معیار کی مجموعی پیمائش کا حساب کوالٹی یا مقداری اسکورنگ اسکیم یا دونوں کے مرکب اور پھر ترجیحات کی عکاسی کرنے والے وزن کے نظام کے ذریعے کیا جا سکتا ہے۔ سافٹ ویئر کے معیار کو لکیری تسلسل پر رکھے جانے کے اس نظریے کو "اہم پروگرامنگ کی غلطیوں" کے تجزیے سے پورا کیا جاتا ہے جو مخصوص حالات میں تباہ کن بندشوں یا کارکردگی کے انحطاط کا باعث بن سکتے ہیں جو مجموعی پیمائش کی بنیاد پر درجہ بندی سے قطع نظر کسی دیئے گئے نظام کو استعمال کے لیے نامناسب بنا دیتے ہیں۔ سسٹم کی سطح پر پائی جانے والی اس طرح کی پروگرامنگ کی غلطیاں 90 فیصد تک پروڈکشن کے مسائل کی نمائندگی کرتی ہیں، جبکہ یونٹ کی سطح پر، اگرچہ بہت زیادہ تعداد میں، پروگرامنگ کی غلطیاں 10 فیصد سے بھی کم پروڈکشن کے مسائل کا سبب بنتی ہیں (نوے نوے اصول بھی دیکھیں)۔ نتیجے کے طور پر، پورے نظام کے سیاق و سباق کے بغیر کوڈ کا معیار، جیسا کہ ڈبلیو ایڈورڈز ڈیمنگ نے اسے بیان کیا ہے، اس کی قدر محدود ہے۔ سافٹ ویئر کے معیار کی پیمائش کو دیکھنے، دریافت کرنے، تجزیہ کرنے اور بات چیت کرنے کے لیے، تصورات اور معلومات کے تصور کی تکنیکیں بصری، انٹرایکٹو ذرائع فراہم کرتی ہیں، خاص طور پر، اگر سافٹ ویئر کے معیار کے کئی اقدامات ایک دوسرے سے یا سافٹ ویئر یا سسٹم کے اجزاء سے متعلق ہوں۔ مثال کے طور پر، سافٹ ویئر کے نقشے ایک خصوصی نقطہ نظر کی نمائندگی کرتے ہیں جو "سافٹ ویئر کی ترقی، سافٹ ویئر کے معیار، اور سسٹم کی حرکیات کے بارے میں معلومات کا اظہار اور امتزاج کر سکتے ہیں"۔ سافٹ ویئر کا معیار سافٹ ویئر پروجیکٹ کے ریلیز مرحلے میں بھی کردار ادا کرتا ہے۔ خاص طور پر، ریلیز کے عمل کا معیار اور قیام (پیچ کے عمل بھی)، ترتیب کا انتظام مجموعی طور پر سافٹ ویئر انجینئرنگ کے عمل کے اہم حصے ہیں۔ محرک سافٹ ویئر کا معیار کم از کم دو اہم نقطہ نظر سے متاثر ہوتا ہے: رسک مینجمنٹ: سافٹ ویئر کی ناکامی تکلیف سے زیادہ کا سبب بنی ہے۔ سافٹ ویئر کی غلطیاں انسانی ہلاکتوں کا سبب بن سکتی ہیں (مثال کے طور پر دیکھیں: سافٹ ویئر کیڑے کی فہرست)۔ وجوہات ناقص ڈیزائن کردہ یوزر انٹرفیس سے لے کر براہ راست پروگرامنگ کی غلطیوں تک ہیں، مثال کے طور پر بوئنگ 737 کیس یا غیر ارادی ایکسلریشن کیس یا تھیراک-25 کیس دیکھیں۔ اس کے نتیجے میں کچھ قسم کے سافٹ ویئر کی ترقی کے تقاضے پیدا ہوئے، خاص طور پر اور تاریخی طور پر طبی اور دیگر آلات میں سرایت شدہ سافٹ ویئر کے لیے جو اہم بنیادی ڈھانچے کو منظم کرتے ہیں: "[انجینئر جو سرایت شدہ سافٹ ویئر لکھتے ہیں] جاوا پروگراموں کو کچرا اکٹھا کرنے اور یوزر انٹرفیس کو اپ ڈیٹ کرنے کے لیے سیکنڈ کے ایک تہائی حصے کے لیے رکتے ہوئے دیکھتے ہیں، اور وہ آسمان سے گرتے ہوئے ہوائی جہازوں کا تصور کرتے ہیں۔" ریاستہائے متحدہ میں، فیڈرل ایوی ایشن ایڈمنسٹریشن (ایف اے اے) کے اندر، ایف اے اے ایرکرافٹ سرٹیفیکیشن سروس سافٹ ویئر پروگرام، پالیسی، رہنمائی اور تربیت فراہم کرتی ہے، سافٹ ویئر اور پیچیدہ الیکٹرانک ہارڈ ویئر پر توجہ مرکوز کرتی ہے جس کا ہوا سے چلنے والی مصنوعات پر اثر پڑتا ہے (ایک "پروڈکٹ" ایک طیارہ، انجن، یا پروپیلر ہے)۔ تصدیق کے معیارات جیسے ڈی او-178 سی، آئی ایس او 26262، آئی ای سی 62304، وغیرہ۔ رہنمائی فراہم کریں۔ لاگت کا انتظام: انجینئرنگ کے کسی بھی دوسرے شعبے کی طرح، اچھے سافٹ ویئر کے معیار کے زیر انتظام سافٹ ویئر پروڈکٹ یا سروس کو برقرار رکھنے میں کم لاگت آتی ہے، سمجھنے میں آسان ہوتا ہے اور کاروباری ضروریات کو دبانے کے جواب میں زیادہ سرمایہ کاری مؤثر طریقے سے تبدیل کر سکتا ہے۔ صنعت کے اعداد و شمار یہ ظاہر کرتے ہیں کہ بنیادی کاروباری ایپلی کیشنز (جیسے انٹرپرائز ریسورس پلاننگ (ای آر پی)، کسٹمر ریلیشن شپ مینجمنٹ (سی آر ایم) یا مالیاتی خدمات میں بڑے ٹرانزیکشن پروسیسنگ سسٹم) میں ناقص ایپلی کیشن ساختی معیار کے نتیجے میں لاگت، شیڈول میں اضافہ ہوتا ہے اور دوبارہ کام کی شکل میں فضلہ پیدا ہوتا ہے (موڈا (جاپانی اصطلاح دیکھیں))۔ مزید برآں، ناقص ساختی معیار خراب ڈیٹا، ایپلی کیشن کی بندش، سیکیورٹی کی خلاف ورزیوں اور کارکردگی کے مسائل کی وجہ سے اعلی اثر والے کاروباری رکاوٹوں کے ساتھ مضبوطی سے وابستہ ہے۔ ناقص معیار کی لاگت کے بارے میں سی آئی ایس کیو کی رپورٹوں میں 2020 میں 2.08 ٹریلین ڈالر کے اثرات کا تخمینہ لگایا گیا ہے۔ 2018 میں آئی بی ایم کی ڈیٹا کی خلاف ورزی کی لاگت 2020 میں 2.84 ٹریلین ڈالر کا تخمینہ لگایا گیا ہے کہ ڈیٹا کی خلاف ورزی کی اوسط عالمی لاگت: 3.86 لاکھ ڈالر۔ تعریف آئی ایس او سافٹ ویئر کا معیار "ضروریات کے مطابق سافٹ ویئر پروڈکٹ کی صلاحیت" ہے۔ جبکہ دوسروں کے لیے یہ گاہک یا قدر کی تخلیق یا یہاں تک کہ عیب کی سطح کا مترادف ہو سکتا ہے۔ اے ایس کیو اے ایس کیو مندرجہ ذیل تعریف کا استعمال کرتا ہے: سافٹ ویئر کا معیار سافٹ ویئر مصنوعات کی مطلوبہ صفات کو بیان کرتا ہے۔ دو اہم نقطہ نظر موجود ہیں: نقائص کا انتظام اور معیار کی صفات۔ این آئی ایس ٹی سافٹ ویئر ایشورینس (ایس اے) اس کو حاصل کرنے کے لیے پراپرٹی اور عمل دونوں کا احاطہ کرتا ہے: [جائز] اعتماد کہ سافٹ ویئر کمزوریوں سے پاک ہے، یا تو جان بوجھ کر سافٹ ویئر میں ڈیزائن کیا گیا ہے یا غلطی سے اس کے لائف سائیکل کے دوران کسی بھی وقت داخل کیا گیا ہے اور یہ کہ سافٹ ویئر مطلوبہ انداز میں کام کرتا ہے۔ سرگرمیوں کا منصوبہ بند اور منظم مجموعہ جو اس بات کو یقینی بناتا ہے کہ سافٹ ویئر لائف سائیکل کے عمل اور مصنوعات ضروریات، معیارات اور طریقہ کار کے مطابق ہوں۔ پی ایم آئی پروجیکٹ مینجمنٹ انسٹی ٹیوٹ کی پی ایم بی او کے گائیڈ "سافٹ ویئر ایکسٹینشن" خود "سافٹ ویئر کوالٹی" کی وضاحت نہیں کرتی، بلکہ سافٹ ویئر کوالٹی ایشورینس (ایس کیو اے) "ایک مسلسل عمل ہے جو اس بات کو یقینی بنانے کے لیے کہ ان عمل کی پیروی کی جا رہی ہے (مثال کے طور پر سافٹ ویئر کوالٹی مینجمنٹ پلان شامل ہے)"۔ جبکہ سافٹ ویئر کوالٹی کنٹرول (ایس سی کیو) کا مطلب ہے "ترقی یا ترمیم کے تحت سافٹ ویئر کے لیے معیار کی ضروریات کے لیے کام کی مصنوعات کی اطمینان کو یقینی بنانے کے لیے طریقوں، ٹولز، تکنیکوں کو لاگو کرنے کا خیال رکھنا"۔ دیگر عمومی اور تاریخی معیاری تاریخ کی پہلی تعریف 20 ویں صدی کے آغاز میں شیوارٹ سے یاد کی جاتی ہے: "معیار کے دو مشترکہ پہلو ہیں: ان میں سے ایک کا تعلق کسی چیز کے معیار کو انسان کے وجود سے آزاد ایک معروضی حقیقت کے طور پر سمجھنا ہے۔ دوسرے کا تعلق اس بات سے ہے جو ہم معروضی حقیقت کے نتیجے میں سوچتے، محسوس کرتے یا محسوس کرتے ہیں۔ دوسرے لفظوں میں، معیار کا ایک ساپیکش پہلو ہے۔ " کچنھم اور فلیگر، ڈیوڈ گارون کی تعلیمات کی مزید رپورٹنگ کرتے ہوئے، معیار پر پانچ مختلف نقطہ نظر کی نشاندہی کرتے ہیں: ماورائی نقطہ نظر معیار کے مابعد الطبیعاتی پہلو سے متعلق ہے۔ معیار کے اس نقطہ نظر میں، یہ "ایک ایسی چیز ہے جس کی طرف ہم ایک مثالی کے طور پر کوشش کرتے ہیں، لیکن اسے کبھی بھی مکمل طور پر نافذ نہیں کر سکتے۔" اس کی شاید ہی تعریف کی جا سکتی ہے، لیکن یہ اس سے ملتا جلتا ہے جو ایک وفاقی جج نے ایک بار فحاشی کے بارے میں تبصرہ کیا تھا: "جب میں اسے دیکھتا ہوں تو مجھے معلوم ہوتا ہے"۔ صارف کا نقطہ نظر استعمال کے دیئے گئے سیاق و سباق کے لیے پروڈکٹ کی موزونیت سے متعلق ہے۔ جبکہ ماورائی نظریہ غیر معمولی ہے، صارف کا نظریہ زیادہ ٹھوس ہے، جو مصنوعات کی خصوصیات پر مبنی ہے جو صارف کی ضروریات کو پورا کرتی ہے۔ مینوفیکچرنگ کا نقطہ نظر معیار کو ضروریات کے مطابق ظاہر کرتا ہے۔ معیار کے اس پہلو پر آئی ایس او 9001 جیسے معیارات زور دیتے ہیں، جو معیار کو "اس حد تک جس تک موروثی خصوصیات کا ایک مجموعہ ضروریات کو پورا کرتا ہے" (آئی ایس او/آئی ای سی 9001) کے طور پر بیان کرتا ہے۔ پروڈکٹ کے نقطہ نظر سے یہ ظاہر ہوتا ہے کہ پروڈکٹ کی موروثی خصوصیات کی پیمائش کرکے معیار کی تعریف کی جا سکتی ہے۔ معیار کا حتمی نقطہ نظر قدر پر مبنی ہے۔ یہ نقطہ نظر تسلیم کرتا ہے کہ معیار کے مختلف نقطہ نظر کی مختلف اسٹیک ہولڈرز کے لیے مختلف اہمیت یا قدر ہو سکتی ہے۔ ٹام ڈیمارکو نے تجویز پیش کی ہے کہ "کسی پروڈکٹ کا معیار اس بات کا ایک فعل ہے کہ وہ دنیا کو بہتر کے لیے کتنا بدل دیتا ہے"۔ اس کی تشریح اس معنی کے طور پر کی جا سکتی ہے کہ سافٹ ویئر کے معیار کا تعین کرنے میں ساختی معیار سے زیادہ فنکشنل معیار اور صارف کی اطمینان اہم ہے۔ ایک اور تعریف، جسے جیرالڈ وینبرگ نے کوالٹی سافٹ ویئر مینجمنٹ: سسٹمز تھنکنگ میں وضع کیا ہے، "کوالٹی کسی شخص کے لیے قدر ہے"۔ یہ تعریف اس بات پر زور دیتی ہے کہ معیار فطری طور پر ساپیکش ہے-مختلف لوگ ایک ہی سافٹ ویئر کے معیار کو مختلف طریقے سے تجربہ کریں گے۔ اس تعریف کی ایک طاقت وہ سوالات ہیں جن پر یہ سافٹ ویئر ٹیموں کو غور کرنے کی دعوت دیتا ہے، جیسے کہ "وہ لوگ کون ہیں جنہیں ہم اپنے سافٹ ویئر کی قدر کرنا چاہتے ہیں؟" اور "ان کے لیے کیا قیمتی ہوگا؟" دیگر معنی اور تنازعات معیار کی وضاحت میں ایک چیلنج یہ ہے کہ "ہر کوئی محسوس کرتا ہے کہ وہ اسے سمجھتے ہیں" اور سافٹ ویئر کے معیار کی دیگر تعریفیں کاروبار میں استعمال ہونے والے معیار کے تصور کی مختلف وضاحتوں کو بڑھانے پر مبنی ہو سکتی ہیں۔ سافٹ ویئر کا معیار اکثر کوالٹی اشورینس یا پروبلم ریزولوشن مینجمنٹ یا کوالٹی کنٹرول یا ڈیو اوپس کے ساتھ مل جاتا ہے۔ یہ پہلے سے مذکور علاقوں کے ساتھ حد سے زیادہ کام کرتا ہے (پی ایم آئی کی تعریفیں بھی دیکھیں)، لیکن یہ مخصوص ہے کیونکہ یہ نہ صرف جانچ پر بلکہ عمل، انتظام، بہتری، تشخیص وغیرہ پر بھی توجہ مرکوز کرتا ہے۔ پیمائش اگرچہ اس حصے میں پیش کردہ تصورات ساختی اور فعال سافٹ ویئر کے معیار دونوں پر لاگو ہوتے ہیں، لیکن مؤخر الذکر کی پیمائش بنیادی طور پر جانچ کے ذریعے کی جاتی ہے [مرکزی مضمون دیکھیں: سافٹ ویئر کی جانچ]۔ تاہم، جانچ کافی نہیں ہے: ایک تحقیق کے مطابق، انفرادی پروگرامر اپنے سافٹ ویئر میں کیڑے تلاش کرنے میں 50 فیصد سے بھی کم موثر ہوتے ہیں۔ اور جانچ کی زیادہ تر شکلیں صرف 35 فیصد موثر ہیں۔ اس سے [سافٹ ویئر] کے معیار کا تعین کرنا مشکل ہو جاتا ہے۔ تعارف سافٹ ویئر کے معیار کی پیمائش اس بات کی مقدار کے بارے میں ہے کہ کسی سسٹم یا سافٹ ویئر میں مطلوبہ خصوصیات کس حد تک ہوتی ہیں۔ یہ کوالٹی یا مقداری ذرائع یا دونوں کے مرکب کے ذریعے انجام دیا جا سکتا ہے۔ دونوں صورتوں میں، ہر مطلوبہ خصوصیت کے لیے، قابل پیمائش صفات کا ایک مجموعہ ہوتا ہے جس کا وجود سافٹ ویئر یا سسٹم کے کسی ٹکڑے میں اس خصوصیت سے منسلک اور منسلک ہوتا ہے۔ مثال کے طور پر، پورٹیبلٹی سے وابستہ ایک خاصیت کسی پروگرام میں ہدف پر منحصر بیانات کی تعداد ہے۔ مزید واضح طور پر، کوالٹی فنکشن کی تعیناتی کے نقطہ نظر کا استعمال کرتے ہوئے، یہ قابل پیمائش صفات "کیسے" ہیں جنہیں اوپر سافٹ ویئر کوالٹی کی تعریف میں "کیا ہے" کو فعال کرنے کے لیے نافذ کرنے کی ضرورت ہے۔ سافٹ ویئر کوالٹی مینجمنٹ پر لاگو صفات اور میٹرکس کی ساخت، درجہ بندی اور اصطلاحات آئی ایس او 9126-3 اور اس کے بعد کے آئی ایس او/آئی ای سی 25000:2005 کوالٹی ماڈل سے اخذ یا نکالی گئی ہیں۔ بنیادی توجہ اندرونی ساختی معیار پر ہے۔ ذیلی زمرہ جات مخصوص شعبوں جیسے کاروباری ایپلی کیشن فن تعمیر اور تکنیکی خصوصیات جیسے ڈیٹا تک رسائی اور ہیرا پھیری یا لین دین کے تصور کو سنبھالنے کے لیے بنائے گئے ہیں۔ سافٹ ویئر کے معیار کی خصوصیات اور ان کی پیمائش کے قابل صفات کے درمیان انحصار کے درخت کو دائیں طرف کے خاکہ میں دکھایا گیا ہے، جہاں صارف (دائیں) یا کاروباری نظام کے مالک کے لیے اہمیت کی حامل 5 خصوصیات میں سے ہر ایک پیمائش کے قابل صفات (بائیں) پر منحصر ہے: ایپلی کیشن آرکیٹیکچر پریکٹس کوڈنگ پریکٹس ایپلی کیشن پیچیدگی دستاویزات پورٹیبلٹی تکنیکی اور فنکشنل حجم پروگرامنگ کی غلطیوں اور پیداوار کے نقائص کے درمیان ارتباط سے پتہ چلتا ہے کہ بنیادی کوڈ کی غلطیاں سورس کوڈ کی کل غلطیوں کا 92 فیصد ہیں۔ کوڈ کی سطح کے یہ بے شمار مسائل بالآخر پیداوار میں صرف 10 فیصد نقائص کے لیے شمار ہوتے ہیں۔ فن تعمیر کی سطح پر سافٹ ویئر انجینئرنگ کے خراب طریقے کل نقائص کا صرف 8 فیصد ہوتے ہیں، لیکن مسائل کو ٹھیک کرنے پر خرچ ہونے والی نصف سے زیادہ کوششوں کو استعمال کرتے ہیں، اور پیداوار میں 90 فیصد سنگین وشوسنییتا، سلامتی اور کارکردگی کے مسائل کا باعث بنتے ہیں۔ کوڈ پر مبنی تجزیہ موجودہ سافٹ ویئر کے بہت سے اقدامات ایپلی کیشن کے ساختی عناصر کو شمار کرتے ہیں جو اس طرح کے انفرادی ہدایات ٹوکن کنٹرول ڈھانچے (پیچیدگی)، اور اشیاء کے لیے سورس کوڈ کو تجزیہ کرنے کے نتیجے میں ہوتے ہیں۔ سافٹ ویئر کے معیار کی پیمائش اس بات کی مقدار کے بارے میں ہے کہ ان جہتوں کے ساتھ کسی سسٹم یا سافٹ ویئر کی شرح کس حد تک ہے۔ تجزیہ کوالٹیٹو یا مقداری نقطہ نظر یا دونوں کے مرکب کا استعمال کرتے ہوئے کیا جا سکتا ہے تاکہ مجموعی نظریہ فراہم کیا جا سکے [مثال کے طور پر ویٹڈ ایوریج کا استعمال کرتے ہوئے جو ماپا جانے والے عوامل کے درمیان نسبتا اہمیت کی عکاسی کرتا ہے]۔ لکیری تسلسل پر سافٹ ویئر کے معیار کے اس نقطہ نظر کو مجرد تنقیدی پروگرامنگ کی غلطیوں کی شناخت کے ذریعے پورا کرنا ہوگا۔ یہ کمزوریاں کسی ٹیسٹ کیس میں ناکام نہیں ہو سکتی ہیں، لیکن یہ برے طریقوں کا نتیجہ ہیں جو مخصوص حالات میں تباہ کن بندشوں، کارکردگی میں کمی، سیکیورٹی کی خلاف ورزیوں، خراب ڈیٹا، اور بے شمار دیگر مسائل کا باعث بن سکتے ہیں جو کسی دیئے گئے نظام کو مجموعی پیمائش کی بنیاد پر اس کی درجہ بندی سے قطع نظر استعمال کے لیے غیر موزوں بناتے ہیں۔ کمزوری کی ایک معروف مثال مشترکہ کمزوری کی گنتی ہے، جو سورس کوڈ میں کمزوریوں کا ایک ذخیرہ ہے جو ایپلی کیشنز کو حفاظتی خلاف ورزیوں کا شکار بناتا ہے۔ ایپلیکیشن کی اہم خصوصیات کی پیمائش میں ایپلیکیشن کے فن تعمیر، کوڈنگ، اور ان لائن دستاویزات کی ساختی صفات کی پیمائش شامل ہے، جیسا کہ اوپر کی تصویر میں دکھایا گیا ہے۔ اس طرح، ہر خصوصیت درخواست میں تجریدی کی متعدد سطحوں پر صفات سے متاثر ہوتی ہے اور ان سب کو خصوصیت کی پیمائش کا حساب لگانے کے لیے شامل کیا جانا چاہیے اگر اسے کاروبار کو متاثر کرنے والے معیار کے نتائج کا قیمتی پیش گوئی کرنا ہے۔ مندرجہ بالا اعداد و شمار میں دکھائے گئے خصوصیت کے اقدامات کا حساب لگانے کے لیے پرتوں والا نقطہ نظر سب سے پہلے ٹی آر ڈبلیو (بوہم، 1978) میں بوہم اور ان کے ساتھیوں نے تجویز کیا تھا اور یہ آئی ایس او 9126 اور 2500 سیریز کے معیارات میں لیا گیا نقطہ نظر ہے۔ ان صفات کو ایپلیکیشن سورس کوڈ کے جامد تجزیے کے تجزیہ شدہ نتائج سے ماپا جا سکتا ہے۔ یہاں تک کہ ایپلی کیشنز کی متحرک خصوصیات جیسے وشوسنییتا اور کارکردگی کی کارکردگی کی جڑیں بھی ایپلی کیشن کے جامد ڈھانچے میں ہوتی ہیں۔ ساختی معیار کا تجزیہ اور پیمائش سورس کوڈ، فن تعمیر، سافٹ ویئر فریم ورک، ڈیٹا بیس اسکیما کے ان اصولوں اور معیارات کے تجزیے کے ذریعے کی جاتی ہے جو مل کر کسی نظام کے تصوراتی اور منطقی فن تعمیر کی وضاحت کرتے ہیں۔ یہ بنیادی، مقامی، جزو کی سطح کے کوڈ تجزیہ سے الگ ہے جو عام طور پر ترقیاتی ٹولز کے ذریعے انجام دیا جاتا ہے جو زیادہ تر نفاذ کے تحفظات سے متعلق ہوتے ہیں اور ڈیبگنگ اور جانچ کی سرگرمیوں کے دوران اہم ہوتے ہیں۔ وشوسنییتا ناقص وشوسنییتا کی بنیادی وجوہات اچھے آرکیٹیکچرل اور کوڈنگ کے طریقوں کی عدم تعمیل کے امتزاج میں پائی جاتی ہیں۔ اس عدم تعمیل کا پتہ کسی ایپلی کیشن کے جامد معیار کی صفات کی پیمائش کرکے لگایا جا سکتا ہے۔ کسی ایپلی کیشن کی وشوسنییتا پر مبنی جامد صفات کا اندازہ لگانا کاروباری خطرے کی سطح اور ممکنہ ایپلی کیشن کی ناکامیوں اور نقائص کے امکان کا تخمینہ فراہم کرتا ہے جب ایپلی کیشن کو آپریشن میں رکھا جائے گا۔ وشوسنییتا کا اندازہ لگانے کے لیے کم از کم درج ذیل سافٹ ویئر انجینئرنگ کے بہترین طریقوں اور تکنیکی صفات کی جانچ پڑتال کی ضرورت ہوتی ہے: ایپلیکیشن آرکیٹیکچر پریکٹس کوڈنگ پریکٹس الگورتھم کی پیچیدگی پروگرامنگ کے طریقوں کی پیچیدگی آبجیکٹ اورینٹڈ اور اسٹرکچرڈ پروگرامنگ کے بہترین طریقوں کی تعمیل (جب قابل اطلاق ہو) جزو یا پیٹرن کے دوبارہ استعمال کا تناسب گندی پروگرامنگ کی غلطی اور استثنی ہینڈلنگ (تمام تہوں کے لیے-جی یو آئی، منطق اور ڈیٹا) ملٹی لیئر ڈیزائن تعمیل ریسورس باؤنڈ مینجمنٹ سافٹ ویئر ان نمونوں سے گریز کرتا ہے جو غیر متوقع طرز عمل کا باعث بنیں گے۔ سافٹ ویئر ڈیٹا کی سالمیت اور مستقل مزاجی کا انتظام کرتا ہے۔ لین دین کی پیچیدگی کی سطح ایپلیکیشن آرکیٹیکچر اور استعمال ہونے والے تیسرے فریق کے اجزاء (جیسے بیرونی لائبریریاں یا فریم ورک) پر منحصر ہے، کسٹم چیک کو بہترین طریقوں کی مذکورہ فہرست کے ذریعے تیار کردہ خطوط کے ساتھ بیان کیا جانا چاہیے۔ کارکردگی وشوسنییتا کی طرح، کارکردگی کی نااہلی کی وجوہات اکثر اچھے آرکیٹیکچرل اور کوڈنگ پریکٹس کی خلاف ورزیوں میں پائی جاتی ہیں جن کا پتہ کسی ایپلی کیشن کے جامد معیار کی صفات کی پیمائش سے لگایا جا سکتا ہے۔ یہ جامد صفات ممکنہ آپریشنل کارکردگی کی رکاوٹوں اور مستقبل کے اسکیل ایبلٹی کے مسائل کی پیش گوئی کرتی ہیں، خاص طور پر ان ایپلی کیشنز کے لیے جن میں پیچیدہ الگورتھم یا ڈیٹا کی بڑی مقدار کو سنبھالنے کے لیے اعلی کارکردگی کی رفتار کی ضرورت ہوتی ہے۔ کارکردگی کی کارکردگی کا اندازہ لگانے کے لیے کم از کم درج ذیل سافٹ ویئر انجینئرنگ کے بہترین طریقوں اور تکنیکی صفات کی جانچ پڑتال کی ضرورت ہوتی ہے: ایپلیکیشن آرکیٹیکچر کے طریقے مہنگے اور/یا دور دراز کے وسائل کے ساتھ مناسب تعاملات ڈیٹا تک رسائی کی کارکردگی اور ڈیٹا مینجمنٹ میموری، نیٹ ورک اور ڈسک اسپیس مینجمنٹ کوڈنگ کے طریقوں کی تعمیل (بہترین کوڈنگ کے طریقے) سیکیورٹی سافٹ ویئر کے معیار میں سافٹ ویئر سیکیورٹی شامل ہے۔ بہت سی حفاظتی کمزوریاں ناقص کوڈنگ اور آرکیٹیکچرل طریقوں جیسے ایس کیو ایل انجیکشن یا کراس سائٹ اسکرپٹنگ کے نتیجے میں ہوتی ہیں۔ یہ سی ڈبلیو ای، اور کارنیگی میلن یونیورسٹی میں ایس ای آئی/کمپیوٹر ایمرجنسی سینٹر (سی ای آر ٹی) کے زیر انتظام فہرستوں میں اچھی طرح سے دستاویزی ہیں۔ سیکیورٹی کا اندازہ لگانے کے لیے کم از کم درج ذیل سافٹ ویئر انجینئرنگ کے بہترین طریقوں اور تکنیکی صفات کی جانچ پڑتال کی ضرورت ہوتی ہے: نفاذ، سیکیورٹی سے آگاہ اور سخت تر ترقی کے عمل کا انتظام، مثال کے طور پر۔ سیکیورٹی ڈیولپمنٹ لائف سائیکل (مائیکروسافٹ) یا آئی بی ایم کا سیکیور انجینئرنگ فریم ورک۔ سیکیور ایپلیکیشن آرکیٹیکچر پریکٹس ملٹی لیئر ڈیزائن کمپلائنس سیکیورٹی بہترین پریکٹس (ان پٹ ویلڈیشن، ایس کیو ایل انجیکشن، کراس سائٹ اسکرپٹنگ، ایکسیس کنٹرول وغیرہ) محفوظ اور اچھے پروگرامنگ کے طریقے غلطی اور مستثنی ہینڈلنگ برقرار رکھنے کی اہلیت میں ماڈیولرٹی، فہم، تبدیلی، جانچ، دوبارہ استعمال، اور ایک ترقیاتی ٹیم سے دوسری ٹیم میں منتقلی کے تصورات شامل ہیں۔ یہ کوڈ کی سطح پر اہم مسائل کی شکل نہیں لیتے ہیں۔ بلکہ، ناقص دیکھ بھال عام طور پر دستاویزات، پیچیدگی سے بچنے کی حکمت عملی، اور بنیادی پروگرامنگ کے طریقوں میں بہترین طریقوں کے ساتھ ہزاروں معمولی خلاف ورزیوں کا نتیجہ ہے جو صاف اور پڑھنے میں آسان کوڈ بمقابلہ غیر منظم اور پڑھنے میں مشکل کوڈ کے درمیان فرق پیدا کرتے ہیں۔ برقرار رکھنے کی اہلیت کا اندازہ لگانے کے لیے درج ذیل سافٹ ویئر انجینئرنگ کے بہترین طریقوں اور تکنیکی صفات کی جانچ پڑتال کی ضرورت ہوتی ہے: ایپلیکیشن آرکیٹیکچر پریکٹس آرکیٹیکچر، پروگرامز اور کوڈ دستاویزات جو سورس کوڈ کوڈ پڑھنے کی اہلیت کوڈ میں سرایت شدہ ہیں لین دین کی پیچیدگی کی سطح الگورتھم کی پیچیدگی پروگرامنگ کے طریقوں کی پیچیدگی آبجیکٹ اورینٹڈ اور اسٹرکچرڈ پروگرامنگ کے بہترین طریقوں کی تعمیل (جب قابل اطلاق ہو) جزو یا پیٹرن کے دوبارہ استعمال کا تناسب متحرک کوڈنگ جوڑے کے تناسب کی کنٹرول شدہ سطح گندی پروگرامنگ دستاویزات ہارڈ ویئر، او ایس، مڈل ویئر، سافٹ ویئر اجزاء اور ڈیٹا بیس کی آزادی ملٹی لیئر ڈیزائن تعمیل پورٹیبلٹی پروگرامنگ پریکٹس (کوڈ سطح) ڈپلیکیٹ کوڈ اور افعال سورس کوڈ فائل تنظیم کی صفائی برقرار رکھنے کا وارڈ کننگھم کے تکنیکی قرض کے تصور سے گہرا تعلق ہے، جو کہ برقرار رکھنے کی اہلیت کم ہونے کی وجوہات کو لاپرواہ بمقابلہ سمجھدار اور جان بوجھ کر بمقابلہ نادانستہ کے طور پر درجہ بندی کیا جا سکتا ہے، اور اکثر ان کی ابتدا ڈویلپرز کی ناکامی، وقت اور اہداف کی کمی، ان کی لاپرواہی اور تخلیق کی لاگت میں تضادات اور دستاویزات سے حاصل ہونے والے فوائد اور، خاص طور پر، برقرار رکھنے کے قابل سورس کوڈ میں ہوتی ہے۔ سائز کی پیمائش کرنے والے سافٹ ویئر کے سائز کے لیے ضروری ہے کہ پورے سورس کوڈ کو صحیح طریقے سے جمع کیا جائے، بشمول ڈیٹا بیس ڈھانچہ اسکرپٹ، ڈیٹا ہیرا پھیری سورس کوڈ، جزو ہیڈر، کنفیگریشن فائلیں وغیرہ۔ پیمائش کرنے کے لیے سافٹ ویئر کے سائز کی بنیادی طور پر دو قسمیں ہیں، تکنیکی سائز (فٹ پرنٹ) اور فنکشنل سائز: سافٹ ویئر کے تکنیکی سائز کے کئی طریقے ہیں جنہیں وسیع پیمانے پر بیان کیا گیا ہے۔ سب سے عام تکنیکی سائز کا طریقہ کوڈ کی لائنوں کی تعداد (#LOC) فی ٹیکنالوجی، فائلوں کی تعداد، افعال، کلاسز، ٹیبلز وغیرہ ہے، جس سے بیک فائرنگ فنکشن پوائنٹس کا حساب لگایا جا سکتا ہے۔ فنکشنل سائز کی پیمائش کے لیے سب سے عام فنکشن پوائنٹ تجزیہ ہے۔ فنکشن پوائنٹ تجزیہ صارف کے نقطہ نظر سے ڈیلیوری کے قابل سافٹ ویئر کے سائز کی پیمائش کرتا ہے۔ فنکشن پوائنٹ سائز صارف کی ضروریات کی بنیاد پر کیا جاتا ہے اور ڈویلپر/تخمینہ لگانے والے اور قیمت (فراہم کی جانے والی فعالیت) دونوں کے لیے سائز کی درست نمائندگی فراہم کرتا ہے اور گاہک کو فراہم کی جانے والی کاروباری فعالیت کی عکاسی کرتا ہے۔ اس طریقہ کار میں صارف کے قابل شناخت ان پٹ، آؤٹ پٹ اور ڈیٹا اسٹورز کی شناخت اور وزن شامل ہے۔ اس کے بعد سائز کی قیمت سافٹ ویئر کی فراہمی اور کارکردگی کی مقدار اور تشخیص کے لیے متعدد اقدامات کے ساتھ مل کر استعمال کے لیے دستیاب ہے (فی فنکشن پوائنٹ پر ترقیاتی لاگت ؛ فی فنکشن پوائنٹ پر ڈیلیور شدہ نقائص ؛ فی عملے کے مہینے میں فنکشن پوائنٹس)۔ فنکشن پوائنٹ تجزیہ سائز کے معیار کو انٹرنیشنل فنکشن پوائنٹ یوزرز گروپ (آئی ایف پی یو جی) کی حمایت حاصل ہے۔ اس کا اطلاق سافٹ ویئر ڈویلپمنٹ لائف سائیکل کے اوائل میں کیا جا سکتا ہے اور یہ کوڈ کی لائنوں پر منحصر نہیں ہے جیسے کہ کچھ حد تک غلط بیک فائرنگ کا طریقہ۔ یہ طریقہ ٹکنالوجی اگنوسٹک ہے اور اسے تنظیموں اور صنعتوں میں تقابلی تجزیہ کے لیے استعمال کیا جا سکتا ہے۔ فنکشن پوائنٹ اینالیسس کے آغاز کے بعد سے، کئی تغیرات تیار ہوئے ہیں اور فنکشنل سائز کی تکنیکوں کے خاندان کو وسیع کیا گیا ہے جس میں سائز کے اقدامات جیسے کہ کوسمک، نیسما، یوز کیس پوائنٹس، ایف پی لائٹ، ارلی اور کوئیک ایف پیز، اور حال ہی میں اسٹوری پوائنٹس شامل ہیں۔ تاہم، فنکشن پوائنٹس کی شماریاتی درستگی کی تاریخ ہے، اور اسے متعدد ایپلیکیشن ڈویلپمنٹ مینجمنٹ (اے ڈی ایم) یا آؤٹ سورسنگ مصروفیات میں کام کی پیمائش کی ایک مشترکہ اکائی کے طور پر استعمال کیا گیا ہے، جو "کرنسی" کے طور پر کام کرتا ہے جس کے ذریعے خدمات فراہم کی جاتی ہیں اور کارکردگی کی پیمائش کی جاتی ہے۔ فنکشن پوائنٹ طریقہ کار کی ایک عام حد یہ ہے کہ یہ ایک دستی عمل ہے اور اس لیے یہ بڑے پیمانے کے اقدامات جیسے ایپلی کیشن ڈویلپمنٹ یا آؤٹ سورسنگ مصروفیات میں محنت طلب اور مہنگا ہو سکتا ہے۔ طریقہ کار کو لاگو کرنے کا یہ منفی پہلو ہو سکتا ہے جس نے صنعت کے آئی ٹی رہنماؤں کو آئی ٹی سافٹ ویئر کوالٹی کے لیے کنسورشیم بنانے کی ترغیب دی جو سافٹ ویئر کے سائز کی پیمائش کو خودکار بنانے کے لیے ایک کمپیوٹیبل میٹرکس معیار متعارف کرانے پر مرکوز ہے جبکہ آئی ایف پی یو جی دستی نقطہ نظر کو فروغ دیتا رہتا ہے کیونکہ اس کی زیادہ تر سرگرمی ایف پی کاؤنٹرز سرٹیفیکیشن پر انحصار کرتی ہے۔ سی آئی ایس کیو سائز کی تعریف لاگت کے تخمینے، پیشرفت سے باخبر رہنے یا دیگر متعلقہ سافٹ ویئر پروجیکٹ مینجمنٹ سرگرمیوں کی حمایت کے لیے سافٹ ویئر کے سائز کا تخمینہ لگانے کے طور پر کرتا ہے۔ دو معیارات استعمال کیے جاتے ہیں: سافٹ ویئر کے فنکشنل سائز کی پیمائش کے لیے آٹومیٹڈ فنکشن پوائنٹس اور ایک پیمائش میں فنکشنل اور غیر فنکشنل کوڈ دونوں کے سائز کی پیمائش کے لیے آٹومیٹڈ انہانسمنٹ پوائنٹس۔ اہم پروگرامنگ کی غلطیوں کی شناخت کرنا اہم پروگرامنگ کی غلطیاں مخصوص آرکیٹیکچرل اور/یا کوڈنگ کے برے طریقے ہیں جن کے نتیجے میں سب سے زیادہ، فوری یا طویل مدتی، کاروباری خلل کا خطرہ ہوتا ہے۔ یہ اکثر ٹیکنالوجی سے متعلق ہوتے ہیں اور سیاق و سباق، کاروباری مقاصد اور خطرات پر بہت زیادہ انحصار کرتے ہیں۔ کچھ لوگ کنونشنوں کے نام رکھنے کے احترام پر غور کر سکتے ہیں جبکہ دوسرے-جو مثال کے طور پر علم کی منتقلی کے لیے بنیاد تیار کر رہے ہیں-اسے بالکل اہم سمجھیں گے۔ تنقیدی پروگرامنگ کی غلطیوں کو سی آئی ایس کیو کی خصوصیات کے مطابق بھی درجہ بند کیا جا سکتا ہے۔ نیچے دی گئی بنیادی مثال: وشوسنییتا سافٹ ویئر کے نمونوں سے بچیں جو غیر متوقع رویے کا باعث بنیں گے (غیر شروع شدہ متغیر، کالعدم اشارے، وغیرہ)۔ انسرٹ، اپ ڈیٹ، ڈیلیٹ، ٹیبل بنانے یا سلیکٹ کرنے کے طریقے، طریقہ کار اور افعال میں ایرر مینجمنٹ شامل ہونا چاہیے۔ ملٹی تھریڈ فنکشنز کو تھریڈ سے محفوظ بنایا جانا چاہیے، مثال کے طور پر سرولیٹس یا اسٹرٹس ایکشن کلاسوں میں انسٹنس/نان فائنل جامد فیلڈز نہیں ہونے چاہئیں۔ نیٹ ورک ٹریفک کو کم کرنے کے لیے کلائنٹ کی درخواستوں (آنے والی اور ڈیٹا) کی مرکزیت کو یقینی بنائیں۔ ایس کیو ایل سوالات سے گریز کریں جو لوپ میں بڑی ٹیبلز کے خلاف انڈیکس کا استعمال نہیں کرتے ہیں۔ سیکیورٹی سرولیٹ کلاسوں میں ایسے فیلڈز سے گریز کریں جو حتمی جامد نہیں ہیں۔ ایرر مینجمنٹ چیک کنٹرول ریٹرن کوڈز اور ایرر ہینڈلنگ میکانزم کو نافذ کیے بغیر ڈیٹا تک رسائی سے گریز کریں۔ کراس سائٹ اسکرپٹنگ کی خامیوں یا ایس کیو ایل انجیکشن کی خامیوں سے بچنے کے لیے ان پٹ کی توثیق کو یقینی بنائیں۔ معیار کی صفات کو توڑنے یا اضافی تہوں کی وضاحت کرنے سے، پیچیدہ، تجریدی معیار کی صفات (جیسے وشوسنییتا یا برقرار رکھنے کی اہلیت) زیادہ قابل انتظام اور قابل پیمائش ہو جاتی ہیں۔ ان معیار کے ماڈلز کو صنعتی سیاق و سباق میں لاگو کیا گیا ہے لیکن انہیں بڑے پیمانے پر اپنایا نہیں گیا ہے۔ ٹریویا "سائنس اتنی ہی پختہ ہوتی ہے جتنی اس کے پیمائش کے اوزار۔" "جب میں اسے دیکھتا ہوں تو میں اسے جانتا ہوں۔" "آپ اس چیز پر قابو نہیں رکھ سکتے جسے آپ ناپ نہیں سکتے۔" (ٹام ڈیمارکو) "آپ کسی پروڈکٹ کے معیار کا معائنہ نہیں کر سکتے۔" (ڈبلیو ایڈورڈز ڈیمنگ) "شیڈول پر پورا اترنے کی مٹھاس کو بھول جانے کے بعد بھی ناقص معیار کی تلخیاں طویل عرصے تک برقرار رہتی ہیں۔" (گمنام) "اگر آپ ایک سپیک سے شروع نہیں کرتے ہیں، تو آپ کے لکھے ہوئے کوڈ کا ہر ٹکڑا ایک پیچ ہے۔" (لیسلی لیمپورٹ) سافٹ ویئر بگ رسائی کی دستیابی بھی دیکھیں بہترین کوڈنگ کے طریقے ہم آہنگی اور جوڑی سائیکلمیٹک پیچیدگی کوڈنگ کنونشن کمپیوٹر بگ انحصار جی کیو ایم آئی ایس او/آئی ای سی 9126 سافٹ ویئر کے عمل میں بہتری اور صلاحیت کا تعین-آئی ایس او/آئی ای سی 15504 پروگرامنگ سٹائل کوالٹی: کوالٹی کنٹرول، کل کوالٹی مینجمنٹ۔ تقاضوں کا انتظام دائرہ کار (پروجیکٹ مینجمنٹ) سیکورٹی سیکورٹی انجینئرنگ سافٹ ویئر کوالٹی اشورینس سافٹ ویئر فن تعمیر سافٹ ویئر کوالٹی کنٹرول سافٹ ویئر میٹرکس سافٹ ویئر دوبارہ استعمال سافٹ ویئر معیاری سافٹ ویئر ٹیسٹنگ ٹیسٹ ایبلٹی اسٹیٹک پروگرام تجزیہ مزید پڑھنے کے لیے اینڈرائیڈ او ایس کوالٹی گائیڈ لائنز بشمول یو آئی، سیکیورٹی وغیرہ کے لیے چیک لسٹ۔ جولائی 2021 ایسوسی ایشن آف میری ٹائم مینیجرز ان انفارمیشن ٹیکنالوجی اینڈ کمیونیکیشنز (اے ایم ایم آئی ٹی ای سی)۔ میری ٹائم سافٹ ویئر کوالٹی گائیڈ لائنز۔ ستمبر 2017 کیپرس جونز اور اولیور بونسینور، "دی اکنامکس آف سافٹ ویئر کوالٹی"، ایڈسن ویسلے پروفیشنل، پہلا ایڈیشن، 31 دسمبر 2011، کیٹ لیب-سی این ای ایس کوڈ اینالیسس ٹولز لیبارٹری (گٹ ہب پر) گریش سوریہ نارائن، سافٹ ویئر پروسیس بمقابلہ ڈیزائن کوالٹی: ٹگ آف وار؟ ہو-ون جنگ، سیونگ-گیوون کم، اور چانگ-سین چنگ۔ سافٹ ویئر پروڈکٹ کے معیار کی پیمائش: آئی ایس او/آئی ای سی 9126 کا ایک سروے۔ IEEE سافٹ ویئر، 21 (5): 10-13، ستمبر/اکتوبر 2004۔ انٹرنیشنل آرگنائزیشن فار اسٹینڈرڈائزیشن۔ سافٹ ویئر انجینئرنگ-پروڈکٹ کا معیار-حصہ 1: کوالٹی ماڈل۔ آئی ایس او، جینیوا، سوئٹزرلینڈ، 2001۔ ISO/IEC 9126-1:2001 (E)۔ سافٹ ویئر پروڈکٹ کوالٹی کی پیمائش: آئی ایس او 25000 سیریز اور سی ایم ایم آئی (ایس ای آئی سائٹ) ایم ایس کیو ایف-ایک پیمائش پر مبنی سافٹ ویئر کوالٹی فریم ورک کارنیل یونیورسٹی لائبریری عمر الشتری، ہیلج جینیک، "سافٹ ویئر کوالٹی اشورینس کو بہتر بنانا"، کمپساکو، پی پی۔ 87-92، 2010 IEEE 34 ویں سالانہ کمپیوٹر سافٹ ویئر اور ایپلی کیشنز کانفرنس ورکشاپس، 2010۔ رابرٹ ایل گلاس۔ معیار کے سافٹ ویئر کی تعمیر۔ پرینٹس ہال، اپر سیڈل ریور، این جے، 1992۔ رولینڈ پیٹراسچ، "سافٹ ویئر کوالٹی کی تعریف: ایک عملی نقطہ نظر"، آئی ایس ایس آر ای، 1999 سافٹ ویئر کوالٹی پروفیشنل، امریکن سوسائٹی فار کوالٹی (اے ایس کیو) سافٹ ویئر کوالٹی جرنل بذریعہ سپرنگر نیچر اسٹیفن ایچ کان۔ سافٹ ویئر کوالٹی انجینئرنگ میں میٹرکس اور ماڈل۔ ایڈیسن-ویسلی، بوسٹن، ایم اے، دوسرا ایڈیشن، 2002۔ اسٹیفن ویگنر۔ سافٹ ویئر پروڈکٹ کوالٹی کنٹرول۔ سپرنگر، 2013۔ حوالہ جات کتب خانہ بیرونی روابط جب کوڈ بادشاہ ہوتا ہے: آٹوموٹو سافٹ ویئر ایکسی لینس میں مہارت حاصل کرنا (میک کینسی، 2021) سرایت شدہ سسٹم سافٹ ویئر کا معیار: یہ اکثر خوفناک کیوں ہوتا ہے؟ ہم اس کے بارے میں کیا کر سکتے ہیں؟ (بذریعہ فلپ کوپمین) کوڈ کوالٹی اسٹینڈرڈز بذریعہ CISQ TM CISQ بلاگ: https://blog.it-cisq.org گائیڈ ٹو سافٹ ویئر کوالٹی اشورینس (ESA) چھوٹے سافٹ ویئر پروجیکٹس پر ESA سافٹ ویئر انجینئرنگ کے معیارات کو لاگو کرنے کے لیے گائیڈ (ESA) ESA سافٹ ویئر پروڈکٹ اشورینس سروسز کا ایک جائزہ (NASA/ESA) ووکس ویگن سافٹ ویئر ڈیو سینٹر لزبن گوگل اسٹائل گائیڈز میں معیار کے لیے ہمارا نقطہ نظر گوگل پر پروڈکٹ کے معیار کو یقینی بناتا ہے (2011) NASA سافٹ ویئر اشورینس NIST سافٹ ویئر کوالٹی گروپ OMG/CISQ آٹومیٹڈ فنکشن پوائنٹس (ISO/IEC 19515) OMG آٹومیٹڈ ٹیکنیکل ڈیٹ اسٹینڈرڈ آٹومیٹڈ کوالٹی اشورینس (ہیری سنیڈ کے ذریعے IREB میں بیان کردہ) اسٹرکچرڈ ٹیسٹنگ: سائکلومیٹک کمپلیکسٹی میٹ کا استعمال کرتے ہوئے ایک ٹیسٹنگ میتھوڈولوجی