[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-655938-105":59,"doc-detail-655938-en":130},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":123,"head_meta":125,"extra_data":127,"updated_unix":129},105,"en","atm-case-study-part-1-object-oriented-design-with-the-uml","ATM Case Study - Part 1 - Object-Oriented Design with the UML","","This document presents Part 1 of an ATM end-to-end object-oriented design case study, using UML to guide analysis and modeling. It introduces an OOAD process, explains why large projects require structured requirements analysis and design review, and contrasts OOAD with simpler approaches like pseudocode for small problems. It then walks through examining an ATM requirements document, defining the system purpose, core functionality, and modeling elements needed for later diagram-based design.",{"@graph":69,"@context":122},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":30,"@type":76,"position":81},"https://docshare.wps.com/document/technology/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/atm-case-study-part-1-object-oriented-design-with-the-uml/655938/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/atm-case-study-part-1-object-oriented-design-with-the-uml/655938.png","ImageObject",300,407,{"name":92,"@type":93},"FajarTechTalk","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-30","2026-10-25",true,{"@type":102,"interactionType":103,"userInteractionCount":34},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118],{"name":109,"@type":110,"acceptedAnswer":111},"What is the purpose of the ATM case study in this chapter?","Question",{"text":112,"@type":113},"It provides a paced, complete learning experience where you perform object-oriented design steps using UML and relate them to OO concepts, culminating in a walkthrough of the C++ implementation in later chapters.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"Why is an OOAD process preferred over writing code immediately for large projects?",{"text":117,"@type":113},"Large and complex systems require structured requirement analysis and design decisions so the team can avoid ill-planned approaches that may need to be abandoned during implementation.",{"name":119,"@type":110,"acceptedAnswer":120},"What does the ATM requirements document specify?",{"text":121,"@type":113},"It defines the ATM system’s overall purpose and what the system must do, including core user transactions such as viewing balances, withdrawing cash, and depositing funds.","https://schema.org",{"og:url":83,"og:type":124,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":126,"canonical":83},"index,follow",{"doc_id":128,"site_id":62},655938,1792982421,{"code":4,"msg":5,"data":131},{"doc_id":128,"user_id":132,"nickname":92,"user_avatar":133,"doc_module":4,"category_id":29,"category_name":30,"doc_title":65,"doc_description":67,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":34,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":139,"language":140,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":67,"update_tm":144,"read_time":145},962094249465,"https://ap-avatar.wpscdn.com/davatar_29158cc5080c5b710cf443261637dec0","ATM Case Study, Part 1: Object-Oriented Design with the UML  \nAction speaks louder than words but not nearly as often.  \n—Mark Twain  \nAlways design a thing by considering it in its next larger context.  \n—Eliel Saarinen  \nOh, life is a glorious cycle of song.  \n—Dorothy Parker  \nThe Wright brothers’design … allowed them to survive long enough to learn how to fly.  \n—Michael Potts  \nObj ec tive s  \nIn this chapter you’ll learn:  \n■ A simple object-oriented design methodology.  \n■ What a requirements document is.  \n■ To identify classes and class attributes from a requirements document.  \n■ To identify objects’ states, activities and operations from a requirements document.  \n■ To determine the collaborations among objects in a system.  \n■ To work with the UML’s use case, class, state, activity, communication and sequence diagrams to graphically model an objectoriented system.  \n© 2012 Pearson Education, Inc. , Upper Saddle River, NJ. All Rights Reserved.  \n25  \n25-2 Chapter 25 ATM Case Study, Part 1: Object-Oriented Design with the UML  \n\n| 25.1\u003Cbr>25.2\u003Cbr>25.3\u003Cbr>25.4\u003Cbr>25.5 | Introduction\u003Cbr>Introduction to Object-Oriented Analysis and Design\u003Cbr>Examining the ATM Requirements Document\u003Cbr>Identifying the Classes in the ATM Requirements Document Identifying Class Attributes | 25.6\u003Cbr>25.7\u003Cbr>25.8\u003Cbr>25.9 | Identifying Objects’ States and Activities\u003Cbr>Identifying Class Operations Indicating Collaboration Among Objects\u003Cbr>Wrap-Up |\n| --- | --- | --- | --- |\n\n25.1 Introduction  \nNow we begin the optional portion of our object-oriented design and implementation case study. In this chapter and Chapter 26, you’ll design and implement an object-oriented automated teller machine (ATM) software system. The case study provides you with a concise, carefully paced, complete design and implementation experience. You’ll perform the steps of an object-oriented design (OOD) process using the UML while relating them to the object-oriented concepts discussed in Chapters 2–13. In this chapter, you’ll work with six popular types of UML diagrams to graphically represent the design. In Chapter 26, you’ll tune the design with inheritance and polymorphism, then fully implement the ATM in an 850-line C++ application (Section 26.4) .  \nThis is not an exercise; rather, it’s an end-to-end learning experience that concludes with a detailed walkthrough of the complete C++ code that implements our design. It will acquaint you with the kinds of substantial problems encountered in industry.  \nThese chapters can be studied as a continuous unit after you’ve completed the introduction to object-oriented programming in Chapters 2–13. Or, you can pace the sections after Chapters 3–7, 9and 13. Each section of the case study begins with a note telling you the chapter after which it can be covered.  \n25.2 Introduction to Object-Oriented Analysis and Design  \nWhat ifyou were asked to create a software system to control thousands ofautomated teller machines for a major bank? Or suppose you were asked to work on a team of1000software developers building the next U.S. air traffic control system. For projects so large and complex, you cannot simply sit down and start writing programs.  \nTo create the best solutions, you should follow a process for analyzing your project’s requirements (i.e., determining what the system should do) and developing a design that satisfies them (i.e., deciding how the system should do it) . Ideally, you’d go through this process and carefully review the design (or have your design reviewed by other software professionals) before writing any code. If this process involves analyzing and designing your system from an object-oriented point of view, it’s called an object-oriented analysis and design (OOAD) process. Analysis and design can save many hours by helping you to avoid an ill-planned system-development approach that has to be abandoned part of the way through its implementation, possibly wasting considerable time, money and effort. Small","cbCaitYed9bIWjpL","https://ap.wps.com/l/cbCaitYed9bIWjpL","pdf",1329536,42,"English","# 25.1 Introduction\n## Introduction to Object-Oriented Analysis and Design\n# 25.2 Introduction to Object-Oriented Analysis and Design\n# 25.3 Examining the ATM Requirements Document\n# 25.4 Identifying the Classes in the ATM Requirements Document\n## Identifying Class Attributes\n# 25.5 Identifying Objects’ States and Activities\n## Identifying Class Operations\n## Indicating Collaboration Among Objects\n# Wrap-Up","[{\"question\":\"What is the purpose of the ATM case study in this chapter?\",\"answer\":\"It provides a paced, complete learning experience where you perform object-oriented design steps using UML and relate them to OO concepts, culminating in a walkthrough of the C++ implementation in later chapters.\"},{\"question\":\"Why is an OOAD process preferred over writing code immediately for large projects?\",\"answer\":\"Large and complex systems require structured requirement analysis and design decisions so the team can avoid ill-planned approaches that may need to be abandoned during implementation.\"},{\"question\":\"What does the ATM requirements document specify?\",\"answer\":\"It defines the ATM system’s overall purpose and what the system must do, including core user transactions such as viewing balances, withdrawing cash, and depositing funds.\"}]","ATM Case Study - Part 1 - Object-Oriented Design with the UML | PDF",1792965013,106]