PDA

View Full Version : Object Diagram



اوبالیت به بو
پنج شنبه 21 آبان 1388, 12:48 عصر
اون طور که متوجه شدم Object Diagram قبل از Class Diagram رسم میشه. اما تاحالا Object Diagram ندیدم چی جوریه؟
اگه ممکن هست برام توضیح بدید.

cups_of_java
پنج شنبه 21 آبان 1388, 14:55 عصر
به طور دقیق نمی شه گفت کدوم جلوتر رسم میشه. این می تونه خیلی به اون روش (متدولوژی) ای که به کار می برید ربط داشته باشه. اما اصولن در ابتدای طراحی همیشه شما یه کلاس دیاگرام می کشی که اتفاقن همون Domain Model شما هستش! و به طور کلی شامل کلاس هایی که در ابتدای امر شناختید می شه.

اما نمودار شی (Object Diagram) رو هم می شه در ابتدا و برای مدل کردن تراکنش ها و یا سناریو ها و یا قوانین نوشت. این کاربرد زمانی استفاده می شه که سیستم وضعیت خیلی پیجیده ای داشته باشه که نشه با یه Activity و یا Sequence به راحتی سناریو رو فهمید. اونوقت سعی می کنن با یه Object Diragram وضعیت نمونه ها (شی ها) و مقادیرشون رو نشون بدن تا بتونن سناریو پیچیده رو مدل کنن. که در این صورت از چند تا نمودار شی استفاده می شه تا وضعیت سیستم رو در تمام مقاطع زمانی در طول یک سناریو نشون بده.

برای اینکه نمونش رو ببیتید می تونید گوگل کنید. هر کتابی در مورد UML باشه و OOD اصولن مثال در این زمینه داره.
اما به طور کلی کاربرد این نمودار محدود و کم هستش.

Elham_gh
شنبه 30 آبان 1388, 09:31 صبح
اون طور که متوجه شدم Object Diagram قبل از Class Diagram رسم میشه. اما تاحالا Object Diagram ندیدم چی جوریه؟
اگه ممکن هست برام توضیح بدید.

بله
همونطور كه گفتين Object Diagram قبل از Class Diagram رسم مي شه و در حقيقت Object Diagram است كه Class Diagram شمارو مي سازد. حالا اين Object Diagram چيه و چجوري رسم مي شه و استفاده مي شه؟
نام ديگر Object Diagram همان Business domain model است. كه در مقاله اي كه حضور ذهن داريد در اون مورد صحبت شده و همانطور كه از اسمش معلومه در ديسيبلين Business و مرحله تحليل رسم مي شه.طريقه رسمشم آسونه! كافيه همينجور كه صورت مسئله رو مي خوني هر چيزي كه به چشمت به عنوان object مي ياد جدا كرده و ارتباط اونها رو برقرار كنيد.
بعد در مرحله طراحي از همين object ها شما class هايتان را تشخيص خواهيد داد.

دوباره به اون مقاله نگاه كنيد. سئوالي بود من در خدمتم.

cups_of_java
شنبه 30 آبان 1388, 11:45 صبح
بله
همونطور كه گفتين Object Diagram قبل از Class Diagram رسم مي شه و در حقيقت Object Diagram است كه Class Diagram شمارو مي سازد. حالا اين Object Diagram چيه و چجوري رسم مي شه و استفاده مي شه؟
نام ديگر Object Diagram همان Business domain model است. كه در مقاله اي كه حضور ذهن داريد در اون مورد صحبت شده و همانطور كه از اسمش معلومه در ديسيبلين Business و مرحله تحليل رسم مي شه.طريقه رسمشم آسونه! كافيه همينجور كه صورت مسئله رو مي خوني هر چيزي كه به چشمت به عنوان object مي ياد جدا كرده و ارتباط اونها رو برقرار كنيد.
بعد در مرحله طراحي از همين object ها شما class هايتان را تشخيص خواهيد داد.

دوباره به اون مقاله نگاه كنيد. سئوالي بود من در خدمتم.

این که 100% همه قبل از class diagram نمودار object رو بکشن درست نیست. چون خیلی از روش ها اصلن اینطوری کار نمی کنن. اکثرن اول کلاس ها رو تشخیص می دن و این ساده تر هست تا اینکه شما شی هاتو تشخیص بدی! نمودار شی یک لایه از نمودار کلاس هست که همه کلاس ها ازشون نمونه گیری شده! شما در خیلی از حالات وقتی کلاس رو نداری نمی تونی شی رو تشخیص بدی! به عنوان مثال در دامنه کاری کتابخانه شما "کتاب" داری! تشخیص کتاب خیلی واضحه به عنوان یک کلاس! صورت مسله به شما نمی گه مثلن کتابی به نام "آشنایی با الگوریتمها" داریم بعد ... (اما در حالات کمی همونطور که قبلن هم گفتم به دلایلی این ممکنه پیش بیاد) نهایتن تشخیص کلاس ها از روی نمودار شی و داشتن ایندو در کنار هم (به علت شباهت زیاد این دو نمودار به هم) می تونه آنومالی داشته باشه مثل سارگار نگه داشتن این دو نمودار!
من ندیدم جایی با نمودار شی سیستم بسازن (هرچند در سیستم های خیلی پیچیده (مثل سیستم های Realtime نمودار شی کمک زیادی به درک سیستم می کنه) و در واقع از نمودار شی برای صحت سنجی (validation) آنالیز و یا طراحی مدل دامنه استفاده می کنند.


نکته دیگه اینکه کجا گفته نمودار شی همون Business Domain Modal هست؟! BDM یه چیز کاملن فراتر هستش و معمولن از چند نمودار و مستند ساخته میشه. می تونه توش نمودار شی هم باشه!

Elham_gh
شنبه 30 آبان 1388, 13:06 عصر
این که 100% همه قبل از class diagram نمودار object رو بکشن درست نیست. چون خیلی از روش ها اصلن اینطوری کار نمی کنن. اکثرن اول کلاس ها رو تشخیص می دن و این ساده تر هست تا اینکه شما شی هاتو تشخیص بدی! نمودار شی یک لایه از نمودار کلاس هست که همه کلاس ها ازشون نمونه گیری شده! شما در خیلی از حالات وقتی کلاس رو نداری نمی تونی شی رو تشخیص بدی! به عنوان مثال در دامنه کاری کتابخانه شما "کتاب" داری! تشخیص کتاب خیلی واضحه به عنوان یک کلاس! صورت مسله به شما نمی گه مثلن کتابی به نام "آشنایی با الگوریتمها" داریم بعد ... (اما در حالات کمی همونطور که قبلن هم گفتم به دلایلی این ممکنه پیش بیاد) نهایتن تشخیص کلاس ها از روی نمودار شی و داشتن ایندو در کنار هم (به علت شباهت زیاد این دو نمودار به هم) می تونه آنومالی داشته باشه مثل سارگار نگه داشتن این دو نمودار!
من ندیدم جایی با نمودار شی سیستم بسازن (هرچند در سیستم های خیلی پیچیده (مثل سیستم های Realtime نمودار شی کمک زیادی به درک سیستم می کنه) و در واقع از نمودار شی برای صحت سنجی (validation) آنالیز و یا طراحی مدل دامنه استفاده می کنند.


نکته دیگه اینکه کجا گفته نمودار شی همون Business Domain Modal هست؟! BDM یه چیز کاملن فراتر هستش و معمولن از چند نمودار و مستند ساخته میشه. می تونه توش نمودار شی هم باشه!

گمان نكنم من گفته باشم "100% همه قبل از class diagram نمودار object رو بکشن ".
سئوال در مورد كاربرد object diagram بود كه توضيح داده شد و در مورد سيستم ها large و medium Scale اين نمودار توصيه شده است

cups_of_java
شنبه 30 آبان 1388, 15:08 عصر
بله
1. همونطور كه گفتين Object Diagram قبل از Class Diagram رسم مي شه و در حقيقت Object Diagram است كه Class Diagram شمارو مي سازد.

در اکثر موارد اینطور نیست. دوستانی که XP, EUP، AUP (که متد های معروف هستند تازه!) و یا هر روش دیگه ای کار می کنن می تونن صحت این موضوع رو با مرجع معتبر تحقیق و تایید کنند.



نام ديگر Object Diagram همان Business domain model است.
اصلن اینطور نیست! اشتباه هست. شما نگفتید چه کسی این نام گذاری رو انجام داده؟



گمان نكنم من گفته باشم "100% همه قبل از class diagram نمودار object رو بکشن ".
سئوال در مورد كاربرد object diagram بود كه توضيح داده شد و در مورد سيستم ها large و medium Scale اين نمودار توصيه شده است

این حرف شما حرفه ای و فنی نیست. شما پاسخی که دادید و برای هدایت و راهنمایی افراد بوده باید بتونید ازش دفاع کنید تا فرد به سمت درستی هدایت بشه و دید درستی از مطالب پیدا کنه.

Elham_gh
شنبه 30 آبان 1388, 15:46 عصر
در اکثر موارد اینطور نیست. دوستانی که XP, EUP، AUP (که متد های معروف هستند تازه!) و یا هر روش دیگه ای کار می کنن می تونن صحت این موضوع رو با مرجع معتبر تحقیق و تایید کنند.


اصلن اینطور نیست! اشتباه هست. شما نگفتید چه کسی این نام گذاری رو انجام داده؟



این حرف شما حرفه ای و فنی نیست. شما پاسخی که دادید و برای هدایت و راهنمایی افراد بوده باید بتونید ازش دفاع کنید تا فرد به سمت درستی هدایت بشه و دید درستی از مطالب پیدا کنه.

جناب cups_of_java من بحثي با شما ندارم. اگه داشتم در جواب شما پيغام مي ذاشتم و مي گفتم كي گفته فرقي نمي كنه كه اول object model ساخته شه يا class diagram و بستگي به ديد داره؟!!!

شما اسم هر چي متدولوژي مي دونستيد گفتين الا RUP!!!

در RUP اين توصيه شده است! و يك زمينه ساز براي ساخت class diagram معرفي شده و شناخت domain.
Business Object Model هم همان Business Domain Model است. مي تونيد جستجو كنيد ، بعد مخالفت كنيد.

من در ضمن ترجيح مي دم در بحث علمي شركت كنم ؛ نه در اينگونه بحثهاي محكوم ساز.
موفق باشيد

cups_of_java
شنبه 30 آبان 1388, 16:13 عصر
جناب cups_of_java من بحثي با شما ندارم. اگه داشتم در جواب شما پيغام مي ذاشتم و مي گفتم كي گفته فرقي نمي كنه كه اول object model ساخته شه يا class diagram و بستگي به ديد داره؟!!!

شما صلاح خودتون رو خودتون می دونید. من نمی تونم به خودم اجازه بدم اطلاعاتی که کسی می تونه بدست بیاره رو نیاره! و اینکه گمراه بشه و من این موضوع رو روش بحث نکنم. شما اگه علاقه ای به بحث ندارین و اون سوال رو نپرسیدید موضوع خودتون هست و ربطی به دیگران و رفتارشون نداره.
ضمنن در مورد این که این موضوع بستگی داره، واقعن به متدولوژی بستگی داره و جنس سیستم شما. این رو در کتاب های مرجع مربوط به متدولوژی می تونید ببینید.


شما اسم هر چي متدولوژي مي دونستيد گفتين الا RUP!!!
در RUP اين توصيه شده است! و يك زمينه ساز براي ساخت class diagram معرفي شده
1.خیلی متدولوژی های دیگه هستند که اصلن جور دیگه کار میکنن. اینایی که من گفتم تازه با Class Diargam و یا CRCکارت شروع می کنن نه Object Diargam!

2. خوبه خودتون هم دارین میگید که این توصیه شده! این موضوع کمک میکنه! هیچ جای RUP صراحتن نگفته که "شما نمودار شی رو قبل کلاس بکشید" خانم محترم. لطفن دوستان رو به اشتباه نندازید. من هی دارم زور می زنم که کاهن ابن نمودار ها پیچ و مهره نیستن که بگیم کدوم بعد کدوم! مهم داشتن درک درست از ورودی و خروجی هاشون و روح هر نمودار هست.

3. متد RUP پولی هست خانم الهم و شما برای استفاده اولن باید بخریدش! دومن مستندات درست و مرجعی تا نخریدش در اختیارتون قرار نمیگیره. میشه در خیلی موارد به UP که شبیهش هست اشاره کرد.

4. اینجا فروم RUP نیست! فروم تحلیل و طراحی هست. این هم یک سوال تحلیل و طراحی شی گراست نه سوال RUP!



شناخت domain.
Business Object Model هم همان Business Domain Model است. مي تونيد جستجو كنيد ، بعد مخالفت كنيد.
خانم الهام Business Object Model رو میشه با نمودار شی کشید. و BOM یک بعد یا قسمت از کل Business Domain Model شما هست. این یعنی اینکه اسم دیگه نمودار شی Business Domain Model باشه!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟


من در ضمن ترجيح مي دم در بحث علمي شركت كنم ؛ نه در اينگونه بحثهاي محكوم ساز.
موفق باشيد
اینجا دادگاه نیست. اتفاقن شما هم که در بحث علمی شرکت نمی کنید! و به جاش برچسب میزنید به آدم. در هر حال این حس شماست و برای خودتون قابل قبول هست.
هدف اینجا این هست که افراد با بعد های مختلف و پاسخ های گوناگون آشنا شن. قسمت های درست و غلط رو پیدا کنن و سوادشون بیشتر شه. چه من باشم چه شما!
پس این شمایید که هر چند وقت جبهه گیری می کنید و احساس می کنید کسی روی نام ها یا افراد حساس هست. سعی کنید روحیه ارتباط آزاد و علمیتون رو تقویت کنید :لبخندساده:

اوبالیت به بو
یک شنبه 01 آذر 1388, 19:25 عصر
كافيه همينجور كه صورت مسئله رو مي خوني هر چيزي كه به چشمت به عنوان object مي ياد جدا كرده و ارتباط اونها رو برقرار كنيد.
بعد در مرحله طراحي از همين object ها شما class هايتان را تشخيص خواهيد داد.

فهمیدم. اگر ممکن هست یه شکل رو خودتون قرار بدین.


این می تونه خیلی به اون روش (متدولوژی) ای که به کار می برید ربط داشته باشه.

در RUP.


اما اصولن در ابتدای طراحی همیشه شما یه کلاس دیاگرام می کشی که اتفاقن همون Domain Model شما هستش! و به طور کلی شامل کلاس هایی که در ابتدای امر شناختید می شه.

یعنی کلاس ها رو بر اساس object ها درمیارن. درسته؟


اما نمودار شی (Object Diagram) رو هم می شه در ابتدا و برای مدل کردن تراکنش ها و یا سناریو ها و یا قوانین نوشت. این کاربرد زمانی استفاده می شه که سیستم وضعیت خیلی پیجیده ای داشته باشه که نشه با یه Activity و یا Sequence به راحتی سناریو رو فهمید. اونوقت سعی می کنن با یه Object Diragram وضعیت نمونه ها (شی ها) و مقادیرشون رو نشون بدن تا بتونن سناریو پیچیده رو مدل کنن. که در این صورت از چند تا نمودار شی استفاده می شه تا وضعیت سیستم رو در تمام مقاطع زمانی در طول یک سناریو نشون بده.

چی شد؟:لبخند:

اما نمودار شی (Object Diagram) رو هم می شه در ابتدا و برای مدل کردن تراکنش ها و یا سناریو ها و یا قوانین نوشت. این کاربرد زمانی استفاده می شه که سیستم وضعیت خیلی پیجیده ای داشته باشه که نشه با یه Activity و یا Sequence به راحتی سناریو رو فهمید.
شما در چه مرحله ای شروع به سناریو نویسی می کنید؟ با این گفته Object Diagram بعد از رسم سناریو و Sequence و ... رسم می شه.

kafshesport
جمعه 22 شهریور 1392, 17:50 عصر
سلام
من به نمودار توالی و فعالیت و شی سیستم انبارداری احتیاج دارم و اطلاعی هم در موردشون ندارم
کسی میتونه برام رسم کنه؟