সফ্টওয়্যার প্রকল্পের মেট্রিকগুলি পরিমাপ করা কি আজকের শিল্পে জনপ্রিয়?


9

আমি এমন একটি বিকাশকারীর মুখোমুখি হয়েছিল যিনি তাদের টিম প্রকল্পের বাইরে কিছু পরামর্শ চেয়েছিলেন। আমি জানতে পেরেছি যে তারা সংস্থাগুলি এক্সিকিউটিভ, প্রজেক্ট ম্যানেজার এবং বিকাশকারীদের জন্য একটি বিশাল সফ্টওয়্যার স্যুট বিকাশ করছে যা স্বয়ংক্রিয়ভাবে মেট্রিক গণনা করতে পারে এবং তাদের পুনরাবৃত্তির প্রতি গ্রাফ করতে পারে।

কম্পিউটার বিজ্ঞানের পটভূমির একজন ছাত্র হিসাবে আমি মেট্রিক এবং তার গুরুত্ব সম্পর্কে খুব কম জানি তবে আমার প্রশ্নগুলি হ'ল:

  1. অর্থবহ মেট্রিকগুলি পরিমাপ করার জন্য বেশিরভাগ সংস্থার কি কোনও উপায় আছে, মার্জিত প্রোগ্রাম হতে হবে না?
  2. একক বা মিলিত কোন মেট্রিকগুলি আপনাকে আপনার প্রকল্পের সুযোগ এবং অনুমানকে সংকীর্ণ করতে সহায়তা করে?
  3. একজন ব্যক্তি যিনি মেট্রিকগুলি বিশ্লেষণ করেন, আপনি কতক্ষণ সেগুলি থেকে সিদ্ধান্ত স্থির করেন? অর্থাৎ। প্রতি সপ্তাহে ব্যর্থ পরীক্ষা কি ক্রমশ বাড়ছে?
  4. আপনি কি অনুভব করেন যে মেট্রিক্স অধ্যয়নের প্রবর্তন আপনাকে প্রকল্পটি আরও ভালভাবে বুঝতে সহায়তা করেছে?

নিশ্চিত না কেন তবে তবে বিকাশকারীগণ প্রকল্পটি আমাকে আগ্রহী করেছিল এবং আমাকে আরও জানতে হবে। যদি y

উত্তর:


6

আপনার কলেজ লাইব্রেরিতে মেট্রিকগুলির কয়েকটি বই সম্ভবত সফ্টওয়্যার মান ইঞ্জিনিয়ারিংয়ের সফ্টওয়্যার মেট্রিক্স এবং মেট্রিক্স এবং মডেলগুলি অন্তর্ভুক্ত করেছে । এই 2 টি আপনাকে শুরু করার জায়গা দেবে। শিল্প বিশ্বে খুব কম সংস্থারই কোনও প্রকার মেট্রিক পরিমাপ প্রোগ্রাম রয়েছে।

অর্থবহ মেট্রিকগুলি পরিমাপ করার জন্য বেশিরভাগ সংস্থার কি কোনও উপায় আছে, মার্জিত প্রোগ্রাম হতে হবে না?

ভিজ্যুয়াল স্টুডিওতে কিছু কোড বিশ্লেষণ সরঞ্জাম অন্তর্ভুক্ত রয়েছে যা আপনাকে শুরু করতে পারে। বেশিরভাগ সংস্থার কাছে সবচেয়ে খারাপ মেট্রিকের পরিমাপ করার জন্য কিছু নেই: কোডের লাইন। "কেবলমাত্র এটি সম্পন্ন করুন" ইন্ডাস্ট্রিতে অপ্রতিরোধ্য চালিকা শক্তি হিসাবে উপস্থিত বলে মনে হচ্ছে এবং পরিচালকদের এই উদ্বেগকে ম্যানেজারদের উদ্বেগের প্রতি খুব সংক্ষিপ্ত মনোযোগ দেওয়া হচ্ছে "আমি কি এই বছর আমার বোনাস পাব?" এবং "আমি যে প্রতিশ্রুতি দিয়েছিলাম তা কি এটি করা হবে?" এমনকি ক্রমবর্ধমান পরিবর্তনগুলির সাথে বছর বছর ধরে চালিত পণ্যগুলির সাথেও, এই 2 উদ্বেগগুলি বিকাশকারীদের রক্ষণাবেক্ষণযোগ্যতা এবং বাগ সনাক্তকরণ / প্রতিরোধের উদ্বেগকে কমিয়ে দিয়েছে।

একক বা মিলিত কোন মেট্রিকগুলি আপনাকে আপনার প্রকল্পের সুযোগ এবং অনুমানকে সংকীর্ণ করতে সহায়তা করে?

আমি দেখতে পেয়েছি যে সাইক্লোমেটিক জটিলতা এবং সংযুক্তিটি কীভাবে বগি বা কোড বজায় রাখা কতটা শক্ত হবে তার দৃ strong সূচক। যদি সাইক্লোমেটিক জটিলতা প্রায় 20 এর কাছাকাছি হয় তবে আমি দেখতে পেলাম যে এটি পরীক্ষা করা প্রায় অসম্ভব হয়ে উঠবে (যেহেতু এটি কোডের মাধ্যমে 2 ^ 20 পর্যন্ত পাথ করবে) এবং এটি ছোট ছোট টুকরা হয়ে যাবে। আপনি জটিলতা দূর করতে পারবেন না, তবে আপনি এটিকে আরও পরিচালনাযোগ্য অংশে টুকরো টুকরো করে ফেলতে পারেন।

আপনি যদি অনুমানের সন্ধান করছেন , আপনি সম্ভবত ফাংশন পয়েন্টগুলি তদন্ত করতে চান ।

কোড কভারেজ% প্রতিটি পুনরাবৃত্তিকে মারাত্মকভাবে কমিয়ে দিচ্ছে, আপনি কি আপনার সমস্যার বিকাশকারীদের সতর্ক করবেন?

আমি দেখতে পেলাম যে বেশিরভাগ পরিচালক চেক-ইন সংখ্যা এবং বাগ সংশোধন করার বিষয়ে যত্নশীল। আমার বর্তমান ব্যবস্থাপক ইউনিট পরীক্ষার বিরোধী (তিনি মনে করেন এটি সময়ের অপচয়) এবং আমার পূর্ববর্তী পরিচালকটি অনুভব করেছিলেন যে ইউনিট পরীক্ষায় ব্যয় করা সময় এমন ছিল যা এটি লেখার জন্য প্রথমে ব্যয় করা উচিত ছিল।

বিকাশকারীদের দ্বারা ব্যবহৃত প্রচলিত যুক্তিটি হ'ল আপনি যদি কিছু পরিমাপ করেন তবে কেবল এটিই পাবেন। এই যুক্তিটি ধারণা থেকে আসে যে একমাত্র মেট্রিক কোডের লাইন।


বিস্তারিত উত্তর এবং প্রাসঙ্গিক লিঙ্কগুলির জন্য ধন্যবাদ। ঠিক যেমন অনুসরণ করা হয়: ১. কোনও পরিচালক কেন চেক-ইনগুলির সংখ্যা সম্পর্কে যত্নশীল হন? আমাদের চেক-ইন সম্পর্কিত সংজ্ঞাটি আলাদা। ২. কোডের লাইনগুলি সবচেয়ে খারাপ মেট্রিক হওয়ার অর্থ কী? এর মধ্যে সবচেয়ে খারাপ প্রকল্প সম্পর্কে কোনও ভাল ইঙ্গিত দেয় না?
রাশ কে

@ রুস, এমন একটি বিকাশকারী যিনি কোডটি চেক করছেন না, তাদের কাজ করা হিসাবে দেখা যাবে না। এলওসি সবচেয়ে খারাপ যে এটি খেলায় তুচ্ছ। কেএন্ডআর এবং ইনডেন্টিং কোডের অলমান স্টাইলের মধ্যে পার্থক্যটি একবার দেখুন: en.wikedia.org/wiki/Indent_style । অলমান স্টাইলটি কেবল একটি আলাদা লাইনে খোলা line রেখে একটি উচ্চতর এলওসি গণনা দেবে। দাবি অস্বীকার: আমি কে ও আর স্টাইলকে ঘৃণা করি কারণ ওয়াল্ডো কোথায় বেশি সময় ব্যয় না করে খুব কমই ম্যাচটি খোলা find
টাঙ্গুরেনা

In the industrial world, very few companies have any sort of metric measurement program at all.2 বা ততোধিক সিএমএমআই রেটিং সহ যে কোনও সংস্থার কাছে একটি পরিমাপ / মেট্রিক বিশ্লেষণ প্রোগ্রাম থাকবে। পরিমাপ এবং মেট্রিকের জমায়েত হওয়া একটি পরিপক্কতা স্তর 2 প্রয়োজনীয়তা। সিএমএমআই ম্যাচিউরিটি লেভেল 4 এর পরিমাপ এবং মেট্রিকের উপর ভিত্তি করে পরিমাণগত প্রকল্প পরিচালনা প্রয়োজন, এবং চিহ্নিত সমস্যাগুলিতে কাজ করার জন্য মূল কারণ বিশ্লেষণের মতো জিনিস। সিএমএমআই স্তর 4 (বা 5) এ রেট করা বিপুল সংখ্যক সংস্থা রয়েছে।
থমাস ওয়ানস

2

আমি সফটওয়্যার মেট্রিকগুলির বিষয়ে একটি আলোচনায় ছিলাম যেখানে স্পিকার কিছু আইএমএইচও, অন্তর্দৃষ্টিপূর্ণ পয়েন্ট তৈরি করেছিল। এই জিনিসগুলির সাথে আমার নিজের অভিজ্ঞতা খুব কম ছিল, আমি তখনও চক্রান্ত এবং অনুপ্রাণিত হয়েছি, তবে এটি ভুল বা সঠিক কিনা তা আমি বলতে পারি না।

মূল ধারণাগুলি হ'ল:

  • কোনও একক মেট্রিক এর নিজস্ব অধিকারে কার্যকর নয়।
  • একটি নিখুঁত লক্ষ্য নির্ধারণ (যেমন XX% কোড কভারেজ) অর্থবোধক নয়।
  • ইতিহাস ব্যতীত একটি মেট্রিক দরকারী।

সুতরাং, এটি সমাধান করতে:

  • বেশ কয়েকটি মেট্রিক দেখান, যেমন:
    • লাইনগুলির মোট / পরিবর্তিত
    • কমিটের #
    • % কোড কভারেজ
    • পরীক্ষার #
    • cyclomatic জটিলতা
    • ফাইল / প্যাকেজ / ... নির্ভরতা
    • ...
  • কিউএ / সিআই থেকে ডেটা দেখান:
    • # বাগ / বর্ধন / পরিবর্তনগুলির (আমি ব্যক্তিগতভাবে মনে করি এই শ্রেণিবদ্ধকরণটি গুরুত্বপূর্ণ)
    • # মোট / যোগ / স্থির
  • গ্রাফগুলিতে এই মেট্রিকগুলি দেখান যা সময়ের সাথে সাথে ট্রেন্ডগুলি দেখায়

এইভাবে, যখন টিকিটগুলি দ্রুত স্থির করা হয়, তখন কোডের মানটি নীচে চলে যায় কিনা তা দেখতে পাবে। এছাড়াও, যখন ত্রুটিযুক্ত ডাটাবেসের সাথে খুব বেশি কিছু ঘটছে বলে মনে হচ্ছে না, তখন কোডের গুণমানের পরিমাণ আরও বাড়তে পারে, কারণ রিফ্যাক্টরিংগুলি কাজ করা হচ্ছে।

এর সংক্ষিপ্তসার : এটি এই ধরণের গতিশীল আচরণ যা গুরুত্বপূর্ণ এবং কী আপনাকে কাঁচা ডেটার পরিবর্তে তথ্য দেয় (যা কোনও একক মেট্রিকের মান হবে)।

আমি আমাদের সিআই সংযুক্ত লাভা ল্যাম্পের পাশের প্রশস্ত স্ক্রিন টিভিতে এই স্কিম অনুযায়ী কিছু গ্রাফ রাখার পরিকল্পনা করছি। ;)


ভাল করা. আপনি যেমন উল্লেখ করেছেন তেমন একা মেট্রিক কীভাবে অকেজো, সে সম্পর্কে আমি প্রচুর নিবন্ধগুলি পড়েছি এবং ইতিহাস গুরুত্বপূর্ণ। উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য ধন্যবাদ।
রাশ কে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.