{"id":661,"date":"2024-11-26T05:30:01","date_gmt":"2024-11-26T05:30:01","guid":{"rendered":"https:\/\/www.go-uml.com\/ru\/?p=661"},"modified":"2024-11-26T05:30:01","modified_gmt":"2024-11-26T05:30:01","slug":"learning-uml-sequence-diagrams-by-example-atm-transaction","status":"publish","type":"post","link":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/","title":{"rendered":"Learning UML Sequence Diagrams by Example: ATM Transaction"},"content":{"rendered":"<p><a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-uml\/\">UML<\/a> <a href=\"https:\/\/www.visual-paradigm.com\/learning\/handbooks\/software-design-handbook\/sequence-diagram.jsp\">sequence diagram<\/a>s are a powerful tool for visualizing the interactions between objects in a system over time. They help in understanding the sequence of messages exchanged between different components, making it easier to design and analyze complex systems. In this article, we will learn about UML sequence diagrams using a practical example: an ATM transaction.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png\" alt=\"Sequence Diagram Example: ATM\" \/><\/p>\n<h3>Understanding the ATM Transaction Sequence Diagram<\/h3>\n<p>The attached image illustrates a <a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-sequence-diagram\/\">sequence diagram<\/a> for an ATM transaction. Let&#8217;s break down the key elements and concepts depicted in this diagram.<\/p>\n<h4>Actors and Objects<\/h4>\n<ol>\n<li><strong>User<\/strong>: The person interacting with the ATM.<\/li>\n<li><strong>ATM<\/strong>: The automated teller machine that facilitates the transaction.<\/li>\n<li><strong>Consortium<\/strong>: An intermediary system that verifies the card details.<\/li>\n<li><strong>Bank<\/strong>: The financial institution that verifies the account and processes the transaction.<\/li>\n<\/ol>\n<h4>Messages<\/h4>\n<p>Messages represent the communication between objects. In this diagram, we see several types of messages:<\/p>\n<ol>\n<li><strong>Synchronous Message<\/strong>: A solid line with a filled arrowhead, indicating a call that waits for a response.<\/li>\n<li><strong>Asynchronous Message<\/strong>: A solid line with an open arrowhead, indicating a call that does not wait for a response.<\/li>\n<li><strong>Return Message<\/strong>: A dashed line with an open arrowhead, indicating a response to a previous call.<\/li>\n<\/ol>\n<h4>Lifelines and Activations<\/h4>\n<ul>\n<li><strong>Lifeline<\/strong>: A dashed vertical line representing the existence of an object during the interaction.<\/li>\n<li><strong>Activation<\/strong>: A thin, tall rectangle on the lifeline indicating that the object is performing an operation.<\/li>\n<\/ul>\n<h4>Constraints<\/h4>\n<p>Constraints add conditions to the interactions:<\/p>\n<ol>\n<li><strong>Time Constraint<\/strong>: Specifies a time limit for an operation.<\/li>\n<li><strong>Duration Constraint<\/strong>: Specifies the maximum duration for an operation.<\/li>\n<\/ol>\n<h3>Step-by-Step Walkthrough<\/h3>\n<p>Let&#8217;s walk through the ATM transaction sequence diagram step by step:<\/p>\n<ol>\n<li><strong>User Inserts Card<\/strong>:\n<ul>\n<li>The user inserts their card into the ATM.<\/li>\n<li>This action is represented by the message\u00a0<code class=\"\">insert card<\/code>\u00a0from the User to the ATM.<\/li>\n<\/ul>\n<\/li>\n<li><strong>ATM Verifies Card<\/strong>:\n<ul>\n<li>The ATM sends a\u00a0<code class=\"\">verify card<\/code>\u00a0message to the Consortium.<\/li>\n<li>The Consortium processes the request and sends a return message back to the ATM.<\/li>\n<li>This interaction is enclosed in a time constraint\u00a0<code class=\"\">{a}<\/code>, indicating a specific time limit for the verification process.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Consortium Verifies Account<\/strong>:\n<ul>\n<li>The Consortium sends a\u00a0<code class=\"\">verify account<\/code>\u00a0message to the Bank.<\/li>\n<li>The Bank processes the request and sends a return message back to the Consortium.<\/li>\n<li>If the account is not valid, the Bank sends an\u00a0<code class=\"\">account not ok<\/code>\u00a0message, and the Consortium sends a\u00a0<code class=\"\">reject card<\/code>\u00a0message to the ATM.<\/li>\n<\/ul>\n<\/li>\n<li><strong>ATM Ejects Card<\/strong>:\n<ul>\n<li>If the card is rejected or the verification process takes too long (exceeding the duration constraint\u00a0<code class=\"\">{b-a &lt; 10 sec}<\/code>), the ATM ejects the card.<\/li>\n<li>This action is represented by the message\u00a0<code class=\"\">eject card<\/code>\u00a0from the ATM to the User.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Key Concepts Illustrated<\/h3>\n<ol>\n<li><strong>Time Constraint<\/strong>:\n<ul>\n<li>The time constraint\u00a0<code class=\"\">{a}<\/code>\u00a0ensures that the card verification process completes within a specified time.<\/li>\n<li>This is crucial for maintaining the efficiency and security of the transaction.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Duration Constraint<\/strong>:\n<ul>\n<li>The duration constraint\u00a0<code class=\"\">{b-a &lt; 10 sec}<\/code>\u00a0ensures that the entire process, from card insertion to ejection, does not exceed 10 seconds.<\/li>\n<li>This constraint helps in providing a smooth user experience.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Return Messages<\/strong>:\n<ul>\n<li>Return messages indicate the responses to previous calls.<\/li>\n<li>For example, the Consortium sends a return message to the ATM after verifying the card, and the Bank sends a return message to the Consortium after verifying the account.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Alternative Flows<\/strong>:\n<ul>\n<li>The diagram shows alternative flows based on the outcome of the account verification.<\/li>\n<li>If the account is not valid, the Bank sends an\u00a0<code class=\"\">account not ok<\/code>\u00a0message, leading to the card being rejected.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Conclusion<\/h3>\n<p><a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-uml\/\">UML<\/a> <a href=\"https:\/\/online.visual-paradigm.com\/diagrams\/tutorials\/sequence-diagram-tutorial\/\">sequence diagrams<\/a> are invaluable for understanding and designing the dynamic behavior of systems. By breaking down the ATM transaction example, we have seen how <a href=\"https:\/\/online.visual-paradigm.com\/diagrams\/features\/sequence-diagram-software\/\">sequence diagrams<\/a> can capture the interactions between objects, including messages, activations, and constraints. This example demonstrates the practical application of sequence diagrams in real-world scenarios, making it easier to learn and apply UML in software development.<\/p>\n<p>Whether you are a beginner or an experienced developer, understanding <a href=\"https:\/\/www.visual-paradigm.com\/VPGallery\/diagrams\/Sequence.html\">sequence diagrams<\/a> can significantly enhance your ability to design and analyze complex systems. So, start practicing with more examples and explore the powerful features of <a href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/uml-practical-guide\/\">UML<\/a> sequence diagrams to master this essential skill.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UML sequence diagrams are a powerful tool for visualizing the interactions between objects in a system over time. They help in understanding the sequence of messages exchanged between different components, making it easier to design and analyze complex systems. In this article, we will learn about UML sequence diagrams using a practical example: an ATM transaction. Understanding the ATM Transaction Sequence Diagram The attached image illustrates a sequence diagram for an ATM transaction. Let&#8217;s break down the key elements and concepts depicted in this diagram. Actors and Objects User: The person interacting with the ATM. ATM: The automated teller machine that facilitates the transaction. Consortium: An intermediary system that verifies the card details. Bank: The financial institution that verifies the account and processes the transaction. Messages Messages represent the communication between objects. In this diagram, we see several types of messages: Synchronous Message: A solid line with a filled arrowhead, indicating a call that waits for a response. Asynchronous Message: A solid line with an open arrowhead, indicating a call that does not wait for a response. Return Message: A dashed line with an open arrowhead, indicating a response to a previous call. Lifelines and Activations Lifeline: A dashed vertical line representing the existence of an object during the interaction. Activation: A thin, tall rectangle on the lifeline indicating that the object is performing an operation. Constraints Constraints add conditions to the interactions: Time Constraint: Specifies a time limit for an operation. Duration Constraint: Specifies the maximum duration for an operation. Step-by-Step Walkthrough Let&#8217;s walk through the ATM transaction sequence diagram step by step: User Inserts Card: The user inserts their card into the ATM. This action is represented by the message\u00a0insert card\u00a0from the User to the ATM. ATM Verifies Card: The ATM sends a\u00a0verify card\u00a0message to the Consortium. The Consortium processes the request and sends a return message back to the ATM. This interaction is enclosed in a time constraint\u00a0{a}, indicating a specific time limit for the verification process. Consortium Verifies Account: The Consortium sends a\u00a0verify account\u00a0message to the Bank. The Bank processes the request and sends a return message back to the Consortium. If the account is not valid, the Bank sends an\u00a0account not ok\u00a0message, and the Consortium sends a\u00a0reject card\u00a0message to the ATM. ATM Ejects Card: If the card is rejected or the verification process takes too long (exceeding the duration constraint\u00a0{b-a &lt; 10 sec}), the ATM ejects the card. This action is represented by the message\u00a0eject card\u00a0from the ATM to the User. Key Concepts Illustrated Time Constraint: The time constraint\u00a0{a}\u00a0ensures that the card verification process completes within a specified time. This is crucial for maintaining the efficiency and security of the transaction. Duration Constraint: The duration constraint\u00a0{b-a &lt; 10 sec}\u00a0ensures that the entire process, from card insertion to ejection, does not exceed 10 seconds. This constraint helps in providing a smooth user experience. Return Messages: Return messages indicate the responses to previous calls. For example, the Consortium sends a return message to the ATM after verifying the card, and the Bank sends a return message to the Consortium after verifying the account. Alternative Flows: The diagram shows alternative flows based on the outcome of the account verification. If the account is not valid, the Bank sends an\u00a0account not ok\u00a0message, leading to the card being rejected. Conclusion UML sequence diagrams are invaluable for understanding and designing the dynamic behavior of systems. By breaking down the ATM transaction example, we have seen how sequence diagrams can capture the interactions between objects, including messages, activations, and constraints. This example demonstrates the practical application of sequence diagrams in real-world scenarios, making it easier to learn and apply UML in software development. Whether you are a beginner or an experienced developer, understanding sequence diagrams can significantly enhance your ability to design and analyze complex systems. So, start practicing with more examples and explore the powerful features of UML sequence diagrams to master this essential skill.<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[14,22],"tags":[],"class_list":["post-661","post","type-post","status-publish","format-standard","hentry","category-free-uml-tool","category-sequence-diagram"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Learning UML Sequence Diagrams by Example: ATM Transaction - Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Learning UML Sequence Diagrams by Example: ATM Transaction - Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439\" \/>\n<meta property=\"og:description\" content=\"UML sequence diagrams are a powerful tool for visualizing the interactions between objects in a system over time. They help in understanding the sequence of messages exchanged between different components, making it easier to design and analyze complex systems. In this article, we will learn about UML sequence diagrams using a practical example: an ATM transaction. Understanding the ATM Transaction Sequence Diagram The attached image illustrates a sequence diagram for an ATM transaction. Let&#8217;s break down the key elements and concepts depicted in this diagram. Actors and Objects User: The person interacting with the ATM. ATM: The automated teller machine that facilitates the transaction. Consortium: An intermediary system that verifies the card details. Bank: The financial institution that verifies the account and processes the transaction. Messages Messages represent the communication between objects. In this diagram, we see several types of messages: Synchronous Message: A solid line with a filled arrowhead, indicating a call that waits for a response. Asynchronous Message: A solid line with an open arrowhead, indicating a call that does not wait for a response. Return Message: A dashed line with an open arrowhead, indicating a response to a previous call. Lifelines and Activations Lifeline: A dashed vertical line representing the existence of an object during the interaction. Activation: A thin, tall rectangle on the lifeline indicating that the object is performing an operation. Constraints Constraints add conditions to the interactions: Time Constraint: Specifies a time limit for an operation. Duration Constraint: Specifies the maximum duration for an operation. Step-by-Step Walkthrough Let&#8217;s walk through the ATM transaction sequence diagram step by step: User Inserts Card: The user inserts their card into the ATM. This action is represented by the message\u00a0insert card\u00a0from the User to the ATM. ATM Verifies Card: The ATM sends a\u00a0verify card\u00a0message to the Consortium. The Consortium processes the request and sends a return message back to the ATM. This interaction is enclosed in a time constraint\u00a0{a}, indicating a specific time limit for the verification process. Consortium Verifies Account: The Consortium sends a\u00a0verify account\u00a0message to the Bank. The Bank processes the request and sends a return message back to the Consortium. If the account is not valid, the Bank sends an\u00a0account not ok\u00a0message, and the Consortium sends a\u00a0reject card\u00a0message to the ATM. ATM Ejects Card: If the card is rejected or the verification process takes too long (exceeding the duration constraint\u00a0{b-a &lt; 10 sec}), the ATM ejects the card. This action is represented by the message\u00a0eject card\u00a0from the ATM to the User. Key Concepts Illustrated Time Constraint: The time constraint\u00a0{a}\u00a0ensures that the card verification process completes within a specified time. This is crucial for maintaining the efficiency and security of the transaction. Duration Constraint: The duration constraint\u00a0{b-a &lt; 10 sec}\u00a0ensures that the entire process, from card insertion to ejection, does not exceed 10 seconds. This constraint helps in providing a smooth user experience. Return Messages: Return messages indicate the responses to previous calls. For example, the Consortium sends a return message to the ATM after verifying the card, and the Bank sends a return message to the Consortium after verifying the account. Alternative Flows: The diagram shows alternative flows based on the outcome of the account verification. If the account is not valid, the Bank sends an\u00a0account not ok\u00a0message, leading to the card being rejected. Conclusion UML sequence diagrams are invaluable for understanding and designing the dynamic behavior of systems. By breaking down the ATM transaction example, we have seen how sequence diagrams can capture the interactions between objects, including messages, activations, and constraints. This example demonstrates the practical application of sequence diagrams in real-world scenarios, making it easier to learn and apply UML in software development. Whether you are a beginner or an experienced developer, understanding sequence diagrams can significantly enhance your ability to design and analyze complex systems. So, start practicing with more examples and explore the powerful features of UML sequence diagrams to master this essential skill.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/\" \/>\n<meta property=\"og:site_name\" content=\"Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-26T05:30:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u043c\u0438\u043d\u0443\u0442\u044b\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/\",\"url\":\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/\",\"name\":\"Learning UML Sequence Diagrams by Example: ATM Transaction - Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439\",\"isPartOf\":{\"@id\":\"https:\/\/www.go-uml.com\/ru\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png\",\"datePublished\":\"2024-11-26T05:30:01+00:00\",\"dateModified\":\"2024-11-26T05:30:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.go-uml.com\/ru\/#\/schema\/person\/fc1da26b1e963fc50ec2722b231a274b\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#primaryimage\",\"url\":\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png\",\"contentUrl\":\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.go-uml.com\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learning UML Sequence Diagrams by Example: ATM Transaction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.go-uml.com\/ru\/#website\",\"url\":\"https:\/\/www.go-uml.com\/ru\/\",\"name\":\"Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.go-uml.com\/ru\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.go-uml.com\/ru\/#\/schema\/person\/fc1da26b1e963fc50ec2722b231a274b\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/www.go-uml.com\/ru\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/48025789fc0776739935e63d9f629084?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/48025789fc0776739935e63d9f629084?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.go-uml.com\/ru\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Learning UML Sequence Diagrams by Example: ATM Transaction - Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/","og_locale":"ru_RU","og_type":"article","og_title":"Learning UML Sequence Diagrams by Example: ATM Transaction - Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439","og_description":"UML sequence diagrams are a powerful tool for visualizing the interactions between objects in a system over time. They help in understanding the sequence of messages exchanged between different components, making it easier to design and analyze complex systems. In this article, we will learn about UML sequence diagrams using a practical example: an ATM transaction. Understanding the ATM Transaction Sequence Diagram The attached image illustrates a sequence diagram for an ATM transaction. Let&#8217;s break down the key elements and concepts depicted in this diagram. Actors and Objects User: The person interacting with the ATM. ATM: The automated teller machine that facilitates the transaction. Consortium: An intermediary system that verifies the card details. Bank: The financial institution that verifies the account and processes the transaction. Messages Messages represent the communication between objects. In this diagram, we see several types of messages: Synchronous Message: A solid line with a filled arrowhead, indicating a call that waits for a response. Asynchronous Message: A solid line with an open arrowhead, indicating a call that does not wait for a response. Return Message: A dashed line with an open arrowhead, indicating a response to a previous call. Lifelines and Activations Lifeline: A dashed vertical line representing the existence of an object during the interaction. Activation: A thin, tall rectangle on the lifeline indicating that the object is performing an operation. Constraints Constraints add conditions to the interactions: Time Constraint: Specifies a time limit for an operation. Duration Constraint: Specifies the maximum duration for an operation. Step-by-Step Walkthrough Let&#8217;s walk through the ATM transaction sequence diagram step by step: User Inserts Card: The user inserts their card into the ATM. This action is represented by the message\u00a0insert card\u00a0from the User to the ATM. ATM Verifies Card: The ATM sends a\u00a0verify card\u00a0message to the Consortium. The Consortium processes the request and sends a return message back to the ATM. This interaction is enclosed in a time constraint\u00a0{a}, indicating a specific time limit for the verification process. Consortium Verifies Account: The Consortium sends a\u00a0verify account\u00a0message to the Bank. The Bank processes the request and sends a return message back to the Consortium. If the account is not valid, the Bank sends an\u00a0account not ok\u00a0message, and the Consortium sends a\u00a0reject card\u00a0message to the ATM. ATM Ejects Card: If the card is rejected or the verification process takes too long (exceeding the duration constraint\u00a0{b-a &lt; 10 sec}), the ATM ejects the card. This action is represented by the message\u00a0eject card\u00a0from the ATM to the User. Key Concepts Illustrated Time Constraint: The time constraint\u00a0{a}\u00a0ensures that the card verification process completes within a specified time. This is crucial for maintaining the efficiency and security of the transaction. Duration Constraint: The duration constraint\u00a0{b-a &lt; 10 sec}\u00a0ensures that the entire process, from card insertion to ejection, does not exceed 10 seconds. This constraint helps in providing a smooth user experience. Return Messages: Return messages indicate the responses to previous calls. For example, the Consortium sends a return message to the ATM after verifying the card, and the Bank sends a return message to the Consortium after verifying the account. Alternative Flows: The diagram shows alternative flows based on the outcome of the account verification. If the account is not valid, the Bank sends an\u00a0account not ok\u00a0message, leading to the card being rejected. Conclusion UML sequence diagrams are invaluable for understanding and designing the dynamic behavior of systems. By breaking down the ATM transaction example, we have seen how sequence diagrams can capture the interactions between objects, including messages, activations, and constraints. This example demonstrates the practical application of sequence diagrams in real-world scenarios, making it easier to learn and apply UML in software development. Whether you are a beginner or an experienced developer, understanding sequence diagrams can significantly enhance your ability to design and analyze complex systems. So, start practicing with more examples and explore the powerful features of UML sequence diagrams to master this essential skill.","og_url":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/","og_site_name":"Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439","article_published_time":"2024-11-26T05:30:01+00:00","og_image":[{"url":"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png","type":"","width":"","height":""}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"curtis","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"4 \u043c\u0438\u043d\u0443\u0442\u044b"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/","url":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/","name":"Learning UML Sequence Diagrams by Example: ATM Transaction - Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439","isPartOf":{"@id":"https:\/\/www.go-uml.com\/ru\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#primaryimage"},"image":{"@id":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#primaryimage"},"thumbnailUrl":"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png","datePublished":"2024-11-26T05:30:01+00:00","dateModified":"2024-11-26T05:30:01+00:00","author":{"@id":"https:\/\/www.go-uml.com\/ru\/#\/schema\/person\/fc1da26b1e963fc50ec2722b231a274b"},"breadcrumb":{"@id":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#primaryimage","url":"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png","contentUrl":"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/10\/01-sequence-diagram-example-atm.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.go-uml.com\/ru\/learning-uml-sequence-diagrams-by-example-atm-transaction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.go-uml.com\/ru\/"},{"@type":"ListItem","position":2,"name":"Learning UML Sequence Diagrams by Example: ATM Transaction"}]},{"@type":"WebSite","@id":"https:\/\/www.go-uml.com\/ru\/#website","url":"https:\/\/www.go-uml.com\/ru\/","name":"Go UML \u0420\u0443\u0441\u0441\u043a\u0438\u0439","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.go-uml.com\/ru\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Person","@id":"https:\/\/www.go-uml.com\/ru\/#\/schema\/person\/fc1da26b1e963fc50ec2722b231a274b","name":"curtis","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/www.go-uml.com\/ru\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/48025789fc0776739935e63d9f629084?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/48025789fc0776739935e63d9f629084?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.go-uml.com\/ru\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/posts\/661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/comments?post=661"}],"version-history":[{"count":1,"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/posts\/661\/revisions"}],"predecessor-version":[{"id":663,"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/posts\/661\/revisions\/663"}],"wp:attachment":[{"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/media?parent=661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/categories?post=661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.go-uml.com\/ru\/wp-json\/wp\/v2\/tags?post=661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}