আমি কীভাবে "উভয় / অথবা" সম্পর্কের মডেল করব?


12

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

সুতরাং আমি যদি অপরটি, অপারেটিং সিস্টেমটি মডেল করতে চাই তবে এটি কীভাবে করব? সফ্টওয়্যারের সাথে "একটি" সম্পর্ক আছে তবে ফ্রিসোফওয়্যার এবং ননফ্রি সফটওয়্যারের সাথে "হয় / অথবা" সম্পর্ক রয়েছে।

আমি মনে করি যেভাবে আমি এই শ্রেণিবিন্যাস বিশ্লেষণ করছি সেভাবে আমি কিছু অনুভব করছি।


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

উত্তর:


8

এটি পরিচালনা করার উপায়টি হ'ল আপনার উপ-প্রকারগুলি সুপার-টাইপ দ্বারা নির্ধারণ করতে হবে (অর্থাত্ উপ-প্রকারের পিকেও উপ-টাইপ থেকে সুপার-টাইপ পর্যন্ত এফকে হয়))

চ্যালেঞ্জটি বুঝতে পারে যে কিছু সত্যই পারস্পরিক একচেটিয়া কিনা। উপ-প্রকারের বৈশিষ্ট্যগুলি কেবলমাত্র সেই উপ-প্রকারের জন্যই প্রয়োগ করা উচিত তবে এটি ভালভাবে হতে পারে যে কিছু উপ-প্রকার পারস্পরিক একচেটিয়া এবং কিছুটি নয়।

যদি আপনার কিছু পারস্পরিক একচেটিয়া উপ-প্রকার থাকে, তবে সুপার-টাইপের মধ্যে কোন (দুটি বা ততোধিক) পারস্পরিক এক্সক্লুসিভ সাব-টাইপ প্রযোজ্য তা নির্দেশ করতে আপনি সুপার-টাইপের একটি পার্টিশন বৈশিষ্ট্য ব্যবহার করতে পারেন। এই বিভাজন বৈশিষ্ট্যটি পারস্পরিক এক্সক্লুসিভিটি প্রয়োগ করতে বাধা বা ট্রিগারগুলির সাথে ব্যবহার করা যেতে পারে।

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

এই ডেটা মডেলটি বিবেচনা করুন:

ইআরডি

আপনার কাছে তিনটি সুপার-টাইপ রয়েছে তবে পতাকাগুলি বিভাজনযুক্ত বৈশিষ্ট্যের উপর ভিত্তি করে FREE_SOFTWAREএবং NON-FREE_SOFTWAREপ্রকারগুলি পারস্পরিক একচেটিয়া SOFTWARE.free_not_free। প্রদত্ত যে কোনও সফ্টওয়্যারটি OPERATING_SYSTEMনিখরচায় কিনা তা নির্বিশেষে সম্ভাব্য একটি ।


1
সামান্য ওটি: আপনি এই ইআর ডায়াগ্রামটি তৈরি করতে কী ব্যবহার করেছেন?
ড্যানিয়েল সেরোদিও

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

@ জোয়েলব্রাউন আপনি কি আপনার স্টেনসিল ভাগ করতে ইচ্ছুক হবেন? এগুলি সত্যিই দুর্দান্ত আকার
imoatama

2
@ আইমোয়াতামা - কিছুক্ষণ হয়ে গেছে, তবে অবশেষে আমি এখানে স্টেনসিল পোস্ট করতে পেরেছি: moosewarevisioerd.codeplex.com বিবরণ হিসাবে উল্লেখ করুন যে স্টেনসিলের স্মার্ট আকারগুলি ভিসিওর পুরানো সংস্করণ এবং কিছু আচরণের জন্য নির্মিত হয়েছিল সম্পর্ক সংযোজক আকার কিছুটা flakey হতে পারে। একদিন আমি এটিকে ঠিক করতে পারি।
জোয়েল ব্রাউন

1

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

আমি SoftwareTypeএই লাইন বরাবর একটি বা কিছু সম্পর্কের প্রস্তাব করব । ঠিক তখনই আপনি যখন / সফ্টওয়্যারটি কোনও ওএস, বা অ্যাপ্লিকেশন, বা অন্য যে কোনও ধরণের সফ্টওয়্যার সমর্থন করছেন তা নির্দিষ্ট করতে পারে।


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

1
@ jl6 আমি এখনও এখানে আলাদা করতে অনুরোধ করছি। প্রতিটি সফ্টওয়্যার (এটি ওএস হোক বা না হোক) এর নির্দিষ্ট বৈশিষ্ট্য থাকবে। সেগুলি অন্য কোথাও সংরক্ষণ করা যেতে পারে। আপনি ওএসকে আলাদা রেখে স্কেলিবিলিটি হ্রাস করছেন।
টমাস স্ট্রিংগার

যদি আমি সঠিকভাবে বুঝতে পারি তবে আপনি একটি সফ্টওয়্যার সত্তা, এবং সফ্টওয়্যার টাইপ সত্তার প্রস্তাব দিচ্ছেন। আপনি কি ফ্রি, ননফ্রি, এবং অপারেটিং সিস্টেমটি সবই সফটওয়্যার টাইপের বিভিন্ন উদাহরণ? আমি নিশ্চিত যে আপনি সঠিক, তবে তারপরে আপনি কোথায় বিভিন্ন ধরণের বিভিন্ন বৈশিষ্ট্য সংরক্ষণ করবেন?
jl6
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.