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