Creating an ATM State Machine Diagram for Software Engineering Project

Verified

Added on  2022/08/12

|4
|559
|496
Report
AI Summary
This assignment focuses on creating a UML State Machine Diagram (SMD) for an Automated Teller Machine (ATM). The project requires the development of a diagram that incorporates customer authentication through PIN verification, handling both correct and incorrect PIN entries, and managing various transaction types like withdrawals, balance inquiries, and transfers. The report provides a reflection on the process, discussing the challenges encountered, such as the time-consuming nature of writing methods for different states, and the complexity of designing the state diagram. The assignment also highlights the benefits of using UML diagrams for software development, including standardization, cost reduction, decreased development time, and ease of tracking. Furthermore, the report emphasizes the diagram's role in understanding system behavior, showcasing the connection and interaction between different systems and every function with its workflow. The student references several sources to support the analysis and the creation of the ATM state machine diagram. The assignment is a part of a software engineering course and aims to apply critical thinking to the design and implementation of a real-world system.
Document Page
Running head: STATE MACHINE DIAGRAM FOR ATM
STATE MACHINE DIAGRAM FOR ATM
Student
Course
Instructor
Date
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1STATE MACHINE DIAGRAM FOR ATM
State Machine Diagram For ATM: Reflection
The term “UML” stands for the Unified Modelling Language that is used to develop
various model of software. UML diagram can identify the behaviour of the system, and it
also defines the business process (Rhmann & Saxena, 2017). There are mainly two types of
UML diagram present that are Behavioural diagrams and Structure diagrams. In the
behavioural diagrams, many kinds of diagrams are present, which are State Machine
Diagram, Activity Diagram, Use Case Diagram, and many more. In the Software diagrams,
several types of diagrams are present such as a Class diagram, Object diagram, Package
diagram and many more.
Figure 1: Types of UML
(Source: Fernández-Sáez, Chaudron & Genero, 2018)
By using the UML diagram, it gives several benefits which are as follows:
It provides the standard for the development of software.
Document Page
2STATE MACHINE DIAGRAM FOR ATM
It reduces the costs for developing the diagrams of UML supporting tools.
The development time is decreased.
It has vast visual elements for constructing; also, it is easy to track.
UML diagram is commonly used to develop a system. This is very helpful for big as well
as small projects. Most of the software developer use this diagram to create a different model
of their proposed system (Bashir et al., 2016). Various types of UML diagrams helps to
understand the connection and interaction between more than two systems. It also shows
every function and their workflow.
In my opinion, a state machine diagram is the most acceptable diagram to develop this
project. While creating this diagram, I faced several difficulties. I had to write several
methods for the different states which are time-consuming. Designing a state diagram for an
ATM machine is difficult and complicated. To complete this project, I gather every
information from many articles. After learning to identify the functions, I developed a
complete state diagram of the ATM system. Apart from this problem, the state machine
diagram is the best approach to provide every state of the software.
Document Page
3STATE MACHINE DIAGRAM FOR ATM
References
Bashir, R. S., Lee, S. P., Khan, S. U. R., Chang, V., & Farid, S. (2016). UML models
consistency management: Guidelines for software quality manager. International
Journal of Information Management, 36(6), 883-899.
Fernández-Sáez, A. M., Chaudron, M. R., & Genero, M. (2018). An industrial case study on
the use of UML in software maintenance and its perceived benefits and hurdles.
Empirical Software Engineering, 23(6), 3281-3345.
Rhmann, W., & Saxena, V. (2017). Fuzzy Expert System Based Test Cases Prioritization
from UML State Machine Diagram using Risk Information. International Journal of
Mathematical Sciences and Computing (IJMSC), 3(1), 17-27.
chevron_up_icon
1 out of 4
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]