[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-655841-105":59,"doc-detail-655841-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","software-engineering-lecture-05-object-oriented-analysis-lecture-notes","Software Engineering Lecture 05 - Object-Oriented Analysis - Lecture Notes","","Software Engineering lecture notes focus on Object-Oriented Analysis (OOA), explaining why OOA and OOD are needed after an introduction to OOP, and how OO models capture relevant aspects of software systems for specific goals. The material introduces modeling concepts (representation, abstraction, pragmatism) and compares informal, semi-formal, and formal models. It then outlines an OOA approach: ten steps covering class identification, associations/compositions, attributes/operations, life cycle, inheritance, validation, and subsystem decomposition, including CRC cards for class-responsibility-collaboration.",{"@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/software-engineering-lecture-05-object-oriented-analysis-lecture-notes/655841/",{"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/software-engineering-lecture-05-object-oriented-analysis-lecture-notes/655841.png","ImageObject",300,407,{"name":92,"@type":93},"Grenda","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-10-31","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},"Why is Object-Oriented Analysis (OOA) needed after introducing OOP?","Question",{"text":112,"@type":113},"The lecture explains that OOA and OOD are needed to build OO models of software systems and to capture relevant features for the intended purpose.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"What are the key ideas behind the concept of a model?",{"text":117,"@type":113},"A model is a representation of an original object, it uses abstraction rather than covering all features, and it is always goal-oriented to include only relevant characteristics.",{"name":119,"@type":110,"acceptedAnswer":120},"What are the first steps in developing an OOA model?",{"text":121,"@type":113},"The ten-step process starts by identifying classes from verbal requirements, then identifying associations and compositions by finding relevant verbs and determining roles and cardinalities.","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},655841,1793073252,{"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},7971474921005,"https://ap-avatar.wpscdn.com/davatar_29158cc5080c5b710cf443261637dec0","Software Engineering Lecture 05: Object-Oriented Analysis  \nPeter Thiemann  \nUniversity of Freiburg, Germany  \nSS 2013  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 45  \nObject-Oriented Analysis  \nI After introduction of OOP: need for OOA and OOD  \nI Purpose: Building OO models of software systems  \nI No generally accepted methodology; many di􀀋erent approaches: Booch, Rumbaugh (OMT), Coad/Yourdon, Jacobson (OOSE), Wirfs-Brock,    \nI Current approaches rely on UML (Uni􀀌ed Modeling Language, Booch/Jacobson/Rumbaugh)  \nI UML supports many kinds of semi-formal modeling techniques I use case diagrams  \nI class diagrams  \nI sequence diagrams  \nI state machine diagrams  \nI activity diagrams  \nI (deployment diagrams)  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 2 / 45  \nThe Concept \\Model\"  \n(according to Herbert Stachowiak, 1973)  \nRepresentation  \nA model is a representation of an original object.  \nAbstraction  \nA model need not encompass all features of the original object.  \nPragmatism  \nA model is always goal-oriented.  \nI Modeling creates a representation that only encompasses the relevant features for a particular purpose.  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 3 / 45  \nVariations of Models  \nInformal models  \nI informal syntax, intuitive semantics  \nI ex: informal drawing on blackboard, colloquial description  \nSemi-formal models  \nI formally de􀀌ned syntax (metamodel), intuitive semantics I ex: many diagram types of UML  \nFormal models  \nI formally de􀀌ned syntax and semantics  \nI ex: logical formulae, phrase structure grammars, programs  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 4 / 45  \nObtaining a data model  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 5 / 45  \nTen Steps Towards an OOA Model  \nHeide Balzert  \n1. Data analysis: identify classes  \n2. Identify associations and compositions  \n3. Identify attributes and operations for each class  \n4. Construct object life cycle  \n5. Introduce inheritance  \n6. Identify internal operations  \n7. Specify operations  \n8. Check inheritance  \n9. Check associations and compositions  \n10. Decompose in subsystems  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 6 / 45  \nStep: Identify Classes  \nI identify tangible entities: physical objects (airplane), roles (manager), events (request, form), interactions (meeting), locations (o􀀎ce), organizational units (company)  \nI top-down: scan verbal requirements  \nI nouns ! objects, attributes  \nI verbs ! operations bottom-up:  \nI collect attributes (data) and operations  \nI combine into classes  \nI name of class: concrete noun, singular, describes all objects (no roles)  \nI classes related via invariable 1:1 associations may be joined  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 7 / 45  \nStep: Identify Associations and Compositions  \nI permanent relations between objects  \nI scan verbal requirements for verbs I technical subsidiarity: composition I communication between objects ! association I determine roles  \nI snapshot / history required?  \nI constraints?  \nI are there attributes / operations for association? I determine cardinalities  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 8 / 45  \nAttributes and Operations by Form Analysis  \n| Good |\n| --- |\n| name picture description category status\u003Cbr>... |\n| display() edit()\u003Cbr>... |\n\nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 9 / 45  \nStep: Identify Attributes and Operations  \nCRC Cards (Wirfs-Brock)  \nI CRC = Class-Responsibility-Collaboration  \nI initially, a class is assigned responsibilities and collaborators I collaborator is a class cooperating to ful􀀌l responsibilities I three-four responsibilities per card (class); otherwise: split class I developed iteratively through series of meetings  \nPeter Thiemann (Univ. Freiburg) Software Engineering SWT 10 / 45","cbCaifKa4ZUdVnAa","https://ap.wps.com/l/cbCaifKa4ZUdVnAa","pdf",393837,46,"English","# After introduction of OOP: need for OOA and OOD\n## Purpose: Building OO models of software systems\n# The Concept \"Model\"\n## Representation\n## Abstraction\n## Pragmatism\n# Variations of Models\n## Informal models\n## Semi-formal models\n## Formal models\n# Ten Steps Towards an OOA Model\n## Step: Identify Classes\n## Step: Identify Associations and Compositions\n## Step: Identify Attributes and Operations","[{\"question\":\"Why is Object-Oriented Analysis (OOA) needed after introducing OOP?\",\"answer\":\"The lecture explains that OOA and OOD are needed to build OO models of software systems and to capture relevant features for the intended purpose.\"},{\"question\":\"What are the key ideas behind the concept of a model?\",\"answer\":\"A model is a representation of an original object, it uses abstraction rather than covering all features, and it is always goal-oriented to include only relevant characteristics.\"},{\"question\":\"What are the first steps in developing an OOA model?\",\"answer\":\"The ten-step process starts by identifying classes from verbal requirements, then identifying associations and compositions by finding relevant verbs and determining roles and cardinalities.\"}]","Software Engineering Lecture 05 - Object-Oriented Analysis - Lecture Notes | PDF",1792964236,116]