সফ্টওয়্যার বিকাশের বর্ধিত এবং পুনরাবৃত্ত পদ্ধতির মধ্যে পার্থক্য কী?


16

ক্রমবর্ধমান পদ্ধতির যেখানে মডেল, ডিজাইন করা হয়েছে বাস্তবায়িত এবং পরীক্ষিত বৃদ্ধিলাভ (একটু বেশি প্রতিটি সময় যোগ করা হয়) পর্যন্ত পণ্য সমাপ্ত হয় সফটওয়্যার উন্নয়নের একটি পদ্ধতি। এটি উন্নয়ন এবং রক্ষণাবেক্ষণ উভয়ই জড়িত। পণ্যটি যখন তার সমস্ত প্রয়োজনীয়তা পূরণ করে তখন সমাপ্ত হিসাবে সংজ্ঞায়িত হয়

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

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

ডিজাইনের সফটওয়্যারগুলির এই দুটি পদ্ধতির মধ্যে আসল পার্থক্য কী

পুনরুক্তি এবং বর্ধমান নকশার পদ্ধতির গঠনের জন্য এই দুটি পদ্ধতির একত্রিত করা কীভাবে সম্ভব

উত্তর:


13

ক্রমবর্ধমান এপ্রোচ পদক্ষেপ একটি সেট সংখ্যা ব্যবহার ও উন্নয়ন অগ্রগতি একটি রৈখিক পথে শুরু থেকে শেষ যায়।

ডিজাইন, বাস্তবায়ন, পরীক্ষা / যাচাইকরণ, রক্ষণাবেক্ষণ থেকে প্রাপ্ত পদক্ষেপে বর্ধিত উন্নয়ন করা হয়। এগুলি আরও সাব-স্টেপগুলিতে বিভক্ত হতে পারে তবে বেশিরভাগ বর্ধিত মডেলগুলি একই প্যাটার্নটি অনুসরণ করে। ওয়াটারফল মডেল একটি ঐতিহ্যগত বর্ধনমূলক উন্নয়ন পন্থা।

পুনরাবৃত্ত পদ্ধতির ধাপের কোন সেট নম্বর আছে, বরং উন্নয়ন চক্র সম্পন্ন করা হয়।

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


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

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

tl; dr - আপনি যদি বর্ধিত মডেলের অধীনে একটি রচনা লিখছিলেন, আপনি একবারে একটি বাক্য শেষ করার জন্য শুরু থেকে নিখুঁতভাবে লেখার চেষ্টা করবেন। আপনি যদি এটি আইট্রেটিভ মডেলের অধীনে লিখেছিলেন তবে আপনি একটি দ্রুত রুক্ষ খসড়া তৈরি করতে পারেন এবং পুনর্বিবেচনার পর্যায়ের সেটগুলির মাধ্যমে এটি উন্নত করার জন্য কাজ করবেন।


হালনাগাদ:

আমি আরও ব্যবহারিক উদাহরণের সাথে মানিয়ে নিতে 'বর্ধিত পদ্ধতির' জন্য আমার সংজ্ঞাটি পরিবর্তন করেছি।

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

পদক্ষেপগুলি নিম্নরূপ:

  • চুক্তি পুরস্কার
  • প্রাথমিক নকশা পর্যালোচনা
  • সমালোচনামূলক নকশা পর্যালোচনা
  • স্পেসিফিকেশন ফ্রিজ
  • উন্নয়ন
  • ফিন্ডিং / ইন্টিগ্রেশন
  • প্রতিপাদন
  • নির্ভরযোগ্যতা পরীক্ষা

পিডিআর এবং সিডিআর হ'ল স্পেক তৈরি এবং সংশোধিত। স্পেকটি সম্পূর্ণ হয়ে গেলে, স্কোপ ক্রাইপ প্রতিরোধের জন্য এটি হিমায়িত করা উচিত । পূর্ববর্তী বিদ্যমান সিস্টেমটি প্রসারণ করতে যদি সফ্টওয়্যারটি ব্যবহার করা হয় তবে সংহতকরণ ঘটে। যাচাইকরণটি পরীক্ষার সাথে অ্যাপ্লিকেশনটির সাথে মেলে কিনা তা যাচাইয়ের জন্য। নির্ভরযোগ্যতা প্রমাণ করার জন্য একটি পরীক্ষা যা দীর্ঘমেয়াদে আবেদন নির্ভরযোগ্য হবে, এটি অনেকটা এসএলএ (পরিষেবা স্তর চুক্তি) এর মতো নির্দিষ্ট করা যেতে পারে যেখানে সিস্টেমটি আপটাইমের একটি নির্দিষ্ট শতাংশ বজায় রাখতে হয় (3 মাসের জন্য 99% আপটাইম) )।

এই মডেলটি এমন সিস্টেমে দুর্দান্ত কাজ করে যা কাগজে নির্দিষ্ট করে দেওয়া সহজ তবে উত্পাদন করা কঠিন। সফটওয়্যারটি কোনও প্রশংসনীয় ডিগ্রি (প্রাক্তন ইউএমএল) তে কাগজে নির্দিষ্ট করা খুব কঠিন। সর্বাধিক 'ব্যবসা ধরনের' ব্যবস্থাপনা / ঠিকাদারি ভারপ্রাপ্ত যে শুকাবে - যখন এটি সফটওয়্যার উন্নয়ন আসে - কোড নিজেই হয় বৈশিষ্ট। কাগজের স্পেসিফিকেশনগুলি প্রায়শই কোড হিসাবে লেখার জন্য তত বেশি বা বেশি সময় / প্রচেষ্টা নেয় এবং এগুলি সাধারণত অনুশীলনে অনুমিত / নিকৃষ্ট বলে প্রমাণিত হয়।

কোডটিকে নিজেরাই স্পেসিফিকেশন হিসাবে বিবেচনা করে বর্ধমান পন্থাগুলি নষ্ট সময় / সংস্থানগুলিতে চেষ্টা করে। একাধিক সংশোধন পদক্ষেপের মাধ্যমে কাগজ সুনির্দিষ্টভাবে চালনার পরিবর্তে কোডটি নিজেই পুনর্বিবেচনার একাধিক চক্রের মধ্য দিয়ে যায়।


+1 উদাহরণস্বরূপ, যদিও বর্ধিত বিবরণটি আমার কাছে ভুল দেখাচ্ছে
বাসিলিভস

@ বাসিলিভস কি এটি আরও ভাল?
ইভান প্লেইস

7
জলপ্রপাতটি ইনক্রিমেন্টাল নয়। বর্ধিত বিশেষত বিল্ডিংকে (পরীক্ষার মাধ্যমে নকশা করা) সফ্টওয়্যার টুকরো টুকরো করে উল্লেখ করে। Traditionalতিহ্যবাহী জলপ্রপাতের মডেলটিতে, আপনি আপনার সমস্ত নকশা করেন, তারপরে আপনার বাস্তবায়ন এবং তারপরে আপনার সমস্ত পরীক্ষার। এটি মোটেও বাড়তি নয়। জলপ্রপাতের বিভিন্নতা রয়েছে, যেমন আপনি যেখানে আপনার প্রয়োজনীয় প্রকৌশলগুলি পরিচালনা করতে পারবেন এবং তারপরে প্রকল্পটি বর্ধিতকরণে ভেঙে দেবেন যেখানে প্রতিটি বর্ধিতকরণ ডিজাইন, প্রয়োগ, পরীক্ষিত (এবং সংযোজন এবং অন্যান্য বর্ধনের সাথে পরীক্ষিত) করা হয়েছে, তবে এটি প্রথাগত নয় isn't জলপ্রপাত।
থমাস

0

সফ্টওয়্যার বিকাশের কোনও বিশেষণ, এবং বেশিরভাগ জিনিসগুলির মতো ... এটি নির্ভর করে!

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

সুতরাং সফ্টওয়্যার বিকাশের একটি পদ্ধতির হিসাবে বিশেষত উত্তর দেওয়া ..

প্রশ্নটি ভুল জায়গায় বসেছে। এটি এক বা অন্যটি নয়। তারা প্রক্রিয়াটির বিভিন্ন অংশ উল্লেখ করে আপনি তাদের সরাসরি তুলনা করতে পারবেন না।

আইট্রেটিভ সফটওয়্যার ডেভলপমেন্ট এর প্রকৃতির বর্ধমান হয়। বর্ধিত সফ্টওয়্যার বিকাশ পুনরাবৃত্তি হতে হবে না।

বর্ধন একটি ছোট পদক্ষেপ, আশা করি এগিয়ে। এটি সম্পাদিত কাজের প্রতিটি পদক্ষেপের উল্লেখ করার একটি উপায়।

একটি পুনরাবৃত্তি একটি কাজের চক্র।

সুতরাং, একটি পুনরাবৃত্তি ব্যবহৃত হয় সামগ্রিক উন্নয়ন চক্র বোঝায়। একটি বর্ধন কাজের প্রতিটি পৃথক পদক্ষেপকে বোঝায়। একটি পুনরাবৃত্তি একটি ইনক্রিমেন্ট তৈরি করে, যা সফ্টওয়্যারটিতে (সাধারণত আরও বেশি) এক বা একাধিক প্রকৃত বর্ধিত অংশ দ্বারা গঠিত।

উপসংহারে...

আইট্রেটিভ সফটওয়্যার ডেভলপমেন্ট হ'ল সফটওয়্যার বিকাশের জন্য একটি নির্দিষ্ট ধরণের পদ্ধতির যা rationsতিহ্যবাহী জলপ্রপাতের বিপরীতে পুনরাবৃত্তিতে কাজ করে। স্ক্রাম একটি ভাল উদাহরণ।

বর্ধিত সফ্টওয়্যার বিকাশ আরও সাধারণ, এবং কাজকে ধাপে এগিয়ে নিয়ে যাওয়া বোঝায় যা বেশিরভাগ (সম্ভবত সমস্ত?) পদ্ধতির বৈশিষ্ট্য। এই কথাটি বলে, শব্দটি প্রায়শই আধুনিক, চতুর পদ্ধতির সাথে ব্যবহৃত হয়, যা সম্ভবত দুটি খুব একই শর্তের মধ্যে বিভ্রান্তির ব্যাখ্যা দেয়।

এবং অবশেষে, অবশ্যই এটি নির্ভর করে যে শব্দটি ব্যবহার করার সময় কীভাবে বোঝানো হয়, যা প্রায়শই স্পিকার, মাসের সময় ইত্যাদি দ্বারা উল্লেখযোগ্যভাবে পরিবর্তিত হয়!

আরও মজাদার প্রশ্ন হ'ল এই সমস্ত ক্ষেত্রে সফ্টওয়্যার বিকাশের একটি অনুশীলন পদ্ধতির মাপসই কোথায় ? একটি পুনরাবৃত্ত পদ্ধতির সৌন্দর্য হ'ল এটি বোধবাদকে সক্ষম করে, যেখানে যাদু ঘটে।

আশাকরি এটা সাহায্য করবে.

এই নিবন্ধটি উদাহরণ সহ এটি ভালভাবে বর্ণনা করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.