Software quality
সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের প্রসঙ্গে, সফ্টওয়্যারের গুণমান দুটি সম্পর্কিত কিন্তু স্বতন্ত্র ধারণাকে বোঝায়ঃ সফ্টওয়্যারের কার্যকরী গুণমান প্রতিফলিত করে যে এটি কার্যকরী প্রয়োজনীয়তা বা নির্দিষ্টকরণের উপর ভিত্তি করে প্রদত্ত নকশার সাথে কতটা ভালভাবে সঙ্গতিপূর্ণ বা সঙ্গতিপূর্ণ। সেই বৈশিষ্ট্যটিকে একটি সফ্টওয়্যারের উদ্দেশ্যে যোগ্যতা হিসাবে বা এটি একটি সার্থক পণ্য হিসাবে বাজারের প্রতিযোগীদের সাথে কীভাবে তুলনা করে তাও বর্ণনা করা যেতে পারে। এই মাত্রায় সঠিক সফ্টওয়্যার তৈরি করা হয়েছিল। সফ্টওয়্যারের কাঠামোগত গুণমান বোঝায় যে এটি কীভাবে অ-কার্যকরী প্রয়োজনীয়তা পূরণ করে যা কার্যকরী প্রয়োজনীয়তা সরবরাহকে সমর্থন করে, যেমন দৃust়তা বা রক্ষণাবেক্ষণযোগ্যতা। প্রয়োজন অনুযায়ী সফ্টওয়্যারটি কতটা কাজ করে তার সাথে এর আরও অনেক কিছু করার আছে। কাঠামোগত মানের অনেক দিক শুধুমাত্র সফ্টওয়্যারের অভ্যন্তরীণ কাঠামো, এর সোর্স কোড (সফ্টওয়্যার মেট্রিক্স দেখুন), ইউনিট স্তরে এবং সিস্টেম স্তরে (কখনও কখনও এন্ড-টু-এন্ড টেস্টিং হিসাবে উল্লেখ করা হয়) বিশ্লেষণের মাধ্যমে স্থিতিশীলভাবে মূল্যায়ন করা যেতে পারে, যা কার্যকরীভাবে এর স্থাপত্যটি অবজেক্ট ম্যানেজমেন্ট গ্রুপ (ওএমজি) দ্বারা বিষয়টির উপর একটি গবেষণাপত্রে বর্ণিত সফ্টওয়্যার স্থাপত্যের শব্দ নীতিগুলি মেনে চলে। তবে কিছু কাঠামোগত গুণাবলী, যেমন ব্যবহারযোগ্যতা, শুধুমাত্র গতিশীলভাবে মূল্যায়ন করা যেতে পারে (ব্যবহারকারী বা তাদের পক্ষে কাজ করা অন্যরা সফ্টওয়্যারটির সাথে যোগাযোগ করে বা, অন্তত, কিছু প্রোটোটাইপ বা আংশিক বাস্তবায়ন; এমনকি কার্ডবোর্ডে তৈরি একটি মক সংস্করণের সাথে মিথস্ক্রিয়া একটি গতিশীল পরীক্ষার প্রতিনিধিত্ব করে কারণ এই ধরনের সংস্করণকে একটি প্রোটোটাইপ হিসাবে বিবেচনা করা যেতে পারে)। অন্যান্য দিক, যেমন নির্ভরযোগ্যতা, শুধুমাত্র সফ্টওয়্যারই নয়, অন্তর্নিহিত হার্ডওয়্যারও জড়িত থাকতে পারে, তাই এটি স্থিতিশীল এবং গতিশীল উভয়ভাবেই মূল্যায়ন করা যেতে পারে (চাপ পরীক্ষা)। কার্যকরী গুণমান সাধারণত গতিশীলভাবে মূল্যায়ন করা হয় তবে স্থির পরীক্ষা (যেমন সফ্টওয়্যার পর্যালোচনা) ব্যবহার করাও সম্ভব। ঐতিহাসিকভাবে, সফ্টওয়্যার মান ব্যবস্থাপনার ক্ষেত্রে প্রযোজ্য বৈশিষ্ট্য এবং পরিমাপের কাঠামো, শ্রেণিবিন্যাস এবং পরিভাষা আইএসও 9126 এবং পরবর্তী আইএসও/আইইসি 25000 মান থেকে উদ্ভূত বা নিষ্কাশিত হয়েছে। এই মডেলগুলির উপর ভিত্তি করে (মডেলগুলি দেখুন), কনসোর্টিয়াম ফর আইটি সফ্টওয়্যার কোয়ালিটি (সিআইএসকিউ) ব্যবসায়িক মূল্য প্রদানের জন্য একটি সফ্টওয়্যারের জন্য প্রয়োজনীয় পাঁচটি প্রধান আকাঙ্ক্ষিত কাঠামোগত বৈশিষ্ট্য সংজ্ঞায়িত করেছেঃ নির্ভরযোগ্যতা, দক্ষতা, সুরক্ষা, রক্ষণাবেক্ষণযোগ্যতা এবং (পর্যাপ্ত) আকার। সফ্টওয়্যারের গুণমান পরিমাপ এই পাঁচটি মাত্রার প্রত্যেকটিতে একটি সফ্টওয়্যার প্রোগ্রাম বা সিস্টেমের হার কতটা পরিমাপ করে। সফ্টওয়্যার মানের একটি সমষ্টিগত পরিমাপ একটি গুণগত বা পরিমাণগত স্কোরিং স্কিম বা উভয়ের মিশ্রণ এবং তারপরে অগ্রাধিকারগুলি প্রতিফলিত করে একটি ওজন ব্যবস্থার মাধ্যমে গণনা করা যেতে পারে। সফ্টওয়্যারের গুণমানকে একটি রৈখিক ধারাবাহিকতায় স্থাপন করার এই দৃষ্টিভঙ্গি "সমালোচনামূলক প্রোগ্রামিং ত্রুটিগুলির" বিশ্লেষণ দ্বারা পরিপূরক হয় যা নির্দিষ্ট পরিস্থিতিতে বিপর্যয়কর বিভ্রাট বা কর্মক্ষমতার অবনতির দিকে নিয়ে যেতে পারে যা সামগ্রিক পরিমাপের উপর ভিত্তি করে রেটিং নির্বিশেষে প্রদত্ত সিস্টেমটিকে ব্যবহারের জন্য অনুপযুক্ত করে তোলে। সিস্টেম স্তরে পাওয়া এই ধরনের প্রোগ্রামিং ত্রুটিগুলি 90 শতাংশ পর্যন্ত উৎপাদন সমস্যার প্রতিনিধিত্ব করে, যেখানে ইউনিট-স্তরে, অনেক বেশি হলেও, প্রোগ্রামিং ত্রুটিগুলি উৎপাদন সমস্যার 10 শতাংশেরও কম জন্য দায়ী (নব্বই-নব্বই নিয়মও দেখুন)। ফলস্বরূপ, ডাব্লু এডওয়ার্ডস ডেমিং যেমন বর্ণনা করেছেন, পুরো সিস্টেমের প্রসঙ্গ ছাড়া কোডের মানের সীমিত মূল্য রয়েছে। সফ্টওয়্যারের গুণমান পরিমাপ দেখতে, অন্বেষণ করতে, বিশ্লেষণ করতে এবং যোগাযোগ করতে, ধারণা এবং তথ্য ভিজ্যুয়ালাইজেশনের কৌশলগুলি ভিজ্যুয়াল, ইন্টারেক্টিভ উপায়গুলি কার্যকর করে তোলে, বিশেষত, যদি বেশ কয়েকটি সফ্টওয়্যার মানের পরিমাপ একে অপরের সাথে বা কোনও সফ্টওয়্যার বা সিস্টেমের উপাদানগুলির সাথে সম্পর্কিত হতে হয়। উদাহরণস্বরূপ, সফ্টওয়্যার মানচিত্রগুলি একটি বিশেষ পদ্ধতির প্রতিনিধিত্ব করে যা "সফ্টওয়্যার বিকাশ, সফ্টওয়্যারের গুণমান এবং সিস্টেমের গতিশীলতা সম্পর্কে তথ্য প্রকাশ এবং একত্রিত করতে পারে"। একটি সফ্টওয়্যার প্রকল্পের প্রকাশের পর্যায়েও সফ্টওয়্যারের গুণমান একটি ভূমিকা পালন করে। বিশেষত, রিলিজ প্রক্রিয়াগুলির গুণমান এবং প্রতিষ্ঠা (এছাড়াও প্যাচ প্রক্রিয়া), কনফিগারেশন ম্যানেজমেন্ট একটি সামগ্রিক সফ্টওয়্যার ইঞ্জিনিয়ারিং প্রক্রিয়ার গুরুত্বপূর্ণ অংশ। অনুপ্রেরণা সফ্টওয়্যারের গুণমান কমপক্ষে দুটি প্রধান দৃষ্টিভঙ্গি দ্বারা অনুপ্রাণিত হয়ঃ ঝুঁকি ব্যবস্থাপনাঃ সফ্টওয়্যার ব্যর্থতা অসুবিধার চেয়ে বেশি সৃষ্টি করেছে। সফ্টওয়্যার ত্রুটি মানুষের প্রাণহানির কারণ হতে পারে (উদাহরণস্বরূপ দেখুনঃ সফ্টওয়্যার বাগের তালিকা)। কারণগুলি দুর্বলভাবে ডিজাইন করা ইউজার ইন্টারফেস থেকে শুরু করে সরাসরি প্রোগ্রামিং ত্রুটি পর্যন্ত রয়েছে, উদাহরণস্বরূপ বোয়িং 737 কেস বা অনিচ্ছাকৃত ত্বরণ কেস বা থেরাক-25 কেস দেখুন। এর ফলে কিছু ধরনের সফ্টওয়্যারের বিকাশের প্রয়োজনীয়তা দেখা দেয়, বিশেষত এবং ঐতিহাসিকভাবে চিকিৎসা এবং অন্যান্য ডিভাইসে এম্বেড করা সফ্টওয়্যারের জন্য যা সমালোচনামূলক অবকাঠামো নিয়ন্ত্রণ করেঃ "[ইঞ্জিনিয়াররা যারা এম্বেড করা সফ্টওয়্যার লেখেন] জাভা প্রোগ্রামগুলিকে আবর্জনা সংগ্রহ এবং ইউজার ইন্টারফেস আপডেট করার জন্য এক সেকেন্ডের এক তৃতীয়াংশের জন্য থেমে থাকতে দেখেন, এবং তারা আকাশ থেকে বিমানের পতনের কল্পনা করেন।" মার্কিন যুক্তরাষ্ট্রে, ফেডারেল এভিয়েশন অ্যাডমিনিস্ট্রেশন (এফএএ)-এর মধ্যে, এফএএ এয়ারক্রাফট সার্টিফিকেশন সার্ভিস সফ্টওয়্যার প্রোগ্রাম, নীতি, দিকনির্দেশনা এবং প্রশিক্ষণ প্রদান করে, সফ্টওয়্যার এবং জটিল বৈদ্যুতিন হার্ডওয়্যারের উপর ফোকাস করে যা বায়ুবাহিত পণ্যের উপর প্রভাব ফেলে (একটি "পণ্য" হল একটি বিমান, একটি ইঞ্জিন বা একটি প্রপেলার)। শংসাপত্রের মান যেমন ডিও-178সি, আইএসও 26262, আইইসি 62304 ইত্যাদি। নির্দেশনা প্রদান করুন। খরচ ব্যবস্থাপনাঃ প্রকৌশলের অন্য যে কোনও ক্ষেত্রের মতো, ভাল সফ্টওয়্যার মানের দ্বারা পরিচালিত একটি সফ্টওয়্যার পণ্য বা পরিষেবার রক্ষণাবেক্ষণের জন্য কম খরচ হয়, বোঝা সহজ হয় এবং ব্যবসায়িক প্রয়োজনের প্রতিক্রিয়ায় আরও ব্যয়বহুল পরিবর্তন করতে পারে। শিল্পের তথ্য দেখায় যে মূল ব্যবসায়িক প্রয়োগগুলিতে (যেমন এন্টারপ্রাইজ রিসোর্স প্ল্যানিং (ই. আর. পি), গ্রাহক সম্পর্ক ব্যবস্থাপনা (সি. আর. এম) বা আর্থিক পরিষেবাগুলিতে বড় লেনদেন প্রক্রিয়াকরণ ব্যবস্থা) দুর্বল প্রয়োগ কাঠামোগত মানের ফলে খরচ, সময়সূচী অতিক্রম করে এবং পুনর্নির্মাণের আকারে বর্জ্য তৈরি করে (মুডা (জাপানি শব্দ দেখুন))। উপরন্তু, দুর্বল কাঠামোগত গুণমান দূষিত তথ্য, অ্যাপ্লিকেশন বিভ্রাট, নিরাপত্তা লঙ্ঘন এবং কর্মক্ষমতা সমস্যার কারণে উচ্চ-প্রভাবের ব্যবসায়িক বিঘ্নের সাথে দৃঢ়ভাবে সম্পর্কযুক্ত। নিম্নমানের খরচের উপর সিআইএসকিউ-এর প্রতিবেদনে অনুমান করা হয়েছেঃ 2020 সালে 2 দশমিক 08 ট্রিলিয়ন মার্কিন ডলার, 2018 সালে 2 দশমিক 84 ট্রিলিয়ন মার্কিন ডলার, আইবিএম-এর ডেটা লঙ্ঘনের খরচ প্রতিবেদন 2020-এ অনুমান করা হয়েছে যে ডেটা লঙ্ঘনের গড় বিশ্বব্যাপী খরচঃ 3 কোটি 86 লক্ষ মার্কিন ডলার, সংজ্ঞা আইএসও সফ্টওয়্যারের গুণমান হল "একটি সফ্টওয়্যার পণ্যের প্রয়োজনীয়তা মেনে চলার ক্ষমতা"। অন্যদের জন্য এটি গ্রাহক-বা মূল্য-সৃষ্টি বা এমনকি ত্রুটি স্তরের সমার্থক হতে পারে। এএসকিউ এএসকিউ নিম্নলিখিত সংজ্ঞাটি ব্যবহার করেঃ সফ্টওয়্যারের গুণমান সফ্টওয়্যার পণ্যগুলির কাঙ্ক্ষিত বৈশিষ্ট্যগুলি বর্ণনা করে। দুটি প্রধান পন্থা রয়েছেঃ ত্রুটি ব্যবস্থাপনা এবং গুণগত বৈশিষ্ট্য। এনআইএসটি সফ্টওয়্যার অ্যাসুরেন্স (এসএ) সম্পত্তি এবং এটি অর্জনের প্রক্রিয়া উভয়কেই অন্তর্ভুক্ত করেঃ [ন্যায়সঙ্গত] বিশ্বাস যে সফ্টওয়্যারটি দুর্বলতা থেকে মুক্ত, হয় ইচ্ছাকৃতভাবে সফ্টওয়্যারটিতে ডিজাইন করা হয়েছে বা দুর্ঘটনাক্রমে তার জীবনচক্রের যে কোনও সময়ে ঢোকানো হয়েছে এবং সফ্টওয়্যারটি উদ্দেশ্যমূলক পদ্ধতিতে কাজ করে এমন ক্রিয়াকলাপগুলির পরিকল্পিত এবং নিয়মতান্ত্রিক সেট যা নিশ্চিত করে যে সফ্টওয়্যার জীবনচক্র প্রক্রিয়া এবং পণ্যগুলি প্রয়োজনীয়তা, মান এবং পদ্ধতির সাথে সামঞ্জস্যপূর্ণ পিএমআই প্রকল্প পরিচালন ইনস্টিটিউটের পিএমবিওকে গাইড "সফ্টওয়্যার এক্সটেনশন" নিজেই "সফ্টওয়্যার গুণমান" সংজ্ঞায়িত করে না, তবে সফ্টওয়্যার গুণমান নিশ্চয়তা (এসকিউএ) "একটি অবিচ্ছিন্ন প্রক্রিয়া যা অন্যান্য সফ্টওয়্যার প্রক্রিয়াগুলিকে নিরীক্ষণ করে যাতে নিশ্চিত করে যে সেই প্রক্রিয়াগুলি অনুসরণ করা হচ্ছে (উদাহরণস্বরূপ একটি সফ্টওয়্যার গুণমান পরিচালন পরিকল্পনা অন্তর্ভুক্ত)"। যেখানে সফ্টওয়্যার কোয়ালিটি কন্ট্রোল (এস. সি. কিউ)-এর অর্থ হল "উন্নয়ন বা পরিবর্তনের অধীনে থাকা কোনও সফ্টওয়্যারের জন্য গুণমানের প্রয়োজনীয়তার প্রতি কাজের পণ্যগুলির সন্তুষ্টি নিশ্চিত করার জন্য পদ্ধতি, সরঞ্জাম, কৌশল প্রয়োগের যত্ন নেওয়া"। অন্যান্য সাধারণ এবং ঐতিহাসিক গুণগত ইতিহাসের প্রথম সংজ্ঞাটি 20 শতকের শুরুতে শেওয়ার্ট থেকে স্মরণ করা হয়ঃ "গুণমানের দুটি সাধারণ দিক রয়েছেঃ তাদের মধ্যে একটি বস্তুর গুণমানকে মানুষের অস্তিত্ব থেকে স্বাধীন একটি বস্তুনিষ্ঠ বাস্তবতা হিসাবে বিবেচনা করার সাথে সম্পর্কিত। অন্যটি বস্তুনিষ্ঠ বাস্তবতার ফলে আমরা যা ভাবি, অনুভব করি বা অনুভব করি তার সাথে সম্পর্কিত। অন্য কথায়, গুণমানের একটি বিষয়গত দিক রয়েছে। ডেভিড গারভিনের শিক্ষার আরও বিবরণ দিয়ে কিচনহ্যাম এবং ফ্লিগার গুণমান সম্পর্কে পাঁচটি ভিন্ন দৃষ্টিভঙ্গি চিহ্নিত করেছেনঃ গুণমানের অধিবিদ্যামূলক দিক নিয়ে অতীন্দ্রিয় দৃষ্টিভঙ্গি আলোচনা করে। গুণমানের এই দৃষ্টিভঙ্গিতে, এটি "এমন কিছু যা আমরা একটি আদর্শ হিসাবে চেষ্টা করি, কিন্তু কখনই সম্পূর্ণরূপে বাস্তবায়ন করতে পারি না।" এটি খুব কমই সংজ্ঞায়িত করা যেতে পারে, তবে একজন ফেডারেল বিচারক একবার অশ্লীলতা সম্পর্কে যা মন্তব্য করেছিলেন তার অনুরূপঃ "আমি যখন এটি দেখি তখন আমি এটি জানি"। ব্যবহারকারীর দৃষ্টিভঙ্গি একটি প্রদত্ত ব্যবহারের প্রেক্ষাপটে পণ্যটির উপযুক্ততার সাথে সম্পর্কিত। যেখানে অতীন্দ্রিয় দৃশ্যটি অলৌকিক, ব্যবহারকারীর দৃষ্টিভঙ্গি আরও দৃঢ়, যা ব্যবহারকারীর চাহিদা পূরণ করে এমন পণ্যের বৈশিষ্ট্যগুলির উপর ভিত্তি করে। উৎপাদনের দৃষ্টিভঙ্গি প্রয়োজনীয়তার সাথে সামঞ্জস্য হিসাবে গুণমানকে উপস্থাপন করে। গুণমানের এই দিকটি আইএসও 9001-এর মতো মান দ্বারা জোর দেওয়া হয়, যা গুণমানকে সংজ্ঞায়িত করে "যে মাত্রায় অন্তর্নিহিত বৈশিষ্ট্যগুলির একটি সেট প্রয়োজনীয়তা পূরণ করে" (আইএসও/আইইসি 9001)। পণ্যের দৃষ্টিভঙ্গি বোঝায় যে পণ্যের অন্তর্নিহিত বৈশিষ্ট্যগুলি পরিমাপ করে গুণমানের প্রশংসা করা যেতে পারে। গুণমানের চূড়ান্ত দৃষ্টিভঙ্গি হল মূল্য-ভিত্তিক। এই দৃষ্টিভঙ্গি স্বীকার করে যে গুণমানের বিভিন্ন দৃষ্টিভঙ্গির বিভিন্ন অংশীদারদের কাছে বিভিন্ন গুরুত্ব বা মূল্য থাকতে পারে। টম ডেমারকো প্রস্তাব করেছেন যে "একটি পণ্যের গুণমান হল একটি ফাংশন যে এটি বিশ্বকে আরও ভালোর জন্য কতটা পরিবর্তন করে"। এর অর্থ হিসাবে ব্যাখ্যা করা যেতে পারে যে সফ্টওয়্যারের গুণমান নির্ধারণে কাঠামোগত মানের চেয়ে কার্যকরী গুণমান এবং ব্যবহারকারীর সন্তুষ্টি বেশি গুরুত্বপূর্ণ। আরেকটি সংজ্ঞা, যা জেরাল্ড ওয়েইনবার্গ কোয়ালিটি সফ্টওয়্যার ম্যানেজমেন্টঃ সিস্টেমস থিঙ্কিং-এ উদ্ভাবন করেছেন, তা হল "কোনও ব্যক্তির কাছে গুণমানই মূল্য"। এই সংজ্ঞাটি জোর দেয় যে গুণমান সহজাতভাবে বিষয়গত-বিভিন্ন মানুষ একই সফ্টওয়্যারের গুণমানকে ভিন্নভাবে অনুভব করবে। এই সংজ্ঞার একটি শক্তি হল সফ্টওয়্যার দলগুলিকে বিবেচনা করার জন্য আমন্ত্রণ জানানো প্রশ্নগুলি, যেমন "আমরা আমাদের সফ্টওয়্যারকে মূল্য দিতে চাই এমন লোক কারা?" এবং "তাদের কাছে কী মূল্যবান হবে?" অন্যান্য অর্থ এবং বিতর্ক গুণমান সংজ্ঞায়িত করার ক্ষেত্রে একটি চ্যালেঞ্জ হল যে "প্রত্যেকে মনে করে যে তারা এটি বুঝতে পেরেছে" এবং সফ্টওয়্যার মানের অন্যান্য সংজ্ঞা ব্যবসায় ব্যবহৃত মানের ধারণার বিভিন্ন বিবরণ সম্প্রসারণের উপর ভিত্তি করে হতে পারে। সফ্টওয়্যারের গুণমান প্রায়শই কোয়ালিটি অ্যাসুরেন্স বা প্রবলেম রেজোলিউশন ম্যানেজমেন্ট বা কোয়ালিটি কন্ট্রোল বা ডিভোপসের সাথে মিশে যায়। এটি পূর্বে উল্লিখিত ক্ষেত্রগুলির সাথে ওভার-ল্যাপ করে (পি. এম. আই সংজ্ঞাও দেখুন), তবে এটি স্বতন্ত্র কারণ এটি কেবল পরীক্ষার দিকেই নয়, প্রক্রিয়া, পরিচালনা, উন্নতি, মূল্যায়ন ইত্যাদির দিকেও মনোনিবেশ করে। পরিমাপ যদিও এই বিভাগে উপস্থাপিত ধারণাগুলি কাঠামোগত এবং কার্যকরী উভয় সফ্টওয়্যার মানের ক্ষেত্রেই প্রযোজ্য, তবে পরেরটির পরিমাপ মূলত পরীক্ষার মাধ্যমে করা হয় [মূল নিবন্ধটি দেখুনঃ সফ্টওয়্যার পরীক্ষা]। তবে, পরীক্ষা যথেষ্ট নয়ঃ একটি সমীক্ষা অনুসারে, পৃথক প্রোগ্রামাররা তাদের নিজস্ব সফ্টওয়্যারে বাগ খুঁজে পেতে 50 শতাংশেরও কম দক্ষ। এবং বেশিরভাগ ধরনের পরীক্ষা মাত্র 35 শতাংশ কার্যকর। এর ফলে [সফ্টওয়্যারের] গুণমান নির্ধারণ করা কঠিন হয়ে পড়ে। পরিচিতি সফ্টওয়্যারের গুণমান পরিমাপ হল একটি সিস্টেম বা সফ্টওয়্যার কতটা কাঙ্ক্ষিত বৈশিষ্ট্য ধারণ করে তার পরিমাণ নির্ধারণ করা। এটি গুণগত বা পরিমাণগত উপায়ে বা উভয়ের মিশ্রণের মাধ্যমে সম্পাদন করা যেতে পারে। উভয় ক্ষেত্রেই, প্রতিটি কাঙ্ক্ষিত বৈশিষ্ট্যের জন্য, পরিমাপযোগ্য বৈশিষ্ট্যগুলির একটি সেট রয়েছে যার অস্তিত্ব সফ্টওয়্যার বা সিস্টেমের একটি অংশে এই বৈশিষ্ট্যের সাথে সম্পর্কযুক্ত এবং যুক্ত হতে থাকে। উদাহরণস্বরূপ, বহনযোগ্যতার সাথে যুক্ত একটি বৈশিষ্ট্য হল একটি প্রোগ্রামে লক্ষ্য-নির্ভর বিবৃতির সংখ্যা। আরও সুনির্দিষ্টভাবে বলতে গেলে, কোয়ালিটি ফাংশন ডিপ্লোয়মেন্ট পদ্ধতি ব্যবহার করে, এই পরিমাপযোগ্য বৈশিষ্ট্যগুলি হল "কিভাবে" যা উপরের সফ্টওয়্যার কোয়ালিটির সংজ্ঞায় "হোয়াটস" সক্ষম করার জন্য প্রয়োগ করা প্রয়োজন। সফ্টওয়্যারের গুণমান ব্যবস্থাপনার ক্ষেত্রে প্রযোজ্য বৈশিষ্ট্য এবং পরিমাপের কাঠামো, শ্রেণিবিন্যাস এবং পরিভাষা আইএসও 9126-3 এবং পরবর্তী আইএসও/আইইসি 25000:2005 গুণমান মডেল থেকে উদ্ভূত বা নিষ্কাশিত হয়েছে। প্রধান ফোকাস অভ্যন্তরীণ কাঠামোগত মানের উপর। ব্যবসায়িক অ্যাপ্লিকেশন স্থাপত্য এবং প্রযুক্তিগত বৈশিষ্ট্য যেমন ডেটা অ্যাক্সেস এবং ম্যানিপুলেশন বা লেনদেনের ধারণার মতো নির্দিষ্ট ক্ষেত্রগুলি পরিচালনা করার জন্য উপবিভাগ তৈরি করা হয়েছে। সফ্টওয়্যার মানের বৈশিষ্ট্য এবং তাদের পরিমাপযোগ্য বৈশিষ্ট্যগুলির মধ্যে নির্ভরতা গাছটি ডানদিকে চিত্রটিতে প্রতিনিধিত্ব করা হয়েছে, যেখানে ব্যবহারকারী (ডান) বা ব্যবসায়িক ব্যবস্থার মালিকের জন্য গুরুত্বপূর্ণ 5 টি বৈশিষ্ট্যের প্রতিটি পরিমাপযোগ্য বৈশিষ্ট্যের উপর নির্ভর করে (বাম): অ্যাপ্লিকেশন আর্কিটেকচার অনুশীলন কোডিং অনুশীলন অ্যাপ্লিকেশন জটিলতা ডকুমেন্টেশন পোর্টেবিলিটি প্রযুক্তিগত এবং কার্যকরী ভলিউম প্রোগ্রামিং ত্রুটি এবং উত্পাদন ত্রুটির মধ্যে সম্পর্ক প্রকাশ করে যে মৌলিক কোড ত্রুটিগুলি সোর্স কোডের মোট ত্রুটির 92 শতাংশের জন্য দায়ী। এই অসংখ্য কোড-স্তরের সমস্যাগুলি শেষ পর্যন্ত উৎপাদনের ত্রুটির মাত্র 10 শতাংশের জন্য গণনা করা হয়। স্থাপত্য স্তরে খারাপ সফ্টওয়্যার ইঞ্জিনিয়ারিং অনুশীলনগুলি মোট ত্রুটির মাত্র 8 শতাংশের জন্য দায়ী, তবে সমস্যা সমাধানে ব্যয় করা অর্ধেকেরও বেশি প্রচেষ্টা ব্যয় করে এবং উৎপাদনে গুরুতর নির্ভরযোগ্যতা, সুরক্ষা এবং দক্ষতার 90 শতাংশের দিকে পরিচালিত করে। কোড-ভিত্তিক বিশ্লেষণ বিদ্যমান অনেক সফ্টওয়্যার পরিমাপ অ্যাপ্লিকেশনের কাঠামোগত উপাদানগুলিকে গণনা করে যা এই জাতীয় পৃথক নির্দেশাবলী টোকেন নিয়ন্ত্রণ কাঠামো (জটিলতা) এবং বস্তুর জন্য সোর্স কোড বিশ্লেষণ করার ফলে ঘটে। সফ্টওয়্যারের গুণমান পরিমাপ হল এই মাত্রাগুলির সাথে একটি সিস্টেম বা সফ্টওয়্যার কতটা রেট দেয় তা পরিমাপ করা। বিশ্লেষণ একটি গুণগত বা পরিমাণগত পদ্ধতি বা উভয়ের মিশ্রণ ব্যবহার করে একটি সামগ্রিক দৃষ্টিভঙ্গি প্রদান করে করা যেতে পারে [উদাহরণস্বরূপ ওজনযুক্ত গড় (গুলি) ব্যবহার করে যা পরিমাপ করা হচ্ছে এমন কারণগুলির মধ্যে আপেক্ষিক গুরুত্ব প্রতিফলিত করে]। একটি রৈখিক ধারাবাহিকতায় সফ্টওয়্যার মানের এই দৃষ্টিভঙ্গিকে পৃথক সমালোচনামূলক প্রোগ্রামিং ত্রুটিগুলির সনাক্তকরণ দ্বারা পরিপূরক করতে হবে। এই দুর্বলতাগুলি একটি পরীক্ষার ক্ষেত্রে ব্যর্থ নাও হতে পারে, তবে এগুলি খারাপ অনুশীলনের ফলাফল যা নির্দিষ্ট পরিস্থিতিতে বিপর্যয়কর বিভ্রাট, কর্মক্ষমতার অবনতি, সুরক্ষা লঙ্ঘন, দূষিত তথ্য এবং অগণিত অন্যান্য সমস্যার কারণ হতে পারে যা একটি প্রদত্ত সিস্টেমকে কার্যত ব্যবহারের জন্য অনুপযুক্ত করে তোলে সামগ্রিক পরিমাপের উপর ভিত্তি করে তার রেটিং নির্বিশেষে। দুর্বলতার একটি সুপরিচিত উদাহরণ হল সাধারণ দুর্বলতা গণনা, উৎস কোডে দুর্বলতার একটি ভাণ্ডার যা অ্যাপ্লিকেশনগুলিকে নিরাপত্তা লঙ্ঘনের সংস্পর্শে নিয়ে আসে। সমালোচনামূলক প্রয়োগের বৈশিষ্ট্যগুলির পরিমাপে অ্যাপ্লিকেশনের স্থাপত্য, কোডিং এবং ইন-লাইন ডকুমেন্টেশনের কাঠামোগত বৈশিষ্ট্যগুলি পরিমাপ করা হয়, যা উপরের ছবিতে প্রদর্শিত হয়েছে। সুতরাং, প্রতিটি বৈশিষ্ট্য প্রয়োগের বিমূর্ততার অসংখ্য স্তরে বৈশিষ্ট্য দ্বারা প্রভাবিত হয় এবং যদি এটি ব্যবসায়কে প্রভাবিত করে এমন মানের ফলাফলের একটি মূল্যবান ভবিষ্যদ্বাণীকারী হতে হয় তবে বৈশিষ্ট্যটির পরিমাপ গণনা করার জন্য এগুলি অবশ্যই অন্তর্ভুক্ত করতে হবে। উপরের চিত্রে প্রদর্শিত চরিত্রগত পরিমাপগুলি গণনা করার জন্য স্তরযুক্ত পদ্ধতিটি প্রথমে টিআরডাব্লু (বোহেম, 1978)-তে বোহেম এবং তাঁর সহকর্মীদের দ্বারা প্রস্তাবিত হয়েছিল এবং এটি আইএসও 9126 এবং 25000 সিরিজের মানগুলিতে গৃহীত পদ্ধতি। এই বৈশিষ্ট্যগুলি অ্যাপ্লিকেশন সোর্স কোডের স্ট্যাটিক বিশ্লেষণের পার্স করা ফলাফল থেকে পরিমাপ করা যেতে পারে। এমনকি নির্ভরযোগ্যতা এবং কার্যকারিতা দক্ষতার মতো অ্যাপ্লিকেশনগুলির গতিশীল বৈশিষ্ট্যগুলির কারণগত শিকড় অ্যাপ্লিকেশনটির স্থির কাঠামোতে রয়েছে। কাঠামোগত গুণমান বিশ্লেষণ এবং পরিমাপ সোর্স কোড, স্থাপত্য, সফ্টওয়্যার কাঠামো, নীতি এবং মানগুলির সাথে সম্পর্কিত ডাটাবেস স্কিমার বিশ্লেষণের মাধ্যমে সঞ্চালিত হয় যা একসাথে একটি সিস্টেমের ধারণাগত এবং যৌক্তিক স্থাপত্যকে সংজ্ঞায়িত করে। এটি সাধারণত উন্নয়ন সরঞ্জাম দ্বারা সম্পাদিত মৌলিক, স্থানীয়, উপাদান-স্তরের কোড বিশ্লেষণ থেকে আলাদা যা বেশিরভাগ ক্ষেত্রে বাস্তবায়নের বিবেচনার সাথে সম্পর্কিত এবং ডিবাগিং এবং পরীক্ষার ক্রিয়াকলাপের সময় গুরুত্বপূর্ণ। নির্ভরযোগ্যতা দুর্বল নির্ভরযোগ্যতার মূল কারণগুলি ভাল স্থাপত্য এবং কোডিং অনুশীলনের সাথে অ-সম্মতির সংমিশ্রণে পাওয়া যায়। কোনও অ্যাপ্লিকেশনের স্থির মানের বৈশিষ্ট্যগুলি পরিমাপ করে এই অসঙ্গতি সনাক্ত করা যেতে পারে। একটি অ্যাপ্লিকেশনের নির্ভরযোগ্যতার অন্তর্নিহিত স্থির বৈশিষ্ট্যগুলি মূল্যায়ন করা ব্যবসায়িক ঝুঁকির মাত্রা এবং সম্ভাব্য অ্যাপ্লিকেশন ব্যর্থতা এবং ত্রুটির সম্ভাবনা সম্পর্কে একটি অনুমান প্রদান করে যা অ্যাপ্লিকেশনটি পরিচালনার সময় অনুভব করবে। নির্ভরযোগ্যতা মূল্যায়নের জন্য কমপক্ষে নিম্নলিখিত সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের সর্বোত্তম অনুশীলন এবং প্রযুক্তিগত বৈশিষ্ট্যগুলি পরীক্ষা করা প্রয়োজনঃ অ্যাপ্লিকেশন আর্কিটেকচার অনুশীলন কোডিং অনুশীলন অ্যালগরিদমের জটিলতা প্রোগ্রামিং অনুশীলনের জটিলতা অবজেক্ট-ওরিয়েন্টেড এবং স্ট্রাকচার্ড প্রোগ্রামিং সর্বোত্তম অনুশীলনের সাথে সম্মতি (যখন প্রযোজ্য) উপাদান বা প্যাটার্ন পুনরায় ব্যবহারের অনুপাত নোংরা প্রোগ্রামিং ত্রুটি এবং ব্যতিক্রম পরিচালনা (সমস্ত স্তরের জন্য-জিইউআই, লজিক এবং ডেটা) মাল্টি-লেয়ার ডিজাইন সম্মতি রিসোর্স বাউন্ড ম্যানেজমেন্ট সফ্টওয়্যার এমন নিদর্শনগুলি এড়িয়ে চলে যা অপ্রত্যাশিত আচরণের দিকে পরিচালিত করবে সফ্টওয়্যার ডেটা অখণ্ডতা এবং ধারাবাহিকতা পরিচালনা করে লেনদেনের জটিলতা স্তর অ্যাপ্লিকেশন আর্কিটেকচারের উপর নির্ভর করে এবং তৃতীয় পক্ষের উপাদানগুলি (যেমন বাহ্যিক লাইব্রেরি বা ফ্রেমওয়ার্ক) ব্যবহৃত হয়, কাস্টম চেকগুলি সর্বোত্তম অনুশীলনের উপরের তালিকা দ্বারা আঁকা লাইনগুলির সাথে সংজ্ঞায়িত করা উচিত। কার্যকারিতা নির্ভরযোগ্যতার মতো, কর্মক্ষমতার অদক্ষতার কারণগুলি প্রায়শই ভাল স্থাপত্য এবং কোডিং অনুশীলনের লঙ্ঘনের মধ্যে পাওয়া যায় যা কোনও অ্যাপ্লিকেশনের স্থির মানের বৈশিষ্ট্যগুলি পরিমাপ করে সনাক্ত করা যায়। এই স্থির বৈশিষ্ট্যগুলি সম্ভাব্য কার্যকরী কর্মক্ষমতার বাধাগুলি এবং ভবিষ্যতের স্কেলিবিলিটি সমস্যাগুলির পূর্বাভাস দেয়, বিশেষত জটিল অ্যালগরিদম বা বিপুল পরিমাণে ডেটা পরিচালনা করার জন্য উচ্চ সম্পাদন গতির প্রয়োজন এমন অ্যাপ্লিকেশনগুলির জন্য। কর্মক্ষমতার মূল্যায়নের জন্য কমপক্ষে নিম্নলিখিত সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের সর্বোত্তম অনুশীলন এবং প্রযুক্তিগত বৈশিষ্ট্যগুলি পরীক্ষা করা প্রয়োজনঃ অ্যাপ্লিকেশন আর্কিটেকচার অনুশীলন ব্যয়বহুল এবং/অথবা দূরবর্তী সংস্থানগুলির সাথে উপযুক্ত মিথস্ক্রিয়া ডেটা অ্যাক্সেস পারফরম্যান্স এবং ডেটা ম্যানেজমেন্ট মেমরি, নেটওয়ার্ক এবং ডিস্ক স্পেস ম্যানেজমেন্ট কোডিং অনুশীলনের সাথে সম্মতি (সেরা কোডিং অনুশীলন) সুরক্ষা সফ্টওয়্যার মানের মধ্যে সফ্টওয়্যার সুরক্ষা অন্তর্ভুক্ত রয়েছে। দুর্বল কোডিং এবং এসকিউএল ইনজেকশন বা ক্রস-সাইট স্ক্রিপ্টিংয়ের মতো স্থাপত্য অনুশীলনের ফলে অনেক নিরাপত্তা দুর্বলতা দেখা দেয়। এগুলি সিডব্লিউই এবং কার্নেগি মেলন বিশ্ববিদ্যালয়ের এসইআই/কম্পিউটার ইমার্জেন্সি সেন্টার (সিইআরটি) দ্বারা রক্ষণাবেক্ষণ করা তালিকাগুলিতে ভালভাবে নথিভুক্ত করা হয়েছে। নিরাপত্তা মূল্যায়নের জন্য কমপক্ষে নিম্নলিখিত সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের সর্বোত্তম অনুশীলন এবং প্রযুক্তিগত বৈশিষ্ট্যগুলি পরীক্ষা করা প্রয়োজনঃ বাস্তবায়ন, একটি নিরাপত্তা-সচেতন এবং কঠোর উন্নয়ন প্রক্রিয়া পরিচালনা, যেমন। সিকিউরিটি ডেভেলপমেন্ট লাইফসাইকেল (মাইক্রোসফট) বা আইবিএম-এর সিকিউর ইঞ্জিনিয়ারিং ফ্রেমওয়ার্ক। সিকিউর অ্যাপ্লিকেশন আর্কিটেকচার প্র্যাকটিস মাল্টি-লেয়ার ডিজাইন কমপ্লায়েন্স সিকিউরিটি বেস্ট প্র্যাকটিস (ইনপুট ভ্যালিডেশন, এসকিউএল ইনজেকশন, ক্রস-সাইট স্ক্রিপ্টিং, অ্যাক্সেস কন্ট্রোল ইত্যাদি) নিরাপদ এবং ভাল প্রোগ্রামিং অনুশীলন ত্রুটি ও ব্যতিক্রম পরিচালনা রক্ষণাবেক্ষণযোগ্যতার মধ্যে রয়েছে মডুলারিটি, বোধগম্যতা, পরিবর্তনশীলতা, পরীক্ষামূলকতা, পুনঃব্যবহারযোগ্যতা এবং এক উন্নয়ন দল থেকে অন্য দলে স্থানান্তরযোগ্যতার ধারণা। এগুলি কোড স্তরে সমালোচনামূলক সমস্যার রূপ নেয় না। বরং, দুর্বল রক্ষণাবেক্ষণযোগ্যতা সাধারণত ডকুমেন্টেশন, জটিলতা এড়ানোর কৌশল এবং মৌলিক প্রোগ্রামিং অনুশীলনের সর্বোত্তম অনুশীলনের সাথে হাজার হাজার ছোটখাটো লঙ্ঘনের ফলাফল যা পরিষ্কার এবং সহজে পড়া কোড বনাম অসংগঠিত এবং পড়া কঠিন কোডের মধ্যে পার্থক্য তৈরি করে। রক্ষণাবেক্ষণযোগ্যতা মূল্যায়নের জন্য নিম্নলিখিত সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের সর্বোত্তম অনুশীলন এবং প্রযুক্তিগত বৈশিষ্ট্যগুলি পরীক্ষা করা প্রয়োজনঃ অ্যাপ্লিকেশন আর্কিটেকচার অনুশীলন কোড পঠনযোগ্যতা কোডে এম্বেড করা স্থাপত্য, প্রোগ্রাম এবং কোড ডকুমেন্টেশন লেনদেনগুলির জটিলতা স্তর অ্যালগরিদমের জটিলতা প্রোগ্রামিং অনুশীলনের জটিলতা অবজেক্ট-ওরিয়েন্টেড এবং স্ট্রাকচার্ড প্রোগ্রামিং সর্বোত্তম অনুশীলনের সাথে সম্মতি (যখন প্রযোজ্য) উপাদান বা প্যাটার্ন পুনরায় ব্যবহারের অনুপাত নিয়ন্ত্রিত গতিশীল কোডিং কাপলিং অনুপাত নোংরা প্রোগ্রামিং ডকুমেন্টেশন হার্ডওয়্যার, ওএস, মিডলওয়্যার, সফ্টওয়্যার উপাদান এবং ডাটাবেস স্বাধীনতা বহু-স্তরের নকশা সম্মতি পোর্টেবিলিটি প্রোগ্রামিং অনুশীলন (কোড স্তর) হ্রাসকৃত ডুপ্লিকেট কোড এবং ফাংশন সোর্স কোড ফাইল সংস্থা স্বচ্ছতা রক্ষণাবেক্ষণ ওয়ার্ড কানিংহামের প্রযুক্তিগত ঋণের ধারণার সাথে ঘনিষ্ঠভাবে সম্পর্কিত, যা একটি রক্ষণাবেক্ষণযোগ্যতা কম হওয়ার কারণগুলিকে বেপরোয়া বনাম বিচক্ষণ এবং ইচ্ছাকৃত বনাম অসাবধান হিসাবে শ্রেণীবদ্ধ করা যেতে পারে এবং প্রায়শই তাদের উৎপত্তি বিকাশকারীদের অক্ষমতা, সময় ও লক্ষ্যের অভাব, তাদের অসাবধানতা এবং নির্মাণ ব্যয়ের মধ্যে অসঙ্গতি এবং ডকুমেন্টেশন থেকে সুবিধা এবং বিশেষত, রক্ষণাবেক্ষণযোগ্য সোর্স কোড। আকার পরিমাপ সফ্টওয়্যারের আকারের জন্য সম্পূর্ণ সোর্স কোড সঠিকভাবে সংগ্রহ করা প্রয়োজন, যার মধ্যে রয়েছে ডাটাবেস স্ট্রাকচার স্ক্রিপ্ট, ডেটা ম্যানিপুলেশন সোর্স কোড, কম্পোনেন্ট হেডার, কনফিগারেশন ফাইল ইত্যাদি। পরিমাপ করার জন্য মূলত দুই ধরনের সফ্টওয়্যার আকার রয়েছে, প্রযুক্তিগত আকার (পদচিহ্ন) এবং কার্যকরী আকারঃ বেশ কয়েকটি সফ্টওয়্যার প্রযুক্তিগত আকারের পদ্ধতি রয়েছে যা ব্যাপকভাবে বর্ণনা করা হয়েছে। সবচেয়ে সাধারণ প্রযুক্তিগত মাপ পদ্ধতি হল প্রতি প্রযুক্তিতে লাইনের কোডের সংখ্যা (#LOC), ফাইলের সংখ্যা, ফাংশন, ক্লাস, টেবিল ইত্যাদি, যা থেকে ব্যাকফায়ারিং ফাংশন পয়েন্ট গণনা করা যেতে পারে; কার্যকরী আকার পরিমাপের জন্য সবচেয়ে সাধারণ হল ফাংশন পয়েন্ট বিশ্লেষণ। ফাংশন পয়েন্ট বিশ্লেষণ ব্যবহারকারীর দৃষ্টিকোণ থেকে বিতরণযোগ্য সফ্টওয়্যারটির আকার পরিমাপ করে। ফাংশন পয়েন্ট সাইজিং ব্যবহারকারীর প্রয়োজনীয়তার উপর ভিত্তি করে করা হয় এবং ডেভেলপার/প্রাক্কলনকারী এবং মূল্য (কার্যকারিতা সরবরাহ করা হবে) উভয়ের জন্য আকারের একটি সঠিক উপস্থাপনা প্রদান করে এবং গ্রাহকের কাছে বিতরণ করা ব্যবসায়িক কার্যকারিতা প্রতিফলিত করে। এই পদ্ধতিতে ব্যবহারকারীর স্বীকৃত ইনপুট, আউটপুট এবং ডেটা স্টোরের সনাক্তকরণ এবং ওজন অন্তর্ভুক্ত রয়েছে। এরপরে আকারের মানটি সফ্টওয়্যার সরবরাহ এবং কার্যকারিতা পরিমাপ এবং মূল্যায়নের জন্য অসংখ্য পরিমাপের সাথে ব্যবহারের জন্য উপলব্ধ (ফাংশন পয়েন্ট প্রতি উন্নয়ন ব্যয়; ফাংশন পয়েন্ট প্রতি বিতরণ ত্রুটি; প্রতি কর্মী মাসে ফাংশন পয়েন্ট)। ফাংশন পয়েন্ট বিশ্লেষণ মাপের মানটি আন্তর্জাতিক ফাংশন পয়েন্ট ব্যবহারকারী গোষ্ঠী (আই. এফ. পি. ইউ. জি) দ্বারা সমর্থিত। এটি সফ্টওয়্যার বিকাশের জীবনচক্রের প্রথম দিকে প্রয়োগ করা যেতে পারে এবং এটি কিছুটা ভুল ব্যাকফায়ারিং পদ্ধতির মতো কোডের লাইনের উপর নির্ভরশীল নয়। পদ্ধতিটি প্রযুক্তিগত অজ্ঞেয়বাদী এবং সংগঠন এবং শিল্প জুড়ে তুলনামূলক বিশ্লেষণের জন্য ব্যবহার করা যেতে পারে। ফাংশন পয়েন্ট বিশ্লেষণের সূচনার পর থেকে, বিভিন্ন বৈচিত্র্য বিকশিত হয়েছে এবং কার্যকরী মাপের কৌশলগুলির পরিবারটি কসমিক, এনইএসএমএ, ইউজ কেস পয়েন্ট, এফপি লাইট, আর্লি এবং কুইক এফপি এবং সাম্প্রতিকতম স্টোরি পয়েন্টের মতো মাপের পরিমাপগুলিকে অন্তর্ভুক্ত করার জন্য বিস্তৃত হয়েছে। যাইহোক, ফাংশন পয়েন্টগুলির পরিসংখ্যানগত নির্ভুলতার ইতিহাস রয়েছে এবং অসংখ্য অ্যাপ্লিকেশন ডেভেলপমেন্ট ম্যানেজমেন্ট (এডিএম) বা আউটসোর্সিং ব্যস্ততায় কাজের পরিমাপের একটি সাধারণ একক হিসাবে ব্যবহৃত হয়েছে, যা "মুদ্রা" হিসাবে কাজ করে যার দ্বারা পরিষেবাগুলি সরবরাহ করা হয় এবং কর্মক্ষমতা পরিমাপ করা হয়। ফাংশন পয়েন্ট পদ্ধতির একটি সাধারণ সীমাবদ্ধতা হ 'ল এটি একটি ম্যানুয়াল প্রক্রিয়া এবং তাই এটি অ্যাপ্লিকেশন বিকাশ বা আউটসোর্সিং ব্যস্ততার মতো বড় আকারের উদ্যোগগুলিতে শ্রম-নিবিড় এবং ব্যয়বহুল হতে পারে। পদ্ধতি প্রয়োগের এই নেতিবাচক দিকটি হতে পারে আইটি সফ্টওয়্যার মানের জন্য কনসোর্টিয়াম গঠনের জন্য শিল্প আইটি নেতাদের অনুপ্রাণিত করেছিল যা সফ্টওয়্যারের আকার পরিমাপের জন্য স্বয়ংক্রিয়ভাবে একটি গণনাযোগ্য মেট্রিক মান প্রবর্তনের দিকে মনোনিবেশ করেছিল এবং আইএফপিইউজি একটি ম্যানুয়াল পদ্ধতির প্রচার করে চলেছে কারণ এর বেশিরভাগ ক্রিয়াকলাপ এফপি কাউন্টার শংসাপত্রের উপর নির্ভর করে। সিআইএসকিউ মাপকে সংজ্ঞায়িত করে খরচ অনুমান, অগ্রগতি ট্র্যাকিং বা অন্যান্য সম্পর্কিত সফ্টওয়্যার প্রকল্প পরিচালনার ক্রিয়াকলাপগুলিকে সমর্থন করার জন্য সফ্টওয়্যারের আকার অনুমান করার জন্য। দুটি মান ব্যবহার করা হয়ঃ সফ্টওয়্যারের কার্যকরী আকার পরিমাপ করতে স্বয়ংক্রিয় ফাংশন পয়েন্ট এবং এক পরিমাপে কার্যকরী এবং অ-কার্যকরী উভয় কোডের আকার পরিমাপ করতে স্বয়ংক্রিয় বর্ধন পয়েন্ট। জটিল প্রোগ্রামিং ত্রুটিগুলি চিহ্নিত করা গুরুত্বপূর্ণ প্রোগ্রামিং ত্রুটিগুলি নির্দিষ্ট স্থাপত্য এবং/অথবা কোডিং খারাপ অনুশীলন যা সর্বোচ্চ, তাৎক্ষণিক বা দীর্ঘমেয়াদী, ব্যবসায়িক ব্যাঘাতের ঝুঁকির ফলস্বরূপ। এগুলি প্রায়শই প্রযুক্তি-সম্পর্কিত এবং প্রসঙ্গ, ব্যবসায়িক উদ্দেশ্য এবং ঝুঁকির উপর ব্যাপকভাবে নির্ভর করে। কেউ কেউ হয়তো নিয়মাবলীর নামকরণের প্রতি সম্মানের কথা বিবেচনা করতে পারে, অন্যদিকে অন্যরা-উদাহরণস্বরূপ, যারা জ্ঞান হস্তান্তরের জন্য ভিত্তি প্রস্তুত করছে-এটিকে একেবারেই সমালোচনামূলক বলে বিবেচনা করবে। সমালোচনামূলক প্রোগ্রামিং ত্রুটিগুলিও সিআইএসকিউ বৈশিষ্ট্য অনুসারে শ্রেণীবদ্ধ করা যেতে পারে। নীচের মৌলিক উদাহরণটি হলঃ নির্ভরযোগ্যতা এমন সফ্টওয়্যার প্যাটার্নগুলি এড়িয়ে চলুন যা অপ্রত্যাশিত আচরণের দিকে পরিচালিত করবে (প্রাথমিক পরিবর্তনশীল, নাল পয়েন্টার ইত্যাদি)। সন্নিবেশ, হালনাগাদ, মুছে ফেলা, টেবিল তৈরি বা নির্বাচন করার পদ্ধতি, পদ্ধতি এবং ক্রিয়াকলাপে অবশ্যই ত্রুটি ব্যবস্থাপনা অন্তর্ভুক্ত থাকতে হবে মাল্টি-থ্রেড ফাংশনগুলিকে থ্রেড নিরাপদ করা উচিত, উদাহরণস্বরূপ সার্ভলেট বা স্ট্রট অ্যাকশন ক্লাসগুলিতে ইনস্ট্যান্স/নন-ফাইনাল স্ট্যাটিক ফিল্ডগুলি থাকা উচিত নয় দক্ষতা নেটওয়ার্ক ট্র্যাফিক কমাতে ক্লায়েন্টের অনুরোধগুলির (ইনকামিং এবং ডেটা) কেন্দ্রীকরণ নিশ্চিত করুন এসকিউএল প্রশ্নগুলি এড়িয়ে চলুন যা একটি লুপে বড় টেবিলের বিরুদ্ধে সূচক ব্যবহার করে না সুরক্ষা সার্ভলেট ক্লাসের ক্ষেত্রগুলি এড়িয়ে চলুন যা চূড়ান্ত স্ট্যাটিক নয় ত্রুটি ব্যবস্থাপনা পরীক্ষা নিয়ন্ত্রণ রিটার্ন কোডগুলি এবং ত্রুটি পরিচালনা প্রক্রিয়া প্রয়োগ না করে ডেটা অ্যাক্সেস এড়িয়ে চলুন ক্রস-সাইট স্ক্রিপ্টিং ত্রুটি বা এসকিউএল ইনজেকশন ত্রুটিগুলি এড়াতে ইনপুট বৈধতা নিশ্চিত করুন বজায় রাখার জন্য গভীর উত্তরাধিকার গাছ এবং বাসা বাঁধা এড়ানো উচিত গুণগত বৈশিষ্ট্যগুলি ভেঙে বা এমনকি অতিরিক্ত স্তরগুলি সংজ্ঞায়িত করে, জটিল, বিমূর্ত গুণগত বৈশিষ্ট্যগুলি (যেমন নির্ভরযোগ্যতা বা রক্ষণাবেক্ষণযোগ্যতা) আরও পরিচালনাযোগ্য এবং পরিমাপযোগ্য হয়ে ওঠে। এই গুণমানের মডেলগুলি শিল্প প্রসঙ্গে প্রয়োগ করা হয়েছে কিন্তু ব্যাপক গ্রহণযোগ্যতা পায়নি। ট্রিভিয়া "একটি বিজ্ঞান তার পরিমাপের সরঞ্জামগুলির মতোই পরিপক্ক"। "আমি যখন দেখি তখন তা জানি।" "আপনি যা পরিমাপ করতে পারবেন না তা নিয়ন্ত্রণ করতে পারবেন না।" (টম ডেমার্কো) "আপনি কোনও পণ্যের গুণমান পরীক্ষা করতে পারবেন না।" (ডব্লিউ এডওয়ার্ডস ডেমিং) "সময়সূচী পূরণের মাধুর্য ভুলে যাওয়ার পরেও খারাপ মানের তিক্ততা দীর্ঘকাল থেকে যায়।" (বেনামী) "আপনি যদি একটি বিশেষণ দিয়ে শুরু না করেন, তবে আপনার লেখা প্রতিটি কোড একটি প্যাচ।" (লেসলি ল্যাম্পোর্ট) আরও দেখুন সফ্টওয়্যার বাগ অ্যাক্সেসিবিলিটি অ্যাভেইলেবিলিটি সেরা কোডিং অনুশীলন কোহেশন এবং কাপলিং সাইক্লোম্যাটিক জটিলতা কোডিং কনভেনশন কম্পিউটার বাগ নির্ভরযোগ্যতা জিকিউএম আইএসও/আইইসি 9126 সফ্টওয়্যার প্রক্রিয়া উন্নতি এবং ক্ষমতা নির্ধারণ-আইএসও/আইইসি 15504 প্রোগ্রামিং শৈলী গুণগত মানঃ গুণমান নিয়ন্ত্রণ, মোট গুণমান পরিচালনা। প্রয়োজনীয়তা ব্যবস্থাপনা পরিধি (প্রকল্প ব্যবস্থাপনা) নিরাপত্তা প্রকৌশল সফ্টওয়্যার গুণগত নিশ্চয়তা সফ্টওয়্যার স্থাপত্য সফ্টওয়্যার গুণগত নিয়ন্ত্রণ সফ্টওয়্যার মেট্রিক্স সফ্টওয়্যার পুনঃব্যবহারযোগ্যতা সফ্টওয়্যার মান সফ্টওয়্যার পরীক্ষা টেস্টেবিলিটি স্ট্যাটিক প্রোগ্রাম বিশ্লেষণ আরও পড়া অ্যান্ড্রয়েড ওএস গুণগত নির্দেশিকা সহ ইউআই, নিরাপত্তা ইত্যাদির জন্য চেকলিস্ট। জুলাই 2021 অ্যাসোসিয়েশন অফ মেরিটাইম ম্যানেজারস ইন ইনফরমেশন টেকনোলজি অ্যান্ড কমিউনিকেশনস (এএমএমআইটিইসি)। সামুদ্রিক সফ্টওয়্যার গুণমান নির্দেশিকা। সেপ্টেম্বর 2017 ক্যাপার্স জোন্স এবং অলিভিয়ার বনসিগনোর, "দ্য ইকোনমিক্স অফ সফ্টওয়্যার কোয়ালিটি", অ্যাডিসন-ওয়েসলি প্রফেশনাল, 1ম সংস্করণ, ডিসেম্বর 31,2011, সিএটি ল্যাব-সিএনইএস কোড অ্যানালাইসিস টুলস ল্যাবরেটরি (গিটহাব-এ) গিরিশ সূর্যনারায়ণ, সফ্টওয়্যার প্রসেস বনাম ডিজাইন কোয়ালিটিঃ টাগ অফ ওয়ার? হো-উইন জং, সেউং-গুয়েন কিম এবং চ্যাং-সিন চুং। সফ্টওয়্যার পণ্যের গুণমান পরিমাপঃ আইএসও/আইইসি 9126-এর একটি সমীক্ষা। আই. ই. ই. ই সফ্টওয়্যার, 21 (5): <আই. ডি. 1>, সেপ্টেম্বর/অক্টোবর 2004। ইন্টারন্যাশনাল অর্গানাইজেশন ফর স্ট্যান্ডার্ডাইজেশন। সফ্টওয়্যার ইঞ্জিনিয়ারিং-পণ্যের গুণমান-অংশ 1: গুণমান মডেল। আইএসও, জেনেভা, সুইজারল্যান্ড, 2001। আইএসও/আইইসি 9126-1:2001 (ই)। সফ্টওয়্যার পণ্যের গুণমান পরিমাপ করাঃ আইএসও 25000 সিরিজ এবং সিএমএমআই (এসইআই সাইট) এমএসকিউএফ-একটি পরিমাপ ভিত্তিক সফ্টওয়্যার মানের কাঠামো কর্নেল বিশ্ববিদ্যালয় গ্রন্থাগার ওমর আলশাথ্রি, হেলজ জ্যানিক, "সফ্টওয়্যার মানের নিশ্চয়তা অনুকূলকরণ", কম্পস্যাক, পিপি। 87-92,2010 আই. ই. ই. ই 34তম বার্ষিক কম্পিউটার সফ্টওয়্যার এবং অ্যাপ্লিকেশন সম্মেলন কর্মশালা, 2010। রবার্ট এল. গ্লাস। গুণগত মানের সফ্টওয়্যার তৈরি করা। প্রেন্টিস হল, আপার স্যাডল রিভার, এনজে, 1992। রোল্যান্ড পেট্রাসচ, "দ্য ডেফিনিশন অফ 'সফ্টওয়্যার কোয়ালিটিঃ এ প্র্যাকটিক্যাল অ্যাপ্রোচ", আইএসএসআরই, 1999 সফ্টওয়্যার কোয়ালিটি প্রফেশনাল, আমেরিকান সোসাইটি ফর কোয়ালিটি (এএসকিউ) সফ্টওয়্যার কোয়ালিটি জার্নাল স্প্রিংগার নেচার স্টিফেন এইচ কান। সফ্টওয়্যার কোয়ালিটি ইঞ্জিনিয়ারিংয়ের মেট্রিক্স এবং মডেল। অ্যাডিসন-ওয়েসলি, বস্টন, এমএ, দ্বিতীয় সংস্করণ, 2002। স্টিফেন ওয়াগনার। সফ্টওয়্যার পণ্যের গুণমান নিয়ন্ত্রণ। স্প্রিঙ্গার, 2013। রেফারেন্স বিব্লিওগ্রাফি বাহ্যিক লিঙ্কগুলি যখন কোড রাজা হয়ঃ স্বয়ংচালিত সফ্টওয়্যার উৎকর্ষতা আয়ত্ত করা (ম্যাককিনসে, 2021) এম্বেডেড সিস্টেম সফ্টওয়্যারের গুণগত মানঃ কেন এটি প্রায়শই ভয়ঙ্কর হয়? এটা নিয়ে আমরা কী করতে পারি? (ফিলিপ কুপম্যান দ্বারা) সিআইএসকিউ টিএম দ্বারা কোড কোয়ালিটি স্ট্যান্ডার্ড সিআইএসকিউ ব্লগঃ ছোট সফ্টওয়্যার প্রকল্পগুলিতে ইএসএ সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের মান প্রয়োগের জন্য গাইড (ইএসএ) ইএসএ সফ্টওয়্যার পণ্য আশ্বাস পরিষেবাগুলির একটি সংক্ষিপ্ত বিবরণ (নাসা/ইএসএ) ভক্সওয়াগেন সফ্টওয়্যার ডেভ সেন্টার লিসবনে গুণমানের প্রতি আমাদের দৃষ্টিভঙ্গি গুগল স্টাইল গাইড গুগলে পণ্যের গুণমান নিশ্চিত করে (2011) নাসা সফ্টওয়্যার আশ্বাস এনআইএসটি সফ্টওয়্যার গুণমান গ্রুপ ওএমজি/সিআইএসকিউ স্বয়ংক্রিয় ফাংশন পয়েন্ট (আইএসও/আইইসি 19515) ওএমজি স্বয়ংক্রিয় প্রযুক্তিগত ঋণ মান স্বয়ংক্রিয় গুণমান নিশ্চয়তা (হ্যারি স্নীড দ্বারা আইআরইবিতে বর্ণিত) স্ট্রাকচার্ড টেস্টিংঃ সাইক্লোম্যাটিক জটিলতা মেট ব্যবহার করে একটি পরীক্ষা পদ্ধতি