نمودار مورد استفاده چیست؟
UMLنمودارهای مورد استفادهشکل اصلی نیازمندیهای سیستم/نرمافزار برای برنامههای نرمافزاری جدید در حال توسعه هستند. هدف از نمودار مورد استفاده، تجسم آنچه است که سیستم باید انجام دهد (چه چیزی)؛ در این مرحله، به چگونگی انجام آن (چگونه) توجه نمیشود.
پس از مشخص شدن یک مورد استفاده، میتوان آن را در یک نمای متنی و بصری (یعنی نمودار مورد استفاده) نمایش داد. یک مفهوم کلیدی در مدلسازی مورد استفاده این است که به ما کمک میکند تا سیستم را از دیدگاه کاربر نهایی طراحی کنیم. این یک تکنیک مؤثر برای ارتباط رفتار سیستم به زبان کاربر با مشخص کردن تمام رفتارهای قابل مشاهده خارجی سیستم است.
به عبارت دیگر، استفاده از سیستم باید از بیرون مشاهده شود، یعنی سیستم نباید از درون مشاهده شود، بلکه باید از سطح بالاتری برای تعیین عملکردی که سیستم باید به بازیگران خارجی ارائه دهد، مشاهده شود.
هدف از نمودارهای مورد استفاده
نمودارهای مورد استفادهمعمولاً در مراحل اولیه توسعه ایجاد میشوند و مردم اغلب از مدلسازی مورد استفاده برای اهداف زیر استفاده میکنند.
- مشخص کردن زمینه یک سیستم
- ضبط نیازمندیهای یک سیستم
- اعتبارسنجی معماری یک سیستم
- هدایت پیادهسازی و تولید موارد آزمایشی
- توسعه توسط تحلیلگران، کارشناسان حوزه و کاربران نهایی هدف به طور مشترک
یک فرم استاندارد از نمودار مورد استفاده در زبان مدلسازی یکپارچه تعریف شده است، همانطور که در مثال نمودار مورد استفاده در زیر نشان داده شده است.
این مثال نمودار مورد استفاده را ویرایش کنید
عناصر نمودار مورد استفاده
بازیگران
هر مورد استفاده حداقل یک بازیگر خواهد داشت، که میتوان آن را به عنوان حداقل یک شرکتکننده (نقش) درک کرد، که لزوماً یک شخص نیست، بلکه ممکن است یک سیستم یا دستگاه دیگر باشد. یک بازیگر میتواند با بیش از یک مورد استفاده تعامل داشته باشد و یک مورد استفاده میتواند با بیش از یک بازیگر تعامل داشته باشد.
بازیگران لزوماً افراد نیستند، یعنی کاربران، اما در واقع میتوانند غیرانسانی باشند، یعنی سیستمها یا زمان.
بیشتر اوقات، کاربران افراد هستند که در نمودار مورد استفاده درگیر هستند، مانند مشتریان، کارمندان، ناظران و غیره.
بازیگران انسانی در مقابل غیرانسانی
از زمان به زمان، سیستم تحت تأثیر رویدادهای مختلف قرار میگیرد تا عملکردهای خاصی را در یک وضعیت معین انجام دهد. به عنوان مثال، وقتی یک حسابرسی انجام میشود، سیستم به طور پیشگیرانه نامهای برای اطلاعرسانی به مردم ارسال میکند؛ آیا ارسال نامه به طور خودکار توسط سیستم انجام میشود؟ این مورد استفاده در واقع توسط زمان فعال میشود، سپس بازیگر، تایمر است؛ به عنوان مثال، این مورد استفاده میتواند به عنوان “به طور خودکار هر روز ساعت 5:00 نامهای ارسال کند” دیده شود، سپس بازیگری که این رویداد – ارسال نامه – را فعال میکند، سیستم نیست، بلکه در واقع بازیگر تایمر است.
بازیگران اولیه در مقابل ثانویه
یک بازیگر اولیه، بازیگری است که از سیستم برای دستیابی به یک هدف استفاده میکند. موارد استفاده تعاملات بین سیستم و بازیگران را برای دستیابی به اهداف بازیگر اولیه مستند میکنند. بازیگران ثانویه، بازیگرانی هستند که سیستم برای دستیابی به اهداف بازیگر اولیه به کمک آنها نیاز دارد.
- بازیگران ممکن است اولیه یا ثانویه باشند. بازیگران اولیه تعاملات را با سیستم آغاز میکنند.
- بازیگران ثانویه معمولاً توسط سیستم برای کمک فراخوانده میشوند و یک بازیگر ثانویه هرگز مورد استفاده را آغاز نمیکند.
توجه داشته باشید: نماد یک بازیگر تفاوتی بین بازیگر اولیه و بازیگر ثانویه قائل نمیشود؛ تفاوت باید از توصیفهای مورد استفاده (که به آنها روایتهای مورد استفاده نیز گفته میشود) استنباط شود.
به عنوان مثال:
یک کارمند وام بانک میخواهد درخواست وام یک مشتری را بررسی کند و بخشی از این فرآیند شامل بررسی اعتبار در زمان واقعی است.
این مثال نمودار مورد استفاده را ویرایش کنید
- نام مورد استفاده. بررسی درخواست وام
- بازیگر اولیه. کارمند وام
- بازیگر ثانویه. سیستم اعتبارسنجی
چگونه میتوانم بازیگران را شناسایی کنم؟
از آنجا که یک بازیگر لزوماً یک شخص نیست، بلکه ممکن است یک سیستم خارجی، دستگاه یا تایمر باشد، ما با پرسیدن سوالات زیر یک بازیگر خاصتر پیدا میکنیم
- چه کسی از سیستم پس از توسعه آن استفاده خواهد کرد؟
- سیستم از چه کسی یا چه سیستمهای دیگری نیاز به دریافت داده خواهد داشت؟
- سیستم برای چه کسی یا چه سیستمهای دیگری داده ارائه خواهد کرد؟
- سیستم با چه سیستمهای دیگری مرتبط خواهد بود؟
- چه کسی سیستم را نگهداری و مدیریت خواهد کرد؟
این سوالات به ما کمک میکند تا بازیگران سیستم را انتزاع کنیم. با استفاده از خودپردازها به عنوان مثال، پاسخ به این سوالات به ما اجازه میدهد تا بازیگران بیشتری پیدا کنیم، یعنی.
- اپراتورمسئولمسئول نگهداری و مدیریت سیستم خودپرداز است
- خودپردازها همچنین نیاز به ارتباط باسرورهای پشتیبرای به دست آوردن اطلاعات در مورد حسابهای کاربری.
مورد استفاده
یک مورد استفاده نمایانگر یک عملکرد (معمولاً یک نیاز) است که انتظار میرود توسط سیستم پیادهسازی شود. جزئیات یک مورد استفاده، به جز نام منحصر به فرد آن، به صورت بصری در نمودار نمایش داده نمیشود؛ این جزئیات در روایت (توصیف متنی) مورد استفاده ارائه میشود.
یک مورد استفاده فهرستی از اقدامات یا مراحل رویداد است که معمولاً تعاملات بین نقشهای بازیگران و سیستم را برای دستیابی به یک هدف تعریف میکند. موارد استفاده یک تکنیک مفید برای شناسایی، روشنسازی و سازماندهی نیازمندیهای سیستم هستند. یک مورد استفاده شامل مجموعهای از توالیهای تعاملات ممکن بین سیستم و کاربر است که عملکردی که باید به دست آید و راهحلهایی برای هر خطایی که ممکن است با آن مواجه شود را تعریف میکند.
چگونه موارد استفاده را شناسایی کنیم؟
پس از اینکه بازیگران را پیدا کردیم، میتوانیم موارد استفاده سیستم را بر اساس بازیگران تعیین کنیم، عمدتاً با نگاهی به اینکه هر بازیگر چه خدماتی از سیستم نیاز دارد، یا چگونه بازیگران از سیستم استفاده میکنند. شناسایی موارد استفاده میتواند با سوالات زیر شروع شود (برای هر شرکتکننده).
- چرا بازیگران از سیستم استفاده میکنند؟
- آیا شرکتکننده دادهها را در سیستم ایجاد، ویرایش، حذف، دسترسی و ذخیره میکند؟ اگر چنین است، بازیگر چگونه این عملیات را انجام میدهد؟
- آیا بازیگر سیستم را از رویدادهای خارجی خاص مطلع میکند؟
- آیا سیستم بازیگر را از رویدادهای داخلی خاص مطلع میکند؟
با جمعبندی موارد فوق، نمودار مورد استفاده سیستم خودپرداز میتواند به صورت زیر نمایش داده شود.
مورد استفاده با بیضیها ارائه میشود، از چیزی ایستا یا پویا، یا از یک وظیفه یا یک سیستم.
مرز سیستم
مرزهای سیستم، سیستم را با گروهبندی موارد استفاده در مرزهای مستطیلی توصیف میکنند و مرزهای سیستم در Visual Paradigm رفتار نگهداری مورد استفاده را فراهم میکنند.
بازیگران نقشهایی هستند (بازیگران انسانی یا غیرانسانی) که با سیستم در حال توسعه تعامل دارند. بنابراین، بازیگران باید در خارج از مرزهای سیستم قرار گیرند و با موارد استفادهای که در داخل مرزهای سیستم قرار دارند، تعامل داشته باشند.
توجه داشته باشید:
یک بازیگر توسط مرزهای سیستم تعریف میشود. اگر مرز سیستمی که میخواهیم تعریف کنیم محدود به خود خودپرداز باشد، آنگاه سرور پشتی یک سیستم خارجی است و میتواند به عنوان یک بازیگر انتزاع شود.
اگر مرز سیستمی که میخواهیم تعریف کنیم به کل سیستم بانکی گسترش یابد، جایی که هم خودپردازها و هم سرورهای پشتی بخشی از کل سیستم بانکی هستند، آنگاه سرور پشتی دیگر به عنوان یک بازیگر انتزاع نمیشود.
رابطه
پس از یادگیری درباره این سه نماد کلیدی، با دانش روابط و ترسیم نمودارهای مورد استفاده ادامه دهید. یک رابطه مستقیم بین یک شرکتکننده و یک مورد استفاده ترسیم میشود و رابطه به عنوان یک خط بدون پیکان استفاده میشود که نشاندهنده یک رابطه دوطرفه است، که به آن خط پیوند گفته میشود.
یک مورد استفاده میتواند به چندین مورد استفاده تقسیم شود که با روابط <<شامل>>، <<گسترش>> یا <<عمومی>> متصل شدهاند (که در ادامه این پست توصیف شده است).
رابطه پیوند ارتباطی
این نمایانگر یک ارتباط دوطرفه بین یک بازیگر و یک مورد استفاده است و بنابراین یک رابطه دوتایی است.
این مثال نمودار مورد استفاده را ویرایش کنید
رابطه <<شامل>>
یکشاملرابطه به این معنی است که مورد استفاده شامل موارد استفاده دیگر خواهد بود. هدف از رابطه شامل این است که از رابطه شامل برای کاهش تکرار توصیف همان مورد استفاده دوباره استفاده شود. اگر موارد زیادی همان عملکرد را به اشتراک بگذارند، آنگاه عملکرد میتواند جدا شود و موارد استفاده دیگر میتوانند در این مورد گنجانده شوند.
به عنوان مثال، کتابدار نیاز دارد کد را بخواند تا کتاب قرضی را هنگام چکاوت ثبت کند و همچنین نیاز دارد کد را بخواند تا کتاب بازگشتی را هنگام بازگشت ثبت کند، زیرا خواندن کد بخشی تکراری از عمل است، میتوان آن را به یک مورد استفاده جداگانه تبدیل کرد و اجازه داد کتاب قرضی و کتاب بازگشتی این مورد را شامل شوند.
این مثال نمودار مورد استفاده را ویرایش کنید
اگر یک مورد استفاده A شامل یک مورد استفاده دیگر B باشد، آنگاه پیادهسازی A نیاز به پیادهسازی B برای تکمیل وظیفه خود دارد. با این حال، B مستقل از خود است. یعنی B نیازی به دانستن چیزی درباره A ندارد. B همچنین میتواند در هر مورد استفاده دیگری گنجانده شود.
رابطه <<گسترش>>
اگر یک مورد استفاده B یک مورد استفاده دیگر A را گسترش دهد، آنگاه پیادهسازی A میتواند به طور مشروط پیادهسازی B را برای تکمیل وظیفه خود شامل کند. یعنی در برخی موارد، A میتواند وظیفه خود را بدون B تکمیل کند. با این حال، بسته به شرایط توصیف شده، A ممکن است به B نیاز داشته باشد. در این حالت، B به B وابسته است. با این حال، بسته به شرایط توصیف شده، A ممکن است به B نیاز داشته باشد. در این حالت، B به A وابسته است و نمیتواند به تنهایی وجود داشته باشد. به همین دلیل، B نمیتواند به بیش از یک مورد استفاده گسترش یابد. روایت مورد استفاده A شامل مراحل اجرایی است که از B نیاز دارد؛ این نقطه به عنوان نقطه گسترش نامیده میشود.
این مثال نمودار مورد استفاده را ویرایش کنید
بیایید به یک مثال دیگر نگاه کنیم که در آن سیستم به طور خودکار کالاها را زمانی که موجودی وجود ندارد سفارش میدهد تا مدیر مجبور نباشد سفارش را به طور مستقیم اجرا کند. نمودار مورد استفاده زیر را ببینید:
این مثال نمودار مورد استفاده را ویرایش کنید
رابطه عمومی
رابطه عمومی مشابه رابطه عمومی زبان شیگرا در نمودارهای کلاس است و میتواند به عمومیسازی نقشها (بازیگران) و موارد استفاده اعمال شود.
به عنوان مثال، در سیستم رزرو، دو نوع روش رزرو وجود دارد: “رزرو بلیط از طریق تلفن” و “رزرو بلیط به صورت آنلاین” و مورد استفاده پایه “رزرو بلیط”، بنابراین میتوانید از عمومیسازی برای شکلدهی به مورد استفاده کنید و <<ضروری>> را به مورد استفاده والد (رزرو) اضافه کنید تا رابطه عمومی را نشان دهید.
این مثال نمودار مورد استفاده را ویرایش کنید
رابطهها را در نمودار مورد استفاده بحث کنید
- در یک نمودار مورد استفاده عمومی، ما فقط روابط بین بازیگران و موارد استفاده را نمایش میدهیم، یعنی ارتباطات ارتباطی بین آنها.
- علاوه بر این، ما میتوانیم عمومیسازی بین شرکتکنندگان و بازیگران و روابط شامل، گسترش و عمومیسازی بین موارد استفاده را نیز توصیف کنیم.
- ما از این روابط برای سازگاری مدل مورد استفاده موجود و استخراج برخی اطلاعات مشترک برای استفاده مجدد استفاده میکنیم، که مدل مورد استفاده را آسانتر برای نگهداری میکند.
- با این حال، ما باید در انتخاب این روابط در برنامه احتیاط کنیم. به طور کلی، این روابط تعداد موارد استفاده و روابط را افزایش میدهند و در نتیجه پیچیدگی مدل مورد استفاده را افزایش میدهند.
- علاوه بر این، مدل مورد استفاده معمولاً پس از تکمیل تنظیم میشود، بنابراین نیازی به عجله برای انتزاع روابط بین موارد استفاده در مرحله اولیه مدلسازی مورد استفاده نیست.
مورد استفاده – جریان رویدادها
نمودار مورد استفاده به ما نمای کلی از عملکرد سیستم میدهد، ما میتوانیم بدانیم که کدام شرکتکنندگان با سیستم تعامل خواهند داشت و هر بازیگر چه خدماتی از سیستم نیاز دارد.
مورد استفاده گفتگوی بین بازیگران و سیستم را توصیف میکند، اما جزئیات این گفتگو در نمودار مورد استفاده نمایش داده نمیشود، بنابراین برای هر مورد استفاده میتوانیم جزئیات این گفتگو را به صورت یک جریان رویداد توصیف کنیم.
سناریوهای مورد استفاده و جریان رویدادها – برداشت پول از خودپرداز
به عنوان مثال، مورد “برداشت” در یک سیستم خودپرداز میتواند به صورت یک جریان رویداد به شرح زیر نمایش داده شود:
سناریو عادی – برداشت وجه – جریان پایه رویدادها:
- کاربر کارت اعتباری را وارد میکند
- رمز عبور را وارد کنید
- مقدار برداشت را وارد کنید
- وجه نقد برداشت میکند
- از سیستم خارج شوید و کارت اعتباری را دریافت کنید
اما این فقط سناریو عادی مورد استفاده برداشت را توصیف میکند. به عنوان یک سیستم واقعی ATM، ما باید سناریوهای مختلف دیگری که ممکن است رخ دهند را نیز در نظر بگیریم، مانند:
- کارتهای اعتباری نامعتبر،
- رمزهای عبور اشتباه،
- عدم موجودی کافی در حساب کاربر و غیره.
تمام این وضعیتهای ممکن (هم عادی و هم غیرعادی) به عنوان سناریوهای مورد استفاده نامیده میشوند و سناریوها همچنین به عنوان نمونههای مورد استفاده نیز شناخته میشوند. در میان سناریوهای مختلف یک مورد استفاده، رایجترین سناریو توسط فرآیند پایه توصیف میشود، در حالی که سایر سناریوها توسط فرآیندهای جایگزین توصیف میشوند.
سناریوهای جایگزین
برای مورد استفاده «برداشت» در یک سیستم ATM، میتوانیم برخی فرآیندهای جایگزین به شرح زیر داشته باشیم.
برداشت – فرآیندهای رویداد جایگزین.
- سناریو جایگزین I: کاربر میتواند در هر مرحله از فرآیند پایه انصراف دهد و به مرحله 5 فرآیند پایه برود.
- فرآیند جایگزین II: در مرحله 1 فرآیند پایه، کاربر یک کارت اعتباری نامعتبر وارد میکند، سیستم یک خطا نمایش میدهد و کارت اعتباری را خارج میکند و مورد استفاده به پایان میرسد.
- فرآیند جایگزین III: در مرحله 2 فرآیند پایه، کاربر یک رمز عبور نادرست وارد میکند، سیستم یک خطا نمایش میدهد و از کاربر میخواهد که رمز عبور را دوباره وارد کند و به مرحله 2 فرآیند پایه بازگردد؛ پس از سه بار ورود رمز عبور نادرست، کارت اعتباری توسط سیستم ضبط میشود و مورد استفاده به پایان میرسد.
- …
با ترکیب سناریو پایه و سناریوهای جایگزین، میتوان تمام وضعیتهای مختلفی که ممکن است در یک مورد استفاده رخ دهد را به وضوح توصیف کرد. هنگام توصیف جریان رویدادهای یک مورد استفاده، میخواهیم تمام سناریوهای ممکن را تا حد امکان توصیف کنیم تا از کامل بودن الزامات اطمینان حاصل کنیم.
مدل مورد استفاده در مقابل نمودارهای مورد استفاده
مهم است که از سوء تفاهمی که یک نمودار مورد استفادهکه شامل بازیگران و موارد استفاده است، یک مدل مورد استفاده است، زیرا نمودار مورد استفاده فقط یک نمایش بصری از خدماتی است که سیستم میتواند ارائه دهد و به ما ایده کلی از عملکرد سیستم میدهد.
مدل مدل مورد استفادهشامل یک نمودار مورد استفاده و یک توصیف دقیق از هر مورد استفاده، مشخصات مورد استفاده است که به عنوان یک الگو در RUP ارائه شده است.
توضیح مختصر
توضیح مختصری از نقش و هدف مورد استفاده.
جریان رویدادها
جریان رویدادها باید تمام سناریوها، از جمله سناریوهای پایه و جایگزین را نمایندگی کند.
سناریوهای مورد استفاده
سناریوهای موفق و سناریوهای شکست را شامل میشود و سناریوها عمدتاً ترکیبی از جریانهای پایه و جایگزین هستند.
الزامات ویژه
الزامات غیرعملکردی (شامل عملکرد، قابلیت اطمینان، در دسترس بودن، مقیاسپذیری و غیره) و محدودیتهای طراحی (سیستم عامل، ابزارهای توسعه و غیره) مرتبط با مورد استفاده را توصیف کنید.
پیششرط
وضعیتی که سیستم باید قبل از اجرای مورد استفاده در آن باشد.
پسشرطها
مجموعهای از وضعیتها که سیستم ممکن است پس از اجرای مورد استفاده در آن باشد.
مشخصات مورد استفاده اساساً یک نمایش متنی است، با گزینه استفاده از نمودارهای حالت، نمودارهای فعالیت یا نمودارهای توالی برای کمک به توصیف واضحتر جریان رویدادها. هر نوع نمایش گرافیکی از رابطهای کاربری و فرآیندها، یا گرافیکهای دیگر، یعنی وایرفریمها، میتواند به مورد استفاده پیوست شود به شرطی که به بهبود وضوح نمایش کمک کند.
به عنوان مثال:
- نمودارهای فعالیت برای توصیف فرآیندهای تصمیمگیری پیچیده مفید هستند،
- نمودارهای انتقال حالت برای توصیف رفتار سیستم مرتبط با حالت مفید هستند، و
- نمودارهای توالی برای توصیف پیامرسانی مبتنی بر زمان مناسب هستند.
ابزارهای مورد استفاده
نسخه آنلاین
ابزار طراحی رایگان ویژوال پارادایم آنلاین (نسخه رایگان VP Online) از UML، ERD و نمودارهای سازمانی پشتیبانی میکند. شما میتوانید به سرعت نمودارهای مورد استفاده را با ویرایشگر طراحی UML شهودی رسم کنید. این ابزار UML رایگان هیچ تبلیغی ندارد، هیچ دوره دسترسی محدودی ندارد و هیچ محدودیتی مانند تعداد نمودارها، تعداد اشکال و غیره ندارد. به راحتی UML رسم کنید. به راحتی UML رسم کنید. شما مالک نمودارهایی هستید که برای اهداف شخصی و غیرتجاری ایجاد میکنید.
نسخه دسکتاپ
مدل ویژوال پارادایم ویرایش جامعه، که از سال 2004 در دسترس است، نرمافزار UML رایگانی را فقط برای اهداف غیرتجاری ارائه میدهد و از کاربرانی که در حال برداشتن اولین قدمهای خود در مدلسازی UML هستند و همچنین کسانی که به نرمافزار مدلسازی UML رایگان و چندسکویی برای استفاده شخصی نیاز دارند، مانند استفاده از UML در پروژههای دانشجویی، پشتیبانی میکند.
منابع
- نمودار مورد استفاده چیست؟
- انواع بازیگر در مدل مورد استفاده
- شناسایی الزامات کاربر با نمودارهای مورد استفاده
- مشخصات مورد استفاده چیست؟
- داستان کاربر در مقابل مورد استفاده برای توسعه نرمافزار چابک
- رویکرد مبتنی بر مورد استفاده برای توسعه چابک
منابع UML
This post is also available in Deutsch, English, Español, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文.