?"dsD !9 ?"dsD !9 5 ?Dy 5 ?Dy ° ° UML&UDP z¨ UML?m? ?^???1? I 1 ^ ? 4 ¥ -----???|P 8 ?? ?ù5b z< " -¥C L ^ I 1$ z???"dr? I 1 "¥$ z¨ è ¢ “¨ ” èq$¨ ?S I 1$S¥%?$ z ?m èq =?31 't?s$ ¨?m?t?s8"?T ???¨ è$ zO ??¨ê4¥ ü ? ? LCs$ Use Case¥ ÷ ¥ ÷ z íè ù íè ù 1967-1986  z Jacobson?V¥¨ èy  ? ??4¨ è?V¥¨ èy  ? ??4¨ è ^?¨??"dBQ??3?¥B?+ y ^?¨??"dBQ??3?¥B?+ y Y? b Y? b z? ? ù ? ? ù 1987-1992  z¨ è í ?¨ è í ? z Jacobson?D] Y ì7/ ?D] Y ì7/  “¨ è z? T 7?¨ è z? T 7? ” ?B ?? ?B ?? z?Z ù ?Z ù 1992à? à?   zv  èq N ¥B D?v  èq N ¥B D? Use Case¥?l ¥?l z Jacobson <?¨ è ^"d3?¥B??T <?¨ è ^"d3?¥B??T ? ?t?TA? ?+?¥ P¨? ? ?t?TA? ?+?¥ P¨?   Actorá 3 V4?¥aμN′¥2Tb á 3 V4?¥aμN′¥2Tb z ?9 ?D¨?¥?o ?9 ?D¨?¥?o z Actor Lé  ^¨? ?ò¥B?? ? Lé  ^¨? ?ò¥B?? ? zB?¨ è  Lü ^??]Hq/3?i VB?¨ è  Lü ^??]Hq/3?i V ??á??]a? ?¥ f? ??á??]a? ?¥ f? scenario  ?r ?r “?? ?? ”¥?F ¥?F z "Sa?1 "Sa?1 ( Yq Yq )?  ?T??oa f?  ?T??oa f ?a V4?aμN′ ?a V4?aμN′ Actors z An actor is someone or some thing that must interact with the system under development z?D?a3??a?? ?D?a3??a?? / P¨? P¨? Student Registrar Professor Billing System Actors l |D <lì Actors z Actor}VD"d¤ g¥ ?? YtD | ^ }VD"d¤ g¥ ?? YtD | ^ ·}V B+?? ?¥? ?? ^B?′ ·}V B+?? ?¥? ?? ^B?′ E¥à Qb E¥à Qb z |¨ è H n51 MY  |¨ è H n51 MY Actorb z"d¥?1¨?"d¥?1¨? z"d?¥ ?÷a ?_"d?¥ ?÷a ?_ z"d¥?1 |"d¥?1 | zD 't"dé??oD 't"dé??o z?? HW¥1? Yqbbb Use Cases z A use case is a pattern of behavior the system exhibits z Each use case is a sequence of related transactions performed by an actor and the system Use Cases z MY  MY Actora? ?? a? ?? Actor ¨ è ¨ è z ?? ?? Actor¥ ?¥ ? z Actor ^?9a ÷a?a |"d? ^?9a ÷a?a |"d? z"d¥ { ? {"d¥ { ? { z? -"d¥?1ù5? -"d¥?1ù5 z¨ è¥ ì ¨ è¥ ì z ? " ? " z ??¨ è¥V? ^ |¥¨ èé?4 ??B ??¨ è¥V? ^ |¥¨ èé?4 ??B ,¥V?b ,¥V?b z? z¨ è¥e5 ? z¨ è¥e5 Use Cases-W¥1" -W¥1" z A use-cases relationship shows behavior that is common to one or more use cases zB?7y¨ èWi" B?7y¨ èWi" z ? ? ? ? generalization zc c include z ?Z ?Z extend Use Cases-W¥1" -W¥1" z ? ?1"] ?W ? ?1"í ?0¨ è??3 ? ?1"] ?W ? ?1"í ?0¨ è??3 ¨ è¥?1?cl] H V[@F??1-? ¨ è¥?1?cl] H V[@F??1-? 3¨ è¥?1 3¨ è¥?1 Validate user Validate password Scan IDcard Use Cases-W¥1" -W¥1" z c1"c1" z V¨ è¥ í ??4 |   Z¥ Yq @b ?V¨ è¥ í ??4 |   Z¥ Yq @b ? ??¨ è? ??¨ è? Delete existing account <<include>> Logon <<include>> Create new account Modified account information <<include>> Use Cases-W¥1" -W¥1" z ?Z1"YVXμ¨ è9Ft-?¥?? ? ?Z1"YVXμ¨ è9Ft-?¥?? ? y ??¥¨ èb y ??¥¨ èb Make up exam <<extend>> Take exam Extension point is fail Use Cases-W¥1" -W¥1" z ?Z?c¨ è'é   LdèM ?? ?Z?c¨ è'é   LdèM ?? 1 uY?¨ è L è?¨ èa3?? 1 uY?¨ è L è?¨ èa3?? F¨ è¥Z Tb F¨ è¥Z Tb z ?Z?c¨ è??¨ èM ób¨ ?Z?c¨ è??¨ èM ób¨ è¥3?V?? V ? ?Hq/¨ è¥3?V?? V ? ?Hq/¨ è¥3? @$?73? ?Zc è¥3? @$?73? ?Zc ¨ è  ¨ è  UML?d?1?F¨ è¥ @b ?d?1?F¨ è¥ @b ??F¨ è @3??8 e?|Rí? ??F¨ è @3??8 e?|Rí? ¨ @e ?$?¥ *?ê??ˉ3?b ¨ @e ?$?¥ *?ê??ˉ3?b Use Cases-W¥1" -W¥1" Use Cases-W¥1" -W¥1" Use Case m m z Use case diagrams are created to visualize the relationships between actors and use cases Use Case ¥ í ? ¥ í ? z ¨ èm??V U¨ èm??V U Actor?? Use case[#[# Use cases-W¥1" -W¥1" z  MY¨?3 p¨ ?31¨ Yq @ ??? MY¨?3 p¨ ?31¨ Yq @ ??? ¨ è??¥?1é?ó' í ? Yq @¥ í ? ¨ è??¥?1é?ó' í ? Yq @¥ í ? ? ? z When & How to begin z When & How to end z Interaction between A & U z Data z Standard events sequence z Exception Use Case ¥ í ? ¥ í ? zYèY}V?¥%?¨ y ? Yq @ó YèY}V?¥%?¨ y ? Yq @ó ??Y {¥? ? 7 S ?"s¥ ' ??Y {¥? ? 7 S ?"s¥ ' ?@F÷¥%? .ài? Yq¥) ?@F÷¥%? .ài? Yq¥) ?b z Yq @¥ í ?Z T?"2?¥ó Yq @¥ í ?Z T?"2?¥ó 'ad2?¥ó'aà} ??? 'ad2?¥ó'aà} ??? z?? ?? Scenario  Use Case ¥ í ? ¥ í ? z?? Yq @ó?¥ ? ?? Yq @ó?¥ ? z X. ¨ è¨ è xx¥ í ?¥ í ? z X.1 -?Hq -?Hq Pre-condition z X.2 a?Hq a?Hq Post-condition z X.3 ? ? ? ? Extension Point z X.4 Yq @ Yq @ z X.4.1  @  @ basic-flow z X.4.2 s| @ s| @ sub-flow Vê Vê z X.4.3 9} @9} @   alternative-flow l? è l? è z?Dê ["d ?Dê ["d zD 3ê4 [?D 3ê4 [? zD 3| ?ê [??¨D 3| ?ê [??¨ zD 3? ?¨ [?±nD 3? ?¨ [?±n z q [? =ê4? q¥ [? q [? =ê4? q¥ [? z q [? = |ê [D 3 ? q [? = |ê [D 3 ? z?¨ |??1 ?? [???¨ |??1 ?? [?? z?¨ |??1D 3a q [? =¥??¨ |??1D 3a q [? =¥? l? è l? è z Actors are examined to determine their needs z Registrar -- maintain the curriculum z Professor -- request roster z Student -- maintain schedule z Billing System -- receive billing information from registration l? è l? è Maintain ScheduleMaintain Curriculum Request Course Roster Student Registrar Lecturer Billing System Maintain Curriculum Flow of Events z This use case begins when the Registrar logs onto the Registration System and enters his/her password. The system verifies that the password is valid (E-1) and prompts the Registrar to select the current semester or a future semester (E-2). The Registrar enters the desired semester. The system prompts the professor to select the desired activity: ADD, DELETE, REVIEW, or QUIT. Maintain Curriculum Flow of Events z If the activity selected is ADD, the S-1: Add a Course sub-flow is performed. z If the activity selected is DELETE, the S-2: Delete a Course sub-flow is performed. z If the activity selected is REVIEW, the S-3: Review Curriculum sub-flow is performed. z If the activity selected is QUIT, the use case ends. z ... l? è l? è z¨ è í ? U è ¨ è í ? U è z?¨ [??¨ [? Use Case Realizations z The use case diagram presents an outside view of the system z Interaction diagrams describe how use cases are realized as interactions among societies of objects z Two types of interaction diagrams z Sequence diagrams z Collaboration diagrams ± I5 ± I5 z1 I 1B?1 P¨¨ è?Bà Q$?ù¨ 1 I 1B?1 P¨¨ è?Bà Q$?ù¨ ??è e ìX A?B? I 1"¥"d ? ??è e ìX A?B? I 1"¥"d ? aü e ì¥ í ?: c/ ??"S 4?? aü e ì¥ í ?: c/ ??"S 4?? V[ ? V[ ? ? z |¨ è¥ 4μv  |¨ è¥ 4μv ?