SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

топ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
 

Destaque (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
 

Semelhante a 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
 
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
 
COMPLEXITY METRICS FOR STATECHART DIAGRAMS
COMPLEXITY METRICS FOR STATECHART DIAGRAMSCOMPLEXITY METRICS FOR STATECHART DIAGRAMS
COMPLEXITY METRICS FOR STATECHART DIAGRAMSijseajournal
 

Semelhante a 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
 
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
 
COMPLEXITY METRICS FOR STATECHART DIAGRAMS
COMPLEXITY METRICS FOR STATECHART DIAGRAMSCOMPLEXITY METRICS FOR STATECHART DIAGRAMS
COMPLEXITY METRICS FOR STATECHART DIAGRAMS
 

Mais de 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
 

Último

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Último (20)

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

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

Notas do Editor

  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.