مهندسی نرمافزار 1 مدلسازی use case

36
ار ز ف ا رم ن ی س د ن ه م1 ی سار ل مدuse case ان ق ه د ن سی ح م" ج ی س د ن ه م ی و ن ف کده) س ن دا

Upload: gari

Post on 20-Mar-2016

109 views

Category:

Documents


4 download

DESCRIPTION

مهندسی نرم‌افزار 1 مدلسازی use case. حسین دهقان دانشکده فنی و مهندسی جم. هدف. هدف مدل use case. برای توصیف توابع و فرایندهای اساسی سیستم و نحوه تعامل سیستم اطلاعاتی با محیط اطراف مدل سازی رویدادهای کسب و کار و اینکه چه کسی این فرایندها را آغار و سیستم چگونه به این رویدادها پاسخ می‌دهد. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: مهندسی نرمافزار 1 مدلسازی  use case

مهندسی نرم افزار 1

use caseمدلسازی

حسین دهقاندانشکده فنی و مهندسی جم

Page 2: مهندسی نرمافزار 1 مدلسازی  use case

هدف

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

2

Page 3: مهندسی نرمافزار 1 مدلسازی  use case

use case هدف مدل

برای توصیف توابع و فرایندهای اساسی سیستم •و نحوه تعامل سیستم اطالعاتی با محیط اطراف

مدل سازی رویدادهای کسب و کار و اینکه چه •کسی این فرایندها را آغار و سیستم چگونه به

این رویدادها پاسخ می دهد.برای مدل سازی•

(as-inسیستم جاری )•(to-beسیستمی اطالعاتی آینده )•

نمایش نحوه تعامل سیستم کسب و کار با محیط•3

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 4: مهندسی نرمافزار 1 مدلسازی  use case

مزایاوسیله ای برای کسب نیازهای کارکردی•تجزیه سیستم به اجزای قابل اداره و کنترل•زبانی مشترک ارئه می دهد که به آسانی برای •

صاحبان سیستم قابل درک است.کمک به تخمین گستره پروژه، فعالیت ها و برنامه •

زمان بندینقطه آغازی برای شناسیایی اشیا یا موجودیت ها•

4

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 5: مهندسی نرمافزار 1 مدلسازی  use case

توصیف

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

5

Page 6: مهندسی نرمافزار 1 مدلسازی  use case

مقدمه یک توصیف ساده از توابع سیستم و use-caceمدل •

از دید کاربران است.• Function diagram

نمایش دهنده توابع پایه ای سیستم•کاربر چه کاری می تواند انجام دهد.•سیستم برای درخواست های کاربر چه •

عکس العملی انجام می دهد.

عمليات سيستم و افرادي که اين اطالعات را •دريافت يا ارسا ل مي کنند، را به تصوير مي کشد. 6

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 7: مهندسی نرمافزار 1 مدلسازی  use case

use-caseساخت دیاگرام های

همکاری سازمان و تیم پروژه برای نوشتن •هاuse-case متنیتوصیفات

دیاگرام هاها به use-caseانتقال توصیفات متنی •

7

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 8: مهندسی نرمافزار 1 مدلسازی  use case

usecaseاجزای نمودار

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

8

Page 9: مهندسی نرمافزار 1 مدلسازی  use case

•UseCase. دهد: می قرار کاربر اختیار در سیستم که هرسرویسی•Actor :با که هستند هایی سیستم یا افراد ها، کار UseCaseعامل ها

. . شود می دریافت یا و تزریق آنان توسط اطالعات کنند می

•UseCase Diagram میان و UseCaseمحاورات نشان Actorها را ها. دهد می

. UseCaseدر • هستیم کاربران های نیاز دنبال به ما دیاگرام،

اجزای نمودار

9

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 10: مهندسی نرمافزار 1 مدلسازی  use case

Actor یا کنشگر

10

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

هرچیزی که نیاز به تعامل با سیستم دارد تا به مبادله اطالعات بپردازد.

کنشگر: کاربران خارجی یک سازمان

سیستم اطالعاتی دیگر حسگر دما

زمان

Use case ها از سوی کنشگرها آغاز یاتحریک می شود.

Page 11: مهندسی نرمافزار 1 مدلسازی  use case

Use case یا موردکاربردی

11

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

یک هدف از سیستم را use caseهر نمایش می دهد و توالی فعالیت ها و

تعامل کاربر را توصیف می کند.

یک فرآیند مهم است که با انجام آن توسط سیستم، سودی برای کنشگر

دارد.

Page 12: مهندسی نرمافزار 1 مدلسازی  use case

Associationتناظرها یا

12

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

use caseبرای نمایش تعامل بین یک کنشگر و در حالت عادی، این ارتباط دو طرفه است.اگر ارتباط یک طرفه باشد، از یک پیکان در

انتهای خطوط استفاده می شود.* = تعدد ارتباط

Page 13: مهندسی نرمافزار 1 مدلسازی  use case

مثال

13

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 14: مهندسی نرمافزار 1 مدلسازی  use case

هاuse caseروابط بین • Extends

• A use case extends another use case• Include

• A use case uses another use case (“functional decomposition”)

• Generalization• An abstract use case has different

specializations

14

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 15: مهندسی نرمافزار 1 مدلسازی  use case

مثال وراثت

15

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 16: مهندسی نرمافزار 1 مدلسازی  use case

وراثت

16

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

وقتی دو یا چند کنشگر ویژگی رفتاری مشترکی داردند

یکسانی را آغاز کنند. use caseمی توانند

Page 17: مهندسی نرمافزار 1 مدلسازی  use case

مثال وراثت

17

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 18: مهندسی نرمافزار 1 مدلسازی  use case

includeشمول یا

18

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

: در بعضی مسائل، یک فعالیت برای انجام مشکلبسیار پیچیده می باشد.

پیچیده را به صورت use case: می توان راه حلمجموعه ای از حاالت کاربردی ساده تر در نظر

گرفت.

Page 19: مهندسی نرمافزار 1 مدلسازی  use case

مثال شمول

19

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

CreateDocument

Scan OCR Check

<<include>><<include>>

<<include>>

Page 20: مهندسی نرمافزار 1 مدلسازی  use case

شمول: استفاده مجدد

20

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

در حال حاظر توابعی وجود دراند. چگونه : مشکلمی توان از این توابع استفاده کرد؟

includeاستفاده از رابطه : حل راه

ViewMapOpenIncident

AllocateResources<<include>>

<<include>>

Base UseCase

SupplierUse Case

Page 21: مهندسی نرمافزار 1 مدلسازی  use case

Extendتوسعه یا

21

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

: در بعضی مسائل، یک فعالیت در بعضی مشکلوقت ها نیاز به گسترش دارد.

extend: استفاده از رابطه راه حل

Page 22: مهندسی نرمافزار 1 مدلسازی  use case

مثال توسعه

22

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

ReportEmergency

FieldOfficer

Help

<<extend>>A

Base UseCase

Page 23: مهندسی نرمافزار 1 مدلسازی  use case

هاuse caseرابطه وراثت در

23

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

ValidateUser

CheckPassword

CheckFingerprint

ParentCase Child

Use Case

Page 24: مهندسی نرمافزار 1 مدلسازی  use case

24

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 25: مهندسی نرمافزار 1 مدلسازی  use case

توضیحات

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

25

Page 26: مهندسی نرمافزار 1 مدلسازی  use case

26

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Page 27: مهندسی نرمافزار 1 مدلسازی  use case

مثال

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

27

Page 28: مهندسی نرمافزار 1 مدلسازی  use case

سيستم پردازش سفارشات

ارسال کاالي سفارش شده

تغيير فهرست اموال

چاپ گزارش فهرست اموال

تغيير سفارش

موجود

سفارش جديد

فروشنده

مديرانبار

کارمند انبار

حسابدار

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

28

Page 29: مهندسی نرمافزار 1 مدلسازی  use case

...uc Use Case Moدستگاه خود پرداز بانکEA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

مت"صدیب"ان"ک

مشت"ری

سي"ست"ماعت"ب"ارمالي

ب"رداشتپ"ول وجهسپ"ردهگذاری

ان"ت"قالوجه

اعالمموجودی

ت"غییررمزعب"ور

پ"رداختوجه تجزیه و تحلیل نکته:

سیستم ها امری سلیقه ای است و

می توان گفت مانند نوشتن انشا می

باشد.

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

29

Page 30: مهندسی نرمافزار 1 مدلسازی  use case

يك سيستم صدور فاكتور ساده را در نظر بگيريد. •در اين سيستم فروشنده اطالعات فاكتور را وارد مي كند.•و • را محاسبه كرده فاكتور مبلwغ كwل آwن سwيستم از پwس

فاكتور را چاپ مي كند و به فروشنده مي دهد.

نمونه اي از يك نمودار مورد كاربرد

Enter Bill Details

Calculate Total Amount

Print Bill

Clerk

Clerk

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

30

Page 31: مهندسی نرمافزار 1 مدلسازی  use case

کتابخانه

31

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

Borrow journal

Book BorrowerBorrow copy of book

Return copy of book

Extend loan

Journal BorrowerReserve book

Return journal

Browser

Librarian

Browse

Update catalog

Page 32: مهندسی نرمافزار 1 مدلسازی  use case

Use caseو مدیریت پروژه

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

32

Page 33: مهندسی نرمافزار 1 مدلسازی  use case

Use Case و مدیریت پروژه• اهمیت براساس ساخت، زمانی use case چرخه و هاگسترش می تواند است، نیاز آنها پیاده سازی برای که.یابد

• یک بخواهیم که مواقعی کنیم use case در ایجاد را پیچیده و :بزرگ• می شود ساخته ابتدا ساده ای .مدل• Use case دwبع مرحله در تکمیلی

• بندی رتبه و اهمیت use case تعیین• بندی رتبه و ارزیابی ماتریس• وابستگی نمودار ن

قاده

ن سی

حی

سند

مهو

ی فن

ه کد

شدان

م ج

33

Page 34: مهندسی نرمافزار 1 مدلسازی  use case

هاuse caseارزیابی و رتبه بندی • مهمترین ابتدا پروژه ها، اکثر توسعه use case در

می شود .داده• اولویت رتبه: use case تعیین و ارزیابی ماتریس کمک به ها

بندی• زیر 5تا 1امتیاز ارزیابی معیار شش براساس :

1. معwماری طراحی بر تاثیر میزان2. چشمگیر کارکردی وجود با آسان اجرای3. خطرساز و زمان به حساس پیچیده، کارکردهای از برخورداری4. جدید یا خطرساز فناوری یا خاص تحقیقات به الزام5. کار و کwسب اصلی کارکردهای از برخورداری6. ها هزینه کاهش یا درآمد افزایش

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

34

Page 35: مهندسی نرمافزار 1 مدلسازی  use case

مثال ماتریس ارزیابی و رتبه بندی

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

35

Page 36: مهندسی نرمافزار 1 مدلسازی  use case

دیاگرام شناسایی وابستگی ها

نقا

دهن

سیح

ی س

ندمه

و ی

فنه

کدش

دانم

ج

36