{"id":8761,"date":"2022-06-13T05:57:22","date_gmt":"2022-06-13T05:57:22","guid":{"rendered":"https:\/\/www.booksofall.com\/tw\/?post_type=product&#038;p=8761"},"modified":"2022-06-15T05:30:04","modified_gmt":"2022-06-15T05:30:04","slug":"a-practical-tutorial-on-robustness-analysis","status":"publish","type":"product","link":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/","title":{"rendered":"A Practical Tutorial on Robustness Analysis"},"content":{"rendered":"<h3>A Practical Tutorial on Robustness Analysis<\/h3>\n<p>5-6 minutes<\/p>\n<p>The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture.<\/p>\n<p>As I mentioned before, robustness analysis is not exactly a core part of UML; instead, it requires the use of some stereotypes. Here are the Robustness Analysis Diagram symbols:<\/p>\n<p>Boundary object (or interface object) is what actors use in communicating with the system.<\/p>\n<p>Entity object is usually an object from the domain model.<\/p>\n<p>Control objects (also known as controllers in MVC), which serve as the \u201cglue\u201d between boundary objects and entity objects. Figure 1 shows the visual icons for these three types of objects.<\/p>\n<h3>Robustness Analysis Diagram at a Glance<\/h3>\n<p>Suppose we have the following simple use case description in textual format:<\/p>\n<p>From the student detail page, the teacher clicks on the \u2018\u2018Add courses\u2019\u2019 button and the system displays the list of courses. The teacher selects the name of a course and presses the \u2018\u2018Register\u2019\u2019 button. The system registers the student for the course.<\/p>\n<p>Now you can create a simple robustness diagram according to the use case above:<\/p>\n<p>You can also use a text label to attach the use case description on the right-hand-side of the Robustness diagram.<\/p>\n<h3>Robustness Diagram \u2013 4 Connection Rules<\/h3>\n<p>Keep in mind that both boundary objects and entity objects are nouns and that controllers are verbs. Nouns can\u2019t talk to other nouns, but verbs can talk to either nouns or verbs.<\/p>\n<ul>\n<li>Here I listed the four basic connection rules which should always be mind:<\/li>\n<li>Actors can only talk to boundary objects.<\/li>\n<li>Boundary objects can only talk to controllers and actors.<\/li>\n<li>Entity objects can only talk to controllers.<\/li>\n<li>Controllers can talk to boundary objects and entity objects, and to other controllers, but not to actors<\/li>\n<\/ul>\n<h3>Law of Demeter<\/h3>\n<p>This philosophy is again consistent with the Model-View-Controller pattern which is also related to the \u201cLaw of Demeter\u201d. The Law of Demeter (LoD) or principle of least knowledge is a design guideline for developing software, particularly object-oriented programs. In its general form, the LoD is a specific case of loose coupling.<\/p>\n<p>Each unit should have only limited knowledge about other units: only units \u201cclosely\u201d related to the current unit.<\/p>\n<p>Each unit should only talk to its friends; don\u2019t talk to strangers.<\/p>\n<p>Only talk to your immediate friends.<\/p>\n<p>The fundamental notion is that a given object should assume as little as possible about the structure or properties of anything else (including its subcomponents), in accordance with the principle of \u201cinformation hiding\u201d. It may be viewed as a corollary to the principle of least privilege, which dictates that a module possesses only the information and resources necessary for its legitimate purpose.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><iframe frameborder=\"0\" allowtransparency=\"true\" allowFullscreen=\"true\" style=\"width: 100%; height: 700px; border: none;\" src=\"https:\/\/online.visual-paradigm.com\/share\/book\/a-practical-tutorial-on-robustness-analysis-zi9deg9xr?enforceShowPromotionBar=true\"><\/iframe><\/p>\n","protected":false},"featured_media":8764,"template":"","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture."},"product_brand":[],"product_cat":[213],"product_tag":[],"class_list":{"0":"post-8761","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-computer-uml","8":"first","9":"instock","10":"shipping-taxable","11":"product-type-simple"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>A Practical Tutorial on Robustness Analysis - BooksOfAll Traditional Chinese<\/title>\n<meta name=\"description\" content=\"The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture.\" \/>\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.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Practical Tutorial on Robustness Analysis - BooksOfAll Traditional Chinese\" \/>\n<meta property=\"og:description\" content=\"The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/\" \/>\n<meta property=\"og:site_name\" content=\"BooksOfAll Traditional Chinese\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-15T05:30:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/\",\"url\":\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/\",\"name\":\"A Practical Tutorial on Robustness Analysis - BooksOfAll Traditional Chinese\",\"isPartOf\":{\"@id\":\"https:\/\/www.booksofall.com\/tw\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png\",\"datePublished\":\"2022-06-13T05:57:22+00:00\",\"dateModified\":\"2022-06-15T05:30:04+00:00\",\"description\":\"The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#primaryimage\",\"url\":\"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png\",\"width\":\"596\",\"height\":\"842\",\"caption\":\"A Practical Tutorial on Robustness Analysis\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.booksofall.com\/tw\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Categories\",\"item\":\"https:\/\/www.booksofall.com\/tw\/categories\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"A Practical Tutorial on Robustness Analysis\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.booksofall.com\/tw\/#website\",\"url\":\"https:\/\/www.booksofall.com\/tw\/\",\"name\":\"BooksOfAll Traditional Chinese\",\"description\":\"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.\",\"publisher\":{\"@id\":\"https:\/\/www.booksofall.com\/tw\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.booksofall.com\/tw\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-TW\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.booksofall.com\/tw\/#organization\",\"name\":\"BooksOfAll Traditional Chinese\",\"url\":\"https:\/\/www.booksofall.com\/tw\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\/\/www.booksofall.com\/tw\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/booksofall-logo-2.png\",\"contentUrl\":\"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/booksofall-logo-2.png\",\"width\":166,\"height\":30,\"caption\":\"BooksOfAll Traditional Chinese\"},\"image\":{\"@id\":\"https:\/\/www.booksofall.com\/tw\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A Practical Tutorial on Robustness Analysis - BooksOfAll Traditional Chinese","description":"The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture.","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.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/","og_locale":"zh_TW","og_type":"article","og_title":"A Practical Tutorial on Robustness Analysis - BooksOfAll Traditional Chinese","og_description":"The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture.","og_url":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/","og_site_name":"BooksOfAll Traditional Chinese","article_modified_time":"2022-06-15T05:30:04+00:00","og_image":[{"url":"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_image":"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png","twitter_misc":{"\u9810\u4f30\u95b1\u8b80\u6642\u9593":"3 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/","url":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/","name":"A Practical Tutorial on Robustness Analysis - BooksOfAll Traditional Chinese","isPartOf":{"@id":"https:\/\/www.booksofall.com\/tw\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#primaryimage"},"image":{"@id":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#primaryimage"},"thumbnailUrl":"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png","datePublished":"2022-06-13T05:57:22+00:00","dateModified":"2022-06-15T05:30:04+00:00","description":"The Robustness Analysis is a practice that originated with Ivar Jacobson\u2019s Objectory Method, but it was dropped from the Unified Modeling Language. This involves analyzing the narrative text of use cases, identifying the first-guess set of objects that will participate in those use cases, and classifying these objects based on the roles they play. Robustness analysis helps you to bridge the gap from Use Cases and Domain Classes, and the model-view-control (MVC) software architecture.","breadcrumb":{"@id":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/"]}]},{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#primaryimage","url":"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png","contentUrl":"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/A-Practical-Tutorial-on-Robustness-Analysis-06.png","width":"596","height":"842","caption":"A Practical Tutorial on Robustness Analysis"},{"@type":"BreadcrumbList","@id":"https:\/\/www.booksofall.com\/tw\/a-practical-tutorial-on-robustness-analysis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.booksofall.com\/tw\/"},{"@type":"ListItem","position":2,"name":"Categories","item":"https:\/\/www.booksofall.com\/tw\/categories\/"},{"@type":"ListItem","position":3,"name":"A Practical Tutorial on Robustness Analysis"}]},{"@type":"WebSite","@id":"https:\/\/www.booksofall.com\/tw\/#website","url":"https:\/\/www.booksofall.com\/tw\/","name":"BooksOfAll Traditional Chinese","description":"Biggest IT eBooks library and learning resources - Free eBooks for programming, computing, artificial intelligence and more.","publisher":{"@id":"https:\/\/www.booksofall.com\/tw\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.booksofall.com\/tw\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-TW"},{"@type":"Organization","@id":"https:\/\/www.booksofall.com\/tw\/#organization","name":"BooksOfAll Traditional Chinese","url":"https:\/\/www.booksofall.com\/tw\/","logo":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/www.booksofall.com\/tw\/#\/schema\/logo\/image\/","url":"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/booksofall-logo-2.png","contentUrl":"https:\/\/www.booksofall.com\/tw\/wp-content\/uploads\/sites\/3\/2022\/06\/booksofall-logo-2.png","width":166,"height":30,"caption":"BooksOfAll Traditional Chinese"},"image":{"@id":"https:\/\/www.booksofall.com\/tw\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/product\/8761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/media\/8764"}],"wp:attachment":[{"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/media?parent=8761"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/product_brand?post=8761"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/product_cat?post=8761"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.booksofall.com\/tw\/wp-json\/wp\/v2\/product_tag?post=8761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}