Komunita

author
10 minutes, 59 seconds Read

Od Dinga Yi, přezdívaného Sanhua ve společnosti Alibaba.

Cena technické komunikace se odráží nejen ve způsobu, jakým se vyvíjejí aplikace prostřednictvím komerčních produktů a projektů s otevřeným zdrojovým kódem, a ve způsobu, jakým se urychlují různé procesy spouštění podniků. Její hodnota se však velmi výrazně odráží také ve zkušenostech, které sdílí několik různých vynikajících inženýrů při zvyšování produktivity, optimalizaci výkonu produktů a podpoře uživatelského komfortu. Jednou větou, technická komunikace je důležitá, protože zlepšuje naše profesní schopnosti.

V tomto článku se technický expert společnosti Alibaba Ding Yi podělí o své nápady a zkušenosti s vytvářením efektivních architektonických diagramů.

Chceme-li popsat náš systém v jednom nebo více diagramech, často se setkáváme s následujícími problémy:

  • Nevíme, kde začít.
  • Nevíme, jak popsat systém v jednom diagramu, který bude dostatečně jasný, aby mu příslušné produktové, provozní a vývojové týmy jasně porozuměly.
  • V polovině cesty si uvědomíme, že nevíme, kdo je publikum.
  • Nevíme, zda zobrazujeme funkční diagram produktu, technický diagram nebo prostě směs.
  • Když je v diagramu příliš málo políček, nevíme, co ještě přidat.
  • Nikdy nejsme spokojeni s uspořádáním diagramu.

Pokud jste se setkali se stejnými problémy, tento článek představuje metodiku kreslení pro tvorbu přehledných architektonických diagramů.

Pojmy

Co je to architektura?

„Architekturu“ lze definovat jako abstraktní popis entit v systému a vztahů mezi nimi. Zahrnuje řadu rozhodovacích procesů.

Architektura je struktura a vize.

„Architektura systému“ je ztělesněním pojmů a rozdělení korespondencí mezi funkcemi věcí nebo informací a formálními prvky. Definuje vztahy mezi prvky navzájem i mezi prvky a okolním prostředím.

Vytvoření solidní architektury je složitý úkol a velké téma, o kterém bychom zde měli diskutovat. Po vybudování architektury jí musí příslušné strany porozumět a řídit se jejím diktátem.

Co je architektonický diagram?

Architektonický diagram je diagram systému, který se používá k abstrahování celkového náčrtu softwarového systému a vztahů, omezení a hranic mezi komponentami. Je to důležitý nástroj, protože poskytuje celkový pohled na fyzické rozmístění softwarového systému a plán jeho vývoje.

Jaké jsou funkce architektonického diagramu?

Diagram podobně jako obrázek vydá za tisíc slov. Jinými slovy, architektonický diagram musí plnit několik různých funkcí. Abychom umožnili příslušným uživatelům pochopit architekturu systému a řídit se jí při svém rozhodování, musíme jim sdělit informace o architektuře. Architektonické diagramy k tomu poskytují skvělý způsob. Shrneme-li některé hlavní funkce, architektonický diagram musí:

  • Odbourat komunikační bariéry
  • Dosáhnout konsenzu
  • Odstranit nejednoznačnost

Typy architektonických diagramů

Diagramy lze rozdělit do mnoha kategorií. Jedním z oblíbených typů diagramů je pohled 4+1, který zahrnuje scénářový, logický, fyzický, procesní a vývojový pohled na architekturu.

Scénářový pohled

Scénářový pohled popisuje vztahy mezi účastníky systému a funkčními případy užití a odráží konečné požadavky a návrh interakce systému. Tento pohled je obvykle diagramem případů užití.

Logický pohled

Logický pohled se používá k popisu vztahů komponent, omezení komponent a hranic po rozdělení softwarových funkcí systému. Odráží celkové složení systému a způsob, jakým je systém vytvořen. Tento pohled je obvykle diagramem komponent UML nebo diagramem tříd.

Fyzický pohled

Fyzický pohled popisuje mapování mezi systémovým softwarem a fyzickým hardwarem a ukazuje, jak jsou systémové komponenty rozmístěny na skupině vypočitatelných fyzických uzlů. Poskytuje vodítko v procesu nasazení softwarového systému.

Procesní zobrazení

Procesní zobrazení popisuje komunikační posloupnost a vstup a výstup dat mezi softwarovými komponentami systému a odráží funkční a datové toky systému. Tento pohled je obvykle prezentován jako sekvenční diagram nebo vývojový diagram.

Vývojový pohled

Vývojový pohled se používá k popisu rozdělení a složení modulů systému a zpřesnění kompozičního návrhu vnitřních balíčků. Tento pohled používají vývojáři a odráží procesy vývoje a implementace systému.

Pět výše uvedených architektonických pohledů představuje různé charakteristiky softwarového systému z různých hledisek. Jejich kombinací v architektonickém plánu pak můžeme velmi jasně popsat celkovou architekturu systému.

Co tvoří efektivní architektonický diagram?

Jak poznáme, že je diagram dobrý? A jaké metody bychom měli při tvorbě diagramů používat?

Výše uvedené diagramy byly vybrány pro ilustraci různých typů diagramů, přičemž jsme se příliš nezamýšleli nad jejich kvalitou. Domníváme se, že chceme-li zobrazit dobrý architektonický diagram, musíme vědět, kdo je naším publikem, a zvážit, jaké informace chceme sdělit. Proto bychom neměli zobrazovat fyzický pohled nebo logický pohled pro něj samotný. Diagramy by měly sloužit k přesnému předání informací, které určité publikum potřebuje, aby byly účinné. Teprve potom bychom se měli zabývat tím, o jaký typ diagramu se jedná. Nejpřímějším měřítkem, podle kterého můžeme posoudit kvalitu výkresu, je tedy to, zda publikum dokáže přesně pochopit informace, které jsme se snažili sdělit.

To znamená, že dobrý a účinný architektonický diagram není třeba publiku vysvětlovat. Měl by sám o sobě vyjádřit vše, co chcete říci. Kromě toho by měl mít dobrý diagram také konzistentní strukturu, měl by přesně odpovídat datům, která reprezentuje, a měl by přímo korespondovat s kódem.

Obvyklé problémy při zobrazování architektonických diagramů

Co reprezentuje čtverec?

Proč používáme čtverce místo kruhů? Náhodné použití čtverců nebo jiných tvarů může způsobit zmatek.

Co znamenají tečkované a plné čáry? Co znamená šipka? Co znamenají barvy?

Samovolné používání čar nebo šipek může vést k nedorozumění.

Jsou nějaké konflikty mezi dobou běhu a dobou kompilace? Existují nějaké konflikty úrovní?

Vytváření architektury je složitá práce. Proto může použití pouze jednoho diagramu pro znázornění architektury snadno vést k nejasnostem ohledně specifických aspektů architektury.

Má doporučená metoda kreslení

Model C4 používá k popisu statické struktury softwarového systému kontejnery, jako jsou aplikace, datová úložiště a mikroslužby, a také komponenty a kód. Tyto diagramy se snadno kreslí a jejich klíčové prvky jsou explicitní. Nejdůležitější však je, aby dokázaly jasně označit zamýšlené publikum a význam každého diagramu.

Následující příklad je z oficiálních webových stránek C4. Na jeho základě se nám podaří pomocí vlastního porozumění lépe vyjádřit architekturu softwaru.

Diagram kontextu systému

Jedná se o diagram plánovaného bankovního systému. Využívá externí bankovní systém mainframe pro přístup k účtům a informacím o transakcích zákazníků a odesílá e-maily zákazníkům prostřednictvím externího e-mailového systému. Jak vidíte, diagram je jednoduchý a přehledný. Nevyžaduje žádné další vysvětlení, aby mu posluchači porozuměli. Vidíme také, že obsahuje systém, který má být vybudován, zákazníky tohoto systému a periferní systémy, které s tímto systémem komunikují.

Využití

Takto jednoduchý diagram může říci, jaký typ systému má být vybudován, kdo jsou jeho uživatelé, kdo s ním bude manipulovat a jak bude integrován do stávajícího prostředí IT. Adresáty tohoto diagramu mohou být interní pracovníci vývojového týmu, externí techničtí pracovníci nebo netechničtí pracovníci. Říká nám:

  • Jaký systém má být vybudován
  • Kdo s ním bude manipulovat
  • Jak je integrován do stávajícího prostředí IT

Jak znázornit diagram

V tomto diagramu je uprostřed váš vlastní systém a kolem něj jsou umístěni uživatelé a systémy, které s tímto systémem komunikují. Klíčovým aspektem tohoto diagramu je, že organizuje a jasně ukazuje uživatele a závislosti na vysoké úrovni systému, který má být vytvořen. Po dokončení koncepční práce zabere znázornění diagramu jen několik minut.

Kontejnerový diagram

Kontejnerový diagram rozšiřuje systém z předchozího diagramu kontextu systému.

Na předchozím obrázku obsahuje budovaný systém kromě uživatelů a periferních systémů také webovou aplikaci založenou na Javě Spring MVC, která poskytuje funkční portál systému, zatímco mobilní aplikace založená na Xamarinu poskytuje funkční portál pro mobilní klienty. Aplikace API založená na Javě poskytuje služby a pro ukládání dat se používá databáze MySQL. Šipky označují interakce mezi aplikacemi.

Při pohledu na tento diagram si nevšimnete, zda mají políčka ostré nebo zaoblené rohy nebo zda mají šipky plné nebo tečkované čáry. Dokonce ani směry šipek nepřitahují velkou pozornost.

Existuje mnoho metod kreslení, které všechny definují význam rámečků a čar. To vyžaduje, aby kreslíř i divák diagramu těmto definicím jasně rozuměli. Jen tak lze pochopit všechny informace v diagramu. To je však náročné a mnoho diváků zachytí pouze obecné pojmy.

Využití

Posluchači tohoto diagramu mohou být interní nebo externí vývojáři nebo pracovníci O&M. Tento diagram slouží k následujícím účelům:

  • Představuje celkovou strukturu softwarového systému.
  • Odráží technická rozhodnutí na vysoké úrovni.
  • Ukazuje, jak jsou v systému rozděleny odpovědnosti a jak spolu kontejnery vzájemně komunikují.
  • Říká vývojářům, kde je třeba programovat kód.

Jak zobrazit diagram

Tento diagram používá rámce, které mohou obsahovat názvy, technická rozhodnutí, odpovědnosti a interakce mezi rámci. Pokud se jedná o externí systém, je nejlepší vymezit hranice.

Diagram komponent

Diagram komponent se používá k rozšíření kontejneru a popisu jeho vnitřních modulů.

Využití

Tento diagram je určen pro interní vývojáře a ukazuje jim, jak organizovat a vyvíjet kód. Tento diagram slouží k následujícím účelům:

  • Popisuje komponenty nebo služby systému.
  • Ujasňuje vztahy a závislosti mezi komponentami.
  • Poskytuje rámec, který ukazuje, jak lze rozdělit a dodat úkoly vývoje softwaru.

Diagram kódu nebo třídy

Tento diagram je určen pro pracovníky technické podpory. Jedná se o běžný typ diagramu, a proto jej nebudeme podrobně popisovat.

Případová studie

Následující obrázek ukazuje architekturu interního datového nástroje pro práci v reálném čase. Protože diagram architektury by měl být samozřejmý, není třeba jej příliš vysvětlovat. Pokud jej nelze jasně pochopit, diagram rozhodně není dostatečně dobrý.

Existuje mnoho metodik pro znázornění dobrého architektonického diagramu. Tento článek představuje metodu C4, která se však také neustále vyvíjí. Přesto, bez ohledu na metodiku kreslení, musíme jednoduše zvážit záměr výkresu a lépe jej sdělit publiku. Při kreslení se nemusíme zbytečně omezovat pravidly. Zkrátka, než začnete kreslit diagram, položte si otázku: Komu je určen, čeho se týká a jak ho udělat intuitivní a srozumitelný. Sanhua je technický expert ve společnosti Alibaba. Na tomto článku se podíleli také Zijing, Pengsheng a Yule. Ding Yi dříve mnoho let pracoval v oblasti workflow engine R&D, ale nyní se zaměřuje na architekturu a vývoj mobilních internetových aplikací s vysokou měnou. Autoři tohoto článku jsou z oddělení LST společnosti Alibaba.

Chcete znát nejnovější technologické trendy v Alibaba Cloud? Poslechněte si je od našich špičkových odborníků v nově spuštěném seriálu Tech Show!

Similar Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.