SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Object-Oriented Analysis and Design Using UML
Objectives


                In this session, you will learn to:
                   Create State Machine diagrams
                   Create Activity diagrams




     Ver. 1.0                                         Slide 1 of 26
Object-Oriented Analysis and Design Using UML
Creating State Machine Diagrams


                •   A state machine diagram represents various states an
                    object attains during its lifecycle in response to events.
                •   The various constituents of a state diagram are:
                       State machines
                       Events
                       Transitions




     Ver. 1.0                                                               Slide 2 of 26
Object-Oriented Analysis and Design Using UML
Understanding State Machine, Events, and Transitions


                State machine depicts the various states of an object that
                change in response to events during its lifetime.
                A state refers to the condition of an object during its
                existence in memory.
                Every object has an initial and a final state.
                Event is an occurrence that triggers change of state of an
                object.
                The various types of events that act as triggers for objects
                are:
                   Call event
                   Signal event
                   Time event




     Ver. 1.0                                                         Slide 3 of 26
Object-Oriented Analysis and Design Using UML
Understanding State Machine, Events, and Transitions (Contd.)


                Transition is a change of state of an object due to the
                occurrence of an event.
                Advanced features of state machine include:
                   Entry and exit actions
                   Activities
                   Internal transitions
                   Substates
                   Deferred events




     Ver. 1.0                                                         Slide 4 of 26
Object-Oriented Analysis and Design Using UML
Understanding State Machine, Events, and Transitions (Contd.)


                A state that contains substates is called a composite state.
                The two types of states that can exist in a composite state
                are:
                   Sequential substates
                   Concurrent substates




     Ver. 1.0                                                         Slide 5 of 26
Object-Oriented Analysis and Design Using UML
Just a minute


                • Which of the following components signifies an occurrence
                  that may cause a transition in the state of an object?
                   1.   Action
                   2.   Event trigger
                   3.   Source state
                   4.   Target state




                  Answer:
                        Event trigger



     Ver. 1.0                                                        Slide 6 of 26
Object-Oriented Analysis and Design Using UML
Guidelines for Creating State Machine Diagrams


                Guidelines for creating state machine diagrams are:
                   Identify the collaboration for a system, class, or use case.
                   Identify the start and end states for each object. You also need
                   to identify the preconditions and post conditions of the start and
                   end for each object.
                   Identify the stable states of each object by taking into
                   consideration all the preconditions and post conditions.
                   Identify the events that cause a transition in the state of an
                   object.
                   Associate actions to each transition and state.
                   Use the sequential and concurrent states to simply the state
                   diagrams.




     Ver. 1.0                                                               Slide 7 of 26
Object-Oriented Analysis and Design Using UML
Guidelines for Creating State Machine Diagrams (Contd.)


                Apply check on states that they are attainable.
                Ensure that an object does not attain a state from which there
                are no possible transitions to other states.
                Check the state diagram for the expected sequences of events
                with their responses.




     Ver. 1.0                                                         Slide 8 of 26
Object-Oriented Analysis and Design Using UML
Submachines


               A submachine is a type of state machine that contains
               multiple states.
               The following figure depicts a submachine containing three
               states.

                                      Submachine Name


                                       S1               S2




                                                        S3




    Ver. 1.0                                                       Slide 9 of 26
Object-Oriented Analysis and Design Using UML
Submachines (Contd.)


                You represent a submachine as a state in a state machine
                diagram, as shown in the following figure.

                            state 1                 state 2




                            state 4                  state 3
                                               include/submachine1




                                      Submachine Reference State


                You can use a submachine in multiple state machines. This
                avoids repetition of the states of the submachines in other
                state machines.

     Ver. 1.0                                                        Slide 10 of 26
Object-Oriented Analysis and Design Using UML
Stubbed and Complex Transitions


                Stubbed transitions:
                   Cause a change of state of an object from simple state to a
                   state of a submachine.
                   Is depicted from the following:
                      A stub state to a simple state.
                      A simple state to a stub state.




     Ver. 1.0                                                            Slide 11 of 26
Object-Oriented Analysis and Design Using UML
Stubbed and Complex Transitions (Contd.)


                Complex transitions have more than one source or target
                state.
                If the source of the transition is concurrent substates, then a
                join is used to depict the transition.
                If the target state is a concurrent state, then a fork is used to
                depict the transition.
                If the source and target states are concurrent states, then
                their joining represents a synchronization of the parallel
                threads of control.




     Ver. 1.0                                                           Slide 12 of 26
Object-Oriented Analysis and Design Using UML
Creating Activity Diagrams


                To design a process, you need to define the actions that
                constitute the process and the order in which they execute.
                The sequence of steps represents a workflow and enables
                you to design your system efficiently.
                You use an activity diagram to model the flow of control of a
                particular process.




     Ver. 1.0                                                        Slide 13 of 26
Object-Oriented Analysis and Design Using UML
Creating Activity Diagrams (Contd.)


                An activity diagram is a special type of state machine
                diagram.
                Activity diagram uses all the elements of a state diagram
                along with some additional elements, such as activity
                states.
                The control flow begins from the start state or the initial
                state and ends in another state known as the end state.
                The basic elements of an activity diagram are:
                   Action state
                   Activity state
                   Transition
                   Decision




     Ver. 1.0                                                          Slide 14 of 26
Object-Oriented Analysis and Design Using UML
Identifying Flows, Partitions, and Pins


                An activity diagram also consists of other optional elements,
                such as flows, partitions, and pins.
                Flows:
                   Represent the relationship between two actions.
                   Flows can be classified as:
                       Control flow
                       Object flow
                Partitions:
                   Create logical groups of activity states such that each group
                   represents the responsibility of a particular class.
                   Is depicted using swim lanes that categorize the activities and
                   depict their flow.




     Ver. 1.0                                                             Slide 15 of 26
Object-Oriented Analysis and Design Using UML
Identifying Flows, Partitions, and Pins (Contd.)


                Signals:
                 – Are events that occur outside the process but still have an
                   impact on the process.
                 – Are depicted using the keyword, <<signal>>.
                 – Can be related to other signals through a generalization
                   relationship.




     Ver. 1.0                                                             Slide 16 of 26
Object-Oriented Analysis and Design Using UML
Identifying Flows, Partitions, and Pins (Contd.)


                Pins and Transformations:
                   Pins represent the input and output parameters of activity
                   states in an activity diagram.
                   Transformations convert the type of output parameters of the
                   outbound action to the required parameter type of the inbound
                   action.
                   Transformations are shown on each of the outgoing
                   transactions.
                   Transformations are modeled within a pair of angle brackets as
                   <<transformation>> followed by the name of the
                   transformation.




     Ver. 1.0                                                           Slide 17 of 26
Object-Oriented Analysis and Design Using UML
Depicting Expansion Regions, Flow Final, and Join Specifications


                Activity diagrams provide the following elements to model
                control flow mechanisms:
                   Expansion region
                   Flow final
                   Fork and Join
                Expansion Region:
                   Can be implemented in the following three modes:
                     – Concurrent
                     – Iterative
                     – Stream
                   You depict the expansion region as a dotted rectangle.




     Ver. 1.0                                                               Slide 18 of 26
Object-Oriented Analysis and Design Using UML
Depicting Expansion Regions, Flow Final, and Join Specifications (Contd.)



                 Flow final:
                  – Indicates the end of a particular flow, not the end of an activity.
                 Fork and join:
                    A fork is shown as a bar with one incoming transition and
                    multiple outgoing transitions.
                    A join is also shown as a bar with one outgoing transition and
                    multiple incoming transitions.




      Ver. 1.0                                                                Slide 19 of 26
Object-Oriented Analysis and Design Using UML
Steps to Create Activity Diagrams


                •   To create an activity diagram:
                     1. Identify the scope of the activity diagram.
                     2. Add the start and end states.
                     3. Add action states and object states.
                     4. Add transitions among the actions or sub activities.
                     5. Add a transition from the start state to the first action state to
                        show the direction of flow of control.
                     6. Add all the transitions of other action states.
                     7. Add a transition from the last action state to the end state to
                        show the end of flow and activity.
                     8. Add decision points.




     Ver. 1.0                                                                      Slide 20 of 26
Object-Oriented Analysis and Design Using UML
Steps to Create Activity Diagrams (Contd.)


                1. Add the branch and merge constructs to group and merge the
                   transitions to show the change of direction of flow.
                2. Identify the end of flows. Identify the flows which could end
                   before the activity ends. Model these flows as flow finals.
                3. Identify concurrent actions and model them using forks and
                   joints.




     Ver. 1.0                                                           Slide 21 of 26
Object-Oriented Analysis and Design Using UML
Just a minute


                • Which of the following elements of activity diagram
                  represents the control flow that performs particular
                  operation?
                    1.   Action state
                    2.   Activity state
                    3.   Transition
                    4.   Decision




                   Answer:
                         Transition


     Ver. 1.0                                                            Slide 22 of 26
Object-Oriented Analysis and Design Using UML
Demo: Creating an Activity Diagram for the InfoSuper Bank ATM


                •   Problem Statement:
                       Create the activity diagram showing the process of withdrawing
                       the money from an ATM machine.




     Ver. 1.0                                                               Slide 23 of 26
Object-Oriented Analysis and Design Using UML
Demo: Creating an Activity Diagram for the InfoSuper Bank ATM (Contd.)



                Solution:
                   To create the activity diagram, you need to perform the
                   following tasks:
                      Identify the process to be modeled.
                      Identify the Activity States, Signals.
                      Identify the Branch Elements.
                      Identify the Parallel Flows.
                      Create an activity diagram.




     Ver. 1.0                                                            Slide 24 of 26
Object-Oriented Analysis and Design Using UML
Summary


               •   In this session, you learned that:
                      State diagrams depict the various states of an object that
                      change due to the occurrence of events. The various elements
                      of state diagrams are simple and composite states, transitions,
                      events, and actions.
                      The need of activity diagrams to model the control flow and to
                      identify the dependability among use cases.
                      The way to use actions and activity states in an activity
                      diagram to model workflows and operations.
                      The use of the basic elements of activity diagrams, such as
                      transitions, to model the control flow. Branch and merge
                      elements are used to model decisions such as if-conditions.
                      The use of the swim lane element to group activities. Swim
                      lanes enable you to group the activity states according to their
                      responsibilities.


    Ver. 1.0                                                                  Slide 25 of 26
Object-Oriented Analysis and Design Using UML
Summary (Contd.)


               The use of pins and transformations to transform the
               parameters of outbound actions to inbound actions.
               Transformations enable you to convert the parameters of the
               outbound parameters to inbound parameters.
               The expansion region element is used to model loops to
               process input elements in three modes, concurrent, sequential
               and stream. Expansion region can also act as a filter in which it
               filters the input collection to produce an output collection
               The flow final element is used to model the end of flow, such
               as exceptions that occur in an activity.
               The use of the fork and join elements to model parallel flows
               and maintain concurrency.
               The standard approach is applied to create activity diagrams
               for a new process. The procedure includes the tasks to identify
               the process to be modeled, the actions and signals, and the
               identifying parallel flows.

    Ver. 1.0                                                           Slide 26 of 26

Weitere ähnliche Inhalte

Was ist angesagt?

12 ooad uml-16
12 ooad uml-1612 ooad uml-16
12 ooad uml-16Niit Care
 
08 ooad uml-10
08 ooad uml-1008 ooad uml-10
08 ooad uml-10Niit Care
 
A&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLA&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLvinay arora
 
Uml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileepUml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileepmekhap
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTleela rani
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGERaval Chirag
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)Hirra Sultan
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IIpkaviya
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
Lab # 06
Lab # 06Lab # 06
Lab # 06Mr SMAK
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?Eliza Wright
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLMalek Sumaiya
 

Was ist angesagt? (20)

12 ooad uml-16
12 ooad uml-1612 ooad uml-16
12 ooad uml-16
 
UML
UMLUML
UML
 
Uml
UmlUml
Uml
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
08 ooad uml-10
08 ooad uml-1008 ooad uml-10
08 ooad uml-10
 
Chapter1
Chapter1Chapter1
Chapter1
 
A&D - Object Oriented Design using UML
A&D - Object Oriented Design using UMLA&D - Object Oriented Design using UML
A&D - Object Oriented Design using UML
 
Jeet ooad unit-2
Jeet ooad unit-2Jeet ooad unit-2
Jeet ooad unit-2
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Uml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileepUml unified-modeling-language-presented by dileep
Uml unified-modeling-language-presented by dileep
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Unified modelling language (UML)
Unified modelling language (UML)Unified modelling language (UML)
Unified modelling language (UML)
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
CS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT IICS8592 Object Oriented Analysis & Design - UNIT II
CS8592 Object Oriented Analysis & Design - UNIT II
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Lab # 06
Lab # 06Lab # 06
Lab # 06
 
What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?What is UML (Unified Modeling Language)?
What is UML (Unified Modeling Language)?
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 

Andere mochten auch

топ10 seo ошибок при переезде сайта на https-протокол, смене домена
топ10 seo ошибок при переезде сайта на https-протокол, смене доменатоп10 seo ошибок при переезде сайта на https-протокол, смене домена
топ10 seo ошибок при переезде сайта на https-протокол, смене доменаRoman Tymokhov
 
0531-981-01-90 VE 0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...
0531-981-01-90 VE  0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...0531-981-01-90 VE  0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...
0531-981-01-90 VE 0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...antika alanlar
 
Technologies i have serviced
Technologies i have servicedTechnologies i have serviced
Technologies i have serviceddlbrazelton
 
Resume profile (4)
Resume profile (4)Resume profile (4)
Resume profile (4)Andrea Sturm
 
(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...
(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...
(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...antika alanlar
 
2 ateliers pour booster votre référencement naturel
2 ateliers pour booster votre référencement naturel 2 ateliers pour booster votre référencement naturel
2 ateliers pour booster votre référencement naturel Mathilde Pucheu
 
HCI Presentation
HCI PresentationHCI Presentation
HCI Presentationjsokohl
 
Як я запускаю проекти без програмування на WordPress і скільки це коштує
Як я запускаю проекти без програмування на WordPress і скільки це коштуєЯк я запускаю проекти без програмування на WordPress і скільки це коштує
Як я запускаю проекти без програмування на WordPress і скільки це коштуєOleksandr Strikha
 

Andere mochten auch (12)

топ10 seo ошибок при переезде сайта на https-протокол, смене домена
топ10 seo ошибок при переезде сайта на https-протокол, смене доменатоп10 seo ошибок при переезде сайта на https-протокол, смене домена
топ10 seo ошибок при переезде сайта на https-протокол, смене домена
 
0531-981-01-90 VE 0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...
0531-981-01-90 VE  0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...0531-981-01-90 VE  0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...
0531-981-01-90 VE 0532-335-75-06 İKİNCİ EL KİTAP ALANLAR NİŞANTAŞINDA KİTAP ...
 
Technologies i have serviced
Technologies i have servicedTechnologies i have serviced
Technologies i have serviced
 
Resume profile (4)
Resume profile (4)Resume profile (4)
Resume profile (4)
 
(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...
(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...
(0531-981-01-90) MERDİVENKÖY ANTİKA ESKİ EŞYA-KİTAP-PLAK-MOBİLYA-HALI+ALANLAR...
 
2 ateliers pour booster votre référencement naturel
2 ateliers pour booster votre référencement naturel 2 ateliers pour booster votre référencement naturel
2 ateliers pour booster votre référencement naturel
 
HCI Presentation
HCI PresentationHCI Presentation
HCI Presentation
 
MINI GUPTA
MINI GUPTAMINI GUPTA
MINI GUPTA
 
Presentation2
Presentation2Presentation2
Presentation2
 
Riham CV new
Riham CV newRiham CV new
Riham CV new
 
Як я запускаю проекти без програмування на WordPress і скільки це коштує
Як я запускаю проекти без програмування на WordPress і скільки це коштуєЯк я запускаю проекти без програмування на WordPress і скільки це коштує
Як я запускаю проекти без програмування на WordPress і скільки це коштує
 
Relational Data Base
Relational Data BaseRelational Data Base
Relational Data Base
 

Ähnlich wie 09 ooad uml-11

Lecture 13 requirements modeling - flow & behavior (2)
Lecture 13   requirements modeling - flow &  behavior (2)Lecture 13   requirements modeling - flow &  behavior (2)
Lecture 13 requirements modeling - flow & behavior (2)IIUI
 
State-Machine-Diagram.pptx
State-Machine-Diagram.pptxState-Machine-Diagram.pptx
State-Machine-Diagram.pptxSmit Mehta
 
03 ooad uml-03
03 ooad uml-0303 ooad uml-03
03 ooad uml-03Niit Care
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr E. Mohamed
 
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectives
A Suite of Metrics for UML Behavioral Diagrams based on Complexity PerspectivesA Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectives
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectivessebastianku31
 
03 ooad-uml 03
03 ooad-uml 0303 ooad-uml 03
03 ooad-uml 03PujiHst
 
4.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 44.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 4Warui Maina
 
Uml2clearquest (www.rational-tools.info)
Uml2clearquest (www.rational-tools.info)Uml2clearquest (www.rational-tools.info)
Uml2clearquest (www.rational-tools.info)Alexander Novichkov
 
18540PhDreport.pdf
18540PhDreport.pdf18540PhDreport.pdf
18540PhDreport.pdfTaraTrends
 
UML2SAN: Toward A New Software Performance Engineering Approach
UML2SAN: Toward A New Software Performance Engineering ApproachUML2SAN: Toward A New Software Performance Engineering Approach
UML2SAN: Toward A New Software Performance Engineering Approachijseajournal
 
UML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdfUML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdfssuser200e7a1
 
04 ooad uml-04
04 ooad uml-0404 ooad uml-04
04 ooad uml-04Niit Care
 
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...DhwaniDesai21
 

Ähnlich wie 09 ooad uml-11 (20)

Lecture 13 requirements modeling - flow & behavior (2)
Lecture 13   requirements modeling - flow &  behavior (2)Lecture 13   requirements modeling - flow &  behavior (2)
Lecture 13 requirements modeling - flow & behavior (2)
 
State-Machine-Diagram.pptx
State-Machine-Diagram.pptxState-Machine-Diagram.pptx
State-Machine-Diagram.pptx
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
03 ooad uml-03
03 ooad uml-0303 ooad uml-03
03 ooad uml-03
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectives
A Suite of Metrics for UML Behavioral Diagrams based on Complexity PerspectivesA Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectives
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectives
 
03 ooad-uml 03
03 ooad-uml 0303 ooad-uml 03
03 ooad-uml 03
 
4.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 44.o o design tools=uml -_lecture 4
4.o o design tools=uml -_lecture 4
 
Jar chapter 4, part 1
Jar chapter 4, part 1Jar chapter 4, part 1
Jar chapter 4, part 1
 
Uml2clearquest (www.rational-tools.info)
Uml2clearquest (www.rational-tools.info)Uml2clearquest (www.rational-tools.info)
Uml2clearquest (www.rational-tools.info)
 
18540PhDreport.pdf
18540PhDreport.pdf18540PhDreport.pdf
18540PhDreport.pdf
 
0136061257
01360612570136061257
0136061257
 
Uml
UmlUml
Uml
 
Uml 9
Uml 9Uml 9
Uml 9
 
UML2SAN: Toward A New Software Performance Engineering Approach
UML2SAN: Toward A New Software Performance Engineering ApproachUML2SAN: Toward A New Software Performance Engineering Approach
UML2SAN: Toward A New Software Performance Engineering Approach
 
UML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdfUML-Basics-to-AI-Powered-UML-Course.pdf
UML-Basics-to-AI-Powered-UML-Course.pdf
 
04 ooad uml-04
04 ooad uml-0404 ooad uml-04
04 ooad uml-04
 
Ooad 3
Ooad 3Ooad 3
Ooad 3
 
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...Introduction to Object orientation , Modeling as a Design Technique Modeling ...
Introduction to Object orientation , Modeling as a Design Technique Modeling ...
 
Uml Diagrams
Uml DiagramsUml Diagrams
Uml Diagrams
 

Mehr von Niit Care (20)

Ajs 1 b
Ajs 1 bAjs 1 b
Ajs 1 b
 
Ajs 4 b
Ajs 4 bAjs 4 b
Ajs 4 b
 
Ajs 4 a
Ajs 4 aAjs 4 a
Ajs 4 a
 
Ajs 4 c
Ajs 4 cAjs 4 c
Ajs 4 c
 
Ajs 3 b
Ajs 3 bAjs 3 b
Ajs 3 b
 
Ajs 3 a
Ajs 3 aAjs 3 a
Ajs 3 a
 
Ajs 3 c
Ajs 3 cAjs 3 c
Ajs 3 c
 
Ajs 2 b
Ajs 2 bAjs 2 b
Ajs 2 b
 
Ajs 2 a
Ajs 2 aAjs 2 a
Ajs 2 a
 
Ajs 2 c
Ajs 2 cAjs 2 c
Ajs 2 c
 
Ajs 1 a
Ajs 1 aAjs 1 a
Ajs 1 a
 
Ajs 1 c
Ajs 1 cAjs 1 c
Ajs 1 c
 
Dacj 4 2-c
Dacj 4 2-cDacj 4 2-c
Dacj 4 2-c
 
Dacj 4 2-b
Dacj 4 2-bDacj 4 2-b
Dacj 4 2-b
 
Dacj 4 2-a
Dacj 4 2-aDacj 4 2-a
Dacj 4 2-a
 
Dacj 4 1-c
Dacj 4 1-cDacj 4 1-c
Dacj 4 1-c
 
Dacj 4 1-b
Dacj 4 1-bDacj 4 1-b
Dacj 4 1-b
 
Dacj 4 1-a
Dacj 4 1-aDacj 4 1-a
Dacj 4 1-a
 
Dacj 1-2 b
Dacj 1-2 bDacj 1-2 b
Dacj 1-2 b
 
Dacj 1-3 c
Dacj 1-3 cDacj 1-3 c
Dacj 1-3 c
 

Kürzlich hochgeladen

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

09 ooad uml-11

  • 1. Object-Oriented Analysis and Design Using UML Objectives In this session, you will learn to: Create State Machine diagrams Create Activity diagrams Ver. 1.0 Slide 1 of 26
  • 2. Object-Oriented Analysis and Design Using UML Creating State Machine Diagrams • A state machine diagram represents various states an object attains during its lifecycle in response to events. • The various constituents of a state diagram are: State machines Events Transitions Ver. 1.0 Slide 2 of 26
  • 3. Object-Oriented Analysis and Design Using UML Understanding State Machine, Events, and Transitions State machine depicts the various states of an object that change in response to events during its lifetime. A state refers to the condition of an object during its existence in memory. Every object has an initial and a final state. Event is an occurrence that triggers change of state of an object. The various types of events that act as triggers for objects are: Call event Signal event Time event Ver. 1.0 Slide 3 of 26
  • 4. Object-Oriented Analysis and Design Using UML Understanding State Machine, Events, and Transitions (Contd.) Transition is a change of state of an object due to the occurrence of an event. Advanced features of state machine include: Entry and exit actions Activities Internal transitions Substates Deferred events Ver. 1.0 Slide 4 of 26
  • 5. Object-Oriented Analysis and Design Using UML Understanding State Machine, Events, and Transitions (Contd.) A state that contains substates is called a composite state. The two types of states that can exist in a composite state are: Sequential substates Concurrent substates Ver. 1.0 Slide 5 of 26
  • 6. Object-Oriented Analysis and Design Using UML Just a minute • Which of the following components signifies an occurrence that may cause a transition in the state of an object? 1. Action 2. Event trigger 3. Source state 4. Target state Answer: Event trigger Ver. 1.0 Slide 6 of 26
  • 7. Object-Oriented Analysis and Design Using UML Guidelines for Creating State Machine Diagrams Guidelines for creating state machine diagrams are: Identify the collaboration for a system, class, or use case. Identify the start and end states for each object. You also need to identify the preconditions and post conditions of the start and end for each object. Identify the stable states of each object by taking into consideration all the preconditions and post conditions. Identify the events that cause a transition in the state of an object. Associate actions to each transition and state. Use the sequential and concurrent states to simply the state diagrams. Ver. 1.0 Slide 7 of 26
  • 8. Object-Oriented Analysis and Design Using UML Guidelines for Creating State Machine Diagrams (Contd.) Apply check on states that they are attainable. Ensure that an object does not attain a state from which there are no possible transitions to other states. Check the state diagram for the expected sequences of events with their responses. Ver. 1.0 Slide 8 of 26
  • 9. Object-Oriented Analysis and Design Using UML Submachines A submachine is a type of state machine that contains multiple states. The following figure depicts a submachine containing three states. Submachine Name S1 S2 S3 Ver. 1.0 Slide 9 of 26
  • 10. Object-Oriented Analysis and Design Using UML Submachines (Contd.) You represent a submachine as a state in a state machine diagram, as shown in the following figure. state 1 state 2 state 4 state 3 include/submachine1 Submachine Reference State You can use a submachine in multiple state machines. This avoids repetition of the states of the submachines in other state machines. Ver. 1.0 Slide 10 of 26
  • 11. Object-Oriented Analysis and Design Using UML Stubbed and Complex Transitions Stubbed transitions: Cause a change of state of an object from simple state to a state of a submachine. Is depicted from the following: A stub state to a simple state. A simple state to a stub state. Ver. 1.0 Slide 11 of 26
  • 12. Object-Oriented Analysis and Design Using UML Stubbed and Complex Transitions (Contd.) Complex transitions have more than one source or target state. If the source of the transition is concurrent substates, then a join is used to depict the transition. If the target state is a concurrent state, then a fork is used to depict the transition. If the source and target states are concurrent states, then their joining represents a synchronization of the parallel threads of control. Ver. 1.0 Slide 12 of 26
  • 13. Object-Oriented Analysis and Design Using UML Creating Activity Diagrams To design a process, you need to define the actions that constitute the process and the order in which they execute. The sequence of steps represents a workflow and enables you to design your system efficiently. You use an activity diagram to model the flow of control of a particular process. Ver. 1.0 Slide 13 of 26
  • 14. Object-Oriented Analysis and Design Using UML Creating Activity Diagrams (Contd.) An activity diagram is a special type of state machine diagram. Activity diagram uses all the elements of a state diagram along with some additional elements, such as activity states. The control flow begins from the start state or the initial state and ends in another state known as the end state. The basic elements of an activity diagram are: Action state Activity state Transition Decision Ver. 1.0 Slide 14 of 26
  • 15. Object-Oriented Analysis and Design Using UML Identifying Flows, Partitions, and Pins An activity diagram also consists of other optional elements, such as flows, partitions, and pins. Flows: Represent the relationship between two actions. Flows can be classified as: Control flow Object flow Partitions: Create logical groups of activity states such that each group represents the responsibility of a particular class. Is depicted using swim lanes that categorize the activities and depict their flow. Ver. 1.0 Slide 15 of 26
  • 16. Object-Oriented Analysis and Design Using UML Identifying Flows, Partitions, and Pins (Contd.) Signals: – Are events that occur outside the process but still have an impact on the process. – Are depicted using the keyword, <<signal>>. – Can be related to other signals through a generalization relationship. Ver. 1.0 Slide 16 of 26
  • 17. Object-Oriented Analysis and Design Using UML Identifying Flows, Partitions, and Pins (Contd.) Pins and Transformations: Pins represent the input and output parameters of activity states in an activity diagram. Transformations convert the type of output parameters of the outbound action to the required parameter type of the inbound action. Transformations are shown on each of the outgoing transactions. Transformations are modeled within a pair of angle brackets as <<transformation>> followed by the name of the transformation. Ver. 1.0 Slide 17 of 26
  • 18. Object-Oriented Analysis and Design Using UML Depicting Expansion Regions, Flow Final, and Join Specifications Activity diagrams provide the following elements to model control flow mechanisms: Expansion region Flow final Fork and Join Expansion Region: Can be implemented in the following three modes: – Concurrent – Iterative – Stream You depict the expansion region as a dotted rectangle. Ver. 1.0 Slide 18 of 26
  • 19. Object-Oriented Analysis and Design Using UML Depicting Expansion Regions, Flow Final, and Join Specifications (Contd.) Flow final: – Indicates the end of a particular flow, not the end of an activity. Fork and join: A fork is shown as a bar with one incoming transition and multiple outgoing transitions. A join is also shown as a bar with one outgoing transition and multiple incoming transitions. Ver. 1.0 Slide 19 of 26
  • 20. Object-Oriented Analysis and Design Using UML Steps to Create Activity Diagrams • To create an activity diagram: 1. Identify the scope of the activity diagram. 2. Add the start and end states. 3. Add action states and object states. 4. Add transitions among the actions or sub activities. 5. Add a transition from the start state to the first action state to show the direction of flow of control. 6. Add all the transitions of other action states. 7. Add a transition from the last action state to the end state to show the end of flow and activity. 8. Add decision points. Ver. 1.0 Slide 20 of 26
  • 21. Object-Oriented Analysis and Design Using UML Steps to Create Activity Diagrams (Contd.) 1. Add the branch and merge constructs to group and merge the transitions to show the change of direction of flow. 2. Identify the end of flows. Identify the flows which could end before the activity ends. Model these flows as flow finals. 3. Identify concurrent actions and model them using forks and joints. Ver. 1.0 Slide 21 of 26
  • 22. Object-Oriented Analysis and Design Using UML Just a minute • Which of the following elements of activity diagram represents the control flow that performs particular operation? 1. Action state 2. Activity state 3. Transition 4. Decision Answer: Transition Ver. 1.0 Slide 22 of 26
  • 23. Object-Oriented Analysis and Design Using UML Demo: Creating an Activity Diagram for the InfoSuper Bank ATM • Problem Statement: Create the activity diagram showing the process of withdrawing the money from an ATM machine. Ver. 1.0 Slide 23 of 26
  • 24. Object-Oriented Analysis and Design Using UML Demo: Creating an Activity Diagram for the InfoSuper Bank ATM (Contd.) Solution: To create the activity diagram, you need to perform the following tasks: Identify the process to be modeled. Identify the Activity States, Signals. Identify the Branch Elements. Identify the Parallel Flows. Create an activity diagram. Ver. 1.0 Slide 24 of 26
  • 25. Object-Oriented Analysis and Design Using UML Summary • In this session, you learned that: State diagrams depict the various states of an object that change due to the occurrence of events. The various elements of state diagrams are simple and composite states, transitions, events, and actions. The need of activity diagrams to model the control flow and to identify the dependability among use cases. The way to use actions and activity states in an activity diagram to model workflows and operations. The use of the basic elements of activity diagrams, such as transitions, to model the control flow. Branch and merge elements are used to model decisions such as if-conditions. The use of the swim lane element to group activities. Swim lanes enable you to group the activity states according to their responsibilities. Ver. 1.0 Slide 25 of 26
  • 26. Object-Oriented Analysis and Design Using UML Summary (Contd.) The use of pins and transformations to transform the parameters of outbound actions to inbound actions. Transformations enable you to convert the parameters of the outbound parameters to inbound parameters. The expansion region element is used to model loops to process input elements in three modes, concurrent, sequential and stream. Expansion region can also act as a filter in which it filters the input collection to produce an output collection The flow final element is used to model the end of flow, such as exceptions that occur in an activity. The use of the fork and join elements to model parallel flows and maintain concurrency. The standard approach is applied to create activity diagrams for a new process. The procedure includes the tasks to identify the process to be modeled, the actions and signals, and the identifying parallel flows. Ver. 1.0 Slide 26 of 26

Hinweis der Redaktion

  1. Initiate the session by explaining the session objectives to the students.
  2. Explain what state diagrams are. Also explain the components of a state diagram.
  3. Explain the concept of state machines, state, initial state, and final state by using the example of Inventory Management System given in the student guide. Explain the concept of an event and the various types of events.
  4. Explain the concept of a transition and the various parts of a transition (source state, event trigger, guard condition, action, and target state). Also explain the advanced features of a state machine by using the examples given in the student guide. When you discuss guard conditions, you need to emphasize the factors that affect the specification of guard conditions. A transition that leaves a branch represents the if- condition. A guard condition shown on a transition represents the definition of the if-condition. The guidelines that you should keep in mind when you design the guard conditions are: * Each transition that leaves a branch element must have a guard condition. It ensures that you have mentioned all the if-conditions that you have thought through all the possibilities for that decision point. * Guard conditions on the transitions that leave the same branch should not overlap. For example, guard conditions, such as x &lt; 0, x = 0, and x &gt; 0, do not overlap as opposed to guard conditions, such as x &lt;= 0 and x &gt;= 0, which overlap. The system will not be able to decide the control flow path when x=0 becomes true. * Guard conditions on the transitions that leave the same branch must form a complete set. For example, if there are only two transitions with the guard conditions, x &lt; 0 and x &gt;0, the system will be unable to respond when x=0 becomes true. * An activity invariant is a condition that is always true when your system processes an activity. A guard condition should not overlap with the invariant conditions and the exit conditions of the activity. Otherwise, it could effect the actions of the activity.
  5. Explain the concept of a composite state. Explain sequential substates and concurrent substates in a composite state.
  6. Explain that the creation of state machine diagrams involves modeling the reactive objects of the software system. Reactive objects are the objects that respond to events by exhibiting a change in the state. The various elements that are essential to model reactive objects are states (simple and composite), transitions, events, actions. Explain the guidelines for creating state machine diagrams.
  7. Explain the concept of submachines and submachine reference states by using the example given on the slide.
  8. Explain that a submachine can be represented as a state machine. Explain the benefit of using submachines. Explain the concept of stub states inside the submachine reference state by using the example of the Ticket Selling System given in the student guide.
  9. Explain the concept of stubbed transitions by using the example given in the student guide.
  10. Explain the use of join and fork in represented complex transitions.
  11. Explain the need for creating activity diagram by using the example of the Automated Product Sales System (APSS) given in the student guide.
  12. Explain activity diagram as a special type of state machine diagram. Explain the basic elements of an activity diagram.
  13. Explain the optional elements of an activity diagram (Flows, partitions, and pins). Explain the two types of flows and the types of elements used to model the flow.
  14. Explain the concept and benefit of using a partition by using the example given in the student guide. Explain the concept of signals and the generalization relationship among signals by using the example given in the student guide. Explain the symbol for sending a symbol and the symbol for receiving a signal. Use the example of Online Transaction System given in the student guide to explain the concept of signals.
  15. Explain the concept of pins and transformations by using the example of the online transaction system given in the student guide.
  16. Introduce the terms expansion regions, flow final, fork, and join in the context of an activity diagram.
  17. Explain the three modes in which an expansion region can be implemented. Explain the notation for an expansion region. Explain the use of expansion regions by using the example of the online transaction system given in the student guide. Explain the use of flow final by using the example given in the student guide. Explain the use of fork and join by using the example given in the student guide.
  18. Explain the steps to create an activity diagram.
  19. Explain the problem statement to the students.
  20. Before starting the demo, you need to copy the required data file from the &lt;&lt;&lt;&lt;&lt;&lt;&lt;PATH&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; folder. The required data file’s name is Bank_ATM.vsd. Demonstrate the solution to the problem statement by following the steps given in the student guide. If you want to show students the final diagram that will be created after performing the demo, you can open the Bank_ATM.vsd file from the &lt;&lt;&lt;&lt;&lt;&lt;&lt;PATH&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; folder. The demo does not repeat similar steps. However, you would be able to complete the diagram with the steps written in the demo.
  21. Summarize the session by using the summary points given on the slide.
  22. Summarize the session by using the summary points given on the slide.