fa azb fa fa fa fa fa fa fa en fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa en fa fa fa fa fa fa fa fa fa fa fa fa fa en fa fa fa fa fa ar fa fa fa fa fa fa fa fa fa fa fa
در قسمت قبل در مورد تعریف یوزکیس و کلیات کاربردش در پروژه صحبت کردیم، در این قسمت در مورد اجزا و انواع یوزکیس بحث می کنیم.
قبل از اینکه اجزای یوزکیس رو بگم باید اشاره بکنم که یوزکیس استاندارد خاصی نداره، همونطور که استفاده شما از UML یا بقیه ابزارها با افراد دیگه متفاون هست، روشهای استفاه از یوزکیس هم برای هرفرد یا هر پروژه میتونه متفاوت باشه. من سعی می‌کنم مرسوم ترین شیوه رو اینجا بیان کنم.
نکته‌: یک یوزکیس معمولاً یک سند الکترونیکی مثل فایل Word هستش و هر بخشی که در ادامه میگم یک بخش از این فایل متنی هستش. نا گفته نمونه یوزکیس قابلیت اتصال به ابزارهای CASE مثل RequisitePro رو هم داره که الان بهش کاری ندارم.
نام یوزکیس که توصیه میشه با فعل شروع بشه. برای مثال “صدور فاکتور” یا “ثبت پروژه” یا “شوت کردن توپ”!
فکر بدی نیست که یک توضیح کلی برای خواننده بدین که آمادگی ذهنی پیاده کنه. برای مثال “این یوزکیس برای توصیف روشهای صدور فاکتور سیستم فلان نوشته شده و به دلیل اهمیت پارامترهای امنیتی در سند بهمان بخش جدایی برای آن در نظر گرفته شده است….”
گاهی می‌تونه مفید باشه که بگیم چه حالتی در سیستم بصورت پیشفرض در نظر گرفته شده. مثلاً در نظر گرفتن لاگین بودن کاربر. خیلی هم لازم نیست دقیق باشین مثلاً نیازی نیست بگین کامپیوتر روشن باشه یا کاربر نابینا نباشه. البته این موارد بسته به نوع سیستم متفاوته شاید برای یک سیستم لازم باشه در نظر بگیرین کاربر نابینا هستش.
این بخش یکی از بخشهای اصلی و مهم یک یوزکیس می‌باشد و درک آن در نوشتن یک یوزکیس با کیفیت بسیار تأثیر گذار است (نقطه). شما در این بخش روند عادی و اصلی سیستم رو می‌نویسین. به این مفهوم که هیچ حالت جانبی و خاصی در نظر گرفته نمیشه. مثال:
“مسئول فروش در هنگام فروش کالا به يک طرف حساب، مشخصات کالاي خريداري شده را در فاکتور فروش ثبت مي نمايد . مسئول فروش مي تواند مبلغ نهايي را از طرف حساب به صورت نقدي يا چک بگيرد.”
خیلی بسیار مهم هستش که در این قسمت حرفی از حالتهای جانبی زده نشه که خواننده بتونه با کلیت عملیات این یوزکیس، بدون درگیر شدن با جزییات و حالتهای خاص، آشنا بشه.
بزرگترین بخش یوزکیس از نظر حجمی همین بخش هستش و ممکنه تا ۸۰ درصد کل یوزکیس (توصیه میشه یوزکیس از ۳یاچهار صفحه کاغذ A4 بزرگتر نشه) رو به خودش اختصاص بده.
اول بگم که این بخش از یوزکیس اختراع خودمه:) به نظر من مفید هستش که نکات مبهم و کارهای بعدی مربوط به هر یوزکیس در قسمت انتهایی قرار بگیره که بعداً اصلاح بشه.
بخشهای یوزکیس رو گفتیم، حالا میرسیم به انواع یوزکیس. شما بسته به فاز پروژه به انواع مختلفی از یوزکیس نیاز پیدا می‌کنین، مبنای این تقسیم بندی میزان جزییاتی هستش که یوزکیس دربر می‌گیره یا به بیان دیگه تقسیم بندی “ساختاری” هستش. این تقسیم بندی بر مبنای نظریات Alistair Cockburn، شاگرد Jacobson صورت گرفته، برای اطلاعات بیشتر به کتاب Writing Effective Usecases رجوع کنین:
این نوع یوزکیس که ساده ترین نوع اون هست فقط به سناریوی اصلی می‌پردازه و معمولاً یک پاراگراف هستش که مثالش رو در بخش قبلی گفتم.
این نوع بسط داده شده حالت ابتدایی هستش و شما حالتهای خاص اصلی رو بصورت پاراگرافی در ادامه سناریوی اصلی ذکر می‌کنین. به این مثال توجه کنین که در ادامه مثال قبل نوشتم:
“مسئول فروش در هنگام فروش کالا به يک طرف حساب، مشخصات کالاي خريداري شده را در فاکتور فروش ثبت مي نمايد . مسئول فروش مي تواند مبلغ نهايي را از طرف حساب به صورت نقدي يا چک بگيرد.
در صورت خرابی کامپیوتر مخصوص فروش از تبلتی که به همین منظور در نظر گرفته شده است استفاده می‌شود.”
من از لفظ کامل استفاده کردم ولی اصراری ندارم انتخاب درستی بوده، منظورم این بود که از نظر ساختار کاملترین هستش ولی از نظر محتوی یک یوزکیس ممکنه به این زودیها کامل نشه. مثال یوزکیس کامل رو در انتهای پروژه نمونه خواهید دید.
در یک پروژه فرضی شما به هر صورتی که صلاح بدونین میتونین از این انواع یوزکیس استفاده کنین. معمولش اینه که با نوشتن یک پاراگراف در بخش سناریوی اصلی نوشتن یوزکیس رو شروع میکنین و به مرور که در پروژه جلو میرین این میشه چندپاراگرف (غیررسمی) و بعدش حالتهای جانبی بیشتری بهش اضافه میشه و توسعه پیدا میکنه و میشه یک یوزکیس کامل البته ممکنه در یک پروژه نیازی به یوزکیس کامل نباشه، توصیه من این هست که تا جایی که امکان داره جزییات در یوزکیس منعکس بشه.
در قسمت بعد به کارگاه عملی نوشتن یوزکیس می‌رسیم. پروژه نمونه “سامانه ثبت سفارش” هست که بصورت گام به گام از شروع تا پایان یک یوزکیس رو بصورت نمونه توسعه می‌دیم.