View Full Version : سوال: فرق رابطه Extend و Include در Usecase دياگرام
shayesteh_bh
شنبه 29 تیر 1387, 12:34 عصر
با سلام خدمت دوستان,
ممكنه فرق رابطه Extend و Include در Usecase دياگرام را برام توضيح بدين؟
با تشكر.
CAPABLE
یک شنبه 30 تیر 1387, 08:22 صبح
رابطه Include يعني اجباري و رابطه Extend يعني اختياري.
به اين معني كه اگر use case ي مثلا A با رابطه Include به يك use case ديگر مثل B وصل شود ( جهت فلش ازAبه B است) ، actor ي كه كار A را انجام ميدهد، حتما بايد كار B را نيز انجام دهد ولي اگر اين رابطه Extend باشد ( جهت فلش ازB به A است) ، actor ي كه كار A را انجام مي دهد مي تواند كار B را انجام دهد.
smhoseyni
یک شنبه 30 تیر 1387, 08:48 صبح
رابطه Include يعني اجباري و رابطه Extend يعني اختياري.
به اين معني كه اگر use case ي مثلا A با رابطه Include به يك use case ديگر مثل B وصل شود ( جهت فلش ازAبه B است) ، actor ي كه كار A را انجام ميدهد، حتما بايد كار B را نيز انجام دهد ولي اگر اين رابطه Extend باشد ( جهت فلش ازB به A است) ، actor ي كه كار A را انجام مي دهد مي تواند كار B را انجام دهد.
فاعل اجرای use-case ها سیستم است نه actor
shayesteh_bh
یک شنبه 30 تیر 1387, 10:49 صبح
فاعل اجرای use-case ها سیستم است نه actor
ببخشيد ميشه راجع به اين جمله بيشتر توضيح دهيد تا بتونم به نتيجه اي برسم؟
CAPABLE
یک شنبه 30 تیر 1387, 10:56 صبح
actor مي تواند انساني، سيستمي و يا سخت افزار باشد.
Homa2008
یک شنبه 30 تیر 1387, 11:31 صبح
اگر use case اصلی شما با Usecase دیگری نسبت Include پیدا می کند در واقع Usecase اصلی به آن وابسته اجباری می شود و تا وقتی عملیات آن Usecase پایان نپذیرد (خواه توسط Actor خواه یک عملیات درون سیستمی مانند محاسبه تخفیف فاکتور) usecase اصلی عملیاتش پایان نخواهد یافت ، در حالی که رابطه Extend وابستگی از نوع اختیاری یعنی تکمیل عملیات Usecase فرعی تاثیری در اجرای usecase اصلی ندارد مانند: چاپ فاکتور در صدور فاکتور
shayesteh_bh
یک شنبه 30 تیر 1387, 11:33 صبح
بله اين رو مي دونم , منظورم گفته كاربر smhoseyni (http://barnamenevis.org/forum/members/smhoseyni.html) بود كه گفته بودند : "فاعل اجرای use-case ها سیستم است نه actor"
smhoseyni
دوشنبه 31 تیر 1387, 08:26 صبح
use-case ها برای توصیف نیازمندی های رفتاری سیستم مورد استفاده قرار میگیرند. در نتیجه عملیاتی که در آنها توصیف میشود را سیستم اجرا میکند و نقش actor صرفا تبادل اطلاعات مورد نیاز برای اجرای ان عملیات است.
در واقع هدف از بیان ان جمله تصحیح عبارت دوستمان بود مبنی بر اینکه "actor بخشهای include شده را الزاما اجرا میکند"؛ در واقع سیستم بخش های include شده را الزاما اجرا میکند.
اما در مورد تفاوت Extend و UML هم چند نکته عرض کنم.
بطور کلی از extend براي مدلكردن بخشهاي اضافي و الحاقي يك use-case پايه استفاده ميشود ولی از include بيشتر براي مدلكردن بخشهاي مشترك use-case هاي مختلف استفاده ميشود. و اگر بخواهم دقیق تر بیان کنم،
معمولا از extend در یکی از حالات زیر استفاده میشود :
- مدل کردن حالتی که اختیاری (انتخابی) است و جزئی از جریان اصلی و ضروری نیست.
- مدل کردن بخش ELSE که بخش IF در use-case پایه قرار گرفته است.
- مدل کردن وضعیتی که در آن یکی از چند حالت ممکن رخ میدهد (همانند switch case)
ولی کاربرد include معمولا در یکی از موارد زیر است :
- بخواهیم یک بخش مشترک که در چندین use-case مورد استفاده قرار میگیرد را یک بار تعریف کنیم و در چند جا مورد استفاده قرار دهیم (یک مثال معروف : بخش هویت شناسی کاربر برای use-case های پرداخت پول و انتقال پول در ATM)
- بخواهیم یک بخش از جریان کاری use-case را که فقط نتیجه آن برایمان مهم است از جریان اصلی جدا کنیم تا بیان فهمیدن جریان اصلی ساده تر شود. (مثلا نتیجه ارزیابی اعتبار یک مشتری برای انجام فروش الکترونیکی)
از تفاوت های دیگر Include و extend می توان به موارد زیر اشاره کرد :
1- در مورد include، مورد کاربرد پایه به آنکهinclude شده وابسته است و در مورد extend برعکس است.
2- در extend، مورد-کاربرد پايه بدون منشعب شده هم بايد كامل باشد ولی در مورد include پايه بدون include شده ناقص است.
SHAHAB_ERP
دوشنبه 04 شهریور 1387, 11:03 صبح
لطفا هم براي Business usecase مثال بزنيد و هم براي system usecase مرسي.
فكر ميكنم دوستاني كه روي Actor بحث ميكنند اين دو بخش را تفكيك نميكنند . چون Actor در نمودارهاي business و در نمودارهاي system مفهوم متفاوتي دارد .
خود usecase هم در يك دياگرام business و در يك نمودار system مفاهيم متفاوتي دارد .
مثلا business actor حتما خارج از سازمان است مثلا مشتري يا ارباب رجوع است . و ممكن است هيچ كاري هم به كار سيستم ما نداشته باشد .
impression
دوشنبه 04 شهریور 1387, 15:14 عصر
لطفا هم براي Business usecase مثال بزنيد و هم براي system usecase مرسي.
فكر ميكنم دوستاني كه روي Actor بحث ميكنند اين دو بخش را تفكيك نميكنند . چون Actor در نمودارهاي business و در نمودارهاي system مفهوم متفاوتي دارد .
خود usecase هم در يك دياگرام business و در يك نمودار system مفاهيم متفاوتي دارد .
مثلا business actor حتما خارج از سازمان است مثلا مشتري يا ارباب رجوع است . و ممكن است هيچ كاري هم به كار سيستم ما نداشته باشد .
من فکر می کنم که به انتظارات کاربر از سیستم می گوییم system use caseو به انتظارات business می گوییم business use case. به بیان دیگر business use case نیازمندی business است و system use case نحوه ای است که ما به این نیازمندی پاسخ می دهیم.
به عنوان مثال فرض کنید که ما در یک سازمان یک contact centre می زنیم که مسئولیت آن پاسخ گویی به امور مشتریان است. حالا اینکه در سازمان یک جایی برای برقراری ارتباط با مشتری باشد، یک business use case است چرا که برای مشتری تنها این برقراری ارتباط مهم است و نه شیوه انجام آن. ولی اینکه ما این نیازمندی را از چه طریقی برطرف می کنیم، می شود system use case.
لطفا اگر اشتباه می کنم، اساتید گرامی تصحیح کنند.
Elham_gh
دوشنبه 04 شهریور 1387, 15:21 عصر
برداشت impression درست است.Business Use case مربوط به Problem space است , system use case مربوط به Solution space.فقط مفهوم System Use case استفاده نمي شود. چون اگر use caseي business ي نباشد ، سيستمي است. حتي فط notation مروبوط به business use case يا business Actor متفاوت است.
SHAHAB_ERP
دوشنبه 04 شهریور 1387, 15:44 عصر
من فکر می کنم که به انتظارات کاربر از سیستم می گوییم system use caseو به انتظارات business می گوییم business use case. به بیان دیگر business use case نیازمندی business است و system use case نحوه ای است که ما به این نیازمندی پاسخ می دهیم.
به عنوان مثال فرض کنید که ما در یک سازمان یک contact centre می زنیم که مسئولیت آن پاسخ گویی به امور مشتریان است. حالا اینکه در سازمان یک جایی برای برقراری ارتباط با مشتری باشد، یک business use case است چرا که برای مشتری تنها این برقراری ارتباط مهم است و نه شیوه انجام آن. ولی اینکه ما این نیازمندی را از چه طریقی برطرف می کنیم، می شود system use case.
لطفا اگر اشتباه می کنم، اساتید گرامی تصحیح کنند.
ببخشيد اومدم بحث رو فيصله بدم بيشتر منحرفش كردم .
من مثال ميخوام در اين دو وادي براي تفاوت includ و extend نه مقايسه business و system.
behrouzlo
پنج شنبه 21 شهریور 1387, 14:39 عصر
رابطه Include يعني اجباري و رابطه Extend يعني اختياري.
در رابطه Include تصور کنید که یک تابع تابع دیگر را بدون هیچ شرطی اجراء می کند.
function1(){
....
function2()
......
}
در رابطه Extend تصور کنید که یک تابع تابع دیگر را وقتی که شرط خاص رخ می دهد اجراء می کند.
function1(){
....
if(){
function2()
}
......
}
behrouzlo
پنج شنبه 21 شهریور 1387, 15:12 عصر
یک مثال دیگر را در نظر بگیرید فکر کنید شما می خواهید از روی یک کتاب آشپزی پیتزا درست کنید، انواع مختلف از پیتزاها در کتاب شرح داده شده است ولی در تهیه همه این پیتزاها یک مرحله مشترک است تهیه خمیر پیتزا. پس برای ساده تر شدن کار نویسنده یک قسمت ( usescase) را به تهیه خمیر تخصیص می دهد و دیگر تهیه خمیر را برای تک یک پیتزاها به صورت جداگانه نمی نویسد. و هر وقت شما خواستید یک پیتزا تهیه کنید به بخش تهیه خمیر ارجاع داده می شود و پس از تهیه خمیر ادامه سناریو تهیه پیتزا مورد نظر خود را ادامه می دهید. این یعنی رابطه Include
فرضی کنید شما در حال تهیه سوپ از روی همان کتاب آشپزی هستید، و نمک زیادی روی آش می ریزد و آش شور می شود (قسمت شرطی) در این حالت نویسنده شما را به قسمت ترفندهای آشپزی ارجاع می دهد و می گوید که مثلا با ریختن سیب زمینی می توانید باعث جذب شوری آش شوید. ولی اگر آش شور نشود شما نیازی به مراجعه به قسمت ترفندهای آشپزی ندارید
این یعنی رابطه Extend
impression
پنج شنبه 28 شهریور 1387, 10:12 صبح
یک مثال یک کم کامپیوتری تر:
هویت شناسی در سیستم باید در ابتدای ورود کاربر انجام شود و بعد از آن کاربر می تواند با توجه به سطح دسترسی خود از امکانات سیستم استفاده کند. بنابراین هویت شناسی usecase ای است که در تمام usecaseهای دیگر includeمی شود.
اما به عنوان مثال فرض کنید که شما پس از ورود به سایت برنامه نویس و انجام هویت شناسی، چه کارهایی می توانید انجام دهید؟ مثلا می توانید یک تاپیک را بخوانید. بعد از خواندن آن تاپیک شما می توانید روی آن پاسخ بگذارید یا اینکه از نویسنده تاپیک تشکر کنید. گذاشتن پاسخ و تشکر از نویسنده، دو usecase است که در خواندن یک تاپیک extend می شود. یعنی کاربر می تواند آنها را انجام بدهد یا انجام ندهد.
Neo2011
شنبه 23 مهر 1390, 14:26 عصر
اشتباه میکنید عزیزم. business UC یعنی تمام عملیاتی که در سیستم انجام میشود. منظور از تمام عملیات اینه که هم عملیاتی که توسط نرم افزار انجام میشه و هم عملیاتی که توسط انسان و .... . اما System UC عملیاتی که فقط توسط نرم افزار انجام میشه رو نشون میدیم.
sand3vich2631
جمعه 11 آذر 1390, 16:30 عصر
سلام.
smhoseyni ،تفاوت Extend و Include را خیلی خوب توضیح دادین.
می شه لطفا در مورد مثالی که ذکر می کنم هم توضیح بدین؟
مثلا در مورد ثبت پرداخت های متفاوت یک شرکت ، که این پرداخت ها ممکن است از طریق چک،فیش،نقد و یا کارت اعتباری باشند.
Actor که مسئول ثبت این پرداخت ها است ، اطلاعات مربوط به پرداخت ها را در سیستم ثبت می کند. و یک Use Case کلی برای مدیریت پرداخت هست که actor به آن مرتبط می شود.
حال می خواهم بدانم Use Case 4 (پرداخت چک،نقد و . . . ) به طور Extend به Use Case مدیریت پرداخت متصل می شوند یا Include ؟!!
ممنون.
Elham_gh
یک شنبه 13 آذر 1390, 08:44 صبح
سلام.
smhoseyni ،تفاوت Extend و Include را خیلی خوب توضیح دادین.
می شه لطفا در مورد مثالی که ذکر می کنم هم توضیح بدین؟
مثلا در مورد ثبت پرداخت های متفاوت یک شرکت ، که این پرداخت ها ممکن است از طریق چک،فیش،نقد و یا کارت اعتباری باشند.
Actor که مسئول ثبت این پرداخت ها است ، اطلاعات مربوط به پرداخت ها را در سیستم ثبت می کند. و یک Use Case کلی برای مدیریت پرداخت هست که actor به آن مرتبط می شود.
حال می خواهم بدانم Use Case 4 (پرداخت چک،نقد و . . . ) به طور Extend به Use Case مدیریت پرداخت متصل می شوند یا Include ؟!!
ممنون.
دوست عزیز ارتباط اینها Extend یا Includeنیست، Generalization است.
sand3vich2631
پنج شنبه 17 آذر 1390, 02:11 صبح
ممنون الهام جان:لبخندساده:
mohamad100000
جمعه 09 فروردین 1392, 17:43 عصر
دوستان عزيز اين فايل pdf مي تونه تمام سوال هاي شما رو رابطه با فرق رابطه هاي Extend و Include ، جواب بده
تست مثال ها در نرم افزار Visual Paradigm
استفاده از منابع هاي مختلف
لينك دانلود
http://mohamad100000.persiangig.com/Include%20And%20Extend.pdf
roghayeh j
شنبه 22 خرداد 1395, 10:56 صبح
سلام خسته نباشید
میشه ببینید تو این عکسی که فرستادم include و extended درسته یا نه؟
ممنون میشم
140812
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.