UA Methods and Technology - Queen's...

20
1 CISC 323 Intro to Software Engineering Object-Oriented Analysis CISC 323 Intro to Software Engineering The Unified Approach (UA) UA (Cont’d)

Transcript of UA Methods and Technology - Queen's...

1

CISC 323Intro to Software Engineering

����������Object-Oriented Analysis

CISC 323Intro to Software Engineering

����� ���� ����������� ��� ���������� "!��$#�%&'�$ �� "�(�)�� �� *�+ , �-.-/�

01 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

The Unified Approach (UA)

OQP #)�R���� ��� ���������� "!��$#S� TU �#)��T� �� VW!�� �R��� "���"T�T��T�����X$YSZ"!�#�� !�[�� \]+^ _ `ba c�_8d e�`gf4_ hji `]lkjc�f�`�mUnbo._ p�`�qjc�_8d nbo�cbi�r�obd s d `�mut�a n�v'`�f�f�w�c�fmj`�f�v�a d x�`�m�x�hWkjn�njvyp�w�q$zb{gx�cjz�|bpgcbo�m.}�c�v�n$x�f�n$o

O �~T�Tj� �(�)����� ��!��(� �)��]lkjcjpba cj{gd��j`�v�_8d n$o.��� �W�,r)�"� w���p�cb�y_ `ba��g� ���(�"�

�1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

UA (Cont’d)

OQP #)�R����� ��� ���S!������ "!��$#+ , ST� �� 8VW!�� ����)�)��� *��[����$ .� �)�) *� �)�"TW!�� *���)�Q��X��$ .� T��) � � � [l� ,���� , ��� �#)���8 *� � �V�� �)����� "���"T�T��"TW!��)��� *[��) *�)���$ 4T$\]�r"f�`�� v�c�f�`gm$a d e�`jogmj`�e�`bi n$�j{�`jo�_4�]���x�� `�v�_ � n$a d `bo�_ `�mgcbo�cbi h�fyd f��]���x�� `�v�_ � n$a d `bo�_ `�mUm�`�fyd |$o$�]+^8o�v�a `j{/`jo�_ cbi�mj`�e�`bi n$�j{�`jo�_�cjo�m��ja n�_ n�_ hj�jd o�|��]��)n$o�_8d ojz�nbz�f~_ `�f�_8d o�|��

2

�1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

UA Methods and Technology

OQP #)�R[��) �#) "��TW!��)�� ,���$#��) *� "�"Y���[���� �Y)���� �)�$� �)���"T��]�r�obd s d `�m�{/njm�`bi d o�|�i cjo�|bz�c�|�`U�,r����'��z�f�`�mgs n$a{/njmj`bi d o�|��

]���c�h�`ba `�mUcb�j�ja n�c�vyp)�]lqb`b��njfyd _ n$a h/s n$a"n$x�� `�v�_ � n$a d `jo�_ `�mUf�h�f�_ `b{mj`�e�`bi n$�j{�`bo�_(��c�_ _ `ba o�fcjo�mgs a cb{/`���n$a �'f��

]lt�a n${/n�_8d o�|U�$n${g��nbo�`bo�_ �8x�c�f�`�mUmj`�e�`bi n$��{/`bo�_4�

1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

Documentation & Traceability

of use-cases,analysis,

design, UI,and past

ExperiencesPatterns

Repository

UML BasedModeling

ConstructionComponentBasedDevelopment

User satisfactionusability tests,quality assurancetest

Continuous Testing

RefineanditerateIdentify Actors

Develop Use-Cases, activitydiagrams

Developinteractiondiagrams

Identify classes,relationships,attributes &methods

Continuous Testing

Designv viewand accessLayers andprototypes

Apply DesignAxioms

Design classes,their attributes,methods,association,structure ...

User satisfaction &Usability tests based on use casesBuild UML class

diagram

O-O Analysis

O-O Design

LayeredApproach

prototyping

1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

UA Object-Oriented Analysis: Use-Case Driven

OQP #)�R��T��"�,��!"T��R[� "�����$��!��$ ���� �"TU �#$�R��T����� ���(��� � ��[����$ 4T$\

OQP #)�l *X� ,���� 4TU�8 *���)�S�(���4� �)�S!��)!�� Y�T�� T�� ��!�����TU , [� "�����b �#)�l�$� !"T�T��"T$\

OQP #)�R� �$ ,��� !��� �� *�SX)�) 8VW������ *X� ,���� 4T���� ���� ���l![�!��+�8 *�~ �#)�l�"�"Tj� �(�S��#)!"T��� , Q[� ������b �#)�� ��� !) �� *��Tj#�� ��TW!��)�S���"Tj� �(��� �)�S�$� !"T�T��"T$\

�1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

UA Object-Oriented Design

O &, ,��� !) �� �)�R��� "���"T�T�X$Y+V�#�� �$#+VW�l�"�"Tj� �(��� *[��) *�)���$ 4TW!��)�� �#)��� ��� �$ ,��� !��� �� (��T

O�� "�$��TW *�S� ����T��l ����$� !"T�T��"T����� *[��) *�)���$ 4T����T����� �$ ,��� �8!����"T$\]+^8o�v�i z�m�`�f���c�_ _ `ba o�fcjo�mgs a cj{/`���n$a �'f

3

�1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

Iterative Development and Continuous Testing

OQP #)�R�(� ���)�� *��� !����"TU �#)�R� �$ ,���(� !) �� *�� �� ,�"Ty �� �)���� !���TU��� *[ ��!)Y��u ��~ �#)�S��� ,���� y\

O �~T�!�����T������)!��4� �TW *���~T����(!"T��"TW��!��SX)���� *[�� ,�"Ty �T������)!��4� �T��� �#)��� �)�8 *� � ���T��l��!�T��"TUV�� � �$�(�4� �)� �#)�R��T�!�X�� � � 8Y+ ,�"Ty �� �)�~\

� D1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

Modeling Based on the Unified Modeling Language

OQP #)�R�(� ��T��"TU �#)�R����� ��� ����[� "����� � �)��� !��)�(�)!�����'����j�� , ����"T��$�4� X)��!��)��[� "�����b �#$�l!��)!�� Y�Tj� TW!��)����"Tj� �(�S��#)!"T��"TW �� TyY�Ty ,��[ �"�)�)��� *��[����$ y\

� �1 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

The UA Proposed Repository

OQP #)�R� ���(��� � ��[����$ ��!��)!�� Y�Tj� T������"Tj� �(����!��)�� [���� ��[����$ ,!) '� *���� "�$��[����$ 4T�Tj#) (��� ��X)��Ty , *� ���� �+ �#)�R� ���) �Tj� , *� Y��~T� l �#)!) .� ���) *� ,TW��!��SX)�S�4��� *�+ �#)��[ �8 *�~ �� !�����!�X�� � � 8Y*\]��pbd fcbi i n �f�z�f�_ n��ja njm$z�v'`gmj`�fyd |$o�f�_8p�c�_�cba `_8a c�v�`�cbxji `gc�v�a njf�f�a `�$zbd a `b{/`jo�_ f�w)cbo�cbi h�fyd f�w�mj`�fyd |$o�wd {g�ji `b{/`jo�_ c�_8d nbo�w�cjo�mg_ `�f�_8d o�|��

� 51 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

The Layered Approach to Software Development

O �g �Ty �TyY�Ty ,��[�TW���)�)��� *�)����V�� �#+ , "��!)Y � T��*����� , " *� TW *���$� � ���$ 4�4T���� �)����!������ � ��!) �� (�l���)�)��� *��[����$ ���$��� � *��[����$ 4TU ,���)�� , Q� ��!��+ , �VW!�� ��V�#)!) .� T�$�) �V���!"TU 8VW ���� !)Y)��� ���S!�� �$#�� ,���� ���� �~��� �$ ,��� �8!����!��)�S��!) ,!(\

4

� 01 2 3 140 5 0 687 9 : : ; <4= ; > ? : @ < > A B 6,C > ; A : @ 5 D D 5 E A A F G H H C C C I J < I K 9 : : ; < 9 I J L H E M N4: H J > < J 0 5 0

Two-Layer Architecture

� ^8ogc._ ��nb�8i c�h�`ba"f�h�f�_ `b{/w"z�f�`ba�d o�_ `ba s c�v�`gf�v�a `�`bo�fcba `/_8d `�mm$d a `�v�_8i h/_ ng_ p�`gm�c�_ c._8pba n$z�|bpWa nbz�_8d o�`�f�_8p�c�_�fyd _�m$d a `�v�_8i hx�`bpbd o�mg_8p�`gf�v�a `�`jo�f��������� ������ ������� ������� � ��� ����� � ����� �� ������ � ���� ! ��������� �� � " ��#����#����������$���% ����� ��#������� � !%� ����� ���� &�� ��� ����� ��'

Data

Workstation

Owner

Name

Title

Address

( )* + , *�- . - /�0 1 2 2 3 4�5 3 6 7 2 8 4 6 9 : /�; 6 3 9 2 8 . < < . = 9 9 > ? @ @ ; ; ; A B 4 A C 1 2 2 3 4 1 A B D @ = E F�2 @ B 6 4 B - . -

Three-Layer Architecture

GIH�JLKLM�NPO QQSR�T KVUVQ�OWK�O X$NPY M�QXZM�[PO QS\^]P[V_&Y JVQS_Z_a`�]Zb�QXZM�_K�O QcX�`�dLePT QVM�Q�T UfY JVgPQ�eVQ�JVgPQ�J$Mh`ijNV`kclm�n�oZpZqsrut pat puv&t p�w�p&xZn p�yzn {zn oZpa|�w�putP} n out {$|�~uozr&x� xZn put � rZ��p���{$tmLo�{���n oZpZqsrut pav&oZqZw � ��ru� � qsw�n {$t p�y�

Data

Workstation

Owner

Name

Title

Address

( �* + , *�- . - /�0 1 2 2 3 4�5 3 6 7 2 8 4 6 9 : /�; 6 3 9 2 8 . < < . = 9 9 > ? @ @ ; ; ; A B 4 A C 1 2 2 3 4 1 A B D @ = E F�2 @ B 6 4 B - . -

User Interface (View) Layer

G��^NPY _�T KVUVQ�OjY _�M�UPePY X�K�T T UfO QS_&eV`�J_&Y ]PT QLi�`�O%M�ka`d�K�b�`�OWKS_&eVQXZM�_a`iWM�NVQcK�eSePT Y X�KVM�Y `�JS_lmc�up�w�vZ{ux�y � x�~zn {�|Zw�put � x�n put r���n � {uxmc� � w�v&� rZq � x�~��&|�w � x�pZw�w^{$��� p���n wZ�

( �* + , *�- . - /�0 1 2 2 3 4�5 3 6 7 2 8 4 6 9 : /�; 6 3 9 2 8 . < < . = 9 9 > ? @ @ ; ; ; A B 4 A C 1 2 2 3 4 1 A B D @ = E F�2 @ B 6 4 B - . -

Business Layer

G��^NVQ�O QS_&eV`�J_&Y ]PY T Y M�Y QS_a`iWM�NVQ�]P[_&Y JVQS_Z_�T KVUVQ�OWK�O Q� Q�O Uc_�M�O K�Y � N$M�i�`�O kaK�O g^lmL��{&y&pu��n oZpz{$��� pZ��n wW{��Sn o�pa��|�w � x�pZw�w^r&xZy�o�{���n o�p�q� xZn put r���nPn {�r�����{u�zv&� � w�osn oZpa�&|�w � x�pZw�wjv�t {&��pZw�w�p�wZ�

G��^NVQS_�Qc`�]Zb�QXZM�_�_&NV`�[PT g�JV`Ms]VQ�O QS_�eV`�J_&Y ]PT QLi�`�O�lmc� � w�v&� rZq � x�~�y&pZn r � � wmc�SrZn rzrZ����pZw�w^y&p�n r � � w

5

( �* + , *�- . - /�0 1 2 2 3 4�5 3 6 7 2 8 4 6 9 : /�; 6 3 9 2 8 . < < . = 9 9 > ? @ @ ; ; ; A B 4 A C 1 2 2 3 4 1 A B D @ = E F�2 @ B 6 4 B - . -

Access Layer

G��^NVQcKX�X�QS_Z_�T KVUVQ�OWX�`�J$M�K�Y J_a`�]Zb�QXZM�_�M�NVKVM��$JV`kNV`k M�` X�`�dLdL[PJ�Y X�KVM�QLk�Y M�N M�NVQ�ePT KX�QLk�NVQ�O QM�NVQcgPKVM�KcKXZM�[VK�T T UfO QS_&Y gPQS_Z\m�� oZpZn o�put � n �Zpsrat pu� r�n � {ux�ru��y&r�n ru��r�w�p��S��r � x�� t ru�jp��n�oZp���xZn put xZpZn �{$t� � � p$�

G��^NVQcKX�X�QS_Z_�T KVUVQ�OjNVKS_�M�ka`�d�K�b�`�OO QS_&eV`�J_&Y ]PY T Y M�Y QS_SlmPt rux�w�� rZn pat p��u|�pZw�n wmPt rux�w�� rZn pat p�w�|u� n w

( �* + , *�- . - /�0 1 2 2 3 4�5 3 6 7 2 8 4 6 9 : /�; 6 3 9 2 8 . < < . = 9 9 > ? @ @ ; ; ; A B 4 A C 1 2 2 3 4 1 A B D @ = E F�2 @ B 6 4 B - . -

Three-Layered Architecture

BusinessLayer

ViewLayer

Access Layer

( * + , *�- . - /�0 1 2 2 3 4�5 3 6 7 2 8 4 6 9 : /�; 6 3 9 2 8 . < < . = 9 9 > ? @ @ ; ; ; A B 4 A C 1 2 2 3 4 1 A B D @ = E F�2 @ B 6 4 B - . -

Object-Oriented Analysis

G����^NVQ�d�K�Y JL`�]Zb�QXZM�Y � Qc`i^K�JVK�T U_&Y _�Y _�M�` X�K�e$M�[PO QKcX�`�dLePT QVM�QS\^[PJVK�dL]PY � [V`�[_aK�JVgfX�`�J_&Y _�M�Q�J$MePY XZM�[PO Qc`iWM�NVQ O Q�� [PY O Q�d�Q�J$M�_a`iWM�NVQ _�U_�M�Q�d K�JVgk�NVKVM^M�NVQ _�U_�M�Q�d dL[_�MhgP`cM�` _�KVM�Y _�i U M�NVQ�[_�Q�O�_��O Q�� [PY O Q�d�Q�J$M�_aK�JVg�JVQQg�_ � �

R�R��SK�NPO K�dLY \^e��������

. <* + , *�- . - /�0 1 2 2 3 4�5 3 6 7 2 8 4 6 9 : /�; 6 3 9 2 8 . < < . = 9 9 > ? @ @ ; ; ; A B 4 A C 1 2 2 3 4 1 A B D @ = E F�2 @ B 6 4 B - . -

Goals

G��h`SK�T _a`i^K�JVK�T U_&Y _ �`�O"!$#�%'&)( !$#�*+#�,�- .#�,)/'( ,0#�#�!$( ,)/213+425�6�7�8 9;: <=5�6?>=8 @BA=C 7�DE9;@�F : GH<�8 7JI 9"DK7�<=5�:0: @�9;@BC L�73+425�6�7�8 9;: <=5�6�MN@�5�: 7�OP:2@�F�>=8 @BA=C 7�D3RQ�7�: 7�8 DSI 5�7�F T�5�MU:VI @B5�9�: W�<X:29U@�F : G�<�8 7JD�T�9;:'>=8 @�L=I 6=73RQ�7�: 7�8 DSI 5�7S9;@�F : GH<�8 7SYBT�<�C I : Z�<X: :V8 I A=TX: 7�9

6

� �� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Understand Problem Software is Meant to Solve

!#"%$'&'()(�&+*-,-*.&0/ 1324*510/*6(7/ 8:9 ;'<=(�>=?@&0/�/ 8A>B2C(ED!GFH>4IKJ:>L(7$'1'8A?C2:/�/ 10;C(7M 83N'10/ O>B/�PQ(7$'>:*51A(�&+*-,-*RD!#"%$'&'(S?R>B2:M J#T'1U9 PAN:/ >4V'14J#9 ;3$'>4IW(7$'1'8A&0/ 1N'10/ O>B/�PA9 ;'<=(7$'1+*51A(�&+*-,-*RD3LX=8 8 @B828 <�: 7-Y)Z)@BDS>=C 7X: 7=5�7�9U9[Y]\�<�9_^ MU@BD�>=C 7�:VI @�5�:VI D"7-Y\08 <�I 5�I 5R`�:VI DK7-YaX�5[b @�Z=D"7=5�:2@�F�: <�9_^_Y

� �� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Understand Context of Problem

!#"%$'>=&0/ 1A(7$'13N'14>BN:M 1U9 ;C(�10/ &4?@(79 ;'<=Ic9 (7$d(7$'1*5>4O (I.&0/ 1:D

!#"%$'10/ 1LJ:>+1+*cN:/ >BN'>:*514J3*5>4O (I.&0/ 1dOE9 ()Ic9 (7$:9 ;?R>BPAN:M 1'(�1UN:/ >+?R1+*@*RD

!#"%$'&'(S1'e:9 *_(79 ;'<U*_84*_(�10Pf*c9 *6(7$:9 *g*5>4O (I.&0/ 1/ 10N:M &4?C9 ;'<BD

!#"%$'&'(S>4(7$'10/H?R>B;4*_(7/ &09 ;C(�*.1'e:9 *_(S>B;d>BN'10/ &'(79 >B;+D3LX=5�L=I 8 @�5�D"7=5�: <�CXMN@�5�9PI 6�7�8 <�:VI @B5�9Rh�5�@BI 9;7Ri�C I `BW�:3LjBT�6-`�7�:3Lk�7R`BT�C <X:VI @�5�9

� �� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Determine Functions that Software Must Provide

!#"%$'&'()Ic9 M M+9 (lT'1UN'>:*@*-9 T:M 1A(�>=J:>LIc9 (7$d(7$'1*5>4O (I.&0/ 1:D

!Gm]>4(S&LJ:1+*-9 <n;3LXXO=>=C <�I 5�9�F T�5�MU:VI @B5�97i�5�@�:'W�@�G :VW�7�Z�<�8 7�8 7�<�C I oU7�6?I 5S<9;Z�9;: 7�D @B82T�9;7�82I 5�: 7�8 F <�MU7

!Gm]>4(S&0;39 PAN:M 10Pc10;C(�&'(79 >n;

� p� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Determine Software Quality Attributes

!rq�J:10;C(79 O 8Asn2'&0M 9 (8A&'((7/�9 T:2C(�1+*.>B;dIc$:9 ?C$d(7$'10/ 1L&0/ 1*-N'14?C9 &0M+/ 14sn2:9 / 10Pc10;C(�*3ct)L�<�I C <�A=I C I : Z5i+u�7�MPT�8 I : Z@i�4�9U<�A=I C I : Z@i0vX7�8 F @B8 DK<�5�MN7@i0w

!rq�J:14&0M M 8A1'e:N:/ 1+*@*514JxN:/ 14?C9 *510M 84y]*5>LJ:1'V'10M >BN'10/*,C;'>4IzIc$'10;d(7$'1'83$'&'V'1UPc1'()(7$'1:P

7

� �� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Approaches [Bahrami, p. 126, ++]

!��Ce'&0PA9 ;'&'(79 >n;A>4O)1'e:9 *_(79 ;'<U*_84*_(�10PJ:>+?C2:Pc10;C(�&'(79 >B;

!rq[;C(�10/ V:9 1'Ig*!��.2'1+*_(79 >B;:;'&09 / 1+*!��.T4*510/ V'&'(79 >B;!���� ���� ������

� �� � � ��� � � ��� � � � � �! � " # � $ " % & ��' " � % � $ � ( ( � ) % % * + , , ' ' ' - . - / � � � � � - . 0 , ) 1 2�� , . " . � � �

Example: Distance Education

3�465 798;: <>=@?BAC?ED <GF;7H<BI : JLKEM ?N7POEF@FB<GM :�5 QSRN?S=GOBTPKC:�5 <EQNKB:�K=G5 7U: K@QSTH?

3WV�OEXY?EM <GOB7Z7POST98[F@M <@=GOBTH: 7Z?B\@5 7U: ]�?G^ R�^_a`LbPcUdPe

fhgjiUk�l m�n�o p�qsr�t p�o p�u�v n�v w xUu�x�y9z xU{�t o p�|�n�v p�t w n�} o~�� u�v p�t n�z v w xUu�v ��t xU{��U��y xUt {�|�o~h�Eu�� } w u�p�v p�o v w u��

���@� �H�U���9�9��� �9� �9���U� ���~L�Up�n�} � v w |�p���w q�p�x�n�u�q�o xU{�u�qj} w u��Ey xUtPxUu�� } w u�p�} p�z v {�t p�o �UqUw o z {�o o w x�u�o~L�Up�n�} � v w |�p�r�t p�o p�u�v n�v w xUu�� pU� �H� �9� x��Ep�t � xUw u�v �Hq�x�z {�|�pUu�vPz n�|�p�t n��

�W�S� �@�G S¡U¢ £¥¤S¦B§C¨;§B¨E� ©;�Gª « « ¨E� ¨E¬C¢®­@� �G­B¨E� ¢�ª ¨S£

¯ °± ² ³ ±�´ ¯ ´ µ�¶ · ¸ ¸ ¹ º�» ¹ ¼ ½ ¸ ¾ º ¼ ¿ À µ�Á ¼ ¹ ¿ ¸ ¾ ¯   ¯ à ¿ ¿ Ä Å Æ Æ Á Á Á Ç È º Ç É · ¸ ¸ ¹ º · Ç È Ê Æ Ã Ë Ì�¸ Æ È ¼ º È ´ ¯ ´

Examples of Questions that Need to be Answered

Í�ÎZÏ�Ð�ÑjÒ�Ó9Ô�ÕjÏ�Ð×Ö�Ò ØsÙ�Ú ÑjÛÜÓCØ�Ý Ô�Þ[ÕjÒ Ñàß Ó�Û�Ñ�ÕjÏGÔZÔ�ØÓCØsÚ á�Ñ

â�ÎZÏ�Ð�ÑjÒ�Ó9Ô�ÕjÏ�ÐäãSØsÏGÔ�Ñ�åGÔ¥Ø�ÝYÖ�Ò ØsÙ�Ú ÑjÛ

æ çè é ê è�ë æ ë ì�í î ï ï ð ñ�ò ð ó ô ï õ ñ ó ö ÷ ì�ø ó ð ö ï õ æ ù ù æ ú ö ö û ü ý ý ø ø ø þ ÿ ñ þ � î ï ï ð ñ î þ ÿ � ý ú � ��ï ý ÿ ó ñ ÿ ë æ ë

Understand Problem Software is Meant to Solve

â��LØ�Þ Û�ÕjÏ�� Ó9Ô��Ð�ÑjÏGÔ�Ó[ÕjÒ ÑäÙ�Ñjß Ï� Ô�Õ���� GÔ��â��LØ�Þ Û�ÕjÏ��6Ô�Ñ�Õ�ã� �ÑjÒ�Ó[ÕjÒ Ñ6Ô �ÑjÒ Ñ��â��� �Ø ÑjÚ ÓCÑàß Ó�ß ÏGá�ØsÚ á�Ñ�Ð���������� Ó��®Ô�Ñ�ã� �Ï�ß ãGß ÕjÏ�Ó��! #"â��� �Õ�Ô%$Gß Ï�ÐäØ�Ý¥Ó&��Ù�'�Ñ�ãBÔ;Û�Õ�Ô�Ô�ÑjÒ ß Ó ÙGÑjß Ï� Ô�Õ���� GÔ��

(�)�* +-, . /�+10&+�243�5�6�7�* 8�7�. 3�5�64. 219�3�* 7 8�5:7 ;(�)�* +16=<�9:+�* /&. 6�+>0?9&* 8>@7�. @A8�,:6�+>6�6=. 3�5>64. 219:3�* 7 8&5:7 ;(�BDC�8�7�24+>0�. 818�* +-* +>E�<�. * +>01F 3�*G7 C�. 6H6A<�IJ +>@7�248�7 7 +�* ;

K�L:MONOP Q�R�S=TAUOV=Q�WX Y�P TAZ M[�QG\&X VM�S=Q

8

æ �è é ê è�ë æ ë ì�í î ï ï ð ñ�ò ð ó ô ï õ ñ ó ö ÷ ì�ø ó ð ö ï õ æ ù ù æ ú ö ö û ü ý ý ø ø ø þ ÿ ñ þ � î ï ï ð ñ î þ ÿ � ý ú � ��ï ý ÿ ó ñ ÿ ë æ ë

Understand Problem Software is Meant to Solve

��� 3 6�7 <>0>+�5:7 6��=24+>+:7 ��F 3�* 8%/&. * 7 <>8�,:@:, 8>66��G3�* 0&317 C>+� 3�* � 3�5%7�C�+�. * 3 � 5%7�. 24+&;

� )�* +18�, ,:6�7 <>0&+&5�7 6H3�5%7�C�+16�8�2 + 7�. 2 +�, . 5>+%3�* 0&317�C�+ � 3�* �. 5>0&+�9:+�5>0>+�5:7�, �G6A<�I&21. 7 7�. 5� � 3�* � � C�+&5-. 7 � 6H0&3�5>+� R�P �AU�V��AZ V TAUAX �OM=Z [!X P ����SVM�����[GY�S=Z Z M[��OS=UOVM=UOY!M���SVM��

��� 6 7 +�8>@=C�. 5� ?243&0&+�,>I�8�6+>013�5-. 5�6�7�* <>@�7�. 3�513�* 6+�, F � �<�. 0&+>0, +>8�* 5�. 5� �;� � S!� M�S�"�Y�S!� � �$#OS=Z ��P X S=U&%�X P '�SAP 'OM=Z>[ P T�VMAU�P [�X U�� M��AZ UAX U)(�Z SY�M[ [�Q

ë ùè é ê è�ë æ ë ì�í î ï ï ð ñ�ò ð ó ô ï õ ñ ó ö ÷ ì�ø ó ð ö ï õ æ ù ù æ ú ö ö û ü ý ý ø ø ø þ ÿ ñ þ � î ï ï ð ñ î þ ÿ � ý ú � ��ï ý ÿ ó ñ ÿ ë æ ë

Understand Context of Problem

â��LØ�Þ ÕjÒ Ñ Ó9Ô��Ð�ÑjÏGÔ�Ó[ØsÒ �ÕjÏ�ß *BÑ�Ð��(,+ , 8>66�+>6��G6+�@7�. 3�5�6���. 5>0�. /&. 0�<>8�, 6A;

â��ZÒ Ñ Ó9Ô��Ð�ÑjÏGÔ�Ó�Ò Ñ.-���ß Ò Ñ�Ð Ô�ØàÖ�Õ�� �(�BDC�8�7�0&3>+>649:8&24+�5:7�+&5�7�. 7�, +16�7 <>0&+&5:7 6�7 3�;

â��� �Õ�Ô;Û�Ø�ÔHß á�Õ�Ô�Ñ�Ó Ó9Ô��Ð�ÑjÏGÔ�Ó>�(,/10 2�354�6$798:4�;<0 4�4�=)3<> ?5@ A<BC2�=)D�4E0 F�> G > D�2F 457IH�JF 4E0 4�6)F 7LK�A<MA<?5?A<0 F N5JE> F O�7

PRQLS.TVU1W X�Y�Z\[<YIZ\] ^_Y�`a^_U1W X�Y�Z\[<YCX�Y�baUc^\[<Y)X�degfc> B94ih�A<J4�6$7e j.4F kLA<0 lID$AEJ5J�4D�F�> m5> F O�7

n op q r p)n s n t�u v w w x y)z x { | w } y { ~ � t�� { x ~ w } s � � s � ~ ~ � � � � � � � � � y � � v w w x y v � � � � � � �)w � � { y � n s n

Example Shows…

P��&W �1[cW ��W ��Z\[<Yi] ^.�1bcW ] ^\��^\[<Y�X�] ^:X!^.Z\] �<`�] ^.�1bcW ] ^.U� ^a��S&] ^_T�^ ��Z\[,Y�`cW [c�gZ � S&b<Y���bc[a�Y�W S&[.X�S.�X!S.� Y�T�Z\] ^

P��$�_�aS&] Y�Z\[<Y�Y�S�] ^.��S&] U�] ^:X5bc� Y)X�S.�LY�`cW X�Z\[aZ\� �.X5W X�X!SY�`aZaYIZ\� �:�c] S5 �^.�YCX�Y�Z\��^\`aS&� Uc^\]�X�Z.�1] ^.^ S&[¡T�`aZaY`aZ:X � ^.^\[¡��S&bc[aUe ¢�> 6�N5J�354E0 6�F 2EJ�3<> J�;56�2!FcF £�4�0 4�¤ENE> 0 45B945J!F 6C@ 4m!4E@!2E0 4A<J4¥AG:F�£4�BCA56�F\6�4E0 > AEN�6LA<M6�F 2�D!@ 4�6LF A¥2¥6�ND$D�4�6�6)G NE@?50 A�¦ 4�D�F

CISC 323Intro to Software Engineering

§ ^.�Y�bc] ^_¨\©�ª« ^.�1bcW ] ^\��^\[<Y)X¬1­��Y�S&]�X¬�®�X!^ ¯1Z:X!^:X¬�Z\[aU

­��Y�W °cW Y���±CW Z.�1] Z\�,X

9

n np q r p)n s n t�u v w w x y)z x { | w } y { ~ � t�� { x ~ w } s � � s � ~ ~ � � � � � � � � � y � � v w w x y v � � � � � � �)w � � { y � n s n

The Object-Oriented Analysis (OOA) Process

P���`a^ �c] S:��^:XX���S&[.X5W X�Y)X�S.�LY�`a^_��S&� � S.T�W [a� X�Y�^\�.X��P����\�)Uc^\[<Y�W � �¡Y�`a^ Z.�Y�S&]�X��e��¡£A�> 6CN�6�> J�;¥F £�4¥6�O!6�F 4EBi7eL0 �c> JiF £�4¥D�2�6�4¥AGc2�J4k�6�O6)F 45B��akI£�AikC> @ @�M4�N�6�> J�;F�£4¥6�O6)F 45Bi7

n p q r p)n s n t�u v w w x y)z x { | w } y { ~ � t�� { x ~ w } s � � s � ~ ~ � � � � � � � � � y � � v w w x y v � � � � � � �)w � � { y � n s n

The OOA Process (Con’t)

P�ª��1±L^a°a^\� S&�_Z X5W �_�c� ^ � b.X5W [a^:XX��c] S:��^:XX���S:Uc^\�b.X5W [a��®�� § Z.�Y�W °cW Y��_U1W Z.�1] Z\���

n �p q r p)n s n t�u v w w x y)z x { | w } y { ~ � t�� { x ~ w } s � � s � ~ ~ � � � � � � � � � y � � v w w x y v � � � � � � �)w � � { y � n s n

The OOA Process (Con’t)

P����1±L^a°a^\� S&�¡Y�`a^ b.X!^_��Z:X!^��e��¡£2FcF £�4 N�6�4E0 6�2E0 4¥35A<> J�;¥kC> F�£iF £4¥6�O!6�F 45Bi7eL0 �c> JiF £�4¥D�2�6�4¥AGc2�J4k�6�O6)F 45B��akI£�2!F1N�6�4E0 6LkC> @ @M4¥35A<> J�;¥kC> F £iF £�4¥6)O6�F 4EBi7

���������������! #"%$'&)(+*#�-,.�0/1(32+45��$�6� #"%�748�79.��(:&)�*#$��;,86<�79#2=�72=(>$�9?$'@A2+48���%B)�%2=��6C,89.*#�D"0�%2>,A*�B)E

F GH I J H3F K F LNM O P P Q R3S Q T U P V R T W X L:Y T Q W P V K Z Z K [ W W \ ] ^ ^ Y Y Y _ ` R _ a O P P Q R O _ ` b ^ [ c d3P ^ ` T R ` F K F

The OOA Process (Con’t)

egf�h�i7j k�l�m�j kon p�q:k�j m�rsq+n t�p-u�n m�v�j m�wx�yz�{D|s} |;~ �.� �s|8} ��|.�>|��;��|%���+|��z�{D|s��|;� ���8�+��� � �;����~ �s}N� ���.��� ����~ �;�#�s�

10

F �H I J H3F K F LNM O P P Q R3S Q T U P V R T W X L:Y T Q W P V K Z Z K [ W W \ ] ^ ^ Y Y Y _ ` R _ a O P P Q R O _ ` b ^ [ c d3P ^ ` T R ` F K F

The OOA Process (Con’t)

e���h���� mDxsx%n �>n r�m�q+n t�p�gu7k��k�� t�l-m�x q:m�q+n r� ����!r� mDxsxu�n m�v�j m�w yz�� �%|;�s}N� � �8��� �s�+�>|����z�� �%|;�s}N� � �A~ |;� ��}N� �;���=�;� �s���z�� �%|;�s}N� � �8��} }N~ � �%��} |s�s�z�� �%|;�s}N� � �A��|�} ���%���s�

F �H I J H3F K F LNM O P P Q R3S Q T U P V R T W X L:Y T Q W P V K Z Z K [ W W \ ] ^ ^ Y Y Y _ ` R _ a O P P Q R O _ ` b ^ [ c d3P ^ ` T R ` F K F

The OOA Process (Con’t)

e���h��:q:k�j m�q:k�m�p�u�j k��>n p�k�y����#p�k�k�u7k�u�� j k�l�k�m�q�q���kl7j k�r�k�u�n p�v x q:k�l�x�h

RefineanditerateIdentify Actors

Develop Use-Cases, ADs

DevelopInteractionDiagrams

Identify Classes,Relationships,Attributes &Methods

O-O Analysis

prototyping

F �H I J H3F K F LNM O P P Q R3S Q T U P V R T W X L:Y T Q W P V K Z Z K [ W W \ ] ^ ^ Y Y Y _ ` R _ a O P P Q R O _ ` b ^ [ c d3P ^ ` T R ` F K F

Refining our Example

�! �s�3} |;�"� ��~�~ |;�#�s} |8} |��s���;� ���A�#���s�;� ��}N� ���$�%'& (�) ) *�)+(-, *�& . /0. 1 *3201 465�798:*34;8-& *$�%'& (�) ) *�)+(-, *9<:*;& 2�. =?>:, *3(;&:1 . /�*-@

A9B�C DFE�G:HFC IKJ:H�E�C G�JFL MFG:N-O P�GFG�C Q#GFRFG:N S+T�G�E3HFG�I E:JFS+JFCVU�W X�X�Y�Z\[�BF]A0^;_ J�I I G�IKJ:N G?`�MFa3D:N I_ a3HFb

$�%'& (�) ) *�)+(;& 1 *-, =:(31 *9c:*31 d+*3*-=e2�*-/�4;=3) 1 , (31 . 4V=�(-=32�8�, (3fF1 . fF(;&�d+4V, gAe]�GFJFL MFG:N;E�G:P�a3H�I C N JFC G�IKC GFL M:H:h i3DFG�Ikj D�I h HFb�N GFJ:_�lFJ:h HFC m3L J:HFR J�I nA9B�C DFE�G:HFC IKC M�G:H�l�N JFL C h L G?C GFL M:H:h i3DFG�Ikj D�I h HFb�N GFJ:_�lFJ:h HFC m3L J:HFRFJ�I nA0o-IkI C DFE�G:HFC Il�N J�L C h L G�m�C GFJFL MFG:NVh HFE3h R�h E3D�J:_ _ S�L N h C h i3DFG�IKC MFG:h N-pKa3N q

$�r31 s:2�*-=31 )�/es3) 18:(:t9. =�(32�u:(-=:fF*0v 4;,#(efF4Vs�, ) *e4-v5�70) *�) )�. 4;=3)$�%;4;s�, ) *�)+4�v v *;, *32�c�t?>3w;. =3x-) 1 4;=9y-*-/�4-1 *9zK=-. u:*-, )�. 1 t�@

{ |} ~ � }:� � � �F� � � � � �:� � � � � � � � � � ��� � � � � � � | | � � � � � � � � � � � � � � � � � � � � � � � � � � � � �:� � � � � � � � �

Identifying the Actors

���'� �'�K�K�#�$¡ �*-, ) 4;=�d�. )�<-. =:x91 4�& *3(-, =�1 4�8:(;. =:1

�£¢+�'¤#¥V¦#�k§$¡ �(;. =:1 . =:x01 *3(3f3<:*-, ¨k<-. , *320v 4V,#(exV. u:*-=�fF4Vs�, ) *

�£¢+�'¥;¦k�k© ¥V© ¤K�$¡y-*�)F8:4;=3)�. c-& *ev 4;,#*3ªVs-. 8�/�*;=:1K) *31 s�8�«V)F/�4�4�1 <�fF4Vs�, ) *e2�*;& . u:*-, t

��¬�­�k§ ®��¯¥�­K­§ �© �'¤V� ­§$¡y-*�)F8:4;=3)�. c-& *ev 4;,#fF4Vs�, ) *0) f:<:*32Vs-& . =3x-«'<-. , . =:x01 *3(�f:<:*-, )

�±°k�'²© ®3�F§ ¤k§$¡y-*�)F8:4;=3)�. c-& *ev 4;,#fF4Vs�, ) *e*;=�, 4V& /�*;=:1 ) «'8:(:t�/�*;=:1

11

{ �} ~ � }:� � � �F� � � � � �:� � � � � � � � � � ��� � � � � � � | | � � � � � � � � � � � � � � � � � � � � � � � � � � � � �:� � � � � � � � �

Identifying the Actors

������������ ��������� �� �� ������������� � ��� ������ ���� ��� ���!�������"�������#� ����%$��%���&'�(�*)+��,-� ���

�/.��� ������"���� ������� ������� &0���� � ���� ��1� )+������� , $!�������2� ����������� ���� )+������1#+��)+�����%� ���)3�����*�4�������5�����,�����3�%$��%���&76 ��#��2�

8 9: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Develop Use Cases and Activity Diagrams

��W��2�*XY ��2���Z![�\�]�^2_ ` acb d4]cb e4fhghfib d4e2b�e�^�b j�k film_ f%dcb jn^heok k a�jop�b

�rqs����� "+� ��$utm� �vY� �&7�Z![�\�]�^2_ ` acb d4](\wk j4^h]�f�fx�\wk j4^h]4yopok ]�fi` j�k�^�eok k aw_ z4{�jop�bb�d�]4f-]�b e�f%ghf

8 =: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Example Use Cases

��|o���i 3�%��#�)+�����Z*}wzok j�~4_ z�en^�j�pok f-]Z*�2e�ac` j�k�b d�]n^hjopok f-]Z*}wz�b ]ok�~ ]4^-b�pok ]

��� ���h�>� � � �Y� �%� �w� � ��� � �-�Z���b b ]oz4y�~ ]�^�b pok ]

�����-� �h� �>�Y� �-�-�>�>�%� � ��� �-�>�h�h� �2�>��Y�4�����%�>��� � � �2�-�� ��%� �>�

Z*}2�w_ bY~ ]�^�b pok ]8 8: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Example Use Cases

��|o���i ��� ��������Z![4b eok bY~ ]4^-b pok ]

�����>�h��� �w� ��� � �>���%�>� �����h���%�>� �%�Z* �]o~ _ ¡�]ok�~ ]�^�b pok ]

� ¢��h£��%�-� � � ��� ���>�%� �-� � �>��Y¤2�%� ��� �s�-� ��� ������-� �h� �>�Y�s� �%� �-��� �-��� � �>���h�-� � ��¥��%� ���¦h�>��¥�� � �>���%�>� � ��¥��2� ��� �s��� �>�h�w� � �-���h�>� �� §h�����>�%�>�s� �s�2�>��� � � �%�-�

Z©¨�]ok ªn_ z�e�b ](~ ]4^-b�pok ]

12

8 �: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Use Case Diagrams

8 �: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Use Case Diagrams

Use Case

Actor

Relates actor to use case

8 �: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Use Case Diagrams

�������4��� )3� ������Y �������m� ��,����>&� ���� ���u� �)Y� �vY� �&&� ���� ��,����>&

�/.>)+������� , $u� � �%����,c#��2�*�4 ��2����/.>)+������� , $ ����������������4��� ) �%���>#�����#+� �*��,c#��2��4 ��2���Z��f�]�^he�f�]4f�ªce�a��] f%\�]�^2_ eo~2^�e4f�]�f j�`+j4b d4]ok�p�f�]n^�e4f-]4f

�Y�w�>�%� �����%�-��� � � ���>�%� � � �%�>���Z��f�]�^he�f�]4f�ªce�a p4f-] j4b d�]ok�p4f-]n^he�f�]�f

8 �: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Teacher’s Use Cases

13

8 �: ; < :>= 9 = ?�@ A B B C D>E C F G B H D F I J ?K F C I B H 9 L L 9 M I I N O P P K K K Q R D Q S A B B C D A Q R T P M U V>B P R F D R = 9 =

Teacher’s Use Cases

������������ ���� � ������� ������� ����� ��� �!�"���!#���#�� $�"���� �%�&'�'�(���)��)����#%�&�������

*,+$��-�� ���(���%�&�� .#%/0��1��23� ���'� 1����54�67��� � ������ ����� ��� ��89���(�!�"���(� ���(��� 4"����#%�&������89���(�!�"���(���

: ;< = > <�? @ ? ACB D E E F G�H F I J E K G I L M A&N I F L E K @ ; ; @ O L L P Q R R N N N S T G S U D E E F G D S T V R O W X�E R T I G T ? @ ?

Student’s Use Cases

: Y< = > <�? @ ? ACB D E E F G�H F I J E K G I L M A&N I F L E K @ ; ; @ O L L P Q R R N N N S T G S U D E E F G D S T V R O W X�E R T I G T ? @ ?

Lessons From Examples

Z\[ ]_^ `a^ bdc�e%f ] gih(]�] ekjih"l"mif `�] g�h"l9`on�`�] m�bqp f e%brc�e%^ h�]�e"ps ^ m�t.e"p�giu uv]Cw�mdg�x ] e%f `

Zry�^ p p mif m�h�]�g�x ] e%f `aw�g s m s mif nzl%^ p p mif m�h�]$j�` mdx g"`om"`){ ] wi^ h"|�`]Cw�m�n}t�g�h�]�] e9g�x~x e%bdc�u ^ `~w�� ��m s m�hztaw�m�h9c�mif p e%f bd^ h"|`v^ bd^ u gif�g"xo]C^ s ^ ]C^ m"`

Zr��m"m"ld] e9l�m"x(^ l"mztawi^ xvwkj�` mzx~g�` m"`5]Cw�md`�n�`o] mibqta^ u u`vjic�c(e%f ]�!�v� ��� �(�(� � � �~���C�_�o�(���C�o� � �v��� �o� � �~����� �(���%��� ���&�~� ���v� �

�~� � �(� ���v���%� �_�C�v� � � � �������o� ���_� �~� ��� ��� �v���7�����~���v���Zr��m"m"ld] e9m�h"`~jif mz] w"g(]_jiu ]C^ b}g(] md`�n�`o] mibql�m"`v^ |%hd`~jic�c(e%f ] `

giu u(e"p�] w"m�` m9j"`omdx~g�` m�`���o�����v� �v�o�o� �_�C� � � �������5�����C� �~���v� � �o�7���$���&� �o�(� �_� �o�o� �~� ��0��� �_�C� � � ��� �~� ���_� ��� � � ��� ��� �"� �o�o� �~� � ��� � �&� �v��� ���C�v� � �o�C� � �

: @< = > <�? @ ? ACB D E E F G�H F I J E K G I L M A&N I F L E K @ ; ; @ O L L P Q R R N N N S T G S U D E E F G D S T V R O W X�E R T I G T ? @ ?

Modeling Activity

*q�&�z� �3� �0-�$� �&���%���&����� ����C�v�&���� '� 1�� ����� � ��� � � ���-���$-�� �!�"����� /0$�%�z� �0$� ������&'���"��$�0-�� � ��1�� 1���� ��&�������

*.����� � ��� � � ���k��� �0�C/�-�� �"��� � /�����z� ���� �_�¡ �#��%���C$� � �2�($�3���%� �� ��� -�� ��"����� $� -�� ��"�� $��� �¢!£ f e�x~m�` `"¤ `om�]�e"p�`�] mic(`7]Cw�g�]_c(m"e%c�u mzp e%u u e�tq^ hdx~gif f n�^ h"|

e%j(]�gz] g"`v¥¦�§ ���5� �&���(� ���_� �o�o� �&� �v�����(� ��� � �"� � �v�o�

¢!£ f e�x~m"lijif m�¤ x~e�l%^ p ^ m"l¨c�f e�x m"`o`7] e¨©(mzp e%u u e"t�m"lkjih"l"mif`vc�m"x(^ p ^ m"l9x e%h"l%^ ]C^ eih"`¦_ª � �~� �C�v� � �$�v��� �v� �C� �7���_� �v���_�v� � �v�~� « �o� � �v�

14

: ?< = > <�? @ ? ACB D E E F G�H F I J E K G I L M A&N I F L E K @ ; ; @ O L L P Q R R N N N S T G S U D E E F G D S T V R O W X�E R T I G T ? @ ?

E.g., Process for Delivering a Lecture on Painting

��� £ f e"p m�` `oe%f�^ h�]Cf e�l%j�x~m�`�`vji©�� m"x ]�e"p$u m�x ] jif m� � £ f e"p m�` `oe%f�l�mibae%h�`o]Cf g�] m"`�gkc�gi^ h�]C^ h"|d] m�x(w�hi^ �%j�m

¦ �v� ��� �"��� �~� �o���(� �o���v� ��� �C���o� �_� �i���~� �C���o�&� � ��� �� ��� ] j"l�m�h�] `7]Cw�m�hdl�e9gkc�f g�x ]C^ x giu(m� �mif x(^ ` m}] e¨c�f g�x ]C^ x mz] w"m] m"xvw�hi^ �%j�m

��� £ f e"p m�` `oe%f�e%©�`omif s m�`7] w"md`�]Cj"l"mih(] `o��|%^ s ^ h"|d]Cw�mibp m�m"l%©�g"xv¥

��� [ p�gd`o] j"l�m�h�] � `7t�e%f ¥}^ `ac�gif ]C^ x(jiu gif u n9^ h�] m�f m"`o]C^ h"|��c�f e"p m�` `oe%f�`vw�e"t�`a^ ]�] ed] w�mkf m"`o]�e"p�] w�mdxvu g"` `

� � £ f e"p m�` `oe%f�b}g�n9f m(] jif hz] e¨b}e%f mdl�mibaeih�`o]Cf g(]C^ eih����� s m�h�] j"giu u n(��x(u g�` `a^ `�x e%h�x(u j"l"m"l

: �< = > <�? @ ? ACB D E E F G�H F I J E K G I L M A&N I F L E K @ ; ; @ O L L P Q R R N N N S T G S U D E E F G D S T V R O W X�E R T I G T ? @ ?

Procedures Codify Processes

Z £ f e�x~m"lijif m�¤ `o] gih"l"gif l¨c�f e�x m"` `5] e¨©�m}p e%u u e"t�m"l¨j�h"l"mif`vc�m"x(^ p ^ m"l9x e%h"l%^ ]C^ eih"` ����� | � ����o� � �C�o�v�~� �_� �(��� ����� �����5��� �����v�o�"� �"� ���7� � �~� �~� �� ��!#"%$ "'&%$ ")(�&%*#+',&#+#-./*#"�0 ./1%2 3435.46 !%7 - 8:951#6�./*%2 +'./*#"',&5+�7 -; "%$ (�7 6 6 "#3<�=/> ?�@#A/B�C:> A D ?�>FE�A�G G H I%EKJ B�> H L%A�> M N)O H @#A:I/N A<�=/> ?�@#A/B�C:> A D ?�>FE�A�G G H I%EKG > J%L%A�O�> A�H P Q:C�> N A:P)A�I%G

RTS�UVW X:Y[Z Z UF\4V] ^�X:_�`[a[] _FbcY[] _d_[e�f ^�] X:_�`hg�Uib�^�jk_^�] lYe[W m�YFn#W ^�e<po�I:H L%A:> N5H G q�r�E�?�L%A:> I�P)A:I/G r�A:P s:O ?�q%A�> r�t

RTS�UVW X:Y[Z Z UF\4Z W n n#Z _u] ^�^�jvn ^w`_FxW YFn _df ] ^[jyV] ^X:_�`[a[] _Fb<�z5L%A:I{H D�G |%A/q}J�> A~H I%A�D D H @/H A:I/G r�B�?�I/M G[s:> ?�s%A�> O q}J/@5@#?�C�I%GD ?�>@%C�> > A:I/GN5H G C%J�G H ?�I

� �� � � �%� � � �#� � � � � �%� � � � � � � � � � �5� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �%� � � � � � � � �

Activity Analysis

�T�c�� )¡ ¢�£[¤ ��¥¦ '§F¨�¤ ©4¤ ¨#¢ª¬« ­®[¯F°#± ² ³± ¯�´hµ¶ ·�¸:®F¹�¹/®�¹/º4µ¶ ·¸�®�­�»[¶ ®�¹~² ·�¶'¸:¼[¶ ¶ ³± ¯�´w·[»F°»�¹/®½¸:¼F¹�®F¹¿¾ ° ¼�¹�À:¹�Á

ÂÄà Å}��¨�Æ%¤ Ç4È�¨5É�Êw¨5ÅËÆ É'Ì È4¤ Æ É)ÍÎÉ)��¨%ÊuÉ)�'¥ ¤ ��É'É)Æ%¤ ��¥ª�Ï�®[Ð µF¹~° ·½Ñ± ®FÒT¹/³�¹/° ®[Óy± ¯i°#ÔF®½¸:·[¯�° ®�Õ�°)·F²}± ° ¹k»F¹�®Fº4¯�·F°Ö »�¹/°)¼uÐ ± ¹%°)·�²'² ®F¼F° »[¶ ®F¹ªÎ׬ÔF®[¯d² ®F¼F° »[¶ ®�¹~·�²4¹/³�¹/° ®[Óع�µ�®�¸�± ² ± ®�­º'¸�¼[¯uÐ ·�·�ÀiÙF¼F¸�À° ·w¼F¸�°#± ѱ °#± ®�¹{° ·w®�ÑF¼[Ð »�¼�° ®wÔ�·�ÒËÒ~®[Ð Ð�¹/³F¹/° ®[Óv² ± ° ¹k± ¯F° ·®FÕ± ¹%°#± ¯�´hµ¶ ·�¸:®F¹�¹/®�¹

Ú ÛÜ Ý Þ Ü%ß à ß á#â ã ä ä å æ%ç å è é ä ê æ è ë ì á5í è å ë ä ê à î î à ï ë ë ð ñ ò ò í í í ó ô æ ó õ ã ä ä å æ ã ó ô ö ò ï ÷ ø%ä ò ô è æ ô ß à ß

Activity Diagrams

Âúùcûhü�ý ¤  '¥ Æ  )Íþ¨#¢4ÿ�É Æ É'§�Å}Æ ý ¤ ��¥TÆ É�Ê�È4¡ ¨%ÊuÅ �  '§F¨�¤ ©4¤ ¨#¢ )�� )¡ ¢'ʤ ʪ���± Ó½± Ð ¼[¶'° ·½² ± ¯[± ° ®½¹%° ¼�° ®uÓk¼�¸�Ô[± ¯F®

ÂÄà Å�ý ¤ � ¢�Ê�É�¨¿Å �  '§F¨�¤ ©4¤ ¨�¤ É�ÊÎÿ�É)Æ � Å}Æ%ÍÎÉ'ý ¨5Å §� )Æ%Æ ¢pÅ}È�¨ p¨5 �Ê��

Â��}É'§�Å}Æ ý ¤ ��¥Tÿ4Æ Å�§�É�ÊFÊ�É�Êu �Êuý ¤  '¥ Æ  )ÍÎÊÎÿ4Æ Å'©4¤ ý4É�ÊÇ� �ʤ Ê � Å}Æ~ý ¤ Ê�§�È'ÊFʤ Å}���Τ ¨p§�È'Ê�¨5Å Í�É)Æ#ʪ�Ï�¼FÑ�®dÒc®½¸�·�¶ ¶ ®�¸/°#Ð ³w»¯�­®[¶ ¹%° ··­½° Ô�®uµ¶ ·¸�®�¹�¹��ª� 4¶ ®d°#ÔF®[¶ ®½¹/¸:®¯F¼[¶ ± ·¹¿¯�·F°)¸:·FÑF®[¶ ®�­h± ¯d°#ÔF®½¼�¸/°#± ѱ ° ³­�± ¼�´�¶ ¼[Ó��

15

Activity diagram showing process of delivering a class in painting

Starting point

End point

Activity

Choice point

Transition from one activity to another

Ú �Ü Ý Þ Ü%ß à ß á#â ã ä ä å æ%ç å è é ä ê æ è ë ì á5í è å ë ä ê à î î à ï ë ë ð ñ ò ò í í í ó ô æ ó õ ã ä ä å æ ã ó ô ö ò ï ÷ ø%ä ò ô è æ ô ß à ß

More Sophisticated Activity Diagram

ÂT�K§F¨�¤ ©4¤ ¨�¤ É�ÊΤ ��©'Å}¡ ©�É'ýT¤ �¦ÍΠ ��¤ ��¥¦§�Å � � É'ÉÂ��k¤  '¥ Æ  )Í ¤ ¡ ¡ È'Ê�¨�Æ  �¨5É�Ê

ª���Ô�·�± ¸:®ª���¼[¶ ¼[Ð Ð ®[Ð�¼F¸�°#± ѱ ° ³ª���³¯F¸�Ô[¶ ·[¯[± ��¼F°#± ·�¯d·�²4¼F¸�°#± ѱ ° ³

� �·[»[¶ ¸�®��K¼[¶ °#± ¯� �·�ÒkÐ ®[¶ º��������� ��� � � � ��� �"!#�#"$ %'&"(*)+-, % . ,0/ �21�1"3�4�5*67)84 9�5

16

Guards express conditions under which branches followed

Parallel Activities

Synchronization bar means all in-flowing activities have to terminate before out-flowing activity can commence

17

� �� � � ��� � � � � � � ��� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � !�� � � � � � � � �

Dangers of Activity Modeling

"$#&%('*),+ %.-(/,-0)213),4 '657%6898:%68<;7),4 '657%(/*=,4 %68?> @A-(/CB&'65D -0@,@&%04

"CEF591G> H,> 1I D '6/,%0+ > @&JLK'652=(8:%68M'*@A%&N,> 8O1G> @&J),4 '657%6898:%68

� �� � � ��� � � � � � � ��� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � !�� � � � � � � � �

Ad Hoc Adaptation of Processes

"$#,4 '657%6898:%68?4 -04 %0+ IA/,%68:524�> P&%QB&'(RS)2%('*),+ %Q4 %(-0+ + IRM'*4�TU.V , &"1�. ,XW &2Y Z�$ (\[*#M]*&7^ W [ / %`_ &

acbed�f�gFh i j0galk9gedOm�n0i h ocpGq�gerGs�geth geucv�i h p�deh i w:qevacxyf�gOz twOj0g`m i jFi h deh i wOqev(wG{|i q�{ m g�r<i }<m gcsGz wGtgeu:p<z gGv

~ �� � � ��� � � �� � � � � ��� � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��� � � � � � � � �

Ad Hoc Adaptation of Processes

���2  ¡(  ¢,£ ¤7¥e¦ §y¨|£ §y©9¦ ¥`§|£ ¤\ª9« ¦ ¤|©X§|¨:¦ ª|¬3§:¦ ¤9­®§|£ ª2¨y©7­®§y©ª2£ ­y¤|£ ¯ ©7¡±°y£ ª7²<¤9¥G¥³.´ i t�µ*i h g<j?{ z wOj¶j0gOqGpG·OwOz uGg<z|i h g<j¸·9s�de¹³.ºO» ¼9» ·:v wOj0g`z gGv h dOpGz dOq�h v0o�d�f�gFn0i z gOm gGv v ·7o�d<q�u:oegOm uFuGg�f<i tgGv(n0i h odc}Gp�h h wOqFs�gOzyj0gOqGpci h g<j ³ twOq<q�geth7u:i z get�h m ¹¸h wFuGdeh d<}�dGv gG·tdGvoe·Ogeh t »

�¾½¶¿9§9¦¸¯ «,²O¨7¥�¦ ª|¬3¤|£(Àl§y©9¦ ¥l§\²Gª2¬\Áy¯ ©7§:¦¯ ª|©X¦¿9§9¦¸¯ ¥<©y ¦,ª2©¦¿9¤M¬3¤y©|¨yÃ

�¾½¶¿9§9¦¸¯ «*¯ ¦  ¥`§M£ ¤7¡2¨|Ä §|£6²:¨9¥e¦ ª2¬Å¤|£  ¥ÅÁy¯ £ ¦¿9­y§9ÆX§y©7­\Æ9ª|¨Àl§|©:¦,¦ ª®¡2¯ Ç:¤M¿|¯ ¬È« £ ¤7¤X²<§|ÉG¤yÃ

��ÊyË7ÌOÍ&Î Ë\ÏGÐ:ѱÐyÒ9Ð<Í(Ó ÔlÏeÐ:Ñ±Ó Õ|Ë®ÏeÌ7ÖÅÍ6×7Ó Ë9Ø,ÙeÚ9ÙOÓ Ë9ÖÜÛ~ Ý� � � ��� � � �� � � � � ��� � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��� � � � � � � � �

Ad Hoc Adaptation of Processes…

���2  ¡(  ¢0Þ,¯ ²:ÉO ¥l¥G§|ÁyÁ:§9¦¯ ²<§|Ä7¯ ©±ß:£ §y©7²G¤³?à w ¼ geh7dc}�d<q<µ6dettwOp<q�h ·<¹�w:pFq�gegGuFh w`s<z wGf<i uGgFd<q*gOm geth z i tei h ¹F}<i m mvo�wGn0i q ¼ ¹�w:pFo�def�g¸d`á�z gOq�t�o*deu<uOz gGv v

³?à w ¼ geh7d<q*gOm geth z i tei h ¹c}<i m m ·<¹�w:pcq�gegeuFh wl}�gcz gOq�h i q ¼ d<qd<s�d<z h j0gOq�h

³?à w`z g<q�h7dOq*d<s�dOz h j0gOq�h7¹�w:pFq�gegeuch w`s<z wef<i uGg`sGz wGwG{9h o�dGh9¹�w:po�d�f�g¸d`}�d<q<µ6dettwOp<q�h

��âyª7ª7¦ ¥e¦£ §|°y°y¯ ©7¡±°y£ ª2ÁyÄ ¤y¬Èã®ÀÅ¿9§9¦¸¯ «6Æ:ª2¨®¬3ª7Ç:¤X¦ ªäß:£ §y©7²G¤§|©7­M¿7§9Ç:¤M©9¤|¯ ¦ ¿7¤|£6§MÁ:§|©|Él§7²G²<ª|¨|©:¦0ª2£6§y©\§7­y­2£ ¤9¥G¥<Ã

�æå<ç7ª2Ä ¨9¦¯ ª|©yè*ãä¿9§9Ç9¤X§X« £ ¯ ¤y©7­\ÀÅ£ ¯ ¦ ¤X§MÄ ¤9¦ ¦ ¤|£6¥G§9Æy¯ ©7¡\Æ9ª|¨Ä ¯ Ç9¤\§9¦*¿|¯ ¥�ée¿9¤|£0¿7ª|¨7¥e¤7¢&§|©7­M¨7¥G¤3¦¿9¤|¯ £6¤|Ä ¤7²G¦£ ¯ ²:¯ ¦ Æ®Áy¯ Ä Ä

18

~ �� � � ��� � � �� � � � � ��� � � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ��� � � � � � � � �

Focus on Existing Processes…

���(²G¦¯ Çy¯ ¦ Æ®¬Åªy­7¤|Ä ¯ ©7¡\¦ ¤|©7­7¥`¦ ª« ªy²O¨7¥`ª2©X¤��y¯ ¥�¦¯ ©7¡±°y£ ª7²<¤9¥G¥e¤7¥³.ºO» ¼9» ·:h o�g v ger�h dOq�h n(dGv(d¸h wGw:mGpev geui qFo�g���� � ������� ��� ������ ��� � ��� � � �! ��� ��� "�� ���� #�$� ��� � � � ! ���&%'� #��� ���#�� (��� ! ��� ��� "�� ��� �)�� #����� ��*��� � ����&%��,+��&-.��� � ���

/10 ��� � *�� � � �&�2� �*�3� *� !,! ��� ��� "�� ��� �)�� #�� � "2�&4'� �&����� � �),� #��� � ���5� �6� #����+ ��4! ��� ��� "�� ��� �),� #����� ��*��� � �3�6�&%'� #�� � ��� 4����3������� � � �)����#��� � -.#�� �#)3� *�&�2� ��� � � � ! ��% � ��"1� � "2����� ! � � ������ �*��� � ���

Graphic © 1996, Cognitive Technologies Corporation

7 89 : ; 9< = < >�? @ A A B CD B E F A G C E H I >�J E B H A G = 8 8 = K H H L M N N J J J O P C O Q @ A A B C @ O P R N K S TA N P E C P < = <

Focus on Existing Processes…

UWV�� �*�� ��#�� �6% �3� � �&-2� �)�� #��� �X�� ����(&� �&���&� � - ����� ! #�*�$� � ! ��� � ����� �&�3�� #���'���3�� ��� �� ! ��� ��� #��� � ���� �% ��� "2�&� � ���&4�+ ��(�'� � ���+Y��%�� #��� � "2�&4���� ��"2��� � ����� � �6� !�Z ��� � � ! � #��� �X�� ���� � �! ��� ��� "�� ���� #����� �*�&� � ���6��� ! � ��(��� �� #�$� ��� � � � ! �

U�[\#���'- �$� ����� � �6- ����� � ! - �&�Y]_^V�`UWV���"2��� � "2�&� �� ����� � �)��$���-a� ��� � ��"�����6)3� *�$��� � #����(&(�3� � �&��� � ��� �� �� � � ! ��������,� "�(&� �&*� ! (&� �&���&� �bdc_e�f g g�h h i j i gk�l m�c_e�f gYj e�f f g�j l m�c_e�f ggk n e�o p�q�r g l e.j pf f o_e�s�l

b1t5f u�pki v p�l i e�k�prq pf f i gf wxc_p�oYc_p�y gYl zi wi cY{ ew w i q�r g

Graphic © 1996, Cognitive Technologies Corporation

7 |9 : ; 9< = < >�? @ A A B CD B E F A G C E H I >�J E B H A G = 8 8 = K H H L M N N J J J O P C O Q @ A A B C @ O P R N K S TA N P E C P < = <

Dangers of Activity Modeling

}�~��_�Y�3���.�2�_�.�2�����x�.� ������Y�'���3���5� �_�'����� � � � ����� � �5� � �' a� ¡��3� ¢��3� �5��� ��  �'� �¡���¡�� �5�£� ��¡��  x�

�d¤x� �¦¥ � ���¦¢�¡���§3�¦�����5� �¦��¨Y��©��'¡��¦� � �' '�5� ¡�� �'���'���.� ��¦� �5� �¦� ª��«� ©'� �

¬ ­® ¯ ° ®± ­ ± ²�³ ´ µ µ ¶ ·¸ ¶ ¹ º µ » · ¹ ¼ ½ ²�¾ ¹ ¶ ¼ µ » ­ ¿ ¿ ­ À ¼ ¼ Á  à à ¾ ¾ ¾ Ä Å · Ä Æ ´ µ µ ¶ · ´ Ä Å Ç Ã À È Éµ à Š¹ · Å ± ­ ±

Towards an Understanding of Required Features

ÊÌË ©'��¥ � �'����¡&¡�¡��¦¨ �5�.©'��¡�©��5� ¥��'�¦� �ÍÏÎ'Ð�Ñ&Ò�Ó Ô Õ Ö�ÐÑ$×�Ó Ø�Ù�Ú Ò�ÛÜÔ Ø&Ý Õ Þ Ö�Ó Ò$ß Ô.Û2Ò�Ö�ÐÕ Õ Ø,Ô Ø3Ú àÒÍÏÎ'Ð�Ñ&Ò�Ó Ô Õ Ö�ÐÑ�á�Ø3ÐÕ Òâ�Õ'Ø&Ý ×�Ó Ø�Ù�Ú Ò�Û

ÊWã �x���3� �3� ��� ��¡�¢5� � ¡ÍÏÎ'Ð�Ñ&Ò�Ó Ô Õ Ö�ÐÑ3ß Ðä�Þ2åØ�Ö�Ó Ò�Õ åÒ�Ö�á�Õ Ø3Ó Ô æ3Þ.åÖ�Õ'Ö�Ó Ò�Õ åÒ�ß Ó'Õ Ö&Ô�ç�Ô

è,é�êë�ë ì�í î ï�ð6ñ ò.ó�ô ï�õ ö&÷�ô ïYð�ø ÷�ù�í ÷ú ôûÏü'ý�þ&ÿ�� � � ��ýþ�� ý���� ������� ��� ������� � ��������� ÿ � ÿ�� �������

��� � î ø ��ø î ò_ð�ø ÷�ù�í ÷ú ô�! #"%$ &('*) +�,-%. /�'1032�/3"%. '�) -32�/54 2�67,98�-�);: "(-() 0%. "�'*-%. ". "�<50%4 . "�/=4 2>)�8("7/54 '�) -%2(?�"@"�/50(?�-�)�4 +%27'�A�'�) "3B

19

� �� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Required Features

�"!58(+�,"#�-%4 2()�4 2�6û%$3ÿ�����ÿ��(����ý�� �� �'&���� ý�� � ý���� � � � �þ&ÿ�ý�� ��� �;ÿ�( ��ÿ*� ������� ��� ý����ý � �

û*)3ÿ�ÿ�þ�� ����þ&þ� ÿ,+���� � ÿ.-2ÿ�ý�� ���3ý � ÿ � �0/ ��� � ��ý2143 � �4-2ÿ � ��� ÿ21����0/ ��� �3 � þ&ÿ4/ � � �2165

�"!5&("(-87,14 ) 87'�) 0�/3"32() 'û%$3ÿ�����ÿ��3� ÿ2+���� � ÿ �:9���� ��ÿ����4-;-���ý�� ����� � ��ý�� � � �� � �þ&ÿ�ý�� �_û9� 3� ÿ�����ÿ��%� �<&���� ý�� � ý��.1�����ý&ý����8= ÿ0> �?> @%� �2&ÿ*� ý���������8A��2B

�DC;4 "(, '�) 0�/3"32() '.E�&(-%4 2�)�4 2�6�'û%$3ÿ�����ÿ�� ýÿ�ÿ&þ������������ � � ÿ4/ ÿ������;�� ���� � �þ&ÿ�ý��3� �;9�� ÿ��1ýÿ�B��

�"!58(+�, '�) 0�/�"%2�) E '1&(-%4 2()�4 2�67) +@)�8("7+�) 8("%.#'�)�0�/�"32() '� F� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Required Features

�DG�'479<50�"('�)�4 +52ûIH�� �þ&ÿ�ý��5ýÿ�ÿ&þ���� �JAÿ��.A./ ÿ�� ��� ���#�;+��ÿ � � � �3ý��.3(� ÿ�� ÿ�����ÿ��

�LK +36=4 2ûIH�� �þ&ÿ�ý�� ����ýþ � ÿ�����ÿ�� �.ýÿ�ÿ�þ � �JAÿ��.A./ ÿ�� �� þ&ÿ�ý�� � 3 �� ÿ.-�� ÿ4/ 9ÿ �����%� � ��� ���23(�,/ � � �

�LK +36 +%0()�LM

� N� � � ��� � � �� � � � �� � � � � � � � � ��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � �

Towards External Design

ODPRQ:S6TVURTXW<Q:Y<T[Z\4]�^[Q:Y_a`:bdc0e f0g0e<b6h<i,j0i,e f8k

lJm?n o;pq2n o2n r4q,ps t u.t s t o2n_*v8f6wdx8y z f6{|h f6}0ex8z f6i

O�~�T*S6^[QI]2�:T[QVSdZ T�^:]�TV^[QIT:�d]�T[Z�Q:^[�8Y<T�\�� �;QY<T�\0SdZ�� �<� Q:��]2�:T*Y<T�\�� �;QV���J]2�:T�Z T���W<� Z T�YX\4��\4]�T[��T�^:]2W<Z T�\

� �� � � ��� � � �� � � � � ��� � �   � ¡ � � ¢ £ ��¤ � � ¢ � ¡ � ¥ ¥ � ¦ ¢ ¢ § ¨ © © ¤ ¤ ¤ ª « � ª ¬ � � � � � � ª « ­ © ¦ ® ¯�� © « � � « � � �

External Design for Teacher Side of System

O±°²T�^�Sd�:T[Z³�:^�\%´:µXU%� ]2���<� �;��¶�\�·:T�T�YX¸.Qd]�T[Z�Q:T:]^�S6S6T�\?\

O±°²T�^�Sd�:T[Z³�:^�\RT�^�\0T[�8U%� ]2��·:^[� Qd]2� Q:�O±°;UR��S6^[�%T[Z ^�\_a¹Jc?fºh b6»0x?i2f?i¼b8c|f6}?i2f8½?¾ {6f?e }8y ½ ¿ À�b?eÁ?f8z�bdcºe f?}6»4Á6f8z¾ ³y {�f|}�c6Ãd½ f�¿

_*ļy »0z bdÅ6Á6b8c?f6i¼}8½ ½ b6±e f?}6»4Á?f8z�e bÇÆ?fÈÁ6f?}8z {È}6i³Á?f0É�i.Á?fkÊb6Ë0f6i¼}8z bdx�c6{

O±°²T�^�Sd�:T[ZJS6^[Q��:T*\4]�^[Q:Y;� Q:��^:]ÌT�^�\4T[� Ͳ��Z¼\�� ]]2� Q:��^:]Sd�:^[� ZÎU%� ]2��´:µ

20

� �� � � ��� � � �� � � � � ��� � �   � ¡ � � ¢ £ ��¤ � � ¢ � ¡ � ¥ ¥ � ¦ ¢ ¢ § ¨ © © ¤ ¤ ¤ ª « � ª ¬ � � � � � � ª « ­ © ¦ ® ¯�� © « � � « � � �

System Modes

��� f6}?»0Á?f8z�».}�cRk³b6Ë?fRÆ0f?e ÂJf6f�cºÂ³Á8y »0Á|b?h�e ¼bÈ»2}8k³f8z }6i³y iÆ�z b�}6{�»2}6i�ey c6Ã|Ë�y }ºi4Å?b��2f�c|».b8k|kÊ}�c6{��� o�[o���o� r0s o,q,p� �o�8t n���q4t ��s t ��� � �q� �²s ����q�� ���,u�o��?s �����Js �p�� t p���q��[o�! �p"�����[q����²s �²p� �q���2o;pq�[o� q

�$# `'{dy i4Å�½ }?j?iJ³y c6{6b6Â�i.Á6b6³y c6ÃÈ».}�kÊf8z }ºË�y f?Â�i2bºe f?}6»4Á6f8z�0c6b6ÂJiJ³Á?}?e % i³Æ0f8y c6ÃÇÆ�z b6}6{�»2}6i�e

�'& e x6{�f�c?e[w8x6f?i,ey b8c6iJ}8z fºe j�Å?f6{�À:}8c6{Èi.Á?b? x8ÅÈy c|}R½ y i,e<bdceÁ?f # `�)( � � �!��n�s o,q,p� �o�?s ���2o,q��*�[t s �+� �o2n s t ���,n�q,s6q��!� ���!� t q,s o;s t �[oJt �� o,ps !� o

�), o,q,p� �o�?q�,n ��o�� n-�.;n"��o,q���t ���� /� � � ��� � � �� � � � � ��� � �   � ¡ � � ¢ £ ��¤ � � ¢ � ¡ � ¥ ¥ � ¦ ¢ ¢ § ¨ © © ¤ ¤ ¤ ª « � ª ¬ � � � � � � ª « ­ © ¦ ® ¯�� © « � � « � � �

System Modes

O±°²T�^�Sd�:T[ZJS6^[Q�W�\0T*S6���V�%^[Q:Y[\R��Q�´:µ±]���\4U%� ]�Sd�]��10?T:�:T[Z Sd� \0T-2È�%��Y<T_ & e x6{�f�c?e i¼».}�c|i�ey ½ ½0i2f6fRÅ0}8y c0ey c6ÃÇy cºe Á?f8y z�³y c6{�b6¼À<Æ6x?e¼bdz �Ìb8c|f?g0f8z »0y i,f6i

_ � f6}?»0Á?f8z�».}�cRx?i2fºË0bdy »2f|».b8k|kÊ}�c6{�iÎe b|i2»0z bd½ ½4e Á8z b8x6ÃdÁ½ y i,e[b6h<i�ex6{6f�c?e % iJf6}?i2f8½ i

_ � f6}?»0Á?f8z�».}�cRx?i2fºË0bdy »2f|».b8k|kÊ}�c6{|e bRkÊ}3�2fi,ex6{6f�c?e % iJf6}6i,f8½0}?Ë0}8y ½ }8Æ�½ fºh bdz�Ë�y f?³y c6ÃRÆ0jºb6e Á6f8zi,ex6{6f�c?e i

ODT:]�S54