[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-655843-105":59,"doc-detail-655843-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","object-oriented-software-engineering-chapter-2-modeling-with-uml","Object-Oriented Software Engineering - Chapter 2 - Modeling with UML","","Chapter 2 focuses on modeling with UML, explaining how modeling builds abstractions of reality by removing irrelevant details and keeping only what serves the model’s purpose. It addresses why software modeling is necessary due to rising system complexity and code scale, and it highlights benefits such as visualizing software before implementation, improving understandability, documenting design decisions, and guiding production. The chapter also contrasts the application domain (analysis) with the solution domain (design and implementation) and describes their respective abstractions.",{"@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/object-oriented-software-engineering-chapter-2-modeling-with-uml/655843/",{"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/object-oriented-software-engineering-chapter-2-modeling-with-uml/655843.png","ImageObject",300,407,{"name":92,"@type":93},"Aran","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-30","2026-10-25",true,{"@type":102,"interactionType":103,"userInteractionCount":81},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118],{"name":109,"@type":110,"acceptedAnswer":111},"What does modeling mean in this chapter?","Question",{"text":112,"@type":113},"Modeling means building an abstraction of reality by ignoring irrelevant details and representing only the relevant ones.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"Why should software be modeled instead of directly writing code?",{"text":117,"@type":113},"Software modeling helps manage increasing complexity, makes systems easier to visualize before production, and supports documentation and communication of design decisions.",{"name":119,"@type":110,"acceptedAnswer":120},"What is the difference between the application domain and the solution domain?",{"text":121,"@type":113},"The application domain (analysis) describes the operating environment, while the solution domain (design and implementation) describes the technologies used to build the system and the modeling space of possible systems.","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},655843,1793073502,{"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":81,"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},137455076865,"https://ap-avatar.wpscdn.com/davatar_29158cc5080c5b710cf443261637dec0","Object-Oriented Software Engineering  \nUsing UML, Patterns, and Java  \nChapter 2, Modeling with UML  \nOverview: modeling with UML  \n􀁩 What is modeling?  \n􀁩 What is UML?  \n􀁩 Use case diagrams  \n􀁩 Class diagrams  \n􀁩 Sequence diagrams  \n􀁩 Activity diagrams  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2  \nWhat is modeling?  \n􀁩  \n􀁩  \nModeling consists of building an abstraction of reality.  \nAbstractions are simplifications because:  \n􀂊 They ignore irrelevant details and  \n􀂊 They only represent the relevant details.  \nFocus only on relevant parts of the problem  \nWhat is relevant or irrelevant depends on the purpose of the model.  \n‘Throw away’ the details.  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3  \nWhy model software?  \n􀁩 Software is getting increasingly more complex  \n􀂊 Windows XP > 40 million lines of code  \n􀂊 A single programmer cannot manage this amount of code in its entirety.  \n􀁩 We need simpler representations for complex systems  \n􀂊 Modeling is a means for dealing with complexity  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4  \nWhy model software ?  \nVisualize software before its produced  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5  \nWhy model software ?  \nCode is not easily understandable by developers who did not write it  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6  \nWhy model software ?  \nDocument the design decisions & Communicate Ideas  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7  \nWhy model software ?  \nProvide template for guiding the software production  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8  \nExample: House  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9  \nApplication vs Solution Domain  \n􀁩 Application Domain (Analysis):  \n􀂊 The environment in which the system is operating  \n􀁩 Solution Domain (Design, Implementation):  \n􀂊 The technologies used to build the system  \n􀂊 Modeling space of all possible systems  \n􀁩 Both domains contain abstractions that we can use for the construction of the system model.  \nBernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10","cbCaifr8XiXlMPxg","https://ap.wps.com/l/cbCaifr8XiXlMPxg","pdf",1799199,65,"English","# Overview: modeling with UML\n## What is modeling?\n## What is UML?\n## Use case diagrams\n## Class diagrams\n## Sequence diagrams\n## Activity diagrams\n# Why model software?\n## Dealing with complexity\n## Visualizing software before production\n## Communicating design decisions\n## Guiding software production\n# Application vs Solution Domain","[{\"question\":\"What does modeling mean in this chapter?\",\"answer\":\"Modeling means building an abstraction of reality by ignoring irrelevant details and representing only the relevant ones.\"},{\"question\":\"Why should software be modeled instead of directly writing code?\",\"answer\":\"Software modeling helps manage increasing complexity, makes systems easier to visualize before production, and supports documentation and communication of design decisions.\"},{\"question\":\"What is the difference between the application domain and the solution domain?\",\"answer\":\"The application domain (analysis) describes the operating environment, while the solution domain (design and implementation) describes the technologies used to build the system and the modeling space of possible systems.\"}]","Object-Oriented Software Engineering - Chapter 2 - Modeling with UML | PDF",1792964279,164]