{"id":12984,"date":"2021-12-18T15:53:28","date_gmt":"2021-12-18T15:53:28","guid":{"rendered":"http:\/\/www.max-sperling.bplaced.net\/?p=12984"},"modified":"2024-02-16T10:02:32","modified_gmt":"2024-02-16T10:02:32","slug":"hld-vs-lld","status":"publish","type":"post","link":"http:\/\/www.max-sperling.bplaced.net\/?p=12984","title":{"rendered":"HLD vs. LLD"},"content":{"rendered":"<p><strong>High level design<\/strong> (Architectural design)<br \/>\n&#8230; provides an overview of the system.<\/p>\n<p><u>Example<\/u>: Infotainment-System (focus on media and navigation only)<\/p>\n<ul>\n<li>Behavior (here: use case diagram)<br \/>\n  <p><img src=http:\/\/www.plantuml.com\/plantuml\/img\/LSn12i9038NX_PpYqNsluDwDkF40OIQMK3ifaxHGnBkR5XLSXIGVVm8ekpRSZ1l8iCHCm4nvf87HdUjTdQHEN1sscVFKuHa2EyraOQuFsa1B4KMKLYcitTwQu_ulBxJAGCvmHM5pgUIYzT0rVg5VwV0DVN_w5dxxnxm1 alt=\"PlantUML Syntax:<br \/>\n  actor User as user<br \/>\n  package &#8220;Infotainment system&#8221; {<br \/>\n    usecase &#8220;Play audio or video&#8221; as play<br \/>\n    usecase &#8220;Navigate to destination&#8221; as navi<br \/>\n  }<\/p>\n<p>  user &#8211;> play<br \/>\n  user &#8211;> navi<br \/>\n  \" usemap=\"#plantuml_map\"><\/p>\n  <\/li>\n<li> Structure (here: component diagram)<br \/>\n  <p><img src=http:\/\/www.plantuml.com\/plantuml\/img\/VL7BQiCm4BpdAnRV_GCX5D9U6cXpINesYxHsHEoLqICbbFvx9IUovSJqOB16i_DOhG1w56Ti28eTrzgXuexOWRrQHrq1Fok0Z7FKNfp02aF4wH90wAxN7CUABqi653ioDGeg02tu05K16iY_Sxs3zYmVp7Az3-sbxGdFGJL8tN-NbDu99NXMRZ7M9qc5qBTu9JE4waXMj-CpUUkbqX1INzIz0aQaYiWpUuyNrQ1Jca6qAa331EEbkXsV9mvEcvXPqcXW0qHL0CPgyHDjg0_5Q-X8B5EnPUyyRZGVmywC3M6dk9cnxO2cWUYRNWmsfTJVNBvawu8rl6ttYwIfyqYQ5WUbxmCdFMOYPCARqgZcv09fjkvCTLEsLFz7I4doTMOEIzSp-Qp8a7aDEoRt67DK6VSs4Vy0 alt=\"PlantUML Syntax:<br \/>\n  package &#8220;Infotainment system&#8221; {<br \/>\n    package &#8220;Touch screen&#8221; {<br \/>\n      component &#8220;User interface&#8221; as user_int<br \/>\n    }<br \/>\n    package &#8220;Sound system&#8221; {<br \/>\n      component Loudspeaker as speaker<br \/>\n    }<br \/>\n    package &#8220;Head unit&#8221; {<br \/>\n      component &#8220;Media player&#8221; as med_player<br \/>\n      component &#8220;Audio service&#8221; as audio_serv<br \/>\n      component &#8220;Navigation client&#8221; as nav_client<br \/>\n      component &#8220;Storage device&#8221; as store_dev<br \/>\n    }<br \/>\n  }<br \/>\n  cloud &#8220;Backend&#8221; {<br \/>\n    component &#8220;Navigation service&#8221; as nav_serv<br \/>\n    component &#8220;Streaming service&#8221; as stream_serv<br \/>\n  }<\/p>\n<p>  user_int <-down-> med_player : CAN<br \/>\n  user_int <-down-> nav_client : CAN<br \/>\n  audio_serv -up-> speaker : CAN<br \/>\n  med_player <-right-> audio_serv<br \/>\n  nav_client <-left-> audio_serv<br \/>\n  nav_client -down-> store_dev<br \/>\n  med_player -down-> store_dev<br \/>\n  nav_client <-down-> nav_serv : Inet<br \/>\n  med_player <-down-> stream_serv : Inet<br \/>\n  \" usemap=\"#plantuml_map\"><\/p>\n  <\/li>\n<\/ul>\n<hr>\n<p><strong>Low level design<\/strong> (Detailed design)<br \/>\n&#8230; provides the details of the components.<\/p>\n<p><u>Example<\/u>: Infotainment-System (focus on media only)<\/p>\n<ul>\n<li>Behavior (here: state diagram)<br \/>\n  <p><img src=http:\/\/www.plantuml.com\/plantuml\/img\/RP112i8m44NtFSMiXLp0XU011C6bk0XcR0Dj4vf9fOXtTv9c94KNWUJ_b_ypQG02QK8uwn3iZ8sSZtVY8xnO-2AzNkpOregE0KqbNCXvdvKth-lk1cgoRKVg80MmPqXF53q3egdah-didz3OE80s9YU9KIMbLWRpfYROB2_8DMxjoBJgyK6RchIhV4d_2H11_RjTlabj1Ym3J3YuEOyWb7IaZ-7yBf9npv613m00 alt=\"PlantUML Syntax:<br \/>\n  state Passive<br \/>\n  state Active {<br \/>\n    state Playing<br \/>\n    state Paused<br \/>\n    state Stopped<br \/>\n  }<\/p>\n<p>  [*] -right-> Passive : Startup<br \/>\n  Passive &#8211;> Playing : Medium added<br \/>\n  Playing -right-> Paused : Pause<br \/>\n  Playing &#8211;> Stopped : Stop<br \/>\n  Paused -left-> Playing : Play<br \/>\n  Paused -right-> Stopped : Stop<br \/>\n  Stopped &#8211;> Playing : Play<br \/>\n  Active &#8211;> Passive : Medium removed<br \/>\n  Active -right-> [*] : Shutdown<br \/>\n  \" usemap=\"#plantuml_map\"><\/p>\n  <\/li>\n<li> Structure (here: class diagram)<br \/>\n  <p><img src=http:\/\/www.plantuml.com\/plantuml\/img\/ZO_D2i8m48JlFiNIanPQzEfDFFKcADv3ijR5c9PaKnJntKsbjJ-2zf9alqmoCpC0ZIS6Bi1IVcPGP54o5MO68BLm3dPQtD728m20YYnxeQ4CSBuO8k4TZfZZecmG6OOrI6yFLiXBfW9yTXvXeGeRAxmn6jKwVqIRaEkVfXx9v2DH_sNFC-HLKvJxqAAS9gr7JOu3s0v0ndZjcdX5HKq6DRvaHrBuKzOaYbOHn4dotdi1scDtlqpJE1f_yW80 alt=\"PlantUML Syntax:<br \/>\n  left to right direction<\/p>\n<p>  class Player {<br \/>\n    virtual play()<br \/>\n    virtual pause()<br \/>\n    virtual stop()<br \/>\n    int : curTrackId<br \/>\n  }<br \/>\n  class PassivePlayer extends Player<br \/>\n  class ActivePlayer extends Player<br \/>\n  class PlayingPlayer extends ActivePlayer<br \/>\n  class PausedPlayer extends ActivePlayer<br \/>\n  class StoppedPlayer extends ActivePlayer<br \/>\n  class Playlist<br \/>\n  Class PlaylistItem<br \/>\n  class AudioItem extends PlaylistItem<br \/>\n  class VideoItem extends PlaylistItem<\/p>\n<p>  Player &#8220;1&#8221; *&#8211; &#8220;1&#8221; Playlist<br \/>\n  Playlist &#8220;1&#8221; *&#8211; &#8220;0..*&#8221; PlaylistItem<br \/>\n  \" usemap=\"#plantuml_map\"><\/p>\n  <\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>High level design (Architectural design) &#8230; provides an overview of the system. Example: Infotainment-System (focus on media and navigation only)<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false},"categories":[30],"tags":[],"_links":{"self":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts\/12984"}],"collection":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12984"}],"version-history":[{"count":1,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts\/12984\/revisions"}],"predecessor-version":[{"id":16688,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=\/wp\/v2\/posts\/12984\/revisions\/16688"}],"wp:attachment":[{"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12984"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.max-sperling.bplaced.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}