ইউএমএল স্ট্যান্ডার্ড এক ডজনেরও বেশি বিভিন্ন চিত্রের ধরণের সংজ্ঞা দেয়, যেমন এই হ্যান্ডি চার্টে দেখানো হয়েছে:
সূত্র: https://en.wikedia.org/wiki/File:UML_diagrams_overview.svg
চিত্র দেখুন A.5 এছাড়াও দেখুন ইউএমএল 2.5 স্পেক-তে কাঠামো এবং আচরণের চিত্রের বিভাগে।
নোট করুন যে এটি একটি শ্রেণিকেন্দ্রের চিত্রের উদাহরণ, এর সাথে ডায়াগ্রামের ধরণগুলির মধ্যে একটি সাব-টাইপিং সম্পর্ক এবং ইটালিকগুলিতে বিমূর্ত চিত্র চিত্রের মধ্যে রয়েছে ty এই ডায়াগ্রামের ধরণগুলি আসলে ইউএমএল মেটোমোডেলের অভ্যন্তর শ্রেণীর মধ্যে রয়েছে, এই শ্রেণীর চিত্রটি ওওপির সাথে কোনও সংযোগ ছাড়াই, একটি শ্রেণিবিন্যাস চিত্রিত করার জন্য এখনও কার্যকর।
এমন বেশ কয়েকটি প্রকার রয়েছে যা কেবলমাত্র ওওপি-তে স্পষ্টভাবে প্রযোজ্য, উদাহরণস্বরূপ শ্রেণীর চিত্র বা বস্তুর ডায়াগ্রাম । তবে বাকিগুলি কেবলমাত্র অবজেক্ট-ওরিয়েন্টেড সিস্টেমগুলির জন্য বেশি প্রযোজ্য।
রাজ্য মেশিন ডায়াগ্রাম - এফপি রাজ্যগুলি এড়িয়ে যায় না, এটি কেবল তাদের স্পষ্ট করে তোলে। একটি স্টেট মেশিন ডায়াগ্রাম নিয়ন্ত্রণ প্রবাহ বা প্রোগ্রামের বিভিন্ন রাষ্ট্রীয় রূপান্তরগুলি ব্যাখ্যা করতে কার্যকর হতে পারে।
ক্রিয়াকলাপ চিত্রগুলি - স্টেট মেশিন ডায়াগ্রামের মতো একই ক্ষেত্রে কার্যকর তবে উচ্চতর স্তরে। এগুলি বিভিন্ন উপ-সিস্টেমের মধ্যে ডেটা প্রবাহকে ব্যাখ্যা করতে বা বহিরাগত ব্যবসায়িক প্রক্রিয়াগুলির মডেল করতে ব্যবহার করা যেতে পারে।
মিথস্ক্রিয়া ডায়াগ্রাম - একাধিক রাষ্ট্রীয় প্রক্রিয়াগুলির মধ্যে মিথস্ক্রিয়াকে মডেল করুন। স্পষ্টতই, খাঁটি ফাংশনাল প্রোগ্রামের ইন্টার্নালগুলি মডেলিংয়ের জন্য এটি কার্যকর নয়। তবে, ইউএমএল কেবল কোডের কাঠামোর মডেলিংয়ের বিষয়ে নয়, মূলত সর্বজনীন মডেলিংয়ের ভাষা সরবরাহ সম্পর্কে providing একটি ইন্টারেক্টিশন ডায়াগ্রামের সাহায্যে আমি উদাহরণস্বরূপ সিস্টেমগুলির মধ্যে বাহ্যিক আচরণের মডেল করার জন্য ইন্টারঅ্যাকশন ডায়াগ্রামগুলি ব্যবহার করতে পারি, যেমন একটি ব্রাউজার এবং একটি ওয়েব সার্ভারের মধ্যে - এমনকি যখন সেগুলি এফপি কৌশল ব্যবহার করে লেখা হয়।
কেস ডায়াগ্রাম ব্যবহার করুন - ব্যবহারের কেস এবং প্রয়োজনীয়তাগুলি তাদের সন্তুষ্ট করতে ব্যবহৃত প্রযুক্তি থেকে স্বতন্ত্র। ওওপি বা এফপি এখানে একেবারেই অপ্রাসঙ্গিক।
ডিপ্লোয়মেন্ট ডায়াগ্রাম - এই ডায়াগ্রাম প্রকারটি চলমান সফ্টওয়্যার এবং হার্ডওয়্যার সংস্থানগুলির মধ্যে সম্পর্ক বর্ণনা করতে ব্যবহৃত হয়। সেই সফ্টওয়্যারটি কোনও এফপি ভাষায় লেখা হয়েছিল কিনা তা বিবেচ্য নয়।
উপাদান ডায়াগ্রাম - বেশিরভাগ কার্যকরী ভাষাগুলিতে এই দিনগুলিতে মডিউলার প্রোগ্রামিংয়ের স্পষ্ট সমর্থন রয়েছে। একটি উপাদান ডায়াগ্রাম উপাদান / মডিউল এবং তাদের দেওয়া এবং প্রয়োজনীয় ইন্টারফেস বর্ণনা করে। এটি আমাকে ওসিএএমএল এর ফান্টাকর মডিউলগুলির অনেক স্মরণ করিয়ে দেয়।
প্রোফাইল ডায়াগ্রাম - নিজেই ইউএমএলে এক্সটেনশনের বর্ণনা দিন এবং বাস্তবে কখনও ব্যবহৃত হয় নি।
যৌগিক স্ট্রাকচার ডায়াগ্রাম - সংমিশ্রণের কাঠামো বর্ণনা করুন। এটি ডেটা স্ট্রাকচার, বা কোনও ফাংশনের ইন্টারঅ্যাকশন পয়েন্টগুলি বর্ণনা করতে ব্যবহার করা যেতে পারে। উইকিপিডিয়া উদাহরণস্বরূপ ফিবোনাচি ফাংশনের জন্য একটি চিত্র দেখায়:
সূত্র: https://commons.wikimedia.org/wiki/File:Composite_St جوړ_ Diagram.png
এক অর্থে, এটি ক্লাস ডায়াগ্রামের চেয়ে কার্যকরী প্রোগ্রামারদের পছন্দ হবে, তবে এটি ভয়াবহভাবে অত্যধিক আকার ধারণ করেছে ...
প্যাকেজ ডায়াগ্রাম - প্যাকেজগুলি নেমস্পেসের ইউএমএল সমতুল্য। এই চিত্রের ধরণটি পৃথক চিত্রের চেয়ে ইউএমএল ভাষার অবকাঠামোর বেশি অংশ। উদাহরণস্বরূপ, আপনি একটি বড় ইউজ কেস ডায়াগ্রামকে শ্রেণিবদ্ধ করতে প্যাকেজগুলি ব্যবহার করতে পারেন।
সুতরাং আমরা যেমন দেখেছি, বিভিন্ন ইউএমএল ডায়াগ্রাম প্রকারগুলি এখনও কার্যকরী প্রোগ্রামিং করার সময় দরকারী হতে পারে।
কোনও সিস্টেম ডিজাইন করার সময় আমি ইউএমএল ব্যবহার করার ইচ্ছা খুব কমই অনুভব করেছি এবং প্রাথমিকভাবে আমার নির্ধারিত হোমওয়ার্ক করার জন্য, বা একটি দ্রুত স্কেচের সাহায্যে কোনও স্থাপত্যের রূপরেখা যোগাযোগ করার জন্য ইউএমএল ব্যবহার করি। এমনকি কোনও ওওপি সিস্টেমের জন্যও ইউএমএল এটি সর্বদা ব্যবহারের জন্য পর্যাপ্ত মান সরবরাহ করে না - আসল কোডটি হাজার ডায়াগ্রামের চেয়ে বেশি বলে। আমি কোনও এফপি প্রোগ্রামে বিভিন্ন ফাংশন এবং ডেটা স্ট্রাকচারের মধ্যে নির্ভরতা ব্যাখ্যা করার জন্য ইউএমএল-এর মতো চিত্রগুলি ব্যবহার করে কল্পনা করতে পারি, তবে এখনও তা করতে হবে না - আমার ব্যক্তিগত স্টাইলটি ওওপি এবং এফপির মিশ্রণকে পছন্দ করে যেখানে স্থানীয় স্তরে এফপি কৌশল ব্যবহার করা হয়, তবে সামগ্রিক স্থাপত্যকে প্রভাবিত করবেন না।