با سلام خدمت دوستان,
ممكنه فرق رابطه Extend و Include در Usecase دياگرام را برام توضيح بدين؟
با تشكر.
با سلام خدمت دوستان,
ممكنه فرق رابطه Extend و Include در Usecase دياگرام را برام توضيح بدين؟
با تشكر.
رابطه Include يعني اجباري و رابطه Extend يعني اختياري.
به اين معني كه اگر use case ي مثلا A با رابطه Include به يك use case ديگر مثل B وصل شود ( جهت فلش ازAبه B است) ، actor ي كه كار A را انجام ميدهد، حتما بايد كار B را نيز انجام دهد ولي اگر اين رابطه Extend باشد ( جهت فلش ازB به A است) ، actor ي كه كار A را انجام مي دهد مي تواند كار B را انجام دهد.
سید مصطفی حسینی
معمار نرمافزار، مشاوره و آموزش RUP
actor مي تواند انساني، سيستمي و يا سخت افزار باشد.
بله اين رو مي دونم , منظورم گفته كاربر smhoseyni بود كه گفته بودند : "فاعل اجرای use-case ها سیستم است نه actor"
اگر use case اصلی شما با Usecase دیگری نسبت Include پیدا می کند در واقع Usecase اصلی به آن وابسته اجباری می شود و تا وقتی عملیات آن Usecase پایان نپذیرد (خواه توسط Actor خواه یک عملیات درون سیستمی مانند محاسبه تخفیف فاکتور) usecase اصلی عملیاتش پایان نخواهد یافت ، در حالی که رابطه Extend وابستگی از نوع اختیاری یعنی تکمیل عملیات Usecase فرعی تاثیری در اجرای usecase اصلی ندارد مانند: چاپ فاکتور در صدور فاکتور
لطفا هم براي Business usecase مثال بزنيد و هم براي system usecase مرسي.
فكر ميكنم دوستاني كه روي Actor بحث ميكنند اين دو بخش را تفكيك نميكنند . چون Actor در نمودارهاي business و در نمودارهاي system مفهوم متفاوتي دارد .
خود usecase هم در يك دياگرام business و در يك نمودار system مفاهيم متفاوتي دارد .
مثلا business actor حتما خارج از سازمان است مثلا مشتري يا ارباب رجوع است . و ممكن است هيچ كاري هم به كار سيستم ما نداشته باشد .
آخرین ویرایش به وسیله SHAHAB_ERP : دوشنبه 04 شهریور 1387 در 11:38 صبح
من فکر می کنم که به انتظارات کاربر از سیستم می گوییم system use caseو به انتظارات business می گوییم business use case. به بیان دیگر business use case نیازمندی business است و system use case نحوه ای است که ما به این نیازمندی پاسخ می دهیم.
به عنوان مثال فرض کنید که ما در یک سازمان یک contact centre می زنیم که مسئولیت آن پاسخ گویی به امور مشتریان است. حالا اینکه در سازمان یک جایی برای برقراری ارتباط با مشتری باشد، یک business use case است چرا که برای مشتری تنها این برقراری ارتباط مهم است و نه شیوه انجام آن. ولی اینکه ما این نیازمندی را از چه طریقی برطرف می کنیم، می شود system use case.
لطفا اگر اشتباه می کنم، اساتید گرامی تصحیح کنند.
رابطه Include يعني اجباري و رابطه Extend يعني اختياري.
در رابطه Include تصور کنید که یک تابع تابع دیگر را بدون هیچ شرطی اجراء می کند.
در رابطه Extend تصور کنید که یک تابع تابع دیگر را وقتی که شرط خاص رخ می دهد اجراء می کند.
function1(){
....
function2()
......
}
function1(){
....
if(){
function2()
}
......
}
اشتباه میکنید عزیزم. business UC یعنی تمام عملیاتی که در سیستم انجام میشود. منظور از تمام عملیات اینه که هم عملیاتی که توسط نرم افزار انجام میشه و هم عملیاتی که توسط انسان و .... . اما System UC عملیاتی که فقط توسط نرم افزار انجام میشه رو نشون میدیم.
برداشت impression درست است.Business Use case مربوط به Problem space است , system use case مربوط به Solution space.فقط مفهوم System Use case استفاده نمي شود. چون اگر use caseي business ي نباشد ، سيستمي است. حتي فط notation مروبوط به business use case يا business Actor متفاوت است.
یک مثال دیگر را در نظر بگیرید فکر کنید شما می خواهید از روی یک کتاب آشپزی پیتزا درست کنید، انواع مختلف از پیتزاها در کتاب شرح داده شده است ولی در تهیه همه این پیتزاها یک مرحله مشترک است تهیه خمیر پیتزا. پس برای ساده تر شدن کار نویسنده یک قسمت ( usescase) را به تهیه خمیر تخصیص می دهد و دیگر تهیه خمیر را برای تک یک پیتزاها به صورت جداگانه نمی نویسد. و هر وقت شما خواستید یک پیتزا تهیه کنید به بخش تهیه خمیر ارجاع داده می شود و پس از تهیه خمیر ادامه سناریو تهیه پیتزا مورد نظر خود را ادامه می دهید. این یعنی رابطه Include
فرضی کنید شما در حال تهیه سوپ از روی همان کتاب آشپزی هستید، و نمک زیادی روی آش می ریزد و آش شور می شود (قسمت شرطی) در این حالت نویسنده شما را به قسمت ترفندهای آشپزی ارجاع می دهد و می گوید که مثلا با ریختن سیب زمینی می توانید باعث جذب شوری آش شوید. ولی اگر آش شور نشود شما نیازی به مراجعه به قسمت ترفندهای آشپزی ندارید
این یعنی رابطه Extend
یک مثال یک کم کامپیوتری تر:
هویت شناسی در سیستم باید در ابتدای ورود کاربر انجام شود و بعد از آن کاربر می تواند با توجه به سطح دسترسی خود از امکانات سیستم استفاده کند. بنابراین هویت شناسی usecase ای است که در تمام usecaseهای دیگر includeمی شود.
اما به عنوان مثال فرض کنید که شما پس از ورود به سایت برنامه نویس و انجام هویت شناسی، چه کارهایی می توانید انجام دهید؟ مثلا می توانید یک تاپیک را بخوانید. بعد از خواندن آن تاپیک شما می توانید روی آن پاسخ بگذارید یا اینکه از نویسنده تاپیک تشکر کنید. گذاشتن پاسخ و تشکر از نویسنده، دو usecase است که در خواندن یک تاپیک extend می شود. یعنی کاربر می تواند آنها را انجام بدهد یا انجام ندهد.
دوستان عزيز اين فايل pdf مي تونه تمام سوال هاي شما رو رابطه با فرق رابطه هاي Extend و Include ، جواب بده
تست مثال ها در نرم افزار Visual Paradigm
استفاده از منابع هاي مختلف
لينك دانلود
http://mohamad100000.persiangig.com/...d%20Extend.pdf
سلام خسته نباشید
میشه ببینید تو این عکسی که فرستادم include و extended درسته یا نه؟
ممنون میشم