��ࡱ�>�� ����� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������(���� � �r��^Additional references to constructing use cases�/�0��L�DTimes New Roman�,3|�d�v�0|�(� 0� �`�����.� @�n��?" dd@��������� @@``��H�@��tK / ' 2c�$�������@��������u�ʚ;2N��ʚ;�g��41d1dv�0p�v�������p�pp�@<�4!d!d`� 0,��-3<�4dddd`� 0,��-3��F�>�___PPT9� ��?��%����������� � � � ������ ������������ `� ��������������`� ������̙33�������`� ���333������MMM���`� ���ff3��3�3�3���f`� ��������f������`� ���������f���`� ������3�����������>��?" dd@���������,�|��?" dd�@��������� � � �" �@� �`��� �n��?" dd@��������� @@``��P�R @ ` �`�p�>��>��� ��f�( � ��� � ��6��3������ ����P��3 �T�� Click to edit Master title style�!� !� � ��0�43����� ������3 ���RClick to edit Master text styles Second level Third level Fourth level Fifth level�! � S� � ��0��3����� �`�`���3 �>��*��� � ��0��3����� �`����� 3 �@��*��� � ��0�"3����� �` ����3 �@��*���H ���0�������h�� ?� ������̙33������� �Default Design������0��0�( � ��� � ��0�2��������@� �V��Introduction to UML (Part 1)�(2 �� � ��0�2���������� �:��Contents� 2 �� � ��0�P2�������@00` �D��The Analysis Phase� 2��� � ��0��2������� �1 �D�<�4�___PPT9�� �@���Understanding the Requirements Defining Use Cases The Conceptual Model Sequence Diagrams UML Contracts (Fusion Schema)�z 2z�� @`���H ���0�������h�� ?� ������̙33�������������@���( � ��� � ��0�$J2���������P �O��Requirements Analysis�(2��� � ��0��N2�������@�F�,$�D0 �2���Use Cases A narrative describing the sequence of events of an actor (external agent) using a system to complete a process.�} 2 t�P� � ��0�xS2�������� �,$�D0 ���`Example Making a Withdrawl from an ATM Machine�1 2*� �g� � ��0�`Y2�������`���,$�D0 ����Use case: Withdrawl Actors: Customer Type: primary* Description: A customer arrives at an ATM machine, inserts her Debit Card into the machine, enters her passcode when prompted to do so, selects the Withdrawl option from the menu of choices presented, enters the amount in increments of the appropriate denominations, and if the amount specified is less than or equal to the limit allowed and less than her current balance, bills are dispensed, the amount deducted from her account, and her Card returned. �`6 2�072 1 += �> �( 8��l �� ��� ���� �� �,$�D0�� � ��0��2�������@��� �M��defined on next slide� 2�ZB �B s�*D������ 0 0 �H ���0�������h�� ?� ������̙33��������K�����P����( � ��� � ��0�T�2��������`�7 �O��Requirements Analysis�(2��� � ��0��q����������`� �f���In the use case example on the previous page, noun phrases have been underlined, and verb phrases, written in italics. Use cases are vehicles for identifying the concepts in the problem domain and the associations between these concepts. �8� 2������ � ��0�y����������� �n���The Type field in the previous example may be either: primary use case represents major or common process. secondary use case represents a minor or rare process. optional use case represents a frill that may not be implemented�j6 2� 2.0 0G�H ���0�������h�� ?� ������̙33������������w`�h��( � �h�� �h ��0�03����������� �O��Requirements Analysis�(2��� �h ��0�7������������,$�D0 �W��%Use cases and Functional Requirements�& 2&�#� �h ��0�h;���������p@��,$�D0 ����;End users have goals that they want the system to help meet�8< 2(�W� �h ��0�Do���������p�� �,$�D0 ����oUse cases capture these goals and describe the functional requirements of the system needed to meet these goals�8p 2/*�f� �h ��0�����������P p�<�,$�D0 ����~A use case is a collection of related success and failure scenarios that describe the actions of the system to support a goal.�8 2: <�5� �h ��0��&��������� p���,$�D0 ���iA scenario is a specific sequence of actions and interactions between actors and the system being modeled�j 2j�H �h��0�������h�� ?� ������̙33��������������p�l��( � �l�� �l ��0�L�����������7 �O��Requirements Analysis�(2�� �l ��0��������������,$�D0 �t��B Fully Dressed Use Case template�" 2"��� �l ��0�D(��������P p�,$�D0 �L��Use Case name (and number)� 2��� �l ��0�L+��������PJ�,$�D0 �P��The goal being described� 2��� �l ��0��.�������������,$�D0 �?�� Primary Actor� 2��� �l ��0������������p��,$�D0 �L��Stakeholders and Interests� 2��� �l ��0��V��������0 ��P �,$�D0 �?�� Preconditions� 2��� � l ��0��Y��������� ����,$�D 0 �A��Post-conditions� 2��� � l ��0��\��������0�� P �,$�D0 �G��Main Success Scenario� 2��� �l ��0����������� �� ��,$�D0 �O��Extensions or Alternate Flows� 2��l �� 0* �l�� 0*�,$�D0��� �l ��0����������0p0* �d��,Parentheses here are used to denote optional�- 2-�TB � lB c�$D����� `0`�ZB �l� s�*D������ � `�b� �l ��0�,��������P0� �,$�D0 ����tCaptures behaviors related to each stakeholder s interests�; 2;�# �� �l ��0���������0 0���,$�D 0 ����SStatements that must be true before and after the successful completion of the goal�T 2T�2� �l ��0�\N��������00���,$�D 0 ���fRecords all interactions between actors, and validations of actions and changes of state by the system�g 2g�)� �l ��0�P���������`����,$�D0 ���/Additional references to constructing use cases�0 20��!0�/�H �l��0�������h�� ?� ������̙33���������������N�( � ��� � ��0���������� �@g �O��Requirements Analysis�(2�� � ��0�������������� �M��In specifying the requirements for the system to be built, the analyst must identify the boundaries of the system, the Actors (or outside agents) that will interact with the system, and the high level use cases that outline the processes that the system will be called upon to perform.� 2�� � ��0�������������0� �J��In the example illustrated on the next slide, this process of identifying the system boundary along with the actors that interact with the system, and the complete set of high level use cases for this system, is depicted diagrammatically for a Point of Sales Terminal (POST) System.� 2�H ���0�������h�� ?� ������̙33��������O�������-.���( � ��� � ��0��T���������p`7 �O��Requirements Analysis�(2�� � ��0��@��������� �� �C��System Boundaries� 2�� � s�*�������@��@�,$�D0�F�l � p�� ��`@�� �,$�D0�Z2 � s�*�������p���TB � c�$D�������p�TB � c�$D���� ����TB � B c�$D�����p�� �TB � c�$D�����p � �F�l ����� ������ �,$�D0�Z2 � s�*�������@���TB � c�$D�������TB � c�$D����� �TB �B c�$D������ � �TB � c�$D����� P� ���l � �� ��� �p�,$�D 0�Z2 � s�*������� ���� � ��0�`F��������� `� Z �@��Log in�(2���l � p�� �� ��,$�D0�Z2 � s�*������� p�� �� � ��0�l���������� @� �C�� Buy Items� (2 ��l ��� ����� �,$�D0�Z2 � s�*��������� �� � ��0�d���������` @�� �R��Refund Purchased items� 2��� � ��0�ă��������p�`j�,$�D0 �8��POST� 2��� � ��0�Xz��������0��* �,$�D0 �;��Cashier� 2��� � ��0�D<����������0��,$�D0 �<��Customer� 2 ��l ��� ` �#��� `�,$�D0�ZB �� s�*D������ p�ZB � s�*D������0 �ZB � s�*D������� `�8�l ���0 �$���0�,$�D0�ZB �!B s�*D��������� �ZB �"B s�*D������� 0��� �% ��0�Ѐ��������� � �,$�D0 �H��System to be built� 2���l �� �� �(��� ��,$�D0�Z �& s�*�������� ���� �' ��0����������P 0@P �<��Actors� 2��l ��p�� �+�p����,$�D 0�Z �) s�*��������p���� �* ��0�P���������� �� �N��Add high level use cases� 2��l �pp�� �.�pp���,$�D 0�Z �, s�*�������pp���� �- ��0�H��������� �W��!Indicate Actors for each use case�" 2"�H ���0�������h�� ?� ������̙33��������o�������( � ���� � ��0������������0 ���^System Analysis Building the Conceptual Model�0(20�� � ��0������������� �=��Terminology� 2��� � ��0�����������p�� �r���Concept Idea, thing, or object in the the problem domain Class Realization of a concept in the design and implementation of the system. Attribute Descriptive characteristic of a concept Association An ongoing relationship between concepts. �`� 2 1L) +�H ���0�������h�� ?� ������̙33����������� � ��,�S �( � �,��� �, ��0��������������� ���^System Analysis Building the Conceptual Model�0(20�� �, ��0��e���������`0�,$�D0 �l��:In constructing an object-based system, one must begin by:�; 2;��� �, ��0��i��������`�`f�p$�D0�<�4�___PPT9�� ���gIdentifying the objects (classes) that collaborate to produce the required functionality of the system.�h 2h���� @`����� �, ��0��a������������t$�D0�@�8�___PPT9�� ����Identifying the long-term associations between classes of objects that have to be remembered ;� `! ��2`���� @`���� �, ��0�����������`p��,$�D�0 �o��7Start by identifying the Concepts in the problem domain�8 28�^� �, ��0�pX��������� ��t$�D�0�@�8�___PPT9�� ����0Identifying the data that each object must hold;� 1! ��21���� @`��� � � , ��0��Z��������� `���,$�D�0 �v��>These are the attributes of each Concept in the problem domain�? 2?�� � , ��0�,���������`��t$�D�0�@�8�___PPT9�� �����Identifying the messages to which an object must be able to respond, who they are sent by, and what behaviors an object is required to exhibit.� �! ��2����� @`���� �, ��0�p����������`�� �,$�D�0 �w��?To what kind of objects do members of each class send messages?�@ 2@�/� �, ��0�(����������0`Z�,$�D� 0 ���cAdding behaviors (and the algorithms for implementing them) is a major focus of the design process�d 2d�H �,��0�������h�� ?� ������̙33�����������}�u��0���( � �0��� �0 ��0�\����������P� ���`Systems Analysis Building the Conceptual Model�1(21�� �0 ��0��`3�������`�`��,$�D0 ����>Structure of a Class (The progressive refinement of a Concept)�(? 2)���l �� � 0���,$�D0�Z �0 s�*���������TB �0 c�$D��������� �0 ��0�lf3�������`�� �8��Name�(2��� �0 ��0��i3�������@� �x��Fprimitive data members object data members references to other objects�G 2G�TB �0 c�$D����0�0�� � 0 ��0�tn3�������p 0@ �9��methods� 2���l � 0�* �0�0 �*�,$�D0�� � 0 ��0�q3�������v0�* �I��Class name or label��ZB �0B s�*D����� �����l ����z �0����z�,$�D0�� �0 ��6�4u3�����������z �B�� attributes� 2�`B �0B ��0D�������P��l �� p�j �0�p� �j �,$�D0��� �0 ��0��y3�������@p�j �x��Integers, reals, Strings, etc.� 2� �ZB �0B s�*D������ �� ���l �� ` � �0�` � ��,$�D0��� �0 ��0��}3�������@` � �f��.Bound objects opaque to the rest of the system�/ 2/�ZB �0B s�*D������ � ��l ��� �0����,$�D0��� �0 ��0�3�������p�� �k��3Independent objects that receive messages from this�4 24�ZB �0B s�*D��������t�l �0��� �0��0���,$�D0�� �0 ��0�l�3�������� ��� �.���Behaviors of the object (needed to respond to messages it receives) includes method name, parameter list, and return type�| 2|�ZB �0B s�*D�����0� P � �H �0��0�������h�� ?� ������̙33��������$ ��� �� � �d �( � � ��� � ��0���2����������� ���^System Analysis Building the Conceptual Model�0(20��� � ��0��2��������P0 ���ZStep 1 Identify concepts from the use cases�(. 2 $�v� � ��0�Е2�������P�`p�,$�D0 ����tExample Consider the Withdrawl use case previously shown�0; 2 � �6� � ��0��2�������p�`1�,$�D0 ����Candidates Noun phrase Decision Customer Concept (Actor) ATM Machine Concept Debit Card Concept passcode Concept Menu of options Concept Withdrawl option Concept Amount Attribute (of Transaction) Increments & . Constraint Limit allowed Concept Account Concept Current Balance Attribute of Account Bill (Currency denomination) Concept�f8<20<2Q022Q�,o# ��j� � ��0�,2�������0��*�,$�D0 �����If it exists in the problem domain and is not a number or text, it s a concept.�P 2P�H � ��0�������h�� ?� ������̙33��������,��� �� ��$�l �( � �$��� �$ ��0��3���������` ���^System Analysis Building the Conceptual Model�0(20�P� �$ ��0���3��������0 �,$�D0 ���xStep 2 For each concept identified, draw a rectangular box�(= 2 3��l ��p� � �$�p�� � �,$�D0�Z �$ s�*��������p� � �TB �$ c�$D������� ��� �$ ��0�(�3���������� � �;��Account�(2��� �$ ��0�h�3���������� � �^��,ID_num: String owner: String balance: double�-0(2-���l �� �0� �$��� 0��,$�D0�� � $ ��0��3�������0�0� �G��Name of Concept� 2�ZB � $B s�*D������ 0�0���l �� ��� �$��� ���,$�D0�� �$ ��0���3���������� �B�� Attributes� 2�ZB � $B s�*D������ @�@�� �$ ��0�ܫ3�������� ��~�,$�D0 �p��:In the first Conceptual Model it is not necessary (nor necessarily desirable) that all of the attributes and their types be listed. You should limit yourself to just those attributes appearing in the use cases, and you should not list the types. (It is an implementation detail left for the Class Model Diagram.)�; 2;�H �$��0�������h�� ?� ������̙33��������t��$���(��( � �(��� �( ��0���3���������7 ���^System Analysis Building the Conceptual Model�0(20��� �( ��0�t�3�������� �r��8Step 3 Adding associations� 2 ��B �(@ c�$D������ �,$�D0���l ��`�� � (�`��� �,$�D0�Z �( s�*��������`�� �TB �( c�$D���������� � ( ��0���3����������w �>��Customer� (2 ���l �� 0�� � (�0� �� �,$�D0�Z �( s�*�������� 0�� �TB �( c�$D����� ����� �( ��0���3�������� `�G �=��Account�(2�� �( ��0���3���������`� �,$�D0 ����MAn association has a label reading from left to right (or from top to bottom)�N 2N�� �( ��0��3����������z�,$�D0 �~��FAssociations can be discovered from the verb phrases in the use cases.�G 2G��� �( ��0�0�3�������� ��,$�D�0 �6��owns� 2���l �0 �(�0�,$�D0�Z �( s�*�������0�� �( ��0���3��������� ���`A customer may have multiple bank accounts as indicated by the multiplicity star (* = 0 or more)�a 2a��� �( ��0��3������� `� @�,$�D�0 �1��*� 2��l �P�� �(�P���,$�D 0�Z �( s�*�������P����� �( ��0���3�������p��� �s��;An Account may have a multiplicity of 1 or 2 (joint) owners�< 2<��� �( ��0��3��������� ��,$�D 0 �6��1..2� 2�H �(��0�������h�� ?� ������̙33��������p�� ���/1`��( � �`��� �` ��0���3��������P`� ���^System Analysis Building the Conceptual Model�0(20���l �p��0 �`��p�0 �,$�D0�Z �` s�*�������p��0 �TB �` c�$D����p��� � ` ��0���3�������� � �A��Product Catalog� 2���l �p�P �`��pP�,$�D0�Z �` s�*�������p�P�TB � ` c�$D����ppPp�� �` ��0�@�3���������T �I��Product Specification�(2�� �` ��0���3����������� �=��description� 2�� � ` ��0���3��������0 � �7��price� 2�� �` ��0���3��������� � �5��UPC� 2���l ��0�� �`�0����,$�D0�Z �` s�*��������0���TB �` c�$D������ �� �� �` ��0�0�3�������``�G �9��Store�(2�� �` ��0��2�������� 0k �>��name address� 2 ���l ���p@ �$`���p@�,$�D0�TB �` c�$D�����p�� �!` ��0�$�2�������� @@ �1��*� 2�� �"` ��0�D2�������� 0 �<��stocks� 2�� �#` ��0�$�2����������� �3��1� 2���l � 0 0 ` �+`�0 0 `�,$�D 0�TB �` c�$D����0 0�� �%` ��0�ī2������� @�` �1��*� 2�� �&` ��0���2�������pP 0 7 �=��used_by� 2�� �'` ��0�0�2������� 0 * �3��1� 2���l ���p� �,`���p��,$�D0�TB �` c�$D������p��� �(` ��0�d�2��������� � �3��1� 2�� �)` ��0�<�2�������� �p� �1��*� 2�� �*` ��0�0�2�������� ��� �>��contains� 2 �l� �-` ��0�(�2���������,$�D0 �����Distinguish between the physical object and the specification of that object when: deleting the physical object leads to loss of information that needs to be maintained�� 2���l ��@P �/`��@P �,$�D0���@ ��@P � `��@P �TB �` c�$D������ �� �` ��0� �2�������0P �3��*� 2�� �` ��0���2�������p@W �?�� describes� 2 �� �.` ��0�D�2��������@�: �3��1� 2�$�l �p �� �1`� p���,$�D0���@ �p �� �`�p ���R�@ �p �� �`�p ���Z �` s�*�������p ���� �` ��0�T�2��������P P7 �8��Item�(2�TB �` c�$D����p@�@�� �0` ��0���2��������pW �:��serial #� 2 �H �`��0�������h�� ?� ������̙33�����������{�s�d��( � �d��� �d ��0�@�2���������� ���^System Analysis Building the Conceptual Model�0(20��� �d ��0���2�������� �. �s��CDuring a later elaboration, we will convert the conceptual model into the Class Diagram (also called the Object Model Diagram). At that time we will not only add classes from the solution domain (the domain of the software implementation), but we will also add additional refinements to the description of the associations�D 2D�H �d��0�������h�� ?� ������̙33�����������C�;�4���( � �4��� �4 ��0�D�2��������P� �z��@System Analysis Use Case Model�!(2!��� �4 ��0��2�������`��2�,$�D0 �����Use case model diagrams illustrate the operations that Actors request of a system (system Operations) and the external events (if any) that the system produces as a result of each operation.�� 2���� �4 ��0���2�����������,$�D0 �2���Computer systems do not initiate events they can only respond to requests or stimuli from agents outside the system boundary. Each system operation will initiate changes in the state of the system that may be accompanied by an output (external event).�� 2��_� �4 ��0���2���������@��,$�D0 �����It is the job of the analyst to establish the pattern of collaboration between the objects in the system needed to perform each system operation.�� 2��H �4��0�������h�� ?� ������̙33�����������D�< �&&8���( � �8��� �8 ��0������������� ����RSystem Analysis Use Case Model Diagrams�*(2*�}�l �@p� �8�p@� �,$�D0�TB �8 c�$D����� �� �� �8 ��0�@���������@p� j �=��:System�(2�~�l ���@� �8���@��,$�D0�TB �8 c�$D����`�`��� �8 ��0�t�����������@� �>��Customer� (2 �}�l ����� �8������,$�D0�TB �8 c�$D���������� �8 ��0��������������� �=��Cashier�(2��l �� ��� �8��� ���,$�D0�ZB � 8B s�*D������ ������ � 8 ��0�x���������@��� �c��enteritem(UPC,quantity)� 2� ��� �8 ��0����������� ���,$�D�0 �@��while items do� 2��l �� @�0 �8�@� �0�,$�D�0�ZB �8B s�*D������ 0�0�� � 8 ��0����������� @ ' �U�� endSale()� 2 ���l �`��� �8��`���,$�D 0�ZB �8 s�*D�����`������ �8 ��0�<������������ w �u��presentCard(CreditCard)� 2�$ ��l �� @00 �8�@� 00 �,$�D 0�ZB �8B s�*D������ 0 �0 ��� �8 ��0�����������@0' �a��recordPayment(amount)� 2� ��� �8 ��0��������������� �,$�D0 �=��if accepted� 2��� �8 ��0�x����������`��,$�D0 �_��)Example taken from the use case Buy Items�* 2*�F�l ��� pP � 8�p ���,$�D0�Z2 �8 s�*�������P� p�TB �8 c�$D�����p�`�TB �8 c�$D������p��TB �8B c�$D���� `�P �TB �8 c�$D�����`pP �T�z ��� pP �!8���p ��,$�D0�Z2 �"8 s�*�������P� p�TB �#8 c�$D�����p�`�TB �$8 c�$D������p��TB �%8B c�$D���� `�P �TB �&8 c�$D�����`pP �H �8��0�������h�� ?� ������̙33�����������|�t0�<��( � �<��� �< ��0�h����������P� ����FSystem Analysis Sequence Diagrams�$(2$��� �< ��0������������� ����VTo construct a use case model diagram for a typical sequence of events for a use case:�W 2W��� �< ��0�T��������pP���D�<�4�___PPT9�� �R��Draw a vertical line representing the system as a black box. (We are only concerned with the stimuli and response of the system not its internal details.) Time increases in the direction of the line from top to bottom. Draw a line for each Actor identified in the use case. Identify the system Operations that each Actor generates, and indicate them as directed horizontal line segments arranged in sequence on the diagram. Indicate with textual notes those operations that occur conditionally or repeatedly.� 2���� @`���H �<��0�������h�� ?� ������̙33�������������@�@�=�( � �@�� �@ ��0������������� �V��System Analysis -- Contracts�(2��� �@ ��0����������p�p� �d��2For each System Operation a Contract will indicate�3 23�{� �@ ��0��.����������� ����Name: Name of the system Operation Description: Brief narrative Collaborating Objects (Classes) Creates: Classes of objects created Changes: Classes of objects whose state is changed Reads: Classes of objects read, not altered Output: Value or object returned Preconditions: States that will not raise an exception Exception: Action taken if preconditions not met\ Post-conditions: State of system after completion�(0<2� 2��� @`���H �@��0�������h�� ?� ������̙33��������$��� �� P� D�d �( � �D�� �D ��0��3���������P`� �V��System Analysis -- Contracts�(2��� �D ��0�,8���������� �`��.To make a Contract (Schema) for each use case:�/ 2/�Y� �D ��0�pD���������� �D�<�4�___PPT9�� ���5Identify system operations from the sequence diagrams�F6 2 ���������� @`���1� �D ��0��J��������P�0p�H�@�8�___PPT9�� ����/For each system operation, construct a contract� 0! ��20���� @`����� �D ��0��O��������p��\�H�@�8�___PPT9�� �����Start by writing the Description, informally describing the purpose of the operation (in terms of the concepts previously defined)� �! ��2����� @`���Z� �D ��0��W��������p��v �H�@�8�___PPT9�� ���XList the preconditions that must be true for this operation to be successfully completed� Y! ��2Y���� @`���x� �D ��0�b��������P ��< �H�@�8�___PPT9�� ����vDescribe the post-conditions, listing objects created or dissolved, attributes modified, associations formed or broken� w! ��2w���� @`���� � D ��0��r�������� ���H�@�8�___PPT9�� �����From the description and the post-conditions, determine which (classes of) objects are created, changed, or read during the implementation of the operation.� �! 2����� @`���H �D��0�������h�� ?� ������̙33������������`�H�P�( � �H�� �H ��0�y����������`7 �V��System Analysis -- Contracts�(2�r� �H ��0�d}�����������I ����Example: Consider a system operation in the ATM example processWithdrawl(amount: double) �` 2`�>��� �H ��0����������0��� ����<Description: If the amount indicated is less than the balance in the customer s account, is less than or equal to the transaction limit, and is divisible by the minimum denomination, then a transaction occurs in which the customer s account balance is reduced by the amount of the transaction, the transaction is recorded by the bank, and the customer is issued money and a receipt.�(� 2��H �H��0�������h�� ?� ������̙33��������z��*�"p�L��( � �L�� �L ��0������������0� �V��System Analysis -- Contracts�(2��� �L ��0�����������p�`3 �d��Precondition: The amount of the transaction is less than the customer s account balance, AND the amount is less than or equal to the transaction limit, AND the amount is divisible by the minimum denomination Exception: The failed transaction is recorded by the bank and no money is dispersed to the customer. The transaction is dissolved and a new menu is presented.�:� 2���H �L��0�������h�� ?� ������̙33��������&�������P��Z�( � �P�� �P ��0�������������0 �V��System Analysis -- Contracts�(2��� �P ��0����������0��� �,$�D0 �e���Post-conditions: Transaction is completed Account.balance changed Transaction.data added to BankRecord StartMenu is displayed Account association is discontinued�z� 2 �b4���l ����� �P������,$�D0��� �P ��6�������������� � �_��)Instances of creation/deletion of objects�* 2*�v�T ����0 �P#������0�TB �P c�$D����P0�0�TB �P� c�$D�������0�ZB �PB s�*D������������ ��� � �P#����� ��,$�D0�� � P ��0������������� � � �L��Attribute Modification� 2�TB � P� c�$D������P �ZB �P s�*D����������l �P0J �P�P0J�,$�D0�� �P ��0������������P0J �H��State transition� 2�ZB � PB s�*D������ ����l ��� �� �P�� ��� �,$�D0�� �P ��0������������P � �R��Association formed or broken� 2�TB �P c�$D����� � �ZB �P� s�*D������� � �H �P��0�������h�� ?� ������̙33��������4�������T�t�( � �T�� �T ��0�l����������P` �V��System Analysis -- Contracts�(2�~� �T ��0�����������` �H ����Changes: Account.balance Transaction.data BankRecord Menu Reads: Account.balance Transaction_limit Min_denomination Creates/Dissolves: Transaction Output: Bills to Customer�^� 2 : 9 �1��H �T��0�������h�� ?� ������̙33��������l�����X��( � �X�� �X ��0�������������7 �H��Analysis Phase�(2��� �X ��0�x���������� �� �d��2This concludes the formal analysis stage. As you proceed with the design in later elaborations, concepts will become more clearly delineated, omissions will be recognized, and you will undoubtedly return and refine your analysis models. Realize that the whole purpose of this exercise is to improve your design and facilitate the implementation and maintenance of your system. The analysis and design is not an end in itself, but a precursor to the construction of a robust and useful system. Building a significant software system with inadequate analysis and design is analogous to constructing a major building without appropriate blueprints and architectural models. Every step in the analysis and design should ultimately translate to the implementation details, or else it is an inherently useless exercise.�3 23�H �X��0�������h�� ?� ������̙33�����������\�T��\���( � �\�� �\ ��0��������������� �B�� Postscript�(2� � �\ ��0�����������@��* ���I met a traveller from an antique land Who said: Two vast and trunkless legs of stone Stand in the desert & Near them, on the sand, Half sunk, a shattered visage lies, whose frown, And wrinkled lip, and sneer of cold command, Tell that its sculptor well those passions read Which yet survive, stamped on these lifeless things, The hand that mocked them, and the heart that fed: And on the pedestal these words appear: My name is Ozymandias, king of kings: Look on my works, ye mighty and despair! Nothing beside remains. Round the decay Of that colossal wreck, boundless and bare The lone and level sands stretch far away. Percy Bysshe Shelly 1818��0K2��P , f ��H �\��0�������h�� ?� ������̙33�������rt���}\!�El@�\@�l���Pbkpg����r�w����=k�����'�/�� �#B���(���� � �r��^Additional references to constructing use cases�/�0��L�DTimes New Roman�,3|�d�v�0|�(� 0� �`�����.� @�n��?" ddge�F !Times New RomanDefault DesignPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationF � �r��^Additional references to constructing use cases�/�0��L�DTimes New Roman�պt�\� )0t�Y�0h� �`�����.� @�n��?" dd@��������� @@``��p�h��!x �r��^Additional references to constructing use cases�/�0��L�DTimes New Roman�,3|�d�v�0|�(� 0� �`�����.� @�n��?" dd@��������� @@``��H�@��tK / ' 2c�$�������@��������u�ʚ;2N��ʚ;�g��41d1dv�0p�v�������p�pp�@<�4!d!d`� 0,��-3<�4dddd`� 0,��-3��F�>�___PPT9� ��?��%����������� � � � ������ ���������r�1�� �1�9B���(���� � �r� �^Additional references to constructing use cases�/�0��L�DTimes New Roman@M�|�d�v�0|�(� 0� �`�����.� @�n��?" dd@��������� @@``��H�@��tK / ' 2c�$�������@��������u�ʚ;2N��ʚ;�g��41d1dv�0p�v�������p�pp�@<�4!d!d`� 0,�,N�<�4dddd`� 0,�,N���F�>�___PPT9� �� ?��%����������� � � � ������ ��������������0��N�( � ��� � ��0�D����������@� �V��Introduction to UML (Part 1)�(2 �� � ��0�$������������ �:��Contents� 2 ��� � ��0����������@0�F �r��@The Analysis Phase (Steps done early in the elaboration process)�A 2A��� � ��0���������� �� �D�<�4�___PPT9�� �0���Understanding the Requirements Defining Use Cases The Conceptual Model System Sequence Diagrams UML Contracts �r 2r�� @`���H ���0�������h�� ?� ������̙33��������������p�l��( � �l�� �l ��0��������������7 �O��Requirements Analysis�(2�� �l ��0��·�����������,$�D0 �t��B Fully Dressed Use Case template�" 2"��� �l ��0�`Ʒ�������P p�,$�D0 �L��Use Case name (and number)� 2��� �l ��0�$ʷ�������PJ�,$�D0 �P��The goal being described� 2��� �l ��0��ͷ������������,$�D0 �?�� Primary Actor� 2��� �l ��0������������p��,$�D0 �L��Stakeholders and Interests� 2��� �l ��0�$���������0 ��P �,$�D0 �?�� Preconditions� 2��� � l ��0������������ ����,$�D 0 �A��Post-conditions� 2��� � l ��0�����������0�� P �,$�D0 �G��Main Success Scenario� 2��� �l ��0�0���������� �� ��,$�D0 �O��Extensions or Alternate Flows� 2��l �� 0* �l�� 0*�,$�D0��� �l ��0�����������0p0* �d��,Parentheses here are used to denote optional�- 2-�TB � lB c�$D����� `0`�ZB �l� s�*D������ � `�b� �l ��0����������P0� �,$�D0 ����tCaptures behaviors related to each stakeholder s interests�; 2;�# �� �l ��0����������0 0���,$�D 0 ����SStatements that must be true before and after the successful completion of the goal�T 2T�2� �l ��0����������00���,$�D 0 ���fRecords all interactions between actors, and validations of actions and changes of state by the system�g 2g�)� �l ��0�(���������`����,$�D0 ���/Additional references to constructing use cases�0 20�� !0�/�H �l��0�������h�� ?� ������̙33�����������F�>0�&&8���( � �8��� �8 ��0�������������� ����TSystem Analysis System Sequence Diagrams�+(2+�}�l �@p� �8�p@� �,$�D0�TB �8 c�$D����� �� �� �8 ��0�,���������@p� j �=��:System�(2�~�l ���@� �8���@��,$�D0�TB �8 c�$D����`�`��� �8 ��0�D�����������@� �>��Custo !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~� 4 ' 2 c�$�������@��������u�ʚ;2N��ʚ;�g��4CdCd )0h�����^���p�pp�@<�4!d!d��0$��ֺ<�4dddd��0$��ֺ��F�>�___PPT9� ��?��%�d�������� �DocumentSummaryInformation8������������4@������������������������������������@��������� @@``��H�@��tK / ' 2c�$�������@��������u�ʚ;2N��ʚ;�g��41d1dv�0p�v�������p�pp�@<�4!d!d`� 0,��-3<�4dddd`� 0,��-3��F�>�___PPT9� ��?��%����������� � � � ������ ���������������0��^�( � ��� � ��0�2��������@� �V��Introduction to UML (Part 1)�(2 �� � ��0�2���������� �:��Contents� 2 ��� � ��0�P2�������@0�F �r��@The Analysis Phase (Steps done early in the elaboration process)�A 2A��� � ��0��2�������� �� �D�<�4�___PPT9�� �@���Understanding the Requirements Defining Use Cases The Conceptual Model Sequence Diagrams UML Contracts (Fusion Schema)�z 2z�� @`���H ���0�������h�� ?� ������̙33�������ro$P,�� K$v1B���(���� � �!���� � � � ������ �����������Oh��+'��0�`h�� �� �� ��PowerPoint PresentationJames Ten EyckeMarist Collegee27iMicrosoft PowerPointon@���[�@ h�{���@�i�f��� G������g �I&������ &����&#����TNPP��2��OMi & TNPP� &����&TNPP�� ����-�-- !���-����-��-&����G��&��������w@: x[��wd��w0- &����G�y�&���� �--��H`-- ����@Times New Roman[��wd��w0-� 33�.12 v�Introduction to UML (Part 1)) .--���X-- 33�����@Times New Roman[��wd��w0-� .2 �bContents.--7q��-- .I2 �,The Analysis Phase (Steps done early in the . .%2 *�elaboration process) .--LyH�-- 33�. 2 k�1.. 33�.62 k�Understanding the Requirements . 33�. 2 k��.. 33�.2 k� Defining . 33�.2 �� Use Cases . 33�. 2 ��2.. 33�.'2 ��The Conceptual Model . 33�. 2 �3.. 33�.+2 �System Sequence Diagrams . 33�. 2 >�4.. 33�.2 >�UML Contracts .--��"System 0-�&TNPP &����: &��������՜.��+,��D��՜.��+,��P������� � ��� ��On-screen ShowMarist Collemer� (2 �}�l ����� �8������,$�D0�TB �8 c�$D���������� �8 ��0�p������������� �=��Cashier�(2��l �� ��� �8��� ���,$�D0�ZB � 8B s�*D������ ������ � 8 ��0��H��������@��� �c��enteritem(UPC,quantity)� 2� ��� �8 ��0�XL�������� ���,$�D�0 �@��while items do� 2��l �� @�0 �8�@� �0�,$�D�0�ZB �8B s�*D������ 0�0�� � 8 ��0��O�������� @ ' �U�� endSale()� 2 ���l �`��� �8��`���,$�D 0�ZB �8 s�*D�����`������ �8 ��0�D������������ w �u��presentCard(CreditCard)� 2�$ ��l �� @00 �8�@� 00 �,$�D 0�ZB �8B s�*D������ 0 �0 ��� �8 ��0�8���������@0' �a��recordPayment(amount)� 2� ��� �8 ��0�t������������� �,$�D0 �=��if accepted� 2��� �8 ��0�����������`��,$�D0 �_��)Example taken from the use case Buy Items�* 2*�F�l ��� pP � 8�p ���,$�D0�Z2 �8 s�*�������P� p�TB �8 c�$D�����p�`�TB �8 c�$D������p��TB �8B c�$D���� `�P �TB �8 c�$D�����`pP �T�z ��� pP �!8���p ��,$�D0�Z2 �"8 s�*�������P� p�TB �#8 c�$D�����p�`�TB �$8 c�$D������p��TB �%8B c�$D���� `�P �TB �&8 c�$D�����`pP �H �8��0�������h�� ?� ������̙33�����������}�u@�<� �( � �<��� �< ��0�T}���������P� ����FSystem Analysis Sequence Diagrams�$(2$��� �< ��0������������ ����WTo construct a system sequence diagram for a typical sequence of events for a use case:�X 2X��� �< ��0�pY��������pP���D�<�4�___PPT9�� �R��Draw a vertical line representing the system as a black box. (We are only concerned with the stimuli and response of the system not its internal details.) Time increases in the direction of the line from top to bottom. Draw a line for each Actor identified in the use case. Identify the System Operations that each Actor generates, and indicate them as directed horizontal line segments arranged in sequence on the diagram. Indicate with textual notes those operations that occur conditionally or repeatedly.� 2���� @`���H �<��0�������h�� ?� ������̙33�������r$�9�A �WBl�F� � �9tB�!�(���� � �r��^Additional references to constructing use cases�/�0��L�DTimes New Roman�9�|�d�v�0|�(� 0� �`�����.� @�n��?" dd@��������� @@``��X�P��t[ / ' 2c�$�������@���������u�ʚ;2N��ʚ;�g��41d1dv�0p�v�������p�pp�@<�4!d!d`� 0,��:�<�4dddd`� 0,��:���F�>�___PPT9� ��?��%������������ � � � ������ ����������������p�l��( � �l�� �l ��0�T������������7 �O��Requirements Analysis�(2�� �l ��0���������������,$�D0 �t��B Fully Dressed Use Case template�" 2"��� �l ��0�����������P p�,$�D0 �L��Use Case name (and number)� 2��� �l ��0����������PJ�,$�D0 �P��The goal being described� 2��� �l ��0�L��������������,$�D0 �?�� Primary Actor� 2��� �l ��0������������p��,$�D0 �L��Stakeholders and Interests� 2��� �l ��0�����������0 ��P �,$�D0 �?�� Preconditions� 2��� � l ��0������������ ����,$�D 0 �A��Post-conditions� 2��� � l ��0�����������0�� P �,$�D0 �G��Main Success Scenario� 2��� �l ��0�D���������� �� ��,$�D0 �O��Extensions or Alternate Flows� 2��l �� 0* �l�� 0*�,$�D0��� �l ��0�����������0p0* �d��,Parentheses here are used to denote optional�- 2-�TB � lB c�$D����� `0`�ZB �l� s�*D������ � `�b� �l ��0�H���������P0� �,$�D0 ����tCaptures behaviors related to each stakeholder s interests�; 2;�# �� �l ��0���������0 0���,$�D 0 ����SStatements that must be true before and after the successful completion of the goal�T 2T�2� �l ��0����������00���,$�D 0 ���fRecords all interactions between actors, and validations of actions and changes of state by the system�g 2g�)� �l ��0����������`����,$�D0 ���/Additional references to constructing use cases�0 20��!0�/�H �l��0�������h�� ?� ������̙33��������� ��^ �V ��p�� �( � �p�� �p ��0�TU����������` �O��Requirements Analysis�(2��� �p ��0��:���������� ��,$�D0 �I��Main Success Scenario� 2�&� �p ��0�|������������,$�D 0 ���*Actor Action System Responsibility�L+ 2 ��� �p ��0�L��������� �3�$�D 0���|�___PPT9�^�V �����User card verified (see Access System) User selects withdrawal option 3. System presents Withdrawal Menu User selects from Checking 5. System requests enter amount User keys in amount 7. System debits amount from user account 8. System dispenses the correct cash 9. System asks if user wants other transact. User says No 11. System prints and dispenses receipt 12. System records transaction at home bank and in consortium computer 13. System disconnects from user s bank 14. System displays Welcome Screen ��'0F20F2.0F20F2+0F20F2�0F2 0F2�0F2'MH��� @`���H �p��0�������h�� ?� ������̙33��������� ��f �^ ��t�� �( � �t�� �t ��0��i����������� �O��Requirements Analysis�(2�� �t ��0�$����������,$�D0 ���/Extensions or Alternate Flows (partial listing)�40 2�� �t ��0�����������`��G�,$�D 0 �|��$Actor Action System Response�<% 2 �Q� �t ��0� ������������,$�D 0 ���� *a Connection to member bank is lost State information must be maintained in ATM 1. Consortium computer reconnects 2. System reconstructs prior state 2a. System unable to reconnect or recover 1. System alerts user of failure 2. System displays Welcome Screen 7a. Amount is greater than account balance 1. System voids transaction 2. System notifies user that the request cannot be processed 3. System displays transaction screen 7b. Amount is not multiple of base denomination 1. System prompts user to re-enter��0F2���l ���P �t���P �,$�D 0��� �t ��0������������� �s��;System failure can occur at any time during the transaction�< 2<���ZB �t s�*D������ P ��l � �� 4 �t�� � 4�,$�D 0��� � t ��0�4}������� �� 4 �t��<There can be more than one alternate path at a numbered flow�= 2=���ZB � t s�*D������ �� ��H �t��0�������h�� ?� ������̙33�����������������( � ���� � ��0�t[����������0 ���^System Analysis Building the Conceptual Model�0(20��� � ��0��_������������,$�D0 �=��Terminology� 2�� � ��0�,c���������p�� �,$�D 0 �r���Concept Idea, thing, or object in the the problem domain Class Realization of a concept in the design and implementation of the system. Attribute Descriptive characteristic of a concept Association An ongoing relationship between concepts. �`� 2 1L) +�H ���0�������h�� ?� ������̙33�������� ��� � �� �D �( � � ��� � ��0��������������� ���^System Analysis Building the Conceptual Model�0(20��� � ��0�����������P0 ���ZStep 1 Identify concepts from the use cases�(. 2 $�V� � ��0��~��������P��p�,$�D0 ����vExample Consider the Withdrawal use case previously shown�0< 2 �6� � ��0�س��������p�`1�,$�D0 ����Candidates Noun phrase Decision Customer Concept (Actor) ATM Machine Concept Debit Card Concept passcode Concept Menu of options Concept Withdrawl option Concept Amount Attribute (of Transaction) Increments & . Constraint Limit allowed Concept Account Concept Current Balance Attribute of Account Bill (Currency denomination) Concept�f8<20<2Q022Q�,o# ��j� � ��0�X���������0��*�,$�D0 �����If it exists in the problem domain and is not a number or text, it s a concept.�P 2P�H � ��0�������h�� ?� ������̙33�������r$gt �ɨ0�|v�,��� CtղB�E�(���� � �r��^Additional references to constructing use cases�/�0��L�DTimes New Roman�8�|�d�v�0|�(� 0� �`�����.� @�n��?" dd@��������� @@``��`�X�|c / ' 2 c�$�������@���������u�ʚ;2N��ʚ;�g��41d1dv�0p�v�������p�pp�@<�4!d!d`� 0,��9�<�4dddd`� 0,��9���F�>�___PPT9� ��?��%�,������������ � � � ������ �������������E�=@��� �( � ��� � ��0��___PPT9� ��?��%�H�������� ����� � � � ������ ����������������|�E�( � �|�� �| ��0� �:���������07 �O��Requirements Analysis�(2�O� �| ��0��H:����������,$�D0 ����A Use Case is a kind of thing or object. Much of the language of the object-oriented paradigm can be applied to the writing of use cases. �� 2��� �| ��0�h�:���������0� �,$�D0 �&���A Use Case may be modularized by identifying abstract or subfunction use cases, and it may be extended when there is need to add conditional steps to a base case that has already been established as being stable.�� 2��9��=� �| ��0���:��������`�,$�D0 ���sThese are two examples of refinements to Use Cases that may be made during later iterations of the Unified Process.�t 2t�H �|��0�������h�� ?� ������̙33��������M������� x���( � �x�� �x ��0�����������0�7 �O��Requirements Analysis�(2�� �x ��0�����������@��`�,$�D0 ����CConsider two Use Case Descriptions for a Library Management System.�$D 2B��� �x ��0�HĘ���������������!��� �� � ��a �( � ���� �� ��0�,���������@� �O��Requirements Analysis�(2��� �� ��0��]�������` ��,$�D0 �C��Check-out Books� 2��� �x ��0��ۘ��������0���,$�D0 �B��Check-in Books� 2�F� �x ��0��̘���������L�t$�D 0�@�8�___PPT9�� �j��Patron hands card to librarian Librarian swipes card 4. System verifies Patron s ID 5. System retrieves Patron s account�&5U��� @`���\� �x ��0�l :���������S �t$�D 0�@�8�___PPT9�� ���� Patron hands card to Librarian Librarian swipes card 4. System verifies Patron s ID 5. System retrieves Patron s account�.50F2\0F2��� @`���� �x ��0�H?:�������� ���,$�D0 �&��� Factor out the sequence of actions common to more than one use case and create a new Use Case Verify Patron�,p 2b���0� � x ��0�H:�����������,$�D0 ���P2. Process Patron s Card: Verify Patron�0) 2 ��� � x ��0��5:�������� �`�,$�D 0 �R���The new Use Case is an Abstract Use Case -- It is never instantiated by itself, but is a subfunction Use Case. �t 2t���,\�(�l �� �� � x��� � �,$�D 0�D� �x ��0��M:�������0�� ����� Include notation shortens the Use Case notation and modularizes the description.�S 2S�`B �xB ��0D����o���� `0`�H �x��0�������h�� ?� ������̙33�������r�� N�A��� ���� B���(����Root Entry����������d�O�����)�мp�f����Current User������������KJSummaryInformation(���������PowerPoint Document(����� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� !"#$%&'()*+,-./0123����56789:;<=>?@ABCDEFGHIJML����N��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������onts UsedDesign Template Slide Titles� 8@_PID_HLINKS�A��&_���\��Marist CollegeMarist College����@Times New RomanC�wC7http://www.smartdraw.com/resources/centers/uml/uml.htm--7q��-- �pP�j�,$�D0 �f��.An example of extending a Use Case Description�/ 2/��� �� ��0�0u���������P���,$�D 0 �V��"UC1: Process Sale (the base case)�# 2#�,�l ����` ������` �,$�D0�TB �� c�$D���������TB �� c�$D�������` �b� �� ��0����������@ ��$�D 0�Z�R�___PPT9�4�, �l���& .. Extension Points: VIP Customer, step 1. Payment, step 7. Main Success Scenario: Customer arrives at POS checkout with goods to purchase. & & . Customer pays and System handles payment & & .��W0F290F20F2)0F20F2,=-�-��� @`���� � � ��0����������� ��� �,$�D 0 �t��@UC 15: Handle Gift Certificate Payment (the extending use case)�A 2A�,�l ��p�P ���� ����,$�D0�TB � � c�$D�����p�p�TB �� c�$D�����p�P�� � � ��0�U��������� �pe�|$�D 0�H�@�___PPT9�"� ����& & Trigger: Customer wants to pay with gift certificate. Extension Points: Payment in Process Sale. Level: Subfunction Main Success Scenario: Customer gives gift certificate to Cashier. Cashier enters gift certificate ID. & & ..���0F2P0F20F20U�nl�� @`���H ����0�������h�� ?� ������̙33�����������C�;��+3���( � ��� � ��0�(���������p`7 �O��Requirements Analysis�(2�� � ��0�$���������� �� �C��System Boundaries� 2�� � s�*�������@��@�,$�D0�F�l ����� ������ �,$�D0�Z2 � s�*�������@���TB � c�$D�������TB � c�$D����� �TB �B c�$D������ � �TB � c�$D����� P� ���l � �� ��� �p�,$�D0�Z2 � s�*������� ���� � ��0�H��������� `� Z �@��Log in�(2���l � p�� �� ��,$�D0�Z2 � s�*������� p�� �� � ��0���������� @� �C�� Buy Items� (2 ��l ��� ����� �,$�D 0�Z2 � s�*��������� �� � ��0�l��������` @�� �R��Refund Purchased items� 2��� � ��0�0��������p�`j�,$�D0 �8��POST� 2��� � ��0�4��������0��* �,$�D0 �;��Cashier� 2��l ��� ` �#��� `�,$�D0�ZB �� s�*D������ p�ZB � s�*D������0 �ZB � s�*D������� `�8�l ���0 �$���0�,$�D0�ZB �!B s�*D��������� �ZB �"B s�*D������� 0��� �% ��0� ��������� � �,$�D0 �H��System to be built� 2���l �� �� �(��� ��,$�D0�Z �& s�*�������� ���� �' ��0����������P 0@P �<��Actors� 2��l ��p�� �+�p����,$�D 0�Z �) s�*��������p���� �* ��0�� ��������� �� �N��Add high level use cases� 2��l �pp�� �.�pp���,$�D0�Z �, s�*�������pp���� �- ��0��$�������� �W��!Indicate Actors for each use case�" 2"��� �/ ��0�`���������� ���,$�D�0 �M��Primary actor on left� 2��l ���� �2�����,$�D0�Z �0 s�*������������ �1 ��0�4����������� �O��<> Accounting System�(2��� �3 ��0�Pu�������`��G �,$�D 0 �H��Secondary actors� 2�H ���0�������h�� ?� ������̙33�������r���!x�����<!
Posted by: bernardohousere0194833.blogspot.com
Source: https://www.cs.vassar.edu/~cs335/UML/UMLPart1.ppt