সংজ্ঞা এবং জীবন চক্র দ্বারা উন্নয়ন প্রক্রিয়া। সফ্টওয়্যার জীবন চক্রের ধারণা

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

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

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

নির্ধারণ করার সময় স্পেসিফিকেশন(প্রয়োজনীয়তা এবং পরামিতিগুলির একটি সেট যা সফ্টওয়্যারটিকে অবশ্যই পূরণ করতে হবে) সফ্টওয়্যার ফাংশনগুলির একটি সঠিক বিবরণ তৈরি করা হয়, ইনপুট এবং মধ্যবর্তী ভাষাগুলি বিকাশ এবং অনুমোদিত হয়, প্রতিটি সাবসিস্টেমের জন্য আউটপুট তথ্যের ফর্ম, অন্যান্য সফ্টওয়্যারের সাথে সম্ভাব্য মিথস্ক্রিয়া সিস্টেমগুলি বর্ণনা করা হয়েছে, সফ্টওয়্যারটি প্রসারিত এবং সংশোধন করার জন্য সরঞ্জামগুলি নির্দিষ্ট করা হয়েছে, ইন্টারফেসগুলি পরিষেবা এবং প্রধান সাবসিস্টেমগুলি তৈরি করা হয়েছে, ডাটাবেস সমস্যাগুলি সমাধান করা হচ্ছে, মৌলিক অ্যালগরিদমগুলি অনুমোদিত হচ্ছে৷

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

অপারেশনাল স্পেসিফিকেশনে সফ্টওয়্যার পারফরম্যান্স, মেমরি খরচ, প্রয়োজনীয় হার্ডওয়্যার, নির্ভরযোগ্যতা ইত্যাদি সম্পর্কে তথ্য থাকে।

ফাংশনাল স্পেসিফিকেশনগুলি সফ্টওয়্যারকে অবশ্যই সঞ্চালন করতে হবে এমন ফাংশনগুলিকে সংজ্ঞায়িত করে, যেমন তারা সংজ্ঞায়িত করে সিস্টেমের কী করা উচিত, কীভাবে করা উচিত নয়।

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

স্পেসিফিকেশনের অর্থ:

1. স্পেসিফিকেশন হল সফ্টওয়্যার ডেভেলপমেন্টের জন্য একটি কাজ এবং তাদের বাস্তবায়ন ডেভেলপারের জন্য আইন।

2. সফ্টওয়্যারটির প্রস্তুতি পরীক্ষা করতে নির্দিষ্টকরণ ব্যবহার করা হয়।

3. স্পেসিফিকেশনগুলি সফ্টওয়্যার ডকুমেন্টেশনের একটি অবিচ্ছেদ্য অংশ, সফ্টওয়্যারটির রক্ষণাবেক্ষণ এবং পরিবর্তন সহজতর করে,


দ্বিতীয় পর্যায় হল সফটওয়্যার ডিজাইন। এই পর্যায়ে:

1. সফ্টওয়্যারের কাঠামো গঠিত হয় এবং অ্যালগরিদম তৈরি হয় যা স্পেসিফিকেশন দ্বারা নির্দিষ্ট করা হয়।

2. অ্যালগরিদম স্কিমগুলির অধ্যয়নের উপর ভিত্তি করে শ্রেণীবদ্ধ স্তরে তাদের বিভাজনের সাথে মডিউলগুলির গঠন প্রতিষ্ঠিত হয়।

3. তথ্য বিন্যাসের গঠন নির্বাচন করা হয়।

4. ইন্টারমডিউল ইন্টারফেস স্থির করা হয়েছে।

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

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

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

পঞ্চম পর্যায়- এসকর্ট,সেগুলো. ত্রুটিগুলি সংশোধন করার প্রক্রিয়া, ব্যবহারকারীর প্রয়োজনীয়তা অনুসারে সিস্টেমের সমস্ত উপাদান সমন্বয় করা, সমস্ত প্রয়োজনীয় সংশোধন এবং পরিবর্তন করা।

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

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

1 নং টেবিল

উন্নয়নের পর্যায়, পর্যায় এবং সফ্টওয়্যার তৈরির কাজের বিষয়বস্তু

সফ্টওয়্যার জীবনচক্র

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

প্রধান আদর্শিক নথি, সফ্টওয়্যারের জীবনচক্র নিয়ন্ত্রণ করে, আন্তর্জাতিক মান ISO/IEC 12207 (ISO - ইন্টারন্যাশনাল অর্গানাইজেশন অফ স্ট্যান্ডার্ডাইজেশন - ইন্টারন্যাশনাল অর্গানাইজেশন ফর স্ট্যান্ডার্ডাইজেশন, IEC - ইন্টারন্যাশনাল ইলেক্ট্রোটেকনিক্যাল কমিশন - ইন্টারন্যাশনাল কমিশন অন ইলেকট্রিক্যাল ইঞ্জিনিয়ারিং)। এটি একটি জীবনচক্র কাঠামোকে সংজ্ঞায়িত করে যাতে সফ্টওয়্যার বিকাশের সময় অবশ্যই সম্পন্ন করা আবশ্যক প্রক্রিয়া, ক্রিয়াকলাপ এবং কাজগুলি রয়েছে। এই মান সফটওয়্যার (সফ্টওয়্যার পণ্য)একটি সেট হিসাবে সংজ্ঞায়িত কম্পিউটার প্রোগ্রাম, পদ্ধতি এবং সম্ভবত সংশ্লিষ্ট ডকুমেন্টেশন এবং ডেটা। প্রক্রিয়াআন্তঃসম্পর্কিত ক্রিয়াগুলির একটি সেট হিসাবে সংজ্ঞায়িত করা হয় যা কিছু ইনপুটকে আউটপুটে রূপান্তরিত করে। প্রতিটি প্রক্রিয়া নির্দিষ্ট কাজ এবং তাদের সমাধানের পদ্ধতি, অন্যান্য প্রক্রিয়া থেকে প্রাপ্ত প্রাথমিক তথ্য এবং ফলাফল দ্বারা চিহ্নিত করা হয়।

ISO/IEC 12207 স্ট্যান্ডার্ড অনুযায়ী সফ্টওয়্যার জীবনচক্রের গঠন প্রক্রিয়ার তিনটি গ্রুপের উপর ভিত্তি করে:

সফ্টওয়্যার জীবন চক্রের প্রধান প্রক্রিয়াগুলি (অধিগ্রহণ, সরবরাহ, বিকাশ, অপারেশন, রক্ষণাবেক্ষণ);

সহায়ক প্রক্রিয়াগুলি যা মূল প্রক্রিয়াগুলির বাস্তবায়ন নিশ্চিত করে (ডকুমেন্টেশন, কনফিগারেশন পরিচালনা, গুণমান নিশ্চিতকরণ, যাচাইকরণ, শংসাপত্র, মূল্যায়ন, নিরীক্ষা, সমস্যা সমাধান);

সাংগঠনিক প্রক্রিয়া (প্রকল্প ব্যবস্থাপনা, প্রকল্পের অবকাঠামো তৈরি, সংজ্ঞা, মূল্যায়ন এবং জীবন চক্রের উন্নতি, প্রশিক্ষণ)।

সফ্টওয়্যার জীবন চক্র মডেল

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

1. ক্যাসকেড মডেল(XX শতাব্দীর 70 এর দশক পর্যন্ত) পূর্ববর্তীটির সমাপ্তির পর পরবর্তী পর্যায়ে অনুক্রমিক রূপান্তর নির্ধারণ করে।

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

মর্যাদা: উন্নয়ন সময়ের পরিপ্রেক্ষিতে ভাল কর্মক্ষমতা এবং পৃথক সমস্যা সমাধানে নির্ভরযোগ্যতা।

ত্রুটি: দীর্ঘ নকশার সময়কালে সিস্টেমের প্রয়োজনীয়তার পরিবর্তনশীলতার কারণে বড় এবং জটিল প্রকল্পগুলির জন্য প্রযোজ্য নয়।

2. পুনরাবৃত্তিমূলক মডেল(20 শতকের 70-80) "নিচ-আপ" ডিজাইন প্রযুক্তির সাথে মিলে যায়। পরবর্তী পর্যায়ে কার্যকর করার পরে পূর্ববর্তী পর্যায়ে পুনরাবৃত্তিমূলক রিটার্নের অনুমতি দেয়;


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

মর্যাদা:প্রকল্পে দ্রুত সমন্বয় করার ক্ষমতা।

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

3. সর্পিল মডেল(20 শতকের 80-90) টপ-ডাউন ডিজাইন প্রযুক্তির সাথে মিলে যায়। একটি সফ্টওয়্যার প্রোটোটাইপ ব্যবহার অনুমান করে যা সফ্টওয়্যার এক্সটেনশনের অনুমতি দেয়। সিস্টেমের নকশা চক্রাকারে প্রয়োজনীয়তার স্পেসিফিকেশন থেকে প্রোগ্রাম কোডের স্পেসিফিকেশন পর্যন্ত পথের পুনরাবৃত্তি করে।

সিস্টেমের আর্কিটেকচার ডিজাইন করার সময়, কার্যকরী সাবসিস্টেমগুলির গঠন প্রথমে নির্ধারিত হয় এবং সিস্টেম-ব্যাপী সমস্যাগুলি সমাধান করা হয় (একটি সমন্বিত ডাটাবেসের সংগঠন, তথ্য সংগ্রহ, প্রেরণ এবং জমা করার প্রযুক্তি)। তারপরে পৃথক কাজগুলি প্রণয়ন করা হয় এবং তাদের সমাধানের জন্য একটি প্রযুক্তি তৈরি করা হয়।

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

সুবিধাদি:

1. পুনরাবৃত্তির সংখ্যা হ্রাস করা এবং ফলস্বরূপ, ত্রুটি এবং অসঙ্গতির সংখ্যা যা সংশোধন করা প্রয়োজন;

2. নকশা সময় হ্রাস;

3. প্রকল্প ডকুমেন্টেশন তৈরির সরলীকরণ।

ত্রুটি:সিস্টেম-ব্যাপী সংগ্রহস্থলের জন্য উচ্চ মানের প্রয়োজনীয়তা ( সাধারণ ভিত্তিডিজাইন ডেটা)।

সর্পিল মডেল underlies দ্রুত অ্যাপ্লিকেশন উন্নয়ন প্রযুক্তিবা RAD-টেকনোলজি (দ্রুত অ্যাপ্লিকেশন বিকাশ), যা এর তৈরির প্রক্রিয়াতে ভবিষ্যতের সিস্টেমের শেষ ব্যবহারকারীদের সক্রিয় অংশগ্রহণ জড়িত। তথ্য প্রকৌশলের প্রধান পর্যায়গুলি নিম্নরূপ:

· তথ্য কৌশল বিশ্লেষণ এবং পরিকল্পনা।ব্যবহারকারীরা, বিশেষজ্ঞ বিকাশকারীদের সাথে, একটি সমস্যা এলাকা সনাক্তকরণে অংশগ্রহণ করে।

· ডিজাইন।বিকাশকারীদের নির্দেশনায় ব্যবহারকারীরা প্রযুক্তিগত নকশায় অংশ নেয়।

· ডিজাইন।বিকাশকারীরা 4র্থ প্রজন্মের ভাষা ব্যবহার করে সফ্টওয়্যারটির একটি কার্যকরী সংস্করণ ডিজাইন করে;

· বাস্তবায়ন.বিকাশকারীরা ব্যবহারকারীদের নতুন সফ্টওয়্যার পরিবেশে কাজ করার প্রশিক্ষণ দেয়।

তথাকথিত সফ্টওয়্যার জীবনচক্র না বুঝে সফটওয়্যার উন্নয়ন অসম্ভব। একজন সাধারণ ব্যবহারকারীর এটি জানার প্রয়োজন নাও হতে পারে, তবে প্রাথমিক মানগুলি শেখা বাঞ্ছনীয় (এটি কেন প্রয়োজনীয় তা পরে বলা হবে)।

আনুষ্ঠানিক অর্থে জীবনচক্র কী?

যে কোনও ব্যক্তির জীবনচক্রের অধীনে, বিকাশের পর্যায় থেকে শুরু করে এবং প্রয়োগের নির্বাচিত ক্ষেত্রে ব্যবহার সম্পূর্ণ পরিত্যাগের মুহূর্ত পর্যন্ত, ব্যবহার থেকে অ্যাপ্লিকেশনটি সম্পূর্ণ অপসারণ পর্যন্ত এর অস্তিত্বের সময় বোঝার প্রথা রয়েছে।

কথা বলা সরল ভাষা, তথ্য ব্যবস্থাপ্রোগ্রাম আকারে, ডাটাবেস, এমনকি "অপারেটিং সিস্টেম" এর চাহিদা তখনই থাকে যদি তারা যে ডেটা এবং সুযোগগুলি প্রদান করে তা প্রাসঙ্গিক হয়।

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

প্রাথমিক প্রয়োজনীয়তা

  • সমস্যা প্রণয়ন;
  • সিস্টেমে ভবিষ্যতের সফ্টওয়্যারগুলির পারস্পরিক প্রয়োজনীয়তার বিশ্লেষণ;
  • নকশা
  • প্রোগ্রামিং;
  • কোডিং এবং সংকলন;
  • পরীক্ষামূলক;
  • ডিবাগিং;
  • বাস্তবায়ন এবং সমর্থন সফ্টওয়্যার পণ্য.

সফ্টওয়্যার ডেভেলপমেন্ট উপরে উল্লিখিত সমস্ত ধাপ নিয়ে গঠিত এবং অন্তত একটি ছাড়া করতে পারে না। কিন্তু এই ধরনের প্রক্রিয়া নিয়ন্ত্রণ করার জন্য, বিশেষ মান প্রতিষ্ঠিত হয়।

সফটওয়্যার লাইফ সাইকেল প্রসেস স্ট্যান্ডার্ড

এই ধরনের প্রক্রিয়াগুলির জন্য শর্ত এবং প্রয়োজনীয়তাগুলি পূর্বনির্ধারিত সিস্টেমগুলির মধ্যে, আজ শুধুমাত্র তিনটি প্রধান নাম দেওয়া যেতে পারে:

  • GOST 34.601-90;
  • ISO/IEC 12207:2008;
  • ওরাকল সিডিএম।

দ্বিতীয় জন্য আন্তঃর্জাতিক মানদণ্ডএকটি রাশিয়ান সমতুল্য আছে. এটি হল GOST R ISO/IEC 12207-2010, যা সিস্টেম এবং সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের জন্য দায়ী। কিন্তু উভয় নিয়মে বর্ণিত সফ্টওয়্যার জীবনচক্র মূলত অভিন্ন। এটি বেশ সহজভাবে ব্যাখ্যা করা হয়েছে।

সফ্টওয়্যার এবং আপডেটের ধরন

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

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

FL স্টুডিওর উপর ভিত্তি করে উদাহরণ

প্রাথমিকভাবে, ভার্চুয়াল স্টুডিও-সিকোয়েন্সার এফএল স্টুডিওকে ফ্রুটি লুপস বলা হত। সফ্টওয়্যারটির প্রাথমিক পরিবর্তনের জীবনচক্রের মেয়াদ শেষ হয়ে গেছে, তবে অ্যাপ্লিকেশনটি কিছুটা রূপান্তরিত হয়েছে এবং তার বর্তমান ফর্মটি অর্জন করেছে।

যদি আমরা জীবনচক্রের পর্যায়গুলি সম্পর্কে কথা বলি, প্রথমে, টাস্ক সেট করার পর্যায়ে, বেশ কয়েকটি বাধ্যতামূলক শর্ত সেট করা হয়েছিল:

  • ইয়ামাহা আরএক্স-এর মতো রিদম মেশিনের মতো একটি ড্রাম মডিউল তৈরি করা, কিন্তু স্টুডিওতে লাইভ রেকর্ড করা ওয়ান-শট নমুনা বা WAV সিকোয়েন্স ব্যবহার করে;
  • উইন্ডোজ অপারেটিং সিস্টেমে ইন্টিগ্রেশন;
  • প্রকল্পটি WAV, MP3 এবং OGG ফরম্যাটে রপ্তানি করার ক্ষমতা;
  • অতিরিক্ত অ্যাপ্লিকেশন Fruity Tracks সঙ্গে প্রকল্প সামঞ্জস্য.

বিকাশের পর্যায়ে, সি প্রোগ্রামিং ভাষার সরঞ্জামগুলি ব্যবহার করা হয়েছিল। কিন্তু প্ল্যাটফর্মটি বরং আদিম লাগছিল এবং শেষ ব্যবহারকারীকে অনুমতি দেয়নি প্রয়োজনীয় গুণমানশব্দ

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

এই সফ্টওয়্যারটির জীবনচক্রের সমাপ্তিটি এফএল স্টুডিওর প্রথম অফিসিয়াল সংস্করণের প্রকাশ হিসাবে বিবেচিত হয়, যা এর পূর্বপুরুষদের বিপরীতে, ইতিমধ্যেই একটি ভার্চুয়াল 64-চ্যানেলের প্যারামিটারগুলি সম্পাদনা করার ক্ষমতা সহ একটি পূর্ণাঙ্গ সিকোয়েন্সার ইন্টারফেস ছিল। অডিও ট্র্যাক এবং MIDI ট্র্যাকগুলির সীমাহীন সংযোজন সহ কনসোল মেশানো৷

এই সীমাবদ্ধ ছিল না. প্রজেক্ট ম্যানেজমেন্ট পর্যায়ে, VST ফরম্যাটে (প্রথমে দ্বিতীয় এবং তারপরে তৃতীয় সংস্করণ) প্লাগ-ইন সংযুক্ত করার জন্য সমর্থন চালু করা হয়েছিল, যা একবার স্টেইনবার্গ দ্বারা তৈরি করা হয়েছিল। মোটামুটিভাবে বলতে গেলে, VST-হোস্টকে সমর্থন করে এমন যেকোনো ভার্চুয়াল সিন্থেসাইজার প্রোগ্রামের সাথে সংযোগ করতে পারে।

এটি আশ্চর্যজনক নয় যে শীঘ্রই যে কোনও সুরকার "আয়রন" মডেলগুলির অ্যানালগগুলি ব্যবহার করতে পারে, উদাহরণস্বরূপ, এক সময়ের জনপ্রিয় কোর্গ এম 1 এর শব্দগুলির সম্পূর্ণ সেট। আরও বেশি। অ্যাডিকটিভ ড্রামস বা সার্বজনীন কনট্যাক্ট প্লাগ-ইন-এর মতো মডিউলগুলির ব্যবহার লাইভ শব্দগুলি পুনরুত্পাদন করা সম্ভব করেছে৷ বাস্তব যন্ত্রপেশাদার স্টুডিওতে উচ্চারণ সব ছায়া গো সঙ্গে রেকর্ড করা.

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

প্রাথমিক সংস্করণ হিসাবে, এর জীবনচক্রকে সম্পূর্ণ সমাপ্ত বলা যেতে পারে, তবে এই জাতীয় বিবৃতি আপেক্ষিক, যেহেতু অ্যাপ্লিকেশনটি কেবল তার নাম পরিবর্তন করেছে এবং নতুন বৈশিষ্ট্য অর্জন করেছে।

উন্নয়ন সম্ভাবনা

সফ্টওয়্যার জীবনচক্রের পর্যায়গুলি কী কী তা ইতিমধ্যেই পরিষ্কার। কিন্তু এই ধরনের প্রযুক্তির উন্নয়ন আলাদাভাবে উল্লেখ করার মতো।

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

এমনকি উইন্ডোজের ক্ষেত্রেও এই ধরনের প্রবণতা খালি চোখে দেখা যায়। এটি অসম্ভাব্য যে আজকের দিনে অন্তত একজন ব্যবহারকারী থাকবেন যা পরিবর্তন 3.1, 95, 98 বা মিলেনিয়ামের মতো সিস্টেমগুলি ব্যবহার করবে৷ এক্সপি সংস্করণ প্রকাশের পর তাদের জীবনচক্র শেষ হয়ে যায়। কিন্তু এনটি প্রযুক্তির উপর ভিত্তি করে সার্ভার সংস্করণ এখনও প্রাসঙ্গিক। এমনকি Windows 2000 আজকে শুধুমাত্র খুব আপ-টু-ডেট নয়, এমনকি কিছু ইনস্টলেশন বা নিরাপত্তা পরামিতিগুলির সাম্প্রতিক বিকাশকেও ছাড়িয়ে গেছে। NT 4.0 সিস্টেমের পাশাপাশি Windows Server 2012-এর একটি বিশেষ পরিবর্তনের ক্ষেত্রেও একই কথা প্রযোজ্য।

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

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

কিছু অতিরিক্ত প্রশ্ন

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

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

কিন্তু বর্তমানে কম্পিউটার প্রযুক্তিতে, স্বয়ংক্রিয় নিয়ন্ত্রণ ব্যবস্থার (ACS) বিকাশকে অগ্রাধিকার দেওয়া হয়, যা উৎপাদনে ব্যবহৃত হয়। এমনকি অপারেটিং সিস্টেমগুলি, বিশেষ প্রোগ্রামগুলির সাথে তুলনা করে, হারায়।

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

মোটের পরিবর্তে

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

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

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

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

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

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

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

সফ্টওয়্যার হল একটি সমস্যা সমাধানের জন্য ডিজাইন করা প্রোগ্রামগুলির একটি সেট। সফ্টওয়্যার জীবনচক্র হল সফ্টওয়্যার তৈরির প্রয়োজনীয়তার মুহূর্ত থেকে এটি বাতিল না হওয়া পর্যন্ত সময়ের সময়কাল। সফ্টওয়্যার জীবনচক্রের পর্যায়, যা ক্রমানুসারে এবং সমান্তরাল এবং আধা-সমান্তরাল উভয় ক্ষেত্রেই চলতে পারে:

1. উন্নয়ন;

2. অপারেশন;

3. অনুষঙ্গ।

রক্ষণাবেক্ষণ পর্যায়ে, একটি নিয়ম হিসাবে, নিম্নলিখিত ধরনেরকাজ:

  1. সফ্টওয়্যার কার্যকারিতা সম্প্রসারণ;
  2. ইতিমধ্যে বিদ্যমান ফাংশন পরিবর্তন;
  3. হার্ডওয়্যার পরিবর্তন সম্পর্কিত সফ্টওয়্যার পরিবর্তন;
  4. সফ্টওয়্যার ত্রুটিগুলি নির্মূল করা যা সম্পূর্ণ পরীক্ষার অসম্ভবতার কারণে বিকাশের সময় সনাক্ত করা হয়নি, তবে কেবলমাত্র অপারেশন পর্যায়ে উপস্থিত হয়েছিল।

বিকাশের সময়, নিম্নলিখিত পর্যায়গুলি স্পষ্টভাবে আলাদা করা হয়:

  1. সফ্টওয়্যারের প্রয়োজনীয়তার সংজ্ঞা, যা প্রয়োজনীয় তথ্য সংগ্রহের জন্য প্রদান করে।
  2. বাহ্যিক নকশা (রেফারেন্সের শর্তাবলীতে থাকা তথ্য বিশ্লেষণ এবং কঠোর আনুষ্ঠানিকতার সাপেক্ষে; এই পর্যায়ের মূল উদ্দেশ্য হল বিকাশকারীকে শেষ পর্যন্ত কী পরিণত হওয়া উচিত সে সম্পর্কে সবচেয়ে সম্পূর্ণ এবং সঠিক ধারণা দেওয়া)। আবশ্যক না.
  3. অভ্যন্তরীণ নকশা (পূর্ববর্তী পর্যায়ে প্রাপ্ত তথ্য পরিষ্কার করা হয় এবং সফ্টওয়্যারটিতে ব্যবহৃত ডেটা স্ট্রাকচারগুলি তৈরি করা হয়, সফ্টওয়্যারের মডুলার কাঠামো নির্ধারণ করা হয়, নিয়ন্ত্রণ স্থানান্তর বা তথ্য বিনিময় প্রক্রিয়ায় মডিউলগুলির মিথস্ক্রিয়া করার নিয়ম ইত্যাদি .)
  4. প্রোগ্রামিং (কোডিং)।
  5. পরীক্ষা এবং ডিবাগিং। পরীক্ষা হল প্রোগ্রামে ত্রুটির উপস্থিতি সনাক্ত করার প্রক্রিয়া। ডিবাগিং - পরীক্ষা + ডায়াগনস্টিকস এবং ত্রুটি স্থানীয়করণ + ত্রুটি নির্মূল।
  6. সফটওয়্যার টেস্টিং. পরীক্ষা হল একটি বিশেষ ধরনের পরীক্ষা, যার উদ্দেশ্য হল প্রাপ্ত সফ্টওয়্যার এবং প্রযুক্তিগত বৈশিষ্ট্যগুলির প্রয়োজনীয়তার মধ্যে অসঙ্গতি সনাক্ত করা।

সফ্টওয়্যার জীবন চক্র মডেল:

§ জলপ্রপাত মডেল

§ সর্পিল মডেল - যখন সর্পিল একটি বাঁক পাস, ফলাফল সফ্টওয়্যার সংস্করণ. পরীক্ষার পরে, পরবর্তী সংস্করণটি বিকাশ করার বা বিকাশ না করার সিদ্ধান্ত নেওয়া হয়, যদি এই সংস্করণটি রেফারেন্সের শর্তাবলীর প্রয়োজনীয়তাগুলি সম্পূর্ণরূপে পূরণ করে।

31. রেফারেন্সের শর্তাবলী (GOST 19.201 - 78)। এর প্রধান বিভাগ এবং তাদের বিষয়বস্তু।

এই মান অনুযায়ী, প্রযুক্তিগত কাজনিম্নলিখিত বিভাগ অন্তর্ভুক্ত করা হয়:



2. ভূমিকা;

3. উন্নয়নের ভিত্তি;

4. উন্নয়নের উদ্দেশ্য;

5. সফ্টওয়্যার পণ্যের জন্য প্রয়োজনীয়তা;

6. ডকুমেন্টেশন প্রয়োজনীয়তা;

7. প্রযুক্তিগত এবং অর্থনৈতিক সূচক;

8. উন্নয়নের পর্যায় এবং পর্যায়;

9. নিয়ন্ত্রণ এবং গ্রহণের জন্য পদ্ধতি

10. আবেদন।

ভূমিকা:

§ নাম;

§ এর একটি সংক্ষিপ্ত বিবরণসফ্টওয়্যার অ্যাপ্লিকেশন ক্ষেত্রে।

এই বিভাগের মূল উদ্দেশ্য হল এই উন্নয়নের প্রাসঙ্গিকতা এবং এই উন্নয়নটি অনুরূপগুলির মধ্যে কী স্থান দখল করে তা প্রদর্শন করা।

উন্নয়নের ভিত্তি:

§ নথির নাম যার ভিত্তিতে উন্নয়ন করা হয়;

§ যে সংস্থা এই নথি অনুমোদন করেছে;

§ নাম বা প্রতীকউন্নয়ন বিষয়

এই ধরনের একটি নথি একটি পরিকল্পনা, আদেশ, চুক্তি, ইত্যাদি হতে পারে।

উন্নয়নের উদ্দেশ্য:

§ এই সিস্টেমের কার্যকরী এবং কর্মক্ষম উদ্দেশ্যের বর্ণনা, এর ব্যবহারকারীদের বিভাগ নির্দেশ করে।

প্রোগ্রাম বা সফ্টওয়্যার পণ্যের জন্য প্রয়োজনীয়তা.

এই বিভাগে নিম্নলিখিত উপধারা অন্তর্ভুক্ত করা উচিত:

1. কর্মক্ষমতা প্রয়োজনীয়তা;

2. নির্ভরযোগ্যতার জন্য প্রয়োজনীয়তা;



3. অপারেটিং শর্ত;

4. প্রযুক্তিগত উপায়ের রচনা এবং পরামিতিগুলির জন্য প্রয়োজনীয়তা;

5. তথ্য এবং সফ্টওয়্যার সামঞ্জস্যের জন্য প্রয়োজনীয়তা;

6. লেবেলিং এবং প্যাকেজিং জন্য প্রয়োজনীয়তা;

7. পরিবহন এবং স্টোরেজ জন্য প্রয়োজনীয়তা.

8. বিশেষ প্রয়োজনীয়তা.

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

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

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

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

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

লেবেলিং এবং প্যাকেজিং প্রয়োজনীয়তা বিভাগটি নির্দিষ্ট করে কিভাবে সফ্টওয়্যারটি লেবেল এবং প্যাকেজ করা হয়।

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

বিশেষ প্রয়োজনীয়তা বিভাগটি এমন প্রয়োজনীয়তাগুলিকে নির্দিষ্ট করে যা পূর্বে বর্ণিত বিভাগগুলির কোনটির অন্তর্গত নয়।

সফ্টওয়্যার ডকুমেন্টেশন জন্য প্রয়োজনীয়তা.

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

প্রযুক্তিগত এবং অর্থনৈতিক সূচক।

বিকাশের পর্যায় এবং পর্যায়।

এটি সম্পাদিত কাজের বিকাশের পর্যায় এবং পর্যায়গুলি নির্দেশ করে, সময়সীমা এবং পারফর্মারদের নির্দেশ করে।

নিয়ন্ত্রণ এবং গ্রহণের আদেশ.

এটি পরীক্ষার পদ্ধতি এবং গ্রহণযোগ্যতার জন্য সাধারণ প্রয়োজনীয়তাগুলি নির্দিষ্ট করে৷

পরিশিষ্ট:গবেষণা, ন্যায্যতা, গণনা এবং অন্যান্য নথির তালিকা যা উন্নয়নের জন্য ব্যবহার করা উচিত।

সফ্টওয়্যার তৈরি করা বৈশিষ্ট্যগুলির উপর নির্ভর করে, এটি বর্ণিত বিভাগগুলিকে পরিমার্জিত করতে, নতুনগুলি প্রবর্তন করতে বা বিদ্যমানগুলিকে একত্রিত করার অনুমতি দেওয়া হয়।

32. স্ট্রাকচারাল সফটওয়্যার ডিজাইন: স্ট্রাকচারাল অ্যানালাইসিস পদ্ধতি, মডুলার স্ট্রাকচার ডিজাইন।

কাঠামোগত বিশ্লেষণ পদ্ধতিটি নীচে তালিকাভুক্ত কয়েকটি সাধারণ নীতির উপর ভিত্তি করে।

1. পচন নীতিএবং অনুক্রমিক ক্রম, যা একটি বড় এবং জটিল সমস্যাকে অনেক ছোট স্বাধীন সাবটাস্কে বিভক্ত করে যা বোঝা এবং সমাধান করা সহজ। তদুপরি, ইতিমধ্যে নির্বাচিত সাবটাস্কগুলির জন্য পচন করা যেতে পারে। এই অনুক্রমিক পচনের ফলে, নির্দিষ্ট করা সিস্টেমটি অনুক্রমিক স্তরে বোঝা এবং তৈরি করা যেতে পারে, যার প্রতিটিতে নতুন বিবরণ যোগ করা হয়।

2. বিমূর্তকরণ নীতিসমস্যাটিকে একটি সুবিধাজনক সাধারণ আকারে উপস্থাপন করার জন্য সিস্টেমের এমন দিকগুলিকে হাইলাইট করে যা কিছু অবস্থান থেকে তাৎপর্যপূর্ণ এবং অস্তিত্বহীন বিষয়গুলি থেকে বিমূর্ত করা।

3. আনুষ্ঠানিককরণ নীতিএকটি কঠোর পদ্ধতিগত পদ্ধতির এবং সমস্যা সমাধানের প্রয়োজনীয়তার মধ্যে রয়েছে।

4. গোপন করার নীতিএকটি নির্দিষ্ট পর্যায়ে নগণ্য তথ্য "লুকানোর" মধ্যে থাকে: প্রতিটি অংশ শুধুমাত্র যা প্রয়োজনীয় তা "জানে"।

5. সম্পূর্ণতার নীতিঅপ্রয়োজনীয় উপাদানের উপস্থিতি পরীক্ষা করা হয়।

6. সামঞ্জস্য নীতিউপাদানগুলির বৈধতা এবং ধারাবাহিকতার মধ্যে রয়েছে।

7. যৌক্তিক স্বাধীনতার নীতিশারীরিক মৃত্যুদন্ড থেকে স্বাধীনতা নিশ্চিত করার জন্য লজিক্যাল ডিজাইনের উপর ফোকাস করা।

8. ডেটা স্বাধীনতার নীতিএই সত্যের মধ্যে রয়েছে যে ডেটা মডেলগুলিকে তাদের যৌক্তিক প্রক্রিয়াকরণের প্রক্রিয়াগুলির পাশাপাশি কম্পিউটিং সিস্টেমের স্মৃতিতে তাদের শারীরিক গঠন এবং বিতরণের স্বাধীনভাবে বিশ্লেষণ এবং ডিজাইন করা উচিত।

9. তথ্য কাঠামোর নীতিডেটা অবশ্যই কাঠামোগত এবং শ্রেণিবদ্ধভাবে সংগঠিত হতে হবে।

একটি কমপ্লেক্সে সমস্ত নীতি দ্বারা পরিচালিত, স্পেসিফিকেশন পর্যায়ে এটি বোঝা সম্ভব যে সফ্টওয়্যারটি কেমন হবে, ভুল এবং ত্রুটিগুলি সনাক্ত করা, যা, জীবনচক্রের পরবর্তী পর্যায়ে কাজকে সহজতর করবে৷

কাঠামোগত বিশ্লেষণে সিস্টেমগুলি নির্দিষ্ট করার উদ্দেশ্যে, তিনটি গ্রুপের টুল ব্যবহার করা হয়, চিত্রিত করে:

* ফাংশন যা সিস্টেমকে অবশ্যই সম্পাদন করতে হবে;

* ডেটার মধ্যে সম্পর্ক;

* সিস্টেমের সময়-নির্ভর আচরণ (রিয়েল-টাইম দিক)।

এর জন্য আবেদন করুন:

* DFD (ডেটা ফ্লো ডায়াগ্রাম) - ডাটা ফ্লো ডায়াগ্রাম একসাথে ডাটা অভিধান এবং প্রসেস স্পেসিফিকেশন;

* ERD (সত্তা-সম্পর্ক চিত্র) - সত্তা-সম্পর্ক চিত্র;

* STD (স্টেট ট্রানজিশন ডায়াগ্রাম) - স্টেট ট্রানজিশন ডায়াগ্রাম।

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

ERD ব্যবহার করে প্রতিটি দোকানের গঠন বর্ণনা করা হয়েছে। বাস্তব সময়ের ক্ষেত্রে, ডিএফডি সিস্টেমের সময়-নির্ভর আচরণ বর্ণনা করার মাধ্যমে পরিপূরক হয়, যা STD ব্যবহার করে বর্ণনা করা হয়। এই সংযোগগুলি চিত্রে দেখানো হয়েছে।

কাঠামোগত বিশ্লেষণ সরঞ্জামের সম্পর্ক

মডুলার গঠন নকশা.একটি মডিউল একটি পৃথক কার্যকরীভাবে সম্পূর্ণ সফ্টওয়্যার ইউনিট যা স্বাধীনভাবে ব্যবহার করা যেতে পারে বা একটি প্রোগ্রামের অংশ হতে পারে। সফ্টওয়্যারটি পৃথক মডিউল সমন্বিত একটি মডুলার কাঠামোর ভিত্তিতে তৈরি করা হয়েছে।

মডিউল ব্যবহার করে সফ্টওয়্যার বিকাশের সুবিধার মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে:

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

একটি মডুলার কাঠামো ডিজাইন এবং নথিভুক্ত করতে, কনস্টানটাইন কাঠামোগত মানচিত্র ব্যবহার করা হয়, যা সফ্টওয়্যার মডিউলগুলির মধ্যে সম্পর্কের একটি মডেল।

কাঠামোগত মানচিত্র একটি নির্দেশিত গ্রাফ। স্ট্রাকচার ম্যাপ নোডগুলি মডিউল এবং ডেটা ক্ষেত্রগুলির সাথে সামঞ্জস্যপূর্ণ, যখন আর্কস আন্তঃ-মডিউল কলগুলিকে উপস্থাপন করে। এই ক্ষেত্রে, চক্রীয় এবং শর্তাধীন কলগুলি আর্কসের সাথে সংযুক্ত বিশেষ নোড দ্বারা মডেল করা হয়।

কাঠামোগত মানচিত্রের উপাদান।

কাঠামোগত মানচিত্রের মৌলিক উপাদান হল মডিউল। বিভিন্ন ধরনের মডিউল আছে:

1. মডিউল নিজেই প্রসেসিং সফ্টওয়্যার খণ্ডের প্রতিনিধিত্ব করতে এবং ডায়াগ্রামে স্থানীয়করণ করতে ব্যবহৃত হয়।

2. সাবসিস্টেম - পূর্বে সংজ্ঞায়িত মডিউলগুলির একটি সেট। যেকোনো চার্টে যেকোনো সংখ্যক বার পুনরায় ব্যবহার করা যেতে পারে।

3. একটি লাইব্রেরি একটি সাবসিস্টেম থেকে আলাদা যে এটি সিস্টেমের প্রসঙ্গের বাইরে সংজ্ঞায়িত করা হয়।

4. ডাটা এলাকা গ্লোবাল (ডিস্ট্রিবিউটেড) ভেরিয়েবলের ক্ষেত্র সমন্বিত মডিউল নির্দিষ্ট করতে ব্যবহৃত হয়।

স্ট্রাকচারাল ম্যাপে মডিউলের প্রকারভেদ।

স্ট্রাকচার ম্যাপ তৈরি করার সময়, মডিউল যোগ করা এবং সেগুলিকে একত্রে লিঙ্ক করা ফ্লো ব্যবহার করে করা হয় যা কলগুলির একটি শ্রেণিবিন্যাস দেখায়। সিরিয়াল এবং সমান্তরাল কলের মধ্যে পার্থক্য করুন। যখন ক্রমানুসারে বলা হয়, মডিউল যে কোনো ক্রমে বা একই সময়ে কল করা যেতে পারে।

শর্তসাপেক্ষ এবং পুনরাবৃত্ত নোডগুলি শর্তসাপেক্ষ এবং চক্রীয় কলগুলির মডেল করতে ব্যবহৃত হয়।

শর্তসাপেক্ষ এবং পুনরাবৃত্তিমূলক কলের ছবি।

সাধারণ মডুলার কাঠামো।বিকাশকারীর দ্বারা সমাধান করা কাজগুলির উপর এবং নির্বাচিত নকশা পদ্ধতির উপর নির্ভর করে, মডুলার সফ্টওয়্যারের নিম্নলিখিত প্রধান কাঠামোগুলির মধ্যে একটি থাকতে পারে: একচেটিয়া - মডুলার; ধারাবাহিকভাবে - মডুলার; মডুলার - অনুক্রমিক; মডুলার - বিশৃঙ্খল।

a - একশিলা; b - অনুক্রমিক; c - শ্রেণিবিন্যাস; d - বিশৃঙ্খল।

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

অনুক্রমিক - মডুলার কাঠামোর মধ্যে বেশ কয়েকটি মডিউল রয়েছে যা পরস্পরের কাছে নিয়ন্ত্রণ স্থানান্তর করে। এই গঠন সহজ এবং স্বজ্ঞাত, কিন্তু শুধুমাত্র অপেক্ষাকৃত সহজ কাজের জন্য প্রয়োগ করা যেতে পারে.

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

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

সফ্টওয়্যার কাঠামোগত নকশা জন্য সাধারণ নিয়ম.উপরে শুরুর ধাপসফ্টওয়্যার উন্নয়ন, এর গঠন এবং উপাদানগুলির মিথস্ক্রিয়া জন্য সাধারণ নিয়ম গঠিত হয়, যা নিম্নরূপ:

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

"জীবনচক্র" ধারণাটি এমন কিছুকে বোঝায় যা জন্ম, বিকাশ এবং মৃত্যু হয়। একটি জীবন্ত প্রাণীর মতো, সফ্টওয়্যার পণ্যগুলি তৈরি হয়, পরিচালিত হয় এবং সময়ের সাথে সাথে বিবর্তিত হয়।

জীবনচক্র সফ্টওয়্যারটি এর বিকাশের সমস্ত পর্যায় অন্তর্ভুক্ত করে: এটির প্রয়োজনের উদ্ভব থেকে অপ্রচলিত হওয়ার কারণে বা প্রাসঙ্গিক সমস্যাগুলি সমাধান করার প্রয়োজনীয়তার ক্ষতির কারণে এটির ব্যবহার সম্পূর্ণ বন্ধ হওয়া পর্যন্ত।

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

জীবনচক্রের সময়কাল অনুসারে, সফ্টওয়্যার পণ্য দুটি শ্রেণীতে বিভক্ত করা যেতে পারে: ছোট এবং মহান জীবন সময়। এই শ্রেণীর প্রোগ্রামগুলি তাদের তৈরি এবং ব্যবহারের জন্য একটি নমনীয় (নরম) পদ্ধতির এবং সফ্টওয়্যার পণ্যগুলির নিয়ন্ত্রিত নকশা এবং পরিচালনার জন্য একটি কঠোর শিল্প পদ্ধতির সাথে সঙ্গতিপূর্ণ। ভিতরে বৈজ্ঞানিক সংস্থাএবং বিশ্ববিদ্যালয়গুলি, উদাহরণস্বরূপ, প্রথম শ্রেণীর প্রোগ্রামগুলির বিকাশ বিরাজ করে এবং নকশা এবং শিল্প সংস্থাগুলিতে - দ্বিতীয়টি।

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

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

একটি সংক্ষিপ্ত জীবনকাল সঙ্গে সফ্টওয়্যার পণ্য

এই জাতীয় প্রোগ্রামগুলির রক্ষণাবেক্ষণ এবং পরিবর্তন বাধ্যতামূলক নয় এবং গণনার ফলাফল পাওয়ার পরে তাদের জীবনচক্র সম্পূর্ণ হয়। এই জাতীয় প্রোগ্রামগুলির জীবনচক্রের প্রধান ব্যয়গুলি সিস্টেম বিশ্লেষণ এবং নকশার পর্যায়ে পড়ে, যা ফলস্বরূপ এক মাস থেকে 1 ... 2 বছর স্থায়ী হয়

যে একটি সফ্টওয়্যার পণ্যের জীবনচক্র খুব কমই 3 বছরের বেশি হয়।

একটি দীর্ঘ সেবা জীবন সঙ্গে সফ্টওয়্যার পণ্য নিয়মিত তথ্য প্রক্রিয়াকরণ এবং পরিচালনার জন্য তৈরি করা হয়েছে। এই ধরনের প্রোগ্রামের গঠন জটিল। তাদের আকারগুলি বিস্তৃত পরিসরে পরিবর্তিত হতে পারে (1...1000 হাজার কমান্ড), তবে সেগুলির সকলেই জ্ঞানযোগ্যতার বৈশিষ্ট্য এবং বিভিন্ন বিশেষজ্ঞদের দ্বারা দীর্ঘমেয়াদী রক্ষণাবেক্ষণ এবং ব্যবহারের প্রক্রিয়ায় পরিবর্তনের সম্ভাবনা রয়েছে। এই শ্রেণীর সফ্টওয়্যার পণ্যগুলি প্রতিলিপি করা যেতে পারে, সেগুলি শিল্প পণ্য হিসাবে ডকুমেন্টেশন সহ থাকে এবং বিকাশকারী থেকে বিচ্ছিন্ন সফ্টওয়্যার পণ্য।

একটি দীর্ঘ সেবা জীবন সঙ্গে সফ্টওয়্যার পণ্য

তাদের নকশা এবং অপারেশন বিশেষজ্ঞদের বড় দল দ্বারা সঞ্চালিত হয়, যার জন্য সফ্টওয়্যার সিস্টেমের আনুষ্ঠানিককরণের পাশাপাশি চূড়ান্ত পণ্যের অর্জিত মানের সূচকগুলির আনুষ্ঠানিক পরীক্ষা এবং সংকল্প প্রয়োজন। তাদের জীবনচক্র 10...20 বছর। এই সময়ের 70...90% পর্যন্ত অপারেশন এবং রক্ষণাবেক্ষণের উপর পড়ে। ভর প্রতিলিপি এবং দীর্ঘমেয়াদী রক্ষণাবেক্ষণের কারণে, এই ধরনের সফ্টওয়্যার পণ্যগুলির অপারেশন এবং রক্ষণাবেক্ষণের সময় মোট খরচ উল্লেখযোগ্যভাবে খরচের চেয়ে বেশি ধারা বিশ্লেষণএবং নকশা।

সমস্ত পরবর্তী উপস্থাপনা তথ্য পরিচালনা এবং প্রক্রিয়াকরণের জন্য বৃহৎ (জটিল) সফ্টওয়্যার সরঞ্জামগুলির বিকাশের উপর দৃষ্টি নিবদ্ধ করে।

সাধারণীকৃত মডেল জীবনচক্র সফ্টওয়্যার পণ্য এই মত দেখতে হতে পারে:

আমি ধারা বিশ্লেষণ:

একটি গবেষণা;

খ) সম্ভাব্যতা অধ্যয়ন:

কর্মক্ষম

অর্থনৈতিক;

ব্যবসায়িক.

২. সফটওয়্যার ডিজাইন:

একটি নকশা:

সিস্টেমের কার্যকরী পচন, এর স্থাপত্য;

বাহ্যিক সফ্টওয়্যার নকশা;

ডাটাবেস ডিজাইন;

সফটওয়্যার আর্কিটেকচার;

খ) প্রোগ্রামিং:

অভ্যন্তরীণ সফ্টওয়্যার নকশা;

সফ্টওয়্যার মডিউল বাহ্যিক নকশা;

সফ্টওয়্যার মডিউল অভ্যন্তরীণ নকশা;

কোডিং;

ডিবাগিং প্রোগ্রাম;

প্রোগ্রাম বিন্যাস;

গ) সফ্টওয়্যার ডিবাগিং।

III. সফ্টওয়্যার মূল্যায়ন (পরীক্ষা)।

IV সফটওয়্যার ব্যবহার:

ক) অপারেশন;

খ) সমর্থন।

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

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

গবেষণা শুরু হয় যে মুহূর্ত থেকে ডেভেলপমেন্ট ম্যানেজার সফটওয়্যারের প্রয়োজনীয়তা উপলব্ধি করে।

এই কাজটি বিকশিত সফ্টওয়্যার পণ্যের জন্য প্রয়োজনীয়তার একটি আনুষ্ঠানিক হাতে লিখিত তালিকা প্রস্তুত করার জন্য প্রয়োজনীয় ক্রিয়াগুলির পরিকল্পনা এবং সমন্বয় করে।

গবেষণা শেষ হয় যখন প্রয়োজনীয়তাগুলি এমনভাবে তৈরি করা হয় যাতে সেগুলি দৃশ্যমান হয় এবং প্রয়োজনে দায়িত্বশীল ব্যবস্থাপক দ্বারা সংশোধন এবং অনুমোদন করা যেতে পারে।

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

কাজটি প্রস্তাবিত সফ্টওয়্যার পণ্যের অধ্যয়নের মধ্যে রয়েছে যাতে প্রকল্পটি বাস্তবায়নের সম্ভাবনার একটি ব্যবহারিক মূল্যায়ন পাওয়া যায়, বিশেষত, নিম্নলিখিতগুলি নির্ধারিত হয়:

- অপারেশনাল সম্ভাব্যতা , পণ্য ব্যবহারিক ব্যবহারের জন্য যথেষ্ট আরামদায়ক হবে?

- অর্থনৈতিক সম্ভাব্যতা , উন্নত পণ্যের মূল্য কি গ্রহণযোগ্য? এই খরচ কি? পণ্য কি অর্থনৈতিকভাবে হবে? কার্যকরী হাতিয়ারব্যবহারকারীর হাতে?

- বাণিজ্যিক সম্ভাব্যতা, পণ্যটি কি আকর্ষণীয়, বিপণনযোগ্য, ইনস্টল করা সহজ, সেবাযোগ্য, শিখতে সহজ হবে?

উপরের প্রয়োজনীয়তাগুলি বিবেচনা করার সময় এইগুলি এবং অন্যান্য প্রশ্নগুলি প্রধানত সমাধান করা প্রয়োজন৷

সমস্ত প্রয়োজনীয়তা সংগ্রহ এবং অনুমোদিত হলে সম্ভাব্যতা অধ্যয়ন শেষ হয়।

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

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

প্রায়শই সিস্টেম বিশ্লেষণের সময়, আরও সফ্টওয়্যার বিকাশ বন্ধ করার সিদ্ধান্ত নেওয়া হয়।

. সফটওয়্যার ডিজাইন।ডিজাইন হল সফ্টওয়্যার জীবনচক্রের প্রধান এবং নির্ধারক পর্যায়, যে সময়ে একটি সফ্টওয়্যার পণ্য তৈরি হয় এবং 90% তার চূড়ান্ত রূপ পায়।

জীবনের এই পর্বটি জুড়ে বিভিন্ন ধরনেরপ্রকল্প কার্যকলাপ এবং তিনটি প্রধান পর্যায়ে বিভক্ত করা যেতে পারে: নকশা, প্রোগ্রামিং এবং একটি সফ্টওয়্যার পণ্য ডিবাগিং.

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

প্রয়োজনীয়তাগুলি অনুমোদিত হওয়ার সময়, নকশা পর্যায়ে কাজ পুরোদমে হবে।

সফ্টওয়্যারের জীবনের এই বিভাগে, নিম্নলিখিতগুলি করা হয়:

সমাধান করা সমস্যার কার্যকরী পচন, যার ভিত্তিতে এই সমস্যার সিস্টেমের আর্কিটেকচার নির্ধারণ করা হয়;

বাহ্যিক সফ্টওয়্যার ডিজাইন, ব্যবহারকারীর সাথে তার বাহ্যিক মিথস্ক্রিয়া আকারে প্রকাশ করা হয়;

ডাটাবেস ডিজাইন, যদি প্রয়োজন হয়;

সফ্টওয়্যার আর্কিটেকচার ডিজাইন - অবজেক্ট, মডিউল এবং তাদের ইন্টারফেসিংয়ের সংজ্ঞা।

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

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

প্রোগ্রামিং পর্ব শেষ হয় যখন ডেভেলপাররা ডকুমেন্টিং, ডিবাগিং এবং সফ্টওয়্যার পণ্যের পৃথক অংশগুলিকে সম্পূর্ণভাবে লিঙ্ক করা শেষ করে।

সফটওয়্যার ডিবাগিং এর সমস্ত উপাদান আলাদাভাবে ডিবাগ করা হয় এবং একটি একক সফ্টওয়্যার পণ্যে একত্রিত করার পরে করা হয়।

III. সফ্টওয়্যার মূল্যায়ন (পরীক্ষা)।এই পর্যায়ে, সফ্টওয়্যার পণ্যটি অ-বিকাশকারীদের একটি গ্রুপ দ্বারা কঠোর সিস্টেম পরীক্ষার সম্মুখীন হয়।

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

সমস্ত উপাদান (মডিউল) একসাথে রাখা এবং পরীক্ষা করা হলে মূল্যায়ন পর্ব শুরু হয়, যেমন সমাপ্ত সফ্টওয়্যার পণ্য সম্পূর্ণ ডিবাগিং পরে. সফ্টওয়্যার পণ্যটি সমস্ত পরীক্ষায় উত্তীর্ণ হয়েছে এবং অপারেশনের জন্য প্রস্তুত তা নিশ্চিত হওয়ার পরে এটি শেষ হয়।

এটি প্রোগ্রামিং হিসাবে দীর্ঘ হয়.

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

একটি সফ্টওয়্যার পণ্য ব্যবহারের সময়, এর নকশার সময় যে ত্রুটিগুলি ঘটেছিল তা সংশোধন করা হয় এই বিষয়টির বিবেচনায় এই জাতীয় তুলনা উপযুক্ত।

সফ্টওয়্যার পণ্যের ব্যবহার পর্ব শুরু হয় যখন পণ্যটি বিতরণ ব্যবস্থায় স্থানান্তরিত হয়।

এটি সেই সময় যখন পণ্যটি কার্যকর হয় এবং কার্যকরভাবে ব্যবহৃত হয়।

এই সময়ে, কর্মীদের প্রশিক্ষণ, বাস্তবায়ন, কনফিগারেশন, রক্ষণাবেক্ষণ এবং সম্ভবত, সফ্টওয়্যার পণ্যের সম্প্রসারণ করা হয় - তথাকথিত চলমান নকশা।

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

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

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

সফটওয়্যার রক্ষণাবেক্ষণ রক্ষণাবেক্ষণ, কার্যকারিতার বিকাশ এবং সফ্টওয়্যার পণ্যের কর্মক্ষম বৈশিষ্ট্যগুলির উন্নতি, সফ্টওয়্যার পণ্যের প্রতিলিপি এবং বিভিন্ন ধরণের কম্পিউটিং সুবিধাগুলিতে পোর্টিং অন্তর্ভুক্ত।

রক্ষণাবেক্ষণ অপারেশন পর্যায় থেকে প্রয়োজনীয় প্রতিক্রিয়ার ভূমিকা পালন করে।

সফ্টওয়্যারটির ক্রিয়াকলাপের সময়, প্রোগ্রামগুলিতে ত্রুটিগুলি সনাক্ত করা সম্ভব এবং সেগুলিকে সংশোধন করা এবং তাদের ফাংশনগুলি প্রসারিত করা প্রয়োজনীয় হয়ে ওঠে।

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

সফ্টওয়্যার পণ্য জীবনচক্র পর্যায়গুলির মধ্যে ওভারল্যাপ

সফ্টওয়্যার পণ্যের জীবনচক্রের বিভিন্ন পর্যায়ের মধ্যে ওভারল্যাপ সম্ভব এবং সাধারণত কাম্য। যাইহোক, অ-সংলগ্ন প্রক্রিয়াগুলির মধ্যে কোনও ওভারল্যাপ হওয়া উচিত নয়।

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

একটি সফ্টওয়্যার পণ্যের জীবনচক্রের বিবেচিত মডেল, কিছু পরিবর্তন সহ, ছোট প্রকল্পগুলির জন্য একটি মডেল হিসাবেও কাজ করতে পারে।

উদাহরণস্বরূপ, যখন একটি একক প্রোগ্রাম ডিজাইন করা হয়, তখন এটি প্রায়শই সিস্টেমের আর্কিটেকচার ডিজাইন করার সাথে বিতরণ করা হয় এবং

ডাটাবেস ডিজাইন; প্রাথমিক এবং বিস্তারিত বাহ্যিক নকশার প্রক্রিয়াগুলি প্রায়শই একত্রিত হয়, ইত্যাদি।