digraph architecture { layout="neato"; node [fontname = "Helvetica"]; edge [fontname = "Helvetica"]; splines=true; overlap=false; nodesep="0.2"; ranksep="0.4"; label="Architecture"; labelloc="t"; fontname="Lato"; node [ shape="plaintext" style="filled, rounded" fontname="Lato" margin=0.2 shape="oval"]; edge [ fontname="Lato" color="#2B303A"]; root[label="Architectural\nConcerns"]; { node[fillcolor="#faaaaa" style="filled" fontcolor="white"] sec[label="Security"]; main[label="Maintainability"]; port[label="Portability"]; func[label="Functional\nSuitability"]; perf[label="Performance\nEfficiency"]; comp[label="Compatibility"]; use[label="Usability"]; rel[label="Reliability"]; }; { node[fillcolor="#faa42f" style="filled" fontcolor="white"] }; { node[fillcolor="#ffea50" style="filled" fontcolor="black" shape="oval"] port_01[label="Adaptability"]; port_02[label="Installability"]; port_03[label="Replaceability"]; sec_01[label="Confidentiality"]; sec_02[label="Integrity"]; sec_03[label="Non-repudiation"]; sec_04[label="Accountability"]; sec_05[label="Authenticity"]; main_01[label="Modularity"]; main_02[label="Reusability"]; main_03[label="Analysability"]; main_04[label="Modifiability"]; main_05[label="Testability"]; func_01[label="Completeness"]; func_02[label="Correctness"]; func_03[label="Appropriateness"]; perf_01[label="Time\nbehaviour"]; perf_02[label="Resource\nutilisation"]; perf_03[label="Capacity"]; comp_01[label="Co-existence"]; comp_02[label="Interoperability"]; use_01[label="Recognisability"]; use_02[label="Learnability"]; use_03[label="Operability"]; use_04[label="Error\nProtection"]; use_05[label="UI aesthetics"]; use_06[label="Accessibility"]; rel_01[label="Maturity"]; rel_02[label="Availability"]; rel_03[label="Fault\nTolerance"]; rel_04[label="Recoverability"]; }; root -> sec sec -> sec_01 sec -> sec_02 sec -> sec_03 sec -> sec_04 sec -> sec_05 root -> main main -> main_01 main -> main_02 main -> main_03 main -> main_04 main -> main_05 root -> port port -> port_01 port -> port_02 port -> port_03 root -> func func -> func_01 func -> func_02 func -> func_03 root -> perf perf -> perf_01 perf -> perf_02 perf -> perf_03 root -> comp comp -> comp_01 comp -> comp_02 root -> use use -> use_01 use -> use_02 use -> use_03 use -> use_04 use -> use_05 use -> use_06 root -> rel rel -> rel_01 rel -> rel_02 rel -> rel_03 rel -> rel_04 }