Table of Contents
What is the State transition Diagram?
When we write our program in Object-oriented programming, then we need to take classes and objects. Objects change their states during different functions/actions performed on objects.
In the state transition diagram, we represent what actions are lead to a change in the state of the object.
Symbols used in State Transition Diagram
Terminologies of State Transition Diagram
In the state transition diagram, An object always remains in some state. Further, the state of the object may change after an event occur.
Any activity that may trigger a state transition or can change the state.
In the state transition diagram, a guard is a boolean expression. Suppose if the guard is true, then it enables an event to trigger a transition.
The change of state within an object is represented with a transition. It is possible that an object changes its state when the transition occurs.
One or more actions are taken by an object when the object changes a state.
Examples of State Transition Diagram
You need to develop a web-based application in such a way that users can search other users, and after getting search complete, the user can send the friend request to other users. If the request is accepted, then both users are added to the friend list of each other. If one user does not accept the friend request. The second user can send another friend request. The user can also block each other.
- First of all, identify the object that you will create during the development of classes in oop
- Identify the actions or events
- Identify the possible states for an object
- Draw the diagram.
Events or actions: Search to add a friend, add a friend, accept a friend, reject a friend, again add, block user and close.
States: Start, the friend added, friend rejected, user blocked and end.
List of UML tools for drawing the diagrams
Here, we are showing you a list of UML tools for drawing the diagrams.
|Tool||Publicly release (first time)||Open source/ Not open source||What Programming language they used?|
|Borland Together||–||Not an open source||–|
|Cacoo||October 2010||Not an open source||HTML5|
|2004||Not an open source||C#|
|ConceptDraw PRO||1993||Not an open source||–|
|Edraw Max||2004||Not an open source||C++|
|JDeveloper||–||Not an open source||Java|
|Magicraw||1998||Not an open source||Java|
|Microsoft isio||1992||Not an open source||–|
|Microsoft Visual Studio||1997-02||Not an open source||C++, C#|
|MyEclipse||2003||Not an open source||Java|
|Open ModelSphere||2002-02||Open Source||Java|
|PragmaDev Studio||2002||Not an open source||Python, C, C++|
|Prosa UML Modeller||1996||Not an open source||C/C++|
|PowerDesigner||1989||Not an open source||–|
|Rational Rhapsody||1996||Not an open source||C, C++, C#, Java, Ada|
|Rational Rose XDE||–||Not an open source||–|
|Rational Software Architect||Early 1990s||Not an open source||Java/C++|
|Rational System Architect||–||Not an open source||–|
|Reactive Blocks||2011-11-13||Not an open source||Java|
|UModel||2005-05||Not an open source||Java, C#, Visual Basic|
|Rational Software Modeler||2004-10-13||Not an open source||–|
|Software Ideas Modeler||2009-08-06||Not an open source||C#|
|StarUML||2005-11-01||Not an open source||Delphi|
|Umbrello UML Modeller||2006-09-09||Open Source||C++, KDE|
|UML Designer||2012||Open Source||Java, Sirius|
|Visual Paradigm for UML||2002-06-20||Not an open source||C++, Java|
|yEd||–||Not an open source||Java|
Advantages of State Transition Diagram
- A state transition diagram is used to represent a finite state machine.
- A state transition diagram is a demonstration of how our objects and functions behave within the system.
When I can Use State Transition Diagram?
- When the system has some dependencies on the events or on the values in the past.
- State Transition diagram can be used when a software tester is testing the system for a finite set of input values.
- When the software tester focus is to understand the behavior of the object.
- When the software tester focus is to test the sequence of events that may occur in the system under test.
State Transition Diagram with example in software engineering.