ইউএমএল কি ব্যবহারিক? [বন্ধ]


114

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

সম্পাদনা করুন: আমার অভিজ্ঞতা 10 বিকাশকারী প্রকল্পের আওতায় ক্ষুদ্রের মধ্যে সীমাবদ্ধ।

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


4
২০১৩ সালের জরিপের ফলাফলগুলি প্রকাশ করে যে এটি সফটওয়্যার ইঞ্জিনিয়ারিং অধ্যাপকরা যতটা প্রত্যাশিত (!) ততটা ব্যবহৃত হয়নি এবং এর কিছু কারণ প্রকাশ করেছেন: oro.open.ac/uk/35805/8/UML%20in%20pੈਕਟ
208.

উত্তর:


47

পর্যাপ্ত জটিল সিস্টেমে এমন কিছু জায়গা রয়েছে যেখানে কয়েকটিকে UMLদরকারী হিসাবে বিবেচনা করা হয়।

কোনও সিস্টেমের জন্য দরকারী চিত্রগুলি প্রয়োগযোগ্যতার দ্বারা পৃথক হয়।
তবে সর্বাধিক ব্যবহৃত হয়:

  • ক্লাস ডায়াগ্রাম
  • রাজ্য ডায়াগ্রাম
  • ক্রিয়াকলাপ ডায়াগ্রাম
  • সিকোয়েন্স ডায়াগ্রাম

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

ওভারবোর্ডে না যাওয়া এবং আপনি যে প্রকল্পে রয়েছেন তার জন্য কী সেরা এবং তা কার্যকর এবং কার্যকরভাবে স্টাফ বাছাই করা ভাল।


83

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

আপনি যা করছেন কেবল এটিই নয়। এখন থেকে ছয় মাসে যে নতুন ভাড়া আসে এবং কোডটির গতি বাড়ানোর প্রয়োজন হয় সে সম্পর্কে কী বলা যায়? বর্তমানে যখন প্রকল্পটিতে কাজ করা সবাই চলে গেছে তখন থেকে পাঁচ বছর আগে কী হবে?

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

আমি খুঁজে পেয়েছি যে ডকুমেন্টেশনের মূলটি হল সংযম। কিছু পৃষ্ঠায় ঘুমিয়ে না পড়ে ডিজাইনের ডকুমেন্টেশন সহ 50% পৃষ্ঠার পূর্ণ প্রস্ফুটিত ইউএমএল ডায়াগ্রামগুলি পড়তে যাচ্ছে না the অন্যদিকে, বেশিরভাগ লোকেরা কীভাবে কিছু মৌলিক বিবরণ সহ সাধারণ শ্রেণির চিত্রের 5-10 পৃষ্ঠাগুলি পেতে পছন্দ করবেন the সিস্টেম একসাথে করা হয়।

অন্য ক্ষেত্রে যেখানে আমি ইউএমএলকে দরকারী বলে খুঁজে পেয়েছি তা হল যখন কোনও সিনিয়র বিকাশকারী কোনও উপাদান ডিজাইনের জন্য দায়বদ্ধ তবে তারপরে ডিজাইনটি জুনিয়র বিকাশকারীকে হস্তান্তরিত করে hands


31
"এখন থেকে ছয় মাসে যে নতুন ভাড়া আসে এবং কোডটিতে গতি বাড়ানোর দরকার হয় সে সম্পর্কে কী হবে?" এরর .. কোডটি কীভাবে খুঁজছেন? কোডটিতে গতি বাড়ানোর একমাত্র সঠিক এবং সম্পূর্ণ উপায়। এছাড়াও সবচেয়ে প্রাকৃতিক উপায়, বিবেচনা করে আমরা প্রোগ্রামার। আমি এই ধারণাটি বিবেচনা করি যে কোডটি সম্পূর্ণরূপে উপহাসযোগ্য এবং বুঝতে পারা যায় যে এই আবর্জনা একরকমভাবে প্রসারিত হয়েছিল we
ববটুর্বো

6
ববটুর্বোর সাথে একমত, আমি ইউএমএল, বিশেষত অন্য কারও ইউএমএলের কোনও ব্যবহার করি নি। আমি সর্বদা সরাসরি কোডে যেতে পছন্দ করি।
জেমস অ্যাডাম

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

1
@ জেমস অ্যাডাম, কোডটির দিকে তাকানোর পরিবর্তে কোনও ডায়াগ্রামের পরিবর্তনের কথা নয় তবে বিশাল কোডবেসগুলিতে (কয়েক মিলিয়ন কোডের কোড ব্যবহার করে) সিস্টেমটির আরও উচ্চ স্তরের ওভারভিউ থাকার ফলে সময় এবং স্নায়ুগুলির সাশ্রয় হয়।
serine

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

34

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

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


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

একদম একমত নয় - আপনি জটিল উপাদানগুলি তৈরি করেন - ইউএমএল অবশ্যই
ইয়াহোনাটান ইহেজেল

18

জেনেরিক ওয়ার্ক-প্রবাহ এবং ডিএফডি জটিল প্রক্রিয়াগুলির জন্য খুব কার্যকর হতে পারে। অন্যান্য সমস্ত চিত্র (ESPECIALLY UML) আমার অভিজ্ঞতা অনুসারে ব্যতিক্রম ব্যতীত সময় এবং প্রচেষ্টার বেদনাদায়ক অপচয়।


16

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

এখন এটি ভালভাবে ব্যবহৃত হচ্ছে কিনা তা অন্য বিষয়।

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

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

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


14

আমি আমার উত্তরটি যোগ্যতার সাথে উল্লেখ করে বলব যে আমার কাছে কর্পোরেট (আইবিএম-এর মতো) কর্পোরেট উন্নয়ন পরিবেশে অভিজ্ঞতা নেই।

আমি ইউএমএল এবং দেখতে যুক্তিসঙ্গত সার্বজনীন পদ্ধতি যে এটি আরো হয় কথা আপনি আসলে চেয়ে কাজ করতে যাচ্ছেন কী করছেন আপনাকে যা করতে যাচ্ছেন কি।

(অন্য কথায় এটি মূলত সময়ের অপচয়)


9
আমি আপনাকে ভোট দেব না কারণ আমি মনে করি এটি একটি উত্তরের উত্তর, তবে আমি এর চেয়ে বেশি একমত হতে পারি না। প্রতিবার আমি যখন কোনও কিছু ডায়াগ্রাম করি তখন আমি নিজেকে ঘন্টা বা কয়েক মাস সময় সাশ্রয় করি এবং আমি প্রায় সর্বদা একা বিকাশ করি (সম্প্রতি)।
ড্যান রোজনস্টার্ক

2
আপনি যা করতে চান সে সম্পর্কে কথা বলা এবং লেখা আপনাকে এবং অন্যান্যকে সম্ভাব্য সমস্যাগুলি তাড়াতাড়ি বুঝতে এবং ধরতে সহায়তা করে।
কামরান বিগডেলি

12

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


কি দারুন. টুগেদার মত কোড এবং তদ্বিপরীত সিঙ্কে ডায়াগ্রামটি বজায় রাখে এমন একটি সরঞ্জাম সম্পর্কে কী বলা যায়?
ড্যান রোজনস্টার্ক

1
ইউএমএল উত্স থেকে উত্পন্ন করা যেতে পারে তার অর্থ, আমার কাছে, কেবল উত্সটি পড়ে ইউএমএল পড়ার কোনও লাভ নেই। অন্য কথায় এটি একটি অপচয়।
মার্কাস ডাউনিং

1
@ মার্কাসডাউনিং না, এটি নতুন ভাড়াটিকে ব্যাপকভাবে সহায়তা করে helps কোডের চেয়ে ইউএমএলের দিকে তাকাতে এটি দ্রুত।
কামরান বিগডেলি

10

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

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

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

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


+1 তথ্যের ভাল ভিজ্যুয়ালাইজেশন অপ্রাসঙ্গিক বিশদ দ্বারা অস্পষ্টভাবে সমস্যা এবং প্রবণতাগুলি প্রকাশ করতে সহায়তা করে।
ভ্লাদ গুডিম

8

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

  • যোগাযোগ
  • মানক নকশা / সমাধান ডকুমেন্টেশন
  • ডিএসএল (ডোমেন নির্দিষ্ট ভাষা) সংজ্ঞা
  • মডেল সংজ্ঞা (ইউএমএল প্রোফাইল)
  • প্যাটার্ন / সম্পত্তির ব্যবহার
  • কোড জেনারেশন
  • মডেল থেকে মডেল রূপান্তরকরণ

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

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


5

ইউএমএল আমার জন্য বছরের পর বছর কাজ করেছে। যখন আমি শুরু করলাম তখন ফোলারের ইউএমএল ডিস্টিল্ড পড়েছিলাম যেখানে তিনি বলেছিলেন "পর্যাপ্ত মডেলিং / আর্কিটেকচার / ইত্যাদি করুন"। আপনার যা প্রয়োজন কেবল তা ব্যবহার করুন !


4

কিউএ ইঞ্জিনিয়ারের দৃষ্টিকোণ থেকে, ইউএমএল চিত্রগুলি যুক্তি এবং চিন্তার সম্ভাব্য ত্রুটিগুলি চিহ্নিত করে। আমার কাজ সহজ করে তোলে :)


3

আমি মনে করি ইউএমএল দরকারী চিন্তাভাবনা আমার মনে হয় ২.০ স্পেকটি যা একবার স্পষ্ট স্পেসিফিকেশন কিছুটা প্রস্ফুটিত ও জটিল ছিল made আমি টাইমিং ডায়াগ্রামগুলি ইত্যাদির সাথে একমত নই যেহেতু তারা একটি শূন্যতা পূরণ করেছে ...

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

এই বলে আমি নীচের ইউএমএল সরঞ্জামগুলি পছন্দ করি:

  1. ভায়োলেট - এটি যদি আরও সহজ হয় তবে এটি কাগজের টুকরো হত

  2. আল্টোভা ইউমোডেল - জাভা এবং সি # মডেলিংয়ের জন্য ভাল সরঞ্জাম

  3. ম্যাজিকড্রা - মডেলিংয়ের জন্য আমার প্রিয় বাণিজ্যিক সরঞ্জাম

  4. পোসেইডন - হরিণের জন্য ভাল ঠ্যাং সহ একটি সুন্দর সরঞ্জাম

  5. স্টারআউএমএল - সেরা ওপেন সোর্স মডেলিং সরঞ্জাম

3

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

বিষয়টি থেকে: http://msdn.microsoft.com/en-us/library/dd409423%28VS.100%29.aspxবিকাশ প্রক্রিয়াটির মধ্যে মডেলগুলি ব্যবহার করা হচ্ছে

একটি মডেল আপনাকে বিশ্বের দৃশ্যধারণে সহায়তা করতে পারে যেখানে আপনার সিস্টেমটি কাজ করে, ব্যবহারকারীদের প্রয়োজনীয়তা স্পষ্ট করে, আপনার সিস্টেমের আর্কিটেকচারটি সংজ্ঞায়িত করে, কোডটি বিশ্লেষণ করে এবং আপনার কোড প্রয়োজনীয়তা পূরণ করে তা নিশ্চিত করে।

আপনি নিম্নলিখিত পোস্টে আমার প্রতিক্রিয়াটি পড়তে চাইতে পারেন:

"ভাল সফটওয়্যার ডিজাইন / আর্কিটেকচার" কীভাবে শিখবেন? /programming/268231/how-to-learn-good-software-design-architecture/2293489#2293489


3

যদিও এই আলোচনা দীর্ঘদিন ধরেই নিষ্ক্রিয় ছিল, তবে আমার মনে দু'টি গুরুত্বপূর্ণ বিষয় রয়েছে- যুক্ত করার জন্য বিষয়গুলি।

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

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


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

2

আমি ক্রম ডায়াগ্রাম এবং ক্রিয়াকলাপ চিত্রগুলি প্রায়শই প্রায়শই ব্যবহার করি। আমি "রিয়েল-টাইম" এবং এম্বেড থাকা সিস্টেমগুলির সাথে প্রচুর কাজ করি যা অন্যান্য সিস্টেমের সাথে ইন্টারঅ্যাক্ট করে, এবং ক্রম ডায়াগ্রামগুলি সমস্ত মিথস্ক্রিয়াটি কল্পনা করতে খুব সহায়ক।

আমি ইউজ-কেস ডায়াগ্রামগুলি করতে পছন্দ করি তবে আমি খুব বেশি লোকের সাথে সাক্ষাত করি নি যারা নিজেরাই মূল্যবান বলে মনে করে।

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


2

আমি ইউএমএল খুব ছোট প্রকল্পের জন্য সত্যিই দরকারী না পাওয়া গেছে, কিন্তু বড় প্রকল্পের জন্য সত্যিই উপযুক্ত।

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

  • আপনি কোনও ধরণের আর্কিটেকচার পরিকল্পনা করতে চান
  • আপনি নিশ্চিত হতে চান যে দলটির প্রত্যেকেই প্রকল্প পরিকল্পনার জন্য একই প্রযুক্তি ব্যবহার করছে

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

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


2

ইউএমএল দরকারী, হ্যাঁ! আমি এর প্রধান ব্যবহারগুলি হ'ল:

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

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


2

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

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

আপনি যদি আগ্রহী হন তবে দয়া করে পোস্টটি দেখুন। এখানে যান ।


2

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

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


2

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


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

2

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

ইউএমএলের সমস্যা হ'ল প্রতিষ্ঠাতা বইটি খুব অস্পষ্ট।

ইউএমএল কেবল একটি ভাষা, এটি আসলে কোনও পদ্ধতি নয়।

আমার হিসাবে, আমি সত্যিই ওপেনসোর্স প্রকল্পগুলির জন্য ইউএমএল স্কিমার অভাবকে বিরক্তিকর মনে করি। ওয়ার্ডপ্রেসের মতো কিছু নিন, আপনার কাছে কেবল একটি ডেটাবেস স্কিমা আছে, অন্য কিছু নেই। বড় ছবিটি পাওয়ার জন্য আপনাকে কোডেক্স এপিআই ঘুরে বেড়াতে হবে।


1

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


বা খুব কমপক্ষে কী ডিজাইনের সমস্যা রয়েছে।
সিলভারকোড

1

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

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


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

1

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

আমার বিশ্বাস, ইউএমএল ব্যবহার পরিস্থিতি উন্নয়নের দল যে পরিস্থিতিতে কাজ করছে তার সাথে সম্পর্কিত।


0

আমার অভিজ্ঞতা:

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

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


0

ইউএমএল দুটি উপায়ে কার্যকর:

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

  • পরিচালনার দিক: ইউএমএল ডায়াগ্রামগুলি গ্রাহকের প্রয়োজনীয়তার একটি আয়না যা সঠিক নয়: আপনি যদি ইউএমএল ছাড়াই কোড করেন তবে হয়ত বেশ কয়েক ঘন্টা কাজ করার পরে একটি বাগ খুঁজে পেতে পারেন। চিত্রগুলি ইউএমএল আপনাকে সম্ভাব্য বিতর্কিত পয়েন্টগুলি সন্ধান করার এবং কোডিংয়ের আগে সমাধান করার জন্য সমাধান করতে দেয় => আপনার পরিকল্পনায় সহায়তা করে।

সাধারণত, ইউএমএল ডায়াগ্রাম ব্যতীত সমস্ত প্রকল্পের একটি পৃষ্ঠের বিশ্লেষণ থাকে বা তাদের সংক্ষিপ্ত আকার থাকে।

যদি আপনি লিঙ্কডইন গ্রুপ আছেন সিস্টেম ইঞ্জিনিয়ার , দেখুন আমার পুরোনো আলোচনা


-1

শেষ পর্যন্ত ইউএমএল কেবলমাত্র রাউপের কারণে বিদ্যমান of জাভা /। নেট ব্যবহার করার জন্য আমাদের কি ইউএমএল বা এর সম্পর্কিত কোনও জিনিস দরকার? ব্যবহারিক উত্তরটি হ'ল তাদের নিজস্ব ডকুমেন্টেশন রয়েছে (জাভাদোক ইত্যাদি) যা যথেষ্ট এবং আমাদের কাজটি আমাদের করতে দেয়!

ইউএমএল নং থেক্স।


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

1
চাইনিজ হুইসফায়ারদের সম্পর্কে শুনেছেন - তত বেশি অনুবাদ করা একরকম থেকে অন্য অর্থ, তফাত এবং ত্রুটি কমে যায় U আপনার কোনও খুঁজে পেতে খুব কঠিন সময় আসবে। টুলিংয়ের যা কিছু ঘটেছে? ফরোয়ার্ড / পশ্চাদপদ দ্বি-উপায় সরঞ্জাম? এগুলি বিদ্যমান নেই কারণ সেই মেদ মেধার অভাবে মারা গিয়েছিল।
এমপি।

-1

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


-2

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


-3

ইউএমএল হল মানুষের মধ্যে যোগাযোগের অন্যতম একটি পদ্ধতি। হোয়াইটবোর্ড আরও ভাল।

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