উন্নয়নের পরে একটি সফ্টওয়্যার ডিজাইন ডকুমেন্ট তৈরি করা কি ন্যায়সঙ্গত হতে পারে?


11

আমি বর্তমানে আমার "সফটওয়্যার ডেভলপমেন্ট" স্টাডিজের জন্য আমার স্নাতক নিয়ে কাজ করছি, যাতে আমাকে একটি বাহ্যিক সংস্থায় স্বতন্ত্রভাবে জটিল সফটওয়্যার বিকাশ করতে হবে। এটি সমস্ত সম্পর্কিত নথি তৈরি করে কাঠামোগত পদ্ধতিতে করা দরকার manner

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

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

উন্নয়নের পরে এসডিডি তৈরি করা কি এটি উপযুক্ত ন্যায়সঙ্গত? যদি তা না হয় তবে তার পক্ষে কি কোনও ন্যায়সঙ্গত যুক্তি থাকতে পারে?

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


2
বিকাশের সময় / পরে যদি আপনার এসডিডিটি "প্রচুর" পরিবর্তন করতে হয় তবে সম্ভবত এটির খুব বেশি বিশদ রয়েছে।
স্বাধীনতা-এম


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

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

উত্তর:


17

আইইইই স্ট্যান্ড 1016 বিভাগে 3.1 সফটওয়্যার ডিজাইনের প্রসঙ্গে আপনি এই অনুচ্ছেদটি খুঁজে পেতে পারেন:

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

আইইইই স্ট্যান্ড 1016 এর লেখকরা স্বীকার করেছেন যে কোনও এসডিডি আপ-ফ্রন্ট তৈরি হতে পারে না। আগ্রহী পক্ষগুলির জন্য তথ্য ক্যাপচার করার জন্য একটি সফ্টওয়্যার সিস্টেম উপস্থিত থাকার পরে তৈরি করা যেতে পারে।

বিভাগ 1.1 স্কোপ কিছু আকর্ষণীয় তথ্য প্রদান করে:

এই মানটি ডিজাইন, কনফিগারেশন পরিচালনা বা গুণগত নিশ্চয়তার জন্য নির্দিষ্ট পদ্ধতি নির্ধারণ করে না।

এই প্রশ্নের প্রসঙ্গে, মূল শব্দগুলি হ'ল "কনফিগারেশন ম্যানেজমেন্ট"। কনফিগারেশন পরিচালনটি কেবল তৈরি হওয়া সফ্টওয়্যার সিস্টেমের জন্যই নয়, কোনও সম্পর্কিত ডকুমেন্টেশনের ক্ষেত্রে প্রযোজ্য।

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

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

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


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

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

8

আপনি এসডিডি থেকে যে সমস্ত সন্ধান করছেন তা অন্যের সাথে ডিজাইনের যোগাযোগ করা, তবে হ্যাঁ, আপনি এটি বিকাশের পরে তৈরি করতে পারেন। কেবলমাত্র এটি হ'ল একে ডকুমেন্টেশন বলা হয়।

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

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


প্রকল্পের সময় আগে তৈরি এবং রক্ষণাবেক্ষণ করলে এসডিডি কী বলা হবে?
সাইমন বার্স

কেবল এসডিডি :)
জোনাথন ভ্যান ডি ভীন

সুপারভাইজারদের ভুল বোঝাবুঝি এড়াতে আপনি কি নাম পরিবর্তন করার পরামর্শ দিবেন?
সাইমন বার্স

আপনি কী ধরণের ভুল বোঝাবুঝির আশা করছেন?
জোনাথন ভ্যান ডি ভীন

8
@SimonBaars: সত্যিই "সফ্টওয়্যার পরিকল্পনা নথি" বা "সফ্টওয়্যার পরিকল্পনা নথি মধ্যে যেমন একটি বড় পার্থক্য ation "?
ডক ব্রাউন

2

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

আপনার তৈরি অন্য যে কোনও ডিজাইনের নথি যেমন একটি এসডিডি, আপনি নিজের নকশা (কোড) শেষ করার পরে আপডেট করার প্রয়োজন হবে। অতএব, এসডিডি পরে লেখার জন্য বাধ্যতামূলক কারণ রয়েছে: আপনাকে কেবল এটি একবারে করতে হবে।

এর সুস্পষ্ট কাউন্টারটি হ'ল "আপনি ইভেন্টের পরে কতবার সত্যই এসডিডি লিখবেন "? অ্যাপ্লিকেশনটি পাঠানো হয়েছে, সুতরাং আপনি সেই পর্যায়ে ডকুমেন্টিংয়ের জন্য সময় ব্যয় করতে চান না। তবে এটি বিদ্যমান বিদ্যমান আপডেট করার ক্ষেত্রে সমানভাবে প্রযোজ্য। কোনটি খারাপ, কোনও এসডিডি বা কোনও এসডিডি যা ভুল এবং বিশ্বাস করা যায় না?

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


The app is shipped, so you aren't likely to want to spend time documenting at that stage. এক্ষেত্রে অ্যাপ্লিকেশনটি আমার স্নাতক সময়ের মধ্যে চূড়ান্ত হবে না, তাই অন্যান্য বিকাশকারীদের পণ্যটির বিকাশ অব্যাহত রাখতে সক্ষম হওয়ার জন্য আমাদের ডকুমেন্টেশন প্রয়োজন।
সাইমন বার্স

0

আমার জন্য, এটি একটি ভাল যুক্তি হবে না।

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


0

যাইহোক এটি সামনে আপ করার জন্য একটি কেস তৈরি করা আছে । কারণ আপনি এটি ডকুমেন্ট লিখতে শেখার জন্য এটি করছেন । এই কাজটি এড়িয়ে যাওয়া কারণ এটি এখানে 100% প্রয়োজন হতে পারে না এর অর্থ আপনি আপনার পড়াশুনা বাদ দিন।

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

পরে যদি কিছু পরিবর্তন হয় তবে আপনি ডকুমেন্টটি আপডেট করুন।

সত্যের পরে লেখার তুলনায় এর বেশ কয়েকটি সুবিধা রয়েছে:

  • প্রয়োজনীয়তা পরিবর্তিত হয়ে গেলে, দরকারী অভ্যাসের সময় ডিজাইনের নথিগুলি আপডেট রাখতে আপনি শিখবেন

  • আপনি প্রয়োগের আগে ডিজাইন সম্পর্কে চিন্তা করতে শিখবেন

  • বাস্তবের পরে নকশার দলিলগুলি লেখার মতো মন-উদ্বেগজনকভাবে বিরক্তিকর নয়

  • আপনি যদি সময়ের বাইরে চলে যান তবে আপনার কাছে এখন পর্যন্ত যা আছে তা বর্ণনা করার জন্য আপনার কাছে একটি নকশা নথি থাকবে যাতে অন্যরা আপনার কাজ চালিয়ে যেতে পারে

  • এটি এতটা অতিরিক্ত কাজ নয়

  • আপনার প্রকল্পটি চলতে চলতে আপনি সম্ভবত দুটি মাস আগে কেন এমন কিছু করেছিলেন সে সম্পর্কে আপনি নিশ্চিত নন এবং আপনার নোটগুলি আপনাকে জানাতে হবে।


-2

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

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