Transcript include

‫تحلیل و طراحی‬
‫سیستم‌های ش ی‬
‫گرا‬
‫حسین دهقان‬
‫دانشگاه آزاد بوشهر‬
‫تحلیل و طراحی‬
‫سیستم‌های ش ی‬
‫گرا‬
‫تحلیل سیستم‌ها‬
‫حسین دهقان‬
‫دانشگاه آزاد بوشهر‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪3‬‬
‫مهندس ی خواسته‌ها‬
‫مهندس ی خواسته‌ها‬
‫تحلیل‬
‫مشکل‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪4‬‬
‫تحلیل‬
‫نیازها‬
‫مهندس ی خواسته‌ها‬
‫مشتری‬
‫بررس ی‬
‫مشکل‬
‫آنالیز‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪5‬‬
‫بررس ی‬
‫نیازها‬
‫مدل تحلیل‬
‫طراح‬
‫طراحی‬
‫ت حل یلگر‬
‫خروجی این مرحله‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪6‬‬
‫• مستندات تحلیل‬
‫نیازها‬
‫• مشخصه خواستهها‬
‫• گزارش مهندسی‬
‫خواستهها‬
‫• مبناي قرارداد رسمي‬
‫و مالك تحویل سیستم‬
‫در خاتمهي پروژه‬
‫تحلیل سیستم‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪7‬‬
‫• تجزیه سیستم به اجزایش با هدف مطالعه نحوه تعامل‬
‫اجزاء با یکدیگر در جهت تامین اهداف سیستم‬
‫• تاکید تحلیل سیستم‬
‫• بر مشکالت کسب و کار‬
‫• مستقل از هرگونه فناوری‬
‫• به منظور بکارگیری راهحلی برای رفع آن مشکل‬
‫• تاکید بر مسائل کسب و کار است نه مسائل فنی و اجرا‬
‫بررس ی نیازها در مقابل تحلیل‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪8‬‬
‫• تحلیل‬
‫• بررسی نیازها‬
‫• تعریف سیستم از دید‬
‫• تعریف سیستم از دید‬
‫تحلیلگران و طراحان‬
‫مشتری یا سازمان‬
‫• مشخص شدن به کمک‬
‫کمک‬
‫به‬
‫شدن‬
‫مشخص‬
‫•‬
‫مدلهای تحلیل‬
‫طبیعی‬
‫زبان‬
‫• راه ارتباطی بین‬
‫• راه ارتباطی میان‬
‫تحلیلگران و طراحان‬
‫سیستم‬
‫مشتری و تیم پروژه‬
‫بررس ی مشکالت و بررس ی نیازها‬
‫• هدف‪ :‬طراحي سیستمي كه نیازهاي استفاده كنندگان را‬
‫پوشش دهد‪.‬‬
‫• باید این نیازها به درستي تعیین‪ ،‬تحلیل و بررسي شود‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪9‬‬
‫• تحلیل مشكالت‪ :‬یعني مشكالت را شناسایي كنیم و علل و‬
‫اثرات آن را بررسي كنیم‪.‬‬
‫• كشف نيازهاي سیستم‪ :‬تكنیك هایي كه در آن تحلیلگر‬
‫شرحي از نیازها و خواسته هاي سیستم را شناسایي‬
‫ميكند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪10‬‬
‫فاز تحلیل مشکل‬
‫تحلیل مشکالت سیستم‬
‫فهرست کردن‬
‫مشکالت‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫مذاکره در مورد‬
‫گستره پروژه‬
‫ارزیابی ارزشمندی‬
‫پروژه‬
‫‪11‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪12‬‬
‫فاز تحلیل نیازها‬
‫تحلیل نیازها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪13‬‬
‫• مرحله تحلیل نیازها‪ ،‬نیازهای کسب و کار را برای‬
‫سیستم جدید تعریف می کند‪.‬‬
‫• کلید اصلی در مرحله تحلیل نیازها “چه چیزی” است‬
‫نه “چگونه”‬
‫• ‪ What‬نه ‪How‬‬
‫• کاربراین از سیستم جدید چه میخواهند و چه نیازی به‬
‫آن دارند؟‬
‫تحلیل نیازهای سیستم‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪14‬‬
‫گام‌ها تحلیل نیازها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪15‬‬
‫• ‪ -1-3‬تعریف نیازها‬
‫• ‪ -2-3‬تحلیل نیازهای کارکردی‬
‫• ‪ -3-3‬پیگیری و تکمیل نیازها‬
‫• ‪ -4-3‬اولویت بندی نیازها‬
‫• ‪ -5-3‬بهنگام سازی طر پروژه‬
‫‪ -1-3‬تعریف نیازها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪16‬‬
‫• شناسایی نیازها‪ ،‬وظیفه اولیه مرحله تحلیل نیازها‬
‫است‪.‬‬
‫• منشا بسیاری از خطاها‪،‬‬
‫• از قلم افتادگیها و تصادها‬
‫• عدم تعریف صحیح نیازها‬
‫• اساس و بنیان این وظیفه در مرحله تحلیل مشکل ایجاد‬
‫میشود‪.‬‬
‫اهمیت تعیین صحیح نیازها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪17‬‬
‫مر حله‬
‫مرحله جمعآوري نیازمنديها‬
‫مرحله طراحي‬
‫مرحله پیادهسازی‬
‫مرحله تست و آزمایش‬
‫مرحله اجرای نرم افزار‬
‫ن سبتق یم ت‬
‫‪1‬‬
‫‪ 6-3‬برابر‬
‫‪ 10‬برابر‬
‫‪ 40-15‬برابر‬
‫‪ 1000 -40‬برابر‬
‫• یعني اگر در فاز جمع آوري نیازمندي ها‪ ،‬برخي نیازها بدرستي تحلیل‬
‫نشوند‪ ،‬در مرحله پیادهسازی ميبایست ‪ 10‬برابر هزینه براي اصالح‬
‫اشتباه صرف كنیم‪.‬‬
‫انواع نیازها‬
‫• نیازهای کارکردی یا عملیاتی‬
‫• ‪Functional‬‬
‫• فعالیتها و خدماتی که سیستم باید آنها را انجام دهد‪.‬‬
‫•‬
‫•‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪18‬‬
‫مثال در یك سیستم دانشگاه‪ :‬محاسبه معدل دانشجو‬
‫در یك سیستم انبارداري‪ :‬تعیین موجودي فعلي انبار‬
‫• نیازهای غیر عملکردی‬
‫• ‪Nonfunctional‬‬
‫• عملكردهایي كه استفاده كنندگان بصورت غیر مستقیم از‬
‫سیستم انتظار دارند‪.‬‬
‫•‬
‫•‬
‫•‬
‫مانند راحتي استفاده براي كاربر‬
‫سریع كار كردن نرم افزار‬
‫امنیت نرم افزار‬
‫‪ -2-3‬تحلیل نیازهای عملیاتی‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫• ما باید نیازهای عملیاتی را به گونهای تحلیل کنیم که برای‬
‫مخاطبان فنی و کسب و کار قابل تایید بوده و با هر دو گروه‬
‫ارتباط برقرار کند‪.‬‬
‫• دو رویکرد برای مستند سازی و تایید نیازهای عملیاتی‪:‬‬
‫ی‬
‫• مدلساز ‌‬
‫• نمونهساری سیستم‬
‫• تحلیلگران‪ ،‬مدلهای منطقی سیستم را ایجاد میکنند که در‬
‫آنها به چگونگی اجرا و پیاده سازی سیستم اشارهای‬
‫نمیشود‪.‬‬
‫‪19‬‬
‫• مدل و نمونهسازی در ادامه میآید‬
‫‪ -3-3‬پیگیری و تکمیل نیازها‬
‫• فرصتی برای صاحبان و کاربران سیستم برای‬
‫• تکمیل و تغییر‬
‫• اعتبار سنجی نیازها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪20‬‬
‫• دنبال کردن مدلهای ایجاد شده در گام ‪ ،2-3‬با توجه‬
‫به نیازهای عملیاتی سیستم یا مشتری‬
‫• اطمینان حاصل شود که همه نیازهای عملیاتی در‬
‫مدلها وجود دارد‪.‬‬
‫‪ -4-3‬اولویت بندی نیازها‬
‫• اگر پروژه بیش از زمان تعیین شده به طول انجامد‬
‫• هزینههای آن بیش از بودجه تخصیصی شود‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪21‬‬
‫← باید نیازهای اولویت‌بندی شود‬
‫• تعیین اولویتها توسط‬
‫• تحلیلگران و صاحبان سیستم‬
‫• طراحان و سازندگان سیستم‬
‫اولویت نیازها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪22‬‬
‫• نیازهای الزامی‬
‫• نیازهایی که باید در سیستم حداقل یا نسخه ‪ 1‬وجود‬
‫داشته باشد‪.‬‬
‫• نیاز الزامی را نمیتوان رتبه بندی نمود‪.‬‬
‫• نیاز مطلوب‬
‫• نیازی که برای نسخه حداقل یا نسخه ‪ 1‬ضروری‬
‫نیست‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪23‬‬
‫فاز تحلیل تصمیم‬
‫فاز تحلیل تصمیم‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪24‬‬
‫• با در نظر گرفتن نیازهای کسب و کار‬
‫• سیستم جدید به کمک رایانه چگونه باید عمل کند‪.‬‬
‫• مرحله تحلیل تصمیم‬
‫• راهحل های ممکن را مشخص و تحلیل میکند‬
‫• سیستم جدید را برای طراحی و اجرا توصیه میکند‪.‬‬
‫تحلیل تصمیم‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪25‬‬
‫مراحل فاز تحلیل تصمیم‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪26‬‬
‫• شناسایی راه حلهای ممکن‬
‫• تحلیل راه حلهای ممکن‬
‫• مقایسه راه حلهای ممکن‬
‫• توصیه یک راهحل‬
‫• بهنگام سازی طرح پروژه‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪27‬‬
‫تحلیل مدل‌گرا‬
‫تحلیل مدل گرا‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪28‬‬
‫• هدف این است که عملکرد سیستم را مدل کنیم‪.‬‬
‫• مدل‬
‫• نشان دادن سیستم و عملکرد به کمک تصاویر‬
‫• مانند‪ :‬فلوچارت‪ ،‬نمودار سازمانی‬
‫• “یک تصویر به اندازه هزاران حرف ارزش دارد”‬
‫• ترسیم مدلهای تصویری سیستم موجود یا پیشنهادی در‬
‫مستندسازی‬
‫• تصاویری هستند که اجزای سازنده سیستم (فرایندها‪،‬‬
‫ورودیها‪ ،‬خروجیها و فایلها) را با آن نمایش‬
‫میدهیم‪.‬‬
• Microsoft Visio
• Rational ROSE
• Visible Analysis
• System Architect
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫نرم‌افزارها‬
29
‫بلوک‌های سازنده سیستم و مدل‌ها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪30‬‬
‫• دادهها‬
‫• اطالعاتی که توسط سیستم جمعآوری و ذخیره میشود‪.‬‬
‫• مدلهای داده‬
‫• نمودار رابطه موجودیت ← طراحی پایگاه داده‬
‫• فرایندها‬
‫• کارهایی که سیستم انجام میدهد‪.‬‬
‫• مدلهای فرایندی‬
‫• نمودار جریان داده ← طراحی برنامه ها و نرمافزارها‬
‫• رابطها‬
‫• نحوه ارتباط بین افراد‪ ،‬سیستمها یا سازمانهای دیگر‬
‫• نمودار ‪ ← Usecase‬طراحی رابطهای سیستم و کاربر‬
‫تحلیل مدل گرا‬
‫• از دیدی دیگر میتوان رویکردهای مدلگرا را به‬
‫دستههای دیگر تقسیم کرد‪:‬‬
‫• تحلیل ساخت یافته‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪31‬‬
‫• فرایند محور‬
‫• نمودارهای جریان داده‬
‫• مهندسی اطالعات‬
‫• داده محور‬
‫• نمودارهای رابطه موجودیت‬
‫• تحلیل شی گرا‬
‫تحلیل ساخت یافته‬
‫• تحلیل ساخت‌یافته‪ ،‬روشی مدلگرا و فرایند محور برای‬
‫تحلیل سیستم موجود یا تعریف نیازهای کسب و کار سیستم‬
‫جدید‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫• تحلیلگران مجموعهای از مدلهای فرایندی را ترسیم‬
‫میکنند‪.‬‬
‫• به نام نمودارهای جریان داده‪DFD ،Data Flow Diagram ،‬‬
‫• فرایندهای موجود در سیستم را به همراه ورودیها‪،‬‬
‫خروجیها و فایلها نشان میدهد‪.‬‬
‫‪32‬‬
‫• این مدلها برای فرایندهای کسب و کار و برنامههای‬
‫‪DFD‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪33‬‬
‫مهندس ی اطالعات ‪IE‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫• تحلیل ساخت‌یافته‪ ،‬روشی مدلگرا و داده محور برای‬
‫تحلیل سیستم موجود یا تعریف نیازهای کسب و کار سیستم‬
‫جدید‬
‫• از ابزارهای طراحان پایگاه داده‬
‫• تحلیلگران مجموعهای از مدلهای دادهای را ترسیم‬
‫میکنند‪.‬‬
‫• به نام نمودارهای رابطه موجودیت‪Entity Relationship ،‬‬
‫‪ERD ،Diagram‬‬
‫‪34‬‬
‫• در ‪ IE‬ابتدا مدل داده و در تحلیل ساخت یافته ابتدا مدل‬
‫‪ERD‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪35‬‬
‫تحلیل ش ی‌گرا‬
‫• در دو مدل قبلی‪ ،‬داده از فرایند تفکیک بوده است‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪36‬‬
‫• تحلیل شیگرا‪ ،‬داده و فرایند را در ساختارهایی به نام‬
‫شی یکپارچه میکند‪.‬‬
‫• ‪OOA ،Object Oriented Analysis‬‬
‫• برای این تحلیل‪ ،‬استاندارد مدلسازی تکامل یافته‬
‫است‪.‬‬
‫• ‪UML ،Unified Modeling Language‬‬
UML
STUDENT
COURSE
0..*
has record for>
+Admit()
+Regsiter for Classes()
+Withdraw()
+Change Address()
+Calculate GPA()
1
+Graduate()
0..*
-Subject
-Number
-Title
-Credit
+Create a Course()
+Delete from
Course Master()
+Change1in Course Master()
TRANSCRIPT COURSE
-Semester
-Division
-Grade
+Add()
+Drop()
+Complete()
+Change Grade()
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
-ID Number
-Name
-Grade Point Average
37
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪38‬‬
‫تحلیل تسریع شده‬
‫رویکرد تسریع شده‬
‫• ساخت نمونه اولیه از سیستم به منظور شناسایی‬
‫سریعتر نیازهای کاربر و کسب و کار‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪39‬‬
‫• استفاده از نرمافزار اکسس برای ایجاد پایگاه دادهف‬
‫فرمهای ورودی و نمونه گزارشها‬
‫• باورهای نادرست‬
‫• سیستم نهایی را میتوان به همان سرعت نمونه ساخت‬
‫• ابزارهایی مانند اکسس میتوانند در ساخت سیستم نهایی استفاده شود‪.‬‬
‫تحلیل و طراحی‬
‫سیستم‌های ش ی‬
‫گرا‬
‫کشف نیازها‬
‫حسین دهقان‬
‫دانشگاه آزاد بوشهر‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪41‬‬
‫کشف مشکل‌ها‬
‫کشف مشکل‬
‫• تحلیل گر موفق كسي است كه مشكالت سیستم را دریابد و‬
‫توانایي تحلیل مشكل را داشته باشد‪.‬‬
‫• مثال‪ :‬تشخیص بیماري (مشكل) توسط پزشك‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪42‬‬
‫• نكته مهم‪ :‬الزمست بین علت مشكل و معلول مشكل تمایز قائل‬
‫شویم‪.‬‬
‫• نمودار ايشيكاوا (‪ :)Ishikawa Diagram‬یك ابزار گرافیكي‬
‫براي شناسایي‪ ،‬بررسي و نمایش مشكالت است‪.‬‬
‫• به این نمودار نمودار علل ‌و سبب و یا استخوان ماهي هم‬
‫ميگویند‪.‬‬
‫نمودار استخوان ماهی‬
‫• علت در سمت راست (سر ماهي) و علل ممكن به‬
‫عنوان استخوان در اسكلت ماهي در نظر گرفته‬
‫)‪(Cause‬علل‬
‫)‪(Effect‬آثار‬
‫ميشود‪.‬‬
‫علت ‪1‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪43‬‬
‫علت ‪2‬‬
‫علت ‪3‬‬
‫مشكل‬
‫علت ‪4‬‬
‫علت ‪5‬‬
‫علت ‪6‬‬
‫نمودار استخوان ماهی‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪44‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪45‬‬
‫کشف نیازها‬
‫جمع آوری نیازها‬
‫• استفاده از تحقیق‪ ،‬مصاحبه‪ ،‬پرسشنامه‪ ،‬نمونهبرداري‬
‫و دیگر تكنیكهاي جمعآوري اطالعات‪ ،‬جهت یافتن‬
‫مشكالت و نیازمنديهاي سیستم‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪46‬‬
‫روش های کشف نیازها‬
‫•‬
‫•‬
‫•‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪47‬‬
‫•‬
‫نمونه گیري از اسناد‪ ،‬فرم ها و فایل هاي موجود‬
‫مشاهده تحقیقات و سایت ها‬
‫مشاهده محیط كار‬
‫• مزایاي مشاهده‬
‫• معایب مشاهده‬
‫• روش هاي انجام یك مشاهده خوب‬
‫زندگي در سیستم‬
‫پرسشنامه‬
‫•‬
‫•‬
‫•‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪48‬‬
‫مزایاي پرسشنامه‬
‫معایب پرسشنامه‬
‫انواع پرسشنامه‬
‫• فرمت آزاد‬
‫• فرمت محدود‬
‫• سواالت چندجوابي‬
‫• سواالت درجهبندي شده‬
‫• سواالت رتبهبندي‬
‫• توسعه پرسشنامه‬
‫مصاحبه‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪49‬‬
‫•‬
‫•‬
‫مزایاي مصاحبه‬
‫معایب مصاحبه‬
‫•‬
‫انواع مصاحبه و تكنیك هاي آن‬
‫•‬
‫•‬
‫غیر ساخت یافته‬
‫ساخت یافته‬
‫سواالت بسته‬
‫•‬
‫سواالت باز‬
‫•‬
‫•‬
‫•‬
‫•‬
‫سواالت بارگذاري شده‬
‫سواالت هدایت كننده‬
‫سواالت انحرافي‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫انتخاب مصاحبه شوندگان‬
‫آماده شدن براي مصاحبه‬
‫اجتناب از این سه نوع سوال‬
‫راهنماي سواالت مصاحبه‬
‫هدایت مصاحبه‬
‫تعقیب كردن مصاحبه‬
‫ی‬
‫نمونه ساز ‌‬
‫• نمونه سازي (‪)prototyping‬‬
‫• مزایاي نمونه سازي‬
‫• معایب نمونه سازي‬
‫• استراتژي پیدا كردن واقعیت‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪50‬‬
‫تحلیل و طراحی‬
‫سیستم‌های ش ی‬
‫گرا‬
‫مدلسازی ‪use case‬‬
‫حسین دهقان‬
‫دانشگاه آزاد بوشهر‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪52‬‬
‫هدف‬
‫هدف مدل ‪use case‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪53‬‬
‫• برای توصیف توابع و فرایندهای اساسی سیستم و نحوه‬
‫تعامل سیستم اطالعاتی با محیط اطراف‬
‫• مدل سازی رویدادهای کسب و کار و اینکه چه کسی‬
‫این فرایندها را آغار و سیستم چگونه به این رویدادها‬
‫پاسخ میدهد‪.‬‬
‫• برای مدل سازی‬
‫• سیستم جاری (‪)as-in‬‬
‫• سیستمی اطالعاتی آینده (‪)to-be‬‬
‫• نمایش نحوه تعامل سیستم کسب و کار با محیط‬
‫مزایا‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪54‬‬
‫• وسیلهای برای کسب نیازهای کارکردی‬
‫• تجزیه سیستم به اجزای قابل اداره و کنترل‬
‫• زبانی مشترک ارئه میدهد که به آسانی برای صاحبان‬
‫سیستم قابل درک است‪.‬‬
‫• کمک به تخمین گستره پروژه‪ ،‬فعالیتها و برنامه‬
‫زمان بندی‬
‫• نقطه آغازی برای شناسیایی اشیا یا موجودیتها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪55‬‬
‫توصیف‬
‫مقدمه‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪56‬‬
‫• مدل ‪ use-cace‬یک توصیف ساده از توابع سیستم و از دید‬
‫کاربران است‪.‬‬
‫‪• Function diagram‬‬
‫• نمایش دهنده توابع پایهای سیستم‬
‫• کاربر چه کاری میتواند انجام دهد‪.‬‬
‫• سیستم برای درخواستهای کاربر چه عکسالعملی‬
‫انجام میدهد‪.‬‬
‫• عمليات سيستم و افرادي که اين اطالعات را دريافت يا ارسا ل‬
‫مي‌کنند‪ ،‬را به تصوير مي‌کشد‪.‬‬
‫ساخت دیاگرام‌های ‪use-case‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪57‬‬
‫• همکاری سازمان و تیم پروژه برای نوشتن توصیفات‬
‫متنی ‪use-case‬ها‬
‫• انتقال توصیفات متنی ‪use-case‬ها به دیاگرام‌ها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪58‬‬
‫اجزای نمودار ‪usecase‬‬
‫اجزای نمودار‬
‫• ‪ :UseCase‬هرسرویسی که سیستم در اختیار کاربر قرار می دهد‪.‬‬
‫• ‪ :Actor‬عامل ها‪ ،‬افراد یا سیستم هایی هستند که با ‪ UseCase‬ها کار می کنند‪.‬‬
‫اطالعات توسط آنان تزریق و یا دریافت می شود‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪59‬‬
‫• ‪ UseCase Diagram‬محاورات میان ‪ UseCase‬ها و ‪ Actor‬ها را نشان می دهد‪.‬‬
‫• در ‪ UseCase‬دیاگرام‪ ،‬ما به دنبال نیاز های کاربران هستیم‪.‬‬
‫‪ Actor‬یا کنشگر‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪60‬‬
‫هرچیزی که نیاز به تعامل با سیستم دارد تا به‬
‫مبادله اطالعات بپردازد‪.‬‬
‫کنشگر‪ :‬کاربران خارجی‬
‫یک سازمان‬
‫سیستم اطالعاتی دیگر‬
‫حسگر دما‬
‫زمان‬
‫‪Use case‬ها از سوی کنشگرها آغاز یا تحریک‬
‫میشود‪.‬‬
‫‪ Use case‬یا موردکاربردی‬
‫هر ‪ use case‬یک هدف از سیستم را نمایش‬
‫میدهد و توالی فعالیتها و تعامل کاربر را‬
‫توصیف میکند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪61‬‬
‫یک فرآیند مهم است که با انجام آن توسط‬
‫سیستم‪ ،‬سودی برای کنشگر دارد‪.‬‬
‫تناظرها یا ‪Association‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪62‬‬
‫برای نمایش تعامل بین یک کنشگر و ‪use case‬‬
‫در حالت عادی‪ ،‬این ارتباط دو طرفه است‪.‬‬
‫اگر ارتباط یک طرفه باشد‪ ،‬از یک پیکان در انتهای خطوط‬
‫استفاده میشود‪.‬‬
‫* = تعدد ارتباط‬
‫مثال‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪63‬‬
‫ها‬use case ‫روابط بین‬
• Extends
• A use case extends another use case
• A use case uses another use case
(“functional decomposition”)
• Generalization
• An abstract use case has different
specializations
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
• Include
64
‫مثال وراثت‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪65‬‬
‫وراثت‬
‫وقتی دو یا چند کنشگر ویژگی رفتاری مشترکی داردند‬
‫میتوانند ‪ use case‬یکسانی را آغاز کنند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪66‬‬
‫مثال وراثت‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪67‬‬
‫شمول یا ‪include‬‬
‫مشکل‪ :‬در بعضی مسائل‪ ،‬یک فعالیت برای انجام بسیار پیچیده‬
‫میباشد‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪68‬‬
‫راه حل‪ :‬میتوان ‪ use case‬پیچیده را به صورت مجموعهای از‬
‫حاالت کاربردی سادهتر در نظر گرفت‪.‬‬
‫مثال شمو ‌ل‬
CreateDocument
<<include>>
<<include>>
Scan
OCR
Check
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
<<include>>
69
‫شمو ‌ل‪ :‬استفاده مجدد‬
‫مشکل‪ :‬در حال حاظر توابعی وجود دراند‪ .‬چگونه میتوان از این‬
‫توابع استفاده کرد؟‬
‫راه حل‪ :‬استفاده از رابطه ‪include‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫>>‪<<include‬‬
‫‪OpenIncident‬‬
‫‪ViewMap‬‬
‫‪AllocateResources‬‬
‫>>‪<<include‬‬
‫‪Supplier‬‬
‫‪Use Case‬‬
‫‪70‬‬
‫‪Base Use‬‬
‫‪Case‬‬
‫توسعه یا ‪Extend‬‬
‫مشکل‪ :‬در بعضی مسائل‪ ،‬یک فعالیت در بعضی وقتها نیاز‬
‫به گسترش دارد‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪71‬‬
‫راه حل‪ :‬استفاده از رابطه ‪extend‬‬
‫مثال توسعه‬
FieldOfficer
A
ReportEmergency
<<extend>>
Help
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
Base Use
Case
72
‫ها‬use case ‫رابطه وراثت در‬
Parent
Case
ValidateUser
CheckFingerprint
Child
Use Case
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
CheckPassword
73
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪74‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪75‬‬
‫توضیحات‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪76‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪77‬‬
‫مثال‬
‫سيستم پردازش سفارشات‬
‫سفارش جدید‬
‫تغییر سفارش‬
‫موجود‬
‫ابدار‬
‫حس‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪78‬‬
‫فروشنده‬
‫چاپ گزارش فهرست اموال‬
‫تغییر فهرست اموال‬
‫ار‬
‫انب‬
‫مد ير‬
‫ارسال کاالي سفارش شده‬
‫ار‬
‫ارمندانب‬
‫ک‬
uc Use Case Mo...
‫دستگاه خود پرداز بانک‬
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
‫وجه س پرده گذاری‬
‫ب رداشت پ ول‬
EA 7.1 Unregistered
Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
‫م ت صدی بان‬
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial‫ک‬Version
EA 7.1 Unreg
‫ان ت قال وجه‬
‫ت غ ي ير رمز ع بور‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
‫مش تری‬
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
‫ تجزیه و تحلیل سیستم‬:‫نکته‬
EA 7.1 Unregistered Trial Version EA 7.1
Unregistered Trial Version EA 7.1 Unreg
‫پ رداخت وجه‬
‫ها امری سلیقه ای است و می‬
‫اعالم موجودی‬
‫گفت مانند نوشتن انشا‬
EA ‫توان‬
7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
.‫می باشد‬
79
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unreg
‫بار مالي‬Version
‫س يس تم اعت‬
EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial
EA 7.1 Unreg
‫نمونه اي از يك نمودار مورد كاربرد‬
‫• یك سیستم صدور فاكتور ساده را در نظر بگیرید‪.‬‬
‫• در این سیستم فروشنده اطالعات فاكتور را وارد ميكند‪.‬‬
‫• پس از آن سیستم كل مبلغ فاكتور را محاسبه كرده و فاكتور را چاپ مي‬
‫كند و به فروشنده ميدهد‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪Enter Bill Details‬‬
‫‪Clerk‬‬
‫‪Calculate Total‬‬
‫‪Amount‬‬
‫‪Print Bill‬‬
‫‪80‬‬
‫‪Clerk‬‬
‫کتابخانه‬
Borrow journal
Journal Borrower
Reserve book
Return journal
Borrow copy of book
Return copy of book
Browse
Browser
Extend loan
Update catalog
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
Book Borrower
Librarian
81
‫تحلیل و طراحی‬
‫سیستم‌های ش ی‬
‫گرا‬
‫طراحی سیستم‌های ش ی گرا‬
‫حسین دهقان‬
‫دانشگاه آزاد بوشهر‬