সফ্টওয়্যার আর্কিটেকচার বনাম সিস্টেম আর্কিটেকচার বনাম ক্লাস ডায়াগ্রাম?


11

আমি নিম্নলিখিত শর্তাবলী সম্পর্কে যথেষ্ট বিভ্রান্ত:

সফটওয়্যার আর্কিটেকচার

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

সিস্টেম আর্কিটেকচার

একটি সিস্টেম আর্কিটেকচার একটি ধারণাগত মডেল যা কোনও সিস্টেমের কাঠামো, আচরণ এবং আরও দৃশ্যের সংজ্ঞা দেয়। 1 একটি আর্কিটেকচারের বর্ণনা হ'ল একটি সিস্টেমের একটি আনুষ্ঠানিক বিবরণ এবং উপস্থাপনা যা এমন পদ্ধতিতে সংগঠিত হয় যা সিস্টেমের কাঠামো এবং আচরণ সম্পর্কে যুক্তি সমর্থন করে ( উইকি )

ক্লাস ডায়াগ্রাম

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

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

  • ক্লাস ডায়াগ্রামগুলি সিস্টেম আর্কিটেকচারের একটি রূপ নয়, কারণ উপরের বর্ণনাসমূহ ( structure, behavior, and more views of a system) দ্বারা বোঝা যায় যে কোনও স্থাপত্যে বাস্তবায়নের কোনও বিবরণ উপস্থিত নেই যেখানে শ্রেণি চিত্রগুলি প্রয়োগের বর্ণনা দেয় এবং সম্ভবত স্থাপত্যের পরিবর্তে নকশার দিকনির্দেশে আরও বেশি?
  • আমি মনে করি সিস্টেম আর্কিটেকচারটি এমন একটি আর্কিটেকচার যাতে বাহ্যিক মিথস্ক্রিয়া (ডাটাবেসের মতো )ও অন্তর্ভুক্ত থাকে যখন সফ্টওয়্যার আর্কিটেকচারটি নিজেই অ্যাপ্লিকেশনটিতে ফোকাস করে?

1
সম্ভবত ক্লাস ডায়াগ্রামগুলি সফ্টওয়্যার আর্কিটেকচার ক্রিয়াকলাপের আউটপুট , একইভাবে কোনও বিল্ডিংয়ের ব্লুপ্রিন্টগুলি বিল্ডিংয়ের স্থপতিটির আউটপুট ...
হতাশায়

উত্তর:


7

সিস্টেম আর্কিটেকচার সিস্টেমের উপাদানগুলি বর্ণনা করে। উদাহরণস্বরূপ আপনার থাকতে পারে এমন একটি অর্ডার এন্ট্রি সিস্টেম থাকতে পারে:

ওয়েব ফ্রন্ট এন্ড, বিজনেস লেয়ার পরিষেবা এবং ডেটা স্টোর।

সুতরাং, আপনার এটি দেখানো একটি উচ্চ স্তরের ডায়াগ্রাম করা উচিত।

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

সাধারণত কীভাবে উপাদান তৈরি করা হবে তা দেখিয়ে আরও বিস্তারিত ডায়াগ্রাম তৈরি করা হয়।

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

যদি বিশেষ উপাদানটি বড় এবং জটিল হয় তবে এগুলির মধ্যে অনেকগুলি থাকতে হবে।


2

কিছু অতিরিক্ত পয়েন্ট:

  • সিস্টেমটি বিস্তৃত শব্দ এবং সাধারণত সর্বোচ্চ স্তরের, অন্তত বিশদ।
  • সিস্টেমের অংশটি সফ্টওয়্যার হিসাবে শ্রেণিবদ্ধ করা যেতে পারে।
  • ক্লাস ডায়াগ্রাম ব্যবহার করে সফ্টওয়্যারটির কিছু অংশ বর্ণনা করা যেতে পারে।

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


0

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

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


সিস্টেম আর্কিটেকচারেও কি জিইউআই মডিউলের মতো কিছু থাকা উচিত? @ তুষার
কিংবমি

হ্যাঁ, এটি হতে পারে এবং এটি কোনও সফ্টওয়্যার উপাদান নয়। @ রিকবিলো
তুষার

তবে আপনার ব্যবহারকারীর ইনপুট গ্রহণ করতে এবং ব্যবহারকারীর কাছে কিছু প্রদর্শনের জন্য সফ্টওয়্যারটিতে একটি শ্রেণির প্রয়োজন? সুতরাং এটি পাশাপাশি একটি সফটওয়্যার উপাদান হতে হবে?
কিংবুমি

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