PDA

View Full Version : سوال: مورد کاربرد (Use Case)



Ehsan-MT
پنج شنبه 23 مهر 1388, 13:16 عصر
با سلام

چند وقتی هست که مشغول مطالعه UML و RUP هستم و همزمان سعی بر پیاده سازی بصورت آزمایشی آن را روی یک پروژه تست دارم. اما متاسفانه نکته مبهم اصلی که این وسط بسیار حیاتی بوده ولی از طرفی تعاریف مختلف در مورد آن وجود دارد مورد کاربرد یا همان Use Case است.

مثلا تعاریف زیر:
1-یک مورد کاربرد یک تابع هست.
2-مورد کاربرد یک فعل است.
3-تراکنشی که توسط کاربر شروع شده و با پاسخ مناسب پایان می یابد.
4-...


سوالی اساسی این است که چگونه یک Use Case را تشخیص دهیم و تا چه زمانی باید به یافتن آن ادامه دهیم؟

(لطفا بصورت کاربردی توضیح دهید نه تئوری)

از آنجایی که تعاریف گوناگون هست لطفا چنانچه جوابی برای این سوال دارید با ذکر منابع معتبر درج نمایید تا نهایتا بتوان جواب دقیق را پیدا نمود.

با تشکر پیشاپیش.

alimomen54
شنبه 25 مهر 1388, 08:43 صبح
برای تشخیص یوزکیس ها باید ابتدا اکتورها را پیدا کنید.
برای شناخت اکتورها کافیست ذینفعان و کاربران پروژه را لیست کرده و از بین آنها اکتورهای مورد نظر خود را پیدا کنید.
1- ممکن است چند کاربر یک نقش در برنامه داشته باشند که در اینجا باید آنها را یک اکتور در نظر بگیرید.
2- ممکن است یک کاربر در برنامه شما چند نقش داشته باشد که در اینجا باید چند اکتور در نظر بگیرید.

بعد از تشخیص اکتورها باید ببینید آنها چه انتظارات عملکردی از سیستم دارند. این نیازمندیهای عملکردی همان یوزکیس های شما یا مورد کاربردهای شما می باشند.
البته توجه داشته باشید که چنانچه یک سیستم توسط چند نفر تحلیل جداگانه شود، امکان اینکه یه یک نتیجه برسند تقریبا صفر است. پس خود را اسیر یک چارچوب تعریف شده نکنید. و سعی کنید سیستم را با استفاده از یوزکیس ها بیشتر بشناسید. چون یکی از اهداف یوزکیس ها شناخت بیشتر و جامعتر سیستم برای استخراج کلاسهای آن می باشد.

cups_of_java
شنبه 25 مهر 1388, 09:52 صبح
usecase برای نمایش و توصیف وظیفه مندی های یک سیستم یا نرم افزار هستش. اون رو می شه در سطوح مختلفی از جزییات کشید. دید می تونه نرم افزاری باشه می تونه سیستمی باشه و... پس نمی شه دقیق گفت usecase فقط این یک مورد هست. اما به طور کلی هر آنچه نرم افزار شما باید انجام بده توی usecase میاد. ولی در سطح بالا! usecase ها رو خیلی جزیی نمی کنند. usecase ها در هر صورت یک جور فعالیت بین نرم افزار ما و یک موجودیت دیگه (اکتور) که می تونه انسان باشه یا نرم افزار دیگه ای باشه یا ... هستند.

برای دید مثال و درک بهتر چگونگی تشخیص اون ها کتاب های Writing Effective Usecases و Use Case Driven Object Modeling رو بخونید.

Ehsan-MT
چهارشنبه 29 مهر 1388, 16:34 عصر
از پاسخ دوستان عزیز بسیار متشکر هستم اما بازهم سوال های من پاسخ داده نشد، در ضمن ذکر منابع معتبر بسیار ضروری هست.

esmartiz_red
چهارشنبه 06 آبان 1388, 01:39 صبح
جواب دوستان که خیلی کامل بود من خودم استفاده کردم شما بگو دقیقا مشگلت چیه

Ehsan-MT
پنج شنبه 07 آبان 1388, 16:22 عصر
سوالی اساسی این است که چگونه یک Use Case را تشخیص دهیم و تا چه زمانی باید به یافتن آن ادامه دهیم؟

(لطفا بصورت کاربردی توضیح دهید نه تئوری)

ذکر مبع موثق مهم هست.

meysamm
دوشنبه 11 آبان 1388, 11:26 صبح
سلام
فکر می کنم اگر به کتاب زیر نگاهی بندازید پاسخ خیلی از سوالاتتون رو بگیرید.

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2nd Edition) (http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp/0130925691)