{"id":975,"date":"2015-03-23T07:10:28","date_gmt":"2015-03-23T05:10:28","guid":{"rendered":"http:\/\/www.robinglauser.ch\/blog\/?p=975"},"modified":"2015-03-22T20:16:09","modified_gmt":"2015-03-22T18:16:09","slug":"how-uml-class-diagrams-work-classes","status":"publish","type":"post","link":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/","title":{"rendered":"How UML Class Diagrams work &#8211; Classes"},"content":{"rendered":"<p>If you ever had to create the architecture for a IT project you&#8217;ve surely heard of UML Diagrams. In this tutorial series I will show you how the UML Class Diagramm works with a few practical examples.<\/p>\n<p>UML is used to showcase the architecture of your system by giving you the tools to show the relations between your classes, the use cases for your system or how the classes interact with each other.<\/p>\n<h2>How a class is represented in a UML Class diagram<\/h2>\n<p><a href=\"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg\"><img decoding=\"async\" class=\" size-full wp-image-1007 alignright\" src=\"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg\" alt=\"ClassDiagram\" \/><\/a><\/p>\n<p>First let&#8217;s take a look at how a class is represented in a UML Class diagram.<\/p>\n<p>In this image you can see a pretty standard class with some attributes and operations.<\/p>\n<p>In the top row\u00a0we write the name of the class. In the lower box all the attributes are listed and in the lowest box all methods of the class are shown.<\/p>\n<p>To specify the visibility of the method\/attribute we use +\/#\/-\/~.<\/p>\n<p>For a public attribute\/method we use the plus sign (+). For protected visibility\u00a0(#), for private (-) and for package (~).<\/p>\n<p><a href=\"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/AbstractClass.svg\"><img decoding=\"async\" class=\" size-full wp-image-1005 alignright\" src=\"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/AbstractClass.svg\" alt=\"AbstractClass\" \/><\/a><\/p>\n<p>To show that a method or attribute is static we underline it. If the class should be abstract we write the class name and the abstract functions in italic.<\/p>\n<p>In the next article we&#8217;ll talk about relations between classes.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">If you ever had to create the architecture for a IT project you&#8217;ve surely heard of UML Diagrams. In this tutorial series I will show you how the UML Class Diagramm works with a few practical examples. UML is used to showcase the architecture of your system by giving you the tools to show the relations between your classes, the &#8230; <a class=\"read-more\" href=\"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[45],"tags":[100,98,99],"class_list":["post-975","post","type-post","status-publish","format-standard","hentry","category-development","tag-classdiagram","tag-tutorial","tag-uml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How UML Class Diagrams work - Classes - Robin Glauser<\/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.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How UML Class Diagrams work - Classes - Robin Glauser\" \/>\n<meta property=\"og:description\" content=\"If you ever had to create the architecture for a IT project you&#8217;ve surely heard of UML Diagrams. In this tutorial series I will show you how the UML Class Diagramm works with a few practical examples. UML is used to showcase the architecture of your system by giving you the tools to show the relations between your classes, the ... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/\" \/>\n<meta property=\"og:site_name\" content=\"Robin Glauser\" \/>\n<meta property=\"article:published_time\" content=\"2015-03-23T05:10:28+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg\" \/>\n<meta name=\"author\" content=\"Robin Glauser\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:site\" content=\"@robinglauser\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Robin Glauser\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/\"},\"author\":{\"name\":\"Robin Glauser\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\"},\"headline\":\"How UML Class Diagrams work &#8211; Classes\",\"datePublished\":\"2015-03-23T05:10:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/\"},\"wordCount\":226,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\"},\"image\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/ClassDiagram.svg\",\"keywords\":[\"classdiagram\",\"tutorial\",\"uml\"],\"articleSection\":[\"Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/\",\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/\",\"name\":\"How UML Class Diagrams work - Classes - Robin Glauser\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/ClassDiagram.svg\",\"datePublished\":\"2015-03-23T05:10:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/ClassDiagram.svg\",\"contentUrl\":\"http:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/03\\\/ClassDiagram.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/2015\\\/03\\\/23\\\/how-uml-class-diagrams-work-classes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How UML Class Diagrams work &#8211; Classes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/\",\"name\":\"Robin Glauser\",\"description\":\"My Blog about Development, Design and my random thoughts.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/#\\\/schema\\\/person\\\/e1a94504a6ff5171fa13670932514b19\",\"name\":\"Robin Glauser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\",\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\",\"contentUrl\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\",\"width\":800,\"height\":530,\"caption\":\"Robin Glauser\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/10\\\/DSC_1244_small.jpg\"},\"description\":\"I'm a web developer.\",\"sameAs\":[\"https:\\\/\\\/www.robinglauser.ch\",\"https:\\\/\\\/www.instagram.com\\\/robinglauser\\\/\",\"https:\\\/\\\/x.com\\\/robinglauser\"],\"url\":\"https:\\\/\\\/www.robinglauser.ch\\\/blog\\\/author\\\/robin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How UML Class Diagrams work - Classes - Robin Glauser","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.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/","og_locale":"en_US","og_type":"article","og_title":"How UML Class Diagrams work - Classes - Robin Glauser","og_description":"If you ever had to create the architecture for a IT project you&#8217;ve surely heard of UML Diagrams. In this tutorial series I will show you how the UML Class Diagramm works with a few practical examples. UML is used to showcase the architecture of your system by giving you the tools to show the relations between your classes, the ... Read More","og_url":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/","og_site_name":"Robin Glauser","article_published_time":"2015-03-23T05:10:28+00:00","og_image":[{"url":"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg","type":"","width":"","height":""}],"author":"Robin Glauser","twitter_card":"summary_large_image","twitter_creator":"@robinglauser","twitter_site":"@robinglauser","twitter_misc":{"Written by":"Robin Glauser","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#article","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/"},"author":{"name":"Robin Glauser","@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"headline":"How UML Class Diagrams work &#8211; Classes","datePublished":"2015-03-23T05:10:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/"},"wordCount":226,"commentCount":0,"publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#primaryimage"},"thumbnailUrl":"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg","keywords":["classdiagram","tutorial","uml"],"articleSection":["Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/","url":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/","name":"How UML Class Diagrams work - Classes - Robin Glauser","isPartOf":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#primaryimage"},"image":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#primaryimage"},"thumbnailUrl":"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg","datePublished":"2015-03-23T05:10:28+00:00","breadcrumb":{"@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#primaryimage","url":"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg","contentUrl":"http:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/03\/ClassDiagram.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.robinglauser.ch\/blog\/2015\/03\/23\/how-uml-class-diagrams-work-classes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.robinglauser.ch\/blog\/"},{"@type":"ListItem","position":2,"name":"How UML Class Diagrams work &#8211; Classes"}]},{"@type":"WebSite","@id":"https:\/\/www.robinglauser.ch\/blog\/#website","url":"https:\/\/www.robinglauser.ch\/blog\/","name":"Robin Glauser","description":"My Blog about Development, Design and my random thoughts.","publisher":{"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.robinglauser.ch\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.robinglauser.ch\/blog\/#\/schema\/person\/e1a94504a6ff5171fa13670932514b19","name":"Robin Glauser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","url":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","contentUrl":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg","width":800,"height":530,"caption":"Robin Glauser"},"logo":{"@id":"https:\/\/www.robinglauser.ch\/blog\/wp-content\/uploads\/2015\/10\/DSC_1244_small.jpg"},"description":"I'm a web developer.","sameAs":["https:\/\/www.robinglauser.ch","https:\/\/www.instagram.com\/robinglauser\/","https:\/\/x.com\/robinglauser"],"url":"https:\/\/www.robinglauser.ch\/blog\/author\/robin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/comments?post=975"}],"version-history":[{"count":17,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/975\/revisions"}],"predecessor-version":[{"id":11859,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/posts\/975\/revisions\/11859"}],"wp:attachment":[{"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/media?parent=975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/categories?post=975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.robinglauser.ch\/blog\/wp-json\/wp\/v2\/tags?post=975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}