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

دستورالعملها و نکاتی برای توسعه موارد استفاده مؤثر و نوشتن سناریوهای مناسب موارد استفاده
اینجا چند دستورالعمل، نکته و ترفند برای توسعه موارد استفاده و نوشتن سناریوهای مناسب موارد استفاده آورده شده است:
- شناسایی بازیگران:با شناسایی بازیگرانی که با سیستم تعامل خواهند داشت، شروع کنید. این میتواند شامل کاربران، مدیران و هر گونه ذینفع دیگری باشد که از سیستم استفاده خواهند کرد.
- تعیین حوزه سیستم:حوزه سیستم و اهداف آن را به وضوح تعریف کنید. این کار به اطمینان از اینکه سناریوهای مورد استفاده تمام الزامات ضروری را ثبت کنند کمک میکند.
- استفاده از رویکرد ساختاریافته:از رویکرد ساختاریافته برای توسعه سناریوهای مورد استفاده استفاده کنید. این میتواند شامل استفاده از الگوها یا دستورالعملها باشد تا اطمینان حاصل شود که هر سناریو دارای ساختاری یکنواخت باشد.
- نوشتن سناریوهای واضح و مختصر:سناریوهای مورد استفاده را به گونهای بنویسید که واضح، مختصر و قابل فهم باشند. از زبان ساده استفاده کنید و از اصطلاحات فنی یا مخففهایی که ممکن است برای تمام ذینفعان آشنا نباشند، خودداری کنید.
- استفاده از زبان مبتنی بر اقدامات:سناریوهای مورد استفاده را با استفاده از زبان مبتنی بر اقدامات بنویسید که توضیح دهد کاربر یا سیستم چه کاری انجام میدهد. این کار میتواند به اطمینان از اینکه سناریوها به راحتی قابل فهم و دنبال کردن هستند کمک کند.
- تمرکز بر اهداف و نیازهای کاربر:در توسعه سناریوهای مورد استفاده، بر اهداف و نیازهای کاربر تمرکز کنید. این کار به اطمینان از اینکه سناریوها دیدگاه کاربر را منعکس میکنند و با نیازهای او هماهنگ هستند، کمک میکند.
- شناسایی شرایط پیش از و پس از اجرا:شرایط پیش از و پس از اجرا را به وضوح شناسایی کنید. این کار به اطمینان از اینکه سناریو کامل و دقیق است، کمک میکند.
- شامل کردن سناریوهای استثنا:هر گونه سناریوی استثنا که ممکن است رخ دهد را شناسایی کنید و آن را در سناریوهای مورد استفاده شامل کنید. این کار به اطمینان از اینکه سیستم میتواند به موقعیتهای غیرمنتظره و خطاها پاسخ دهد، کمک میکند.
- دریافت بازخورد و بازبینی:بازخورد از ذینفعان دریافت کنید و سناریوهای مورد استفاده را به طور منظم بازبینی کنید تا اطمینان حاصل شود که بهروز و دقیق باشند و با آخرین مشخصات و الزامات سیستم هماهنگ باشند.
با رعایت این دستورالعملها، نکات و ترفندها، توسعهدهندگان میتوانند سناریوهای مورد استفاده را توسعه دهند که به درستی عملکرد سیستم را ثبت کرده و نیازهای تمام ذینفعان را برآورده کنند.
توصیف مسئله مطالعه موردی – ATM
بانک نیاز دارد راهی راحت برای مشتریان خود فراهم کند تا بتوانند به حسابهای خود دسترسی پیدا کنند و انواع تراکنشهای بانکی مانند برداشت نقدی، واریز نقدی، انتقال وجه، بررسی موجودی حساب و تغییر کد عبور انجام دهند. برای حل این مسئله، بانک قصد دارد سیستم ATM را اجرا کند که به مشتریان اجازه میدهد با استفاده از کارت ATM و کد عبور، این تراکنشها را انجام دهند.
الزامات:
- امنیت: سیستم ATM باید از امنیت معاملات مشتریان اطمینان حاصل کند و از طریق تأیید هویت مشتری با استفاده از کارت ATM و کد عبور، این امر را تضمین کند. سیستم باید از دسترسی غیرمجاز به حسابهای مشتریان جلوگیری کند و باید در برابر انواع مختلف کلاهبرداری و حمله، مانند سکینگ و هک، محافظت شده باشد.
- دسترسپذیری: سیستم ATM باید در تمام زمانها برای مشتریان در دسترس باشد، با توجه به نگهداری دورهای و قطعیهای زمانی. سیستم باید قابل اعتماد و مقاوم در برابر خرابیهای سختافزاری و نرمافزاری باشد تا اختلالات خدمات را به حداقل برساند و سطح بالای رضایت مشتریان را تضمین کند.
- قابلیت استفاده: سیستم ATM باید برای مشتریان در تمام سنین و پیشینههای مختلف به راحتی قابل استفاده و کاربردی باشد. سیستم باید دستورالعملها و بازخوردهای واضحی ارائه دهد تا مشتریان را در فرآیند معامله راهنمایی کند و اشتباهات و سردرگمیها را به حداقل برساند.
- پردازش معاملات: سیستم ATM باید معاملات مشتریان را به طور دقیق و کارآمد پردازش کند، از جمله برداشت و واریز نقدی، انتقال وجه، بررسی موجودی حساب و تغییر کد عبور. سیستم باید ثبتهای دقیقی از تمام معاملات حفظ کند و به مشتریان رسیدها و سایر مدارک مورد نیاز را ارائه دهد.
- یکپارچگی: سیستم ATM باید با زیرساخت فناوری اطلاعات موجود بانک، از جمله سیستم بانکی اصلی، شبکه و پایگاه دادهها، یکپارچه شود. سیستم باید به صورت ایمن و قابل اعتماد با سایر سیستمها و اجزای دیگر ارتباط برقرار کند تا پردازش دقیق و به موقع معاملات و اطلاعات حساب تضمین شود.
مدلسازی موارد مورد استفاده و توسعه سناریوهای مورد استفاده
با شروع از توضیح مسئله سیستم ATM، مرحله بعدی شناسایی موارد مورد استفاده مختلفی است که برای برآورده کردن نیازهای کاربران سیستم لازم است. این کار شامل تحلیل نیازهای سیستم و تعریف اقدامات خاصی است که کاربران میتوانند در هنگام تعامل با سیستم انجام دهند. هر مورد مورد استفاده دارای مجموعهای از سناریوها خواهد بود که نحوه تعامل سیستم و کاربر را در شرایط خاص توصیف میکنند. این سناریوها باید به صورت ساختاریافته و با زبانی روشن و مختصر توسعه یابند تا برای تمام ذینفعان در پروژه قابل فهم باشند.
فرآیند شناسایی موارد مورد استفاده و توسعه سناریوهای مورد استفاده یک مرحله حیاتی در چرخه حیات نرمافزار است. این فرآیند به تیم توسعه امکان میدهد تا نیازهای سیستم را به طور کامل درک کند و راهحلی طراحی کند که نیازهای کاربران را برآورده کند. همانطور که فرآیند توسعه پیش میرود، ممکن است نیاز باشد موارد مورد استفاده و سناریوها را بهروزرسانی کنیم تا تغییرات در نیازها یا بازخوردهای ذینفعان را منعکس کنند. این فرآیند تکراری به اطمینان از اینکه سیستم نهایی نیازهای تمام ذینفعان را برآورده میکند و قادر به پردازش طیف وسیعی از سناریوها و موارد مورد استفاده است، کمک میکند.
- نمودار مورد استفاده:
نمودار مورد استفاده برای سیستم ATM میتواند شامل موارد زیر باشد:
- مشتری
- بانک
و موارد مورد استفاده زیر:
- برداشت نقدی
- واریز نقدی
- بررسی موجودی
- انتقال وجه
- تغییر کد عبور
این نمودار روابط بین اشخاص و موارد مورد استفاده را نشان میدهد و مشخص میکند که کدام موارد مورد استفاده توسط کدام اشخاص قابل دسترسی هستند.
- سناریوهای مورد استفاده:
الف)برداشت نقدی:
- مشتری کارت ATM خود را وارد دستگاه میکند.
- سیستم از مشتری میخواهد کد عبور خود را وارد کند.
- مشتری کد عبور خود را وارد میکند.
- سیستم کد عبور را تأیید میکند.
- مشتری گزینه «برداشت نقدی» را انتخاب میکند.
- سیستم مشتری را به وارد کردن مبلغ نقدی که میخواهد برداشت کند، تشویق میکند.
- مشتری مبلغ نقدی را وارد میکند.
- سیستم نقدی را صادر میکند.
- مشتری کارت ATM خود را خارج میکند و نقدی را میبرد.
ب) واریز نقدی:
- مشتری کارت ATM خود را وارد دستگاه میکند.
- سیستم مشتری را به وارد کردن کد عبور خود تشویق میکند.
- مشتری کد عبور خود را وارد میکند.
- سیستم کد عبور را تأیید میکند.
- مشتری گزینه «واریز نقدی» را انتخاب میکند.
- سیستم مشتری را به وارد کردن مبلغ نقدی که میخواهد واریز کند، تشویق میکند.
- مشتری مبلغ نقدی را وارد میکند.
- سیستم مبلغ را تأیید و آن را به مشتری نمایش میدهد.
- مشتری مبلغ را تأیید میکند.
- سیستم نقدی را قبول میکند و حساب مشتری را بدهکار میکند.
ج)بررسی موجودی:
- مشتری کارت ATM خود را وارد دستگاه میکند.
- سیستم مشتری را به وارد کردن کد عبور خود تشویق میکند.
- مشتری کد عبور خود را وارد میکند.
- سیستم کد عبور را تأیید میکند.
- سیستم موجودی حساب مشتری را نمایش میدهد.
د)انتقال وجوه:
- مشتری کارت ATM خود را وارد دستگاه میکند.
- سیستم مشتری را به وارد کردن کد عبور خود تشویق میکند.
- مشتری کد عبور خود را وارد میکند.
- سیستم PIN را تأیید میکند.
- مشتری گزینه «انتقال وجوه» را انتخاب میکند.
- سیستم مشتری را به وارد کردن شماره حسابی که میخواهد وجوه را به آن انتقال دهد، تشویق میکند.
- مشتری شماره حساب را وارد میکند.
- سیستم مشتری را به وارد کردن مبلغ وجوهی که میخواهد انتقال دهد، تشویق میکند.
- مشتری مبلغ وجوه را وارد میکند.
- سیستم مبلغ را تأیید میکند و آن را برای مشتری نمایش میدهد.
- مشتری مبلغ را تأیید میکند.
- سیستم وجوه را انتقال میدهد و پیام تأیید را برای مشتری نمایش میدهد.
e) تغییر PIN:
- مشتری کارت ATM خود را وارد دستگاه میکند.
- سیستم مشتری را به وارد کردن PIN فعلی خود تشویق میکند.
- مشتری PIN فعلی خود را وارد میکند.
- سیستم PIN فعلی را تأیید میکند.
- سیستم مشتری را به وارد کردن PIN جدید خود تشویق میکند.
- مشتری PIN جدید خود را وارد میکند.
- سیستم مشتری را به تأیید PIN جدید خود تشویق میکند.
- مشتری PIN جدید خود را تأیید میکند.
- سیستم PIN مشتری را بهروز میکند و پیام تأیید را نمایش میدهد.
اصلاح سناریوی مورد استفاده – برداشت نقدینگی
اصلاح یک سناریوی مورد استفاده هنگام پیشرفت فرآیند توسعه برای چند دلیل مهم است:
- برای اطمینان از اینکه سناریو دقیق است و وضعیت فعلی سیستم را منعکس میکند:با پیشرفت فرآیند توسعه، سیستم ممکن است تغییر کند و نیازهای جدیدی پدیدار شود. اصلاح سناریوی مورد استفاده به اطمینان از اینکه این سناریو دقیق و بهروز با آخرین مشخصات سیستم باقی میماند، کمک میکند.
- برای شناسایی هرگونه نیازهای گمشده یا ناقص:با پیشرفت سیستم، ممکن است مشخص شود که نیاز به نیازهای اضافی برای بهطور کامل ثبت عملکرد سیستم وجود دارد. اصلاح سناریوی مورد استفاده به شناسایی هرگونه نیازهای گمشده یا ناقص کمک میکند.
- برای بهبود قابلیت استفاده و تجربه کاربری:اصلاح سناریوی مورد استفاده میتواند به بهبود قابلیت استفاده و تجربه کاربری سیستم کمک کند. با اصلاح سناریو، توسعهدهندگان میتوانند نیازهای کاربر را بهتر درک کنند و تصمیمات طراحی را بهتر در جهت برآورده کردن این نیازها اتخاذ کنند.
فرآیند اصلاح یک سناریوی مورد استفاده میتواند شامل چند مرحله باشد، از جمله:
- بررسی سناریو از نظر دقت و کامل بودن: توسعه دهندگان باید سناریو را بررسی کنند تا مطمئن شوند که وضعیت فعلی سیستم را به درستی بازتاب میدهد و تمامی الزامات ثبت شدهاند.
- شناسایی هرگونه الزامات گمشده یا ناقص:توسعه دهندگان باید هرگونه الزامات گمشده یا ناقص را شناسایی کنند و تلاش کنند آنها را در سناریو گنجانده شوند.
- بهبود رابط کاربری:توسعه دهندگان باید رابط کاربری را بهبود بخشند تا قابلیت استفاده و تجربه کاربری را افزایش دهند، با در نظر گرفتن بازخورد کاربران و بهترین روشهای طراحی.
- گنجاندن بازخورد:توسعه دهندگان باید بازخورد از ذینفعان و کاربران را در سناریو گنجانده و مطمئن شوند که نیازهای همه کاربران را برآورده میکند.
مراحل بهبود یک سناریوی مورد استفاده
با بهبود مداوم سناریوی مورد استفاده در طول فرآیند توسعه، توسعه دهندگان میتوانند مطمئن شوند که سیستم نیازهای کاربران و الزامات را برآورده میکند و به اندازه ممکن قابل استفاده و دوستداشتنی است.
اینجا توضیحی از سناریوی «برداشت نقدینگی» برای سیستم ATM آورده شده است که شامل جریانهای عادی و استثناها و نقاط ورود برای بازتاب یک سناریوی واقعی است:
سناریو:برداشت نقدینگی
شخص اصلی:مشتری
شرایط پیشنیاز:
- مشتری کارت ATM خود را در دستگاه وارد کرده است.
- مشتری کد عبور صحیح خود را وارد کرده است.
جریان اصلی:
- مشتری گزینه «برداشت نقدینگی» را از منوی اصلی انتخاب میکند.
- ATM از مشتری میخواهد مقدار نقدینگی که میخواهد برداشت کند را وارد کند.
- مشتری مقدار نقدینگی که میخواهد برداشت کند را وارد میکند.
- ATM بررسی میکند که مشتری مقدار کافی وجه در حساب خود دارد تا مبلغ برداشتی را پوشش دهد.
- ATM مقدار درخواستی نقدینگی را به مشتری تحویل میدهد.
- ATM پیامی نمایش میدهد که برداشت موفقیتآمیز بوده و از مشتری میخواهد یک تراکنش دیگر انتخاب کند یا جلسه را تمام کند.
- مشتری یک تراکنش دیگر انتخاب میکند یا جلسه را تمام میکند.
- ATM کارت ATM مشتری را خارج میکند.
جریانهای استثنا:
1a. موجودی کافی نیست
- ATM بررسی میکند که مشتری مقدار کافی وجه در حساب خود ندارد تا مبلغ برداشتی را پوشش دهد.
- ATM پیام خطا نمایش میدهد که مشتری مقدار کافی وجه برای انجام تراکنش ندارد.
- اتم به مشتری اطلاع میدهد که یا مبلغ برداشت کمتری وارد کند یا معامله را لغو کند.
- مشتری یا مبلغ برداشت کمتری وارد میکند یا معامله را لغو میکند.
2a. مبلغ نامعتبر
- مشتری مبلغ برداشت نامعتبری وارد میکند، مانند یک عدد منفی یا مقداری که از حد مجاز برداشت روزانه آنها فراتر میرود.
- اتم پیام خطا را نمایش میدهد و به مشتری اطلاع میدهد که مبلغ وارد شده نامعتبر است.
- اتم به مشتری توصیه میکند که مبلغ برداشت معتبر وارد کند.
- مشتری مبلغ برداشت معتبر را وارد میکند.
3a. کارت نگه داشته شده
- اتم به دلیل خطای سختافزاری یا نرمافزاری نتوانست نقدیه را توزیع کند.
- اتم پیام خطا را نمایش میدهد و به مشتری اطلاع میدهد که کارت او نگه داشته شده است.
- اتم به مشتری توصیه میکند که برای کمک با بانک یا خدمات مشتری تماس بگیرد.
- مشتری با بانک یا خدمات مشتری تماس میگیرد تا کارت خود را بازیابی کند.
نقاط ورود:
- پس از مرحله 1:مشتری کارت اتم خود را وارد دستگاه میکند و کد عبور خود را وارد میکند.
- پس از مرحله 2:مشتری مقدار نقدیهای که میخواهد برداشت کند را وارد میکند.
- پس از مرحله 3:اتم بررسی میکند که مشتری مالی کافی برای پوشش مبلغ برداشت دارد.
- پس از مرحله 5:اتم نقدیه درخواستی را به مشتری تحویل میدهد.
خلاصه
پیوست – سناریوهای مورد استفاده بهبود یافته – اتم
نام مورد استفاده: برداشت نقدیه
شرکتکنندگان:مشتری، ماشین بانکی
شرایط پیشنیاز:مشتری باید کارت ATM معتبر و شماره PIN داشته باشد. ماشین بانکی باید به درستی کار کند و به شبکه بانکی متصل باشد.
جریان اصلی:
- مشتری کارت ATM خود را در دریچه خواننده کارت ماشین بانکی وارد میکند.
- ماشین بانکی مشتری را به وارد کردن شماره PIN خود با استفاده از صفحه کلید تشویق میکند.
- مشتری شماره PIN خود را وارد میکند.
- ماشین بانکی شماره PIN را تأیید میکند و گزینههای منوی اصلی را نمایش میدهد.
- مشتری گزینه «برداشت نقدی» را از منو انتخاب میکند.
- ماشین بانکی مشتری را به وارد کردن مبلغ نقدی که میخواهد برداشت کند با استفاده از صفحه کلید تشویق میکند.
- مشتری مبلغ نقدی که میخواهد برداشت کند را وارد میکند.
- ماشین بانکی تأیید میکند که مشتری مبلغ کافی در حساب خود دارد تا معامله را تکمیل کند.
- ماشین بانکی مبلغ نقدی درخواستی را به مشتری تحویل میدهد.
- ماشین بانکی پیامی نمایش میدهد که نشاندهنده تکمیل معامله است.
- مشتری کارت ATM خود را از دریچه خواننده کارت خارج میکند.
جریانهای جایگزین:
- 1a. اگر ماشین بانکی نتواند کارت ATM مشتری را بخواند، پیام خطا نمایش داده و مشتری را به تلاش مجدد یا تماس با بانک خود تشویق میکند.
- 4a. اگر مشتری سه بار شماره PIN اشتباه وارد کند، ماشین بانکی کارت را نگه میدارد و پیامی نمایش میدهد که نشاندهنده حفظ کارت است.
- 8a. اگر مشتری مبلغ کافی در حساب خود نداشته باشد تا معامله را تکمیل کند، ماشین بانکی پیام خطا نمایش میدهد و مشتری را به وارد کردن مبلغ کوچکتر یا لغو معامله تشویق میکند.
نام مورد استفاده:بررسی موجودی حساب
شرکتکنندگان:مشتری، ماشین بانکی
شرایط پیشنیاز:مشتری باید کارت ATM معتبر و شماره PIN داشته باشد. ماشین بانکی باید به درستی کار کند و به شبکه بانکی متصل باشد.
جریان اصلی:
- مشتری کارت ATM خود را در دریچه خواننده کارت ماشین بانکی وارد میکند.
- ماشین بانکی مشتری را به وارد کردن شماره PIN خود با استفاده از صفحه کلید تشویق میکند.
- مشتری شماره PIN خود را وارد میکند.
- ماشین بانکی شماره PIN را تأیید میکند و گزینههای منوی اصلی را نمایش میدهد.
- مشتری گزینه «بررسی موجودی حساب» را از منو انتخاب میکند.
- ATM موجودی فعلی حساب مشتری را روی صفحه نمایش میدهد.
- مشتری کارت ATM خود را از دریچه خواننده کارت خارج میکند.
جریانهای جایگزین:
- 1a. اگر ATM نتواند کارت ATM مشتری را بخواند، پیام خطا نمایش داده شده و مشتری تشویق به تلاش مجدد یا تماس با بانک خود میشود.
- 4a. اگر مشتری سه بار پیاپی کد عبور نامعتبر وارد کند، ATM کارت را نگه میدارد و پیامی نمایش میدهد که نشان میدهد کارت نگه داشته شده است.
نام مورد استفاده:واریز نقدی
شرکتکنندگان:مشتری، ATM
پیششرایط:مشتری باید کارت ATM معتبر و کد عبور داشته باشد. ATM باید به درستی کار کند و به شبکه بانکی متصل باشد.
جریان اصلی:
- مشتری کارت ATM خود را در دریچه خواننده کارت ATM وارد میکند.
- ATM از مشتری میخواهد کد عبور خود را با استفاده از صفحه کلید وارد کند.
- مشتری کد عبور خود را وارد میکند.
- ATM کد عبور را اعتبارسنجی میکند و گزینههای منو اصلی را نمایش میدهد.
- مشتری گزینه «واریز نقدی» را از منو انتخاب میکند.
- ATM از مشتری میخواهد نقدینهای که میخواهد واریز کند را در دریچه واریز نقدی ATM وارد کند.
- مشتری نقدینه را در دریچه واریز وارد میکند.
- ATM نقدینه را اعتبارسنجی میکند و پیامی نمایش میدهد که مقدار نقدینه واریز شده را مشخص میکند.
- مشتری کارت ATM خود را از دریچه خواننده کارت خارج میکند.
منابع: تکنیکهای مدلسازی مورد استفاده
- مشخصات مورد استفاده چیست؟
- یک آموزش عملی در مورد تحلیل مقاومت
- شناسایی نیازهای کاربر با استفاده از نمودارهای مورد استفاده
- داستان کاربری در مقابل مورد استفاده برای توسعه نرمافزار آگیل
- رویکرد مبتنی بر مورد استفاده برای توسعه آگیل
- انواع شرکتکنندگان در مدل مورد استفاده
- نمودار مورد استفاده چیست؟
- UML چیست؟
- چرا مدلسازی UML؟
This post is also available in Deutsch, English, Español, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.











