آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش Object Diagram در UML

دوره های مرتبط با این مقاله

نمودار اشیا (object diagram)

نمودارهای شی خود از نمودارهای کلاس مشتق می شوند، پس نتیجه می گیریم که نمودارهای شی به نحوی وابسته به نمودارهای کلاس هستند.
نمودارهای شی درواقع نمونه ای از یک نمودار کلاس ارائه می کند. مفاهیم پایه ای بین دو نمودار ذکر شده، مشترک می باشد. نمودارهای شی همچنین دید ایستایی (static view) از یک سیستم فراهم می نماید، اما این دید ایستا یک تصویر یا نسخه ی فوری از سیسم مورد نظر در یک برهه ی زمانی خاص ارائه می دهد.
نمودار شی جهت نمایش مجموعه ای از اشیا و رابطه بین آن ها به عنوان یک نمونه بکار می رود.
جهت پیاده سازی عملی یک نمودار، ابتدا می بایست مورد کاربرد آن را درک کرد. مورد استفاده (هدف و کاربرد) نمودارهای شی به گونه ای مشابه نمودارهای کلاس می باشد.
تفاوت بین دو نمودار مزبور این است که دیاگرام کلاس یک نمودار انتزاعی (abstract diagram) متشکل از کلاس ها و رابطه ی بین آن ها ارائه می نماید، در حالی که نمودار شی یک نمونه از کلاس مورد نظر در برهه ی زمانی خاص که دارای ماهیت واقعی (concrete nature) هست فراهم می کند، بدین معنا که نمودار شی شباهت بیشتری به رفتار واقعی سیستم دارد. در اینجا مقصود به تصویر کشیدن دید ایستا از یک سیستم در یک برهه یا زمان خاص می باشد.
بنابراین موارد استفاده و مقصود از بکاربردن نمودار شی را می توان به ترتیب زیر خلاصه بیان نمود:
1. جهت مهندسی معکوس (reverse engineering) و رو به جلو (forward engineering).
2. روابط بین اشیا در یک سیستم.
3. دید ایستا از تعامل یا interaction.
4. فهم رفتار شی و رابطه ی آن ها از یک چشم انداز یا دیدگاه کاربردی.


نحوه ی ترسیم نمودار شی (object diagram)

یادآور می شویم که نمودار شی درواقع نمونه ای از نمودار کلاس ارائه می دهد، بدین معنا که نمودار شی از نمونه ای از اشیا بکار گرفته شده در یک نمودار کلاس تشکیل می شود.
از این رو هر دو نمودار از المان های پایه ای یکسان تشکیل می شوند ولی در شکل های متفاوت (یکی در قابل انتزاعی و دیگری به صورت واقعی). در نمودار کلاس کلیه ی عناصر به منظور نمایش طرح کلی (blue print) در قالب انتزاعی هستند، در حالی که همین المان ها در نمودار شی دارای ماهیت concrete و واقعی بوده و اشیا حقیقی را به تصویر می کشد.
برای نمایش یک سیستم خاص، اغلب تعداد نمودارهای کلاس محدود می باشد. اما چنانچه نمودارهای شی را درنظر بگیریم، در آن صورت قادر خواهیم بود تعداد نامحدودی نمونه که به ذات منحصربفرد هستند، داشته باشیم. بنابراین تنها آن نمونه هایی درنظر گرفته می شوند که بر روی سیستم تاثیرگذار هستند.
با استناد به توضیحات فوق، می توان نتیجه گرفت که یک نمودار شی مجرد نمی تواند تمامی نمونه های مورد نیاز را نمایش دهد یا به عبارتی دقیق تر قادر نخواهد بود کلیه ی اشیا سیستم را مشخص کند. راه حل آن به صورت زیر می باشد:
1. در ابتدای امر بایستی سیستم را مورد بررسی و تحلیل قرار داده، نتیجه گرفت و مشخص کرد که کدام نمونه ها دارای داده ها، اطلاعات و association (رابطه ی انجمنی و تناظر) می باشد. 2. در مرحله دوم می بایست تنها آن نمونه هایی را درنظر گرفت که عملیات و قابلیت ها (functionality) را تحت پوشش قرار می دهد.
3. در نهایت، از آنجایی که تعداد نمونه ها نامحدود می باشد، توصیه می کنیم بهینه سازی را پیاده سازی نمایید.
قبل از ترسیم نمودارهای شی، لازم است نکات زیر را فهمیده و بخاطر داشته باشید:
1. نمودارهای شی از اشیا تشکیل می شوند.
2. پیوند یا لینک را در نمودار شی جهت متصل کردن (ربط دادن) اشیا بکار می بریم.
3. اشیا و پیوندها دو المانی هستند که در کنارهم نمودار شی را می سازد.
پس از پرداختن به این مقوله، باید موارد زیر را پیش از اقدام به ترسیم نمودار مورد توجه قرار داد:
1. نمودار شی می بایست دارای اسم معنی دار باشد که مقصود یا هدف اصلی دیاگرام مورد نظر را به صورت صریح بیان کند.
2. بایستی تمامی المان های مهم آن شناسایی شوند.
3. رابطه انجمنی (association) و تناظر میان اشیا باید روشن شود.
4. باید مقادیر المان های مختلف نمایش داده شده و در نمودار شی لحاظ (include) شود.
5. در جاهایی که احساس می کنید، توضیح بیشتر نیاز است یادداشت و نکات (note) لازم را درج نمایید.
نمودار زیر نمونه ای از یک دیاگرام شی می باشد. نمودار حاضر همان Order management system (سامانه ی مدیریت سفارش) را نمایش می دهد که در مبحث قبلی (نمودار کلاس) مورد بررسی قرار دادیم. این نمودار نمونه ای از سیستم مورد نیاز را در زمان خرید ارائه می دهد. نمودار مزبور شامل اشیا زیر می باشد:
1. Customer
2. order
3. SpecialOrder
4. NormalOrder
شی customer با سه آبجکت دیگر دارای رابطه ی انجمنی (O1، O2 و O3) می باشد (با آن ها مرتبط هست). این آبجکت ها با دو شی SpecialOrder و NormalOrder (S1، S2 و N1) دارای رابطه ی تناظر (متصل) هستند. Customer با سه عدد مختلف (12، 32 و 40) در زمان مشخص و درنظر گرفته شده، سفارش می دهد.
Customer ممکن است در آینده تعداد order ها (سفارشات خود) را افزایش دهد که در آن صورت نمودار این قابلیت را دارد که تغییرات اعمال شده را نمایش دهد. حال اگر به سه شی order، special order و normal order نگاه کنید، متوجه می شوید که اشیا نام برده دارای مقادیری مختص به خود هستند.
مقادیر اشیا order به ترتیب 12، 32 و 40 می باشد. این امر بیانگر موقتی بودن مقادیر اشیا (اینکه این مقادیر متعلق به زمانی خاصی هستند؛ زمانی که خرید یا purchase صورت می گیرد) زمانی که نمونه به تصویر کشیده می شود، می باشد.
همین امر درباره ی اشیا special order و normal order حکم می کند که مقادیر آن ها به ترتیب 20، 30 و 60 می باشد. در صورت تغییر زمان خرید، این مقادیر نیز تغییر می کنند.
نمودار زیر با درنظرگرفتن تمام نکات یاد شده رسم گردیده است:


آموزش ‏ uml

چه زمانی از نمودار شی استفاده می کنیم؟

نمودار شی را می توان یک عکس لحظه ای از سیستم در حال کار (فعال) در زمان مشخص تصور کرد. حال به منظور روشن سازی مفهوم آن می توان یک قطار در حال حرکت را مثال زد.
اگر عکسی از قطار در حال حرکت تهیه نمایید، یک تصویر ایستا از آن قطار دریافت می کنید که موارد زیر را شامل می شود:
1. وضعیت آن قطار را در حال حرکت می بینید.
2. تعدادی مسافر که بر آن سوار هستند و در صورت گرفتن عکس در زمان های مختلف تعداد آن ها تغییر می کند.
بنابراین می توان این عکس لحظه ای از قطار را یک شی درنظر گرفت که موارد ذکر شده در بالا، مقادیر آن هستند. این قضیه درباره ی کلیه ی سیستم های ساده و پیچیده ی حقیقی صادق است.
در زیر موارد کاربرد نمودار شی را مشاهده می کنید:
1. تهیه ی نمونه ی اولیه (ایجاد prototype) از سیستم مورد نظر.
2. مهندسی معکوس.
3. مدل سازی ساختارهای داده ای پیچیده.
4. فهم و درک عمیق سیستم از دیدگاه کاربردی.


  • 4866
  •    1772
  • تاریخ ارسال :   1394/09/25

دانلود PDF دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .