AKA MONITOR  - www.akamonitor.cz - doc.A. Katolický


Monitoring

 časopisů
weblog

 

Recenze knihy
Profesionálně
Řízení životního cyklu aplikací
ve Visual Studiu 2010
Mickey Gousset, Brian Keller, Ajoy Krichnamoorthy, Martin Woodward
  

Odborný weblog
NOVÉ KNIHY


Nový weblog
EXPRESSION
STUDIO 4


Nový weblog
MIND MAP AKA


Digitální
FOTO

weblog


Fotogalerie
AKA MONITORU


AKA MONITOR
ISSN 1804-042X


Copywrite Zoner software, a.s. 2010

Řízení životního cyklu aplikace (application lifecycle management) je koncept, který v sobě zahrnuje řízení všech fází života jakéhokoliv projektu – v našem případě projektu  vývoje softwaru. Schopnosti Visual Studia 2010 pro řízení životního cyklu aplikace vychází z dřívějších produktů Visual Studio 2005 Team System a Visual Studio 2008 Team System a byly navrženy tak, aby zmírnily - nebo zcela eliminovaly - mnohé ze zmíněných výzev.

Kniha je sice výrazně orientována na softwarové projekty, její význam však – vzhledem k zvolenému pojetí – značně převyšuje uplatnění v dané oblasti. Důvody jsou dva:
- téma řízení životního cyklu projektu je v české odborné literatuře pokryto nedostatečně,
- praktická aplikace softwarového systému je v knize provázena celou řadou obecněji aplikovatelných poznatků. Podstatná je i skutečnost, že tato obecnější část je podána velmi srozumitelným jazykem. Tomuto záměru byla přizpůsobena i zvolená struktura obsahu jednotlivých kapitol, vyjádřená jasně definovaným posláním každé kapitoly a kvalitně zpracovaným shrnutím obsahu kapitoly.

Autoři procházejí životní cyklus ve struktuře podle hlavních rolí členů projektového týmu: architekt, vývojář a tester,  doplněné o podrobný rozbor tématu Team Foundation Serveru. Závěrečná část knihy je věnována velmi důležitému tématu: správě projektu/procesu, což je téma, které má pro úspěch projektu mimořádný význam. Proto je těmto aktivitám věnována velká pozornost, jak v systémové, tak v nástrojové oblasti.

Ještě dříve, než se budu věnovat detailnímu obsahu knihy, rád bych upozornil čtenáře, kteří se s nabídkou knihy setkají a nepatří přímo k hlavní cílové skupině ( profesionálové z oblasti ICT ), aby na výše uvedenou  část recenze nezapomněli a nenechali se odradit hluboce propracovanou praktickou částí.  Cca 70 stran úvodů a shrnutí jednotlivých kapitol knihy totiž představuje jakousi „virtuální knihu v knize“, která stojí za pozornost pro širší skupinu čtenářů z oblasti projektování systémů.

Softwaroví vývojáři sdílejí řadu společných výzev, bez ohledu na to, jak velké jsou jejich týmy. V byznysu se dnes požaduje vysoký stupeň zodpovědnosti - software se musí vyvinout za co nejkratší dobu a typicky nejsou k dispozici žádné rezervy pro případné výpadky. Mezi tyto výzvy patří zejména:
- Integrační problémy.
- Geograficky distribuované systémy
- Segmentace roli.
- Špatná tvorba reportů.
- Programátorské styly vývoje na jedno použití  neškálují.
- Testování jako občan druhé kategorie.
- Komunikační problémy.

Schopnosti Visual Studia 2010 pro správu životního cyklu aplikace lze stručně charakterizovat třemi zásadními principy, kterými jsou produktivita, integrace a rozšiřitelnost.

Tato kniha je především zacílena na týmy profesionálů pracujících v oblasti vývoje komerčního softwaru nebo softwaru pro velké korporace - jinak řečeno, pro středně pokročilé až pokročilé uživatele. Kniha bude pro vás prospěšná zejména , jste-li:
- v
ývojář, tester nebo architekt a chcete se dozvědět, jak vám může rodina produktů Visual Studio 2010 pomoci při práci.
- projektov
ý manažer, který má na starost správu nějakého projektu vývoje softwaru.
( poznámka: nezapomeňte na výše zmíněný systémový význam knihy ).
 
Obsah knihy se soustřeďuje především na praktické používání nástrojů, ukázkových příkladů kódu a praktických scénářů.  Kniha je uspořádaná  tak, že se s ní snadno pracuje ve stylu „krok za krokem" nebo/i  jako s referenční příručkou pro modelování, navrhování, testování a koordinování korporačních řešení (a to na všech úrovních).

Visual Studio 2010 je navrženo pro softwarové týmy všech velikostí. Na rozdíl od většiny dostupných knih je tato kniha zacílena na všechny role při organizování vývoje softwaru - architekty, vývojáře, testery, vedení projektu a management - nikoliv pouze na vývojáře.

Podrobný obsah, kvalitní anotace knihy a několik ukázkových stránek najdete na portálu ZonerPressu na adrese:
http://www.zonerpress.cz/kniha/pro-programatory/rizeni-zivotniho-cyklu-aplikaci-ve-visual-studiu-2010#kapitoly
Kniha obsahuje úplný přehled schopností Visual Studia 2010 pro řízení životního cyklu aplikace. Je rozdělena do pěti hlavních částí podle rolí v týmu vyvíjejícího software:
Část I - Architekt.
Část li - Vývojář.
Část III - Tester.
Část IV - Team Foundation Server.
Část V - Správa projektu/procesu.
Stručná charakteristika jednotlivých částí:
Část I - Architekt
V této části knihy se prozkoumávají nástroje dostupné ve Visual Studiu 2010, které se vztahují k roli architekta. Po stručném úvodu do pojmů souvisejících s architekturou autoři věnují pozornost novým nástrojům unifikovaného modelovacího jazyka (UML), včetně diagramů případů užití, diagramů aktivit, sekvenčních diagramů, diagramů tříd a diagramů komponent. Poté seznamuje čtenáře s průzkumníkem architektury. Čtenář se dozví, jak průzkumník pomáhá porozumět architektuře aplikace. Tato část končí výkladem diagramů vrstev.

Část II-Vývojář
V této části se probírají všechna témata, která jsou ve středu zájmů vývojářů vytvářejících aplikace s Visual Studiem 2010. Unit testy, refaktorace, statická kódová analýza a pokrytí kódu, to všechno se probírá do detailu. Probírají se také schopnosti, s jejichž pomocí se vyvíjejí, testují a nasazují databázové aplikace. Nechybí ani pokročilé techniky ladění aplikací prostřednictvím nové funkcionality IntelliTrace.

Část III-Tester
Visual Studio 2010 má četné nástroje pro testery. V této části je autoři probírají jeden po druhém všechny. Výklad je zahájen pohledem na webové výkonové testy a na zátěžové testy. Pak se autoři věnují nové funkcionalitě manuálního testování a schopnosti umožňující automatizovat testy uživatelského rozhraní. Třetí část knihy je zakončena pohledem na nové vybavení  Visual Studia 2010 zvané Lab Management, které umožňuje automaticky spřádat s virtuálními stroji testovací prostředí, v nichž se pak vykonávají testy.

Část IV - Team Foundation Server
Tato část je celá věnována schopnostem, které poskytuje Team Foundation Server. Probírána je  nová architektura Team Foundation Serveru 2010 a poté se rovnou přechází do systému řízení verzí a popisu některých nejlepších praktik točících se okolo větvení a slučování pomocí Team Foundation Serveru. Na konci této části najdete rozbor některých nových změn v automatizovaném týmovém sestavovacím procesu (Team Foundation Build).

Páté částí se věnuji v závěru recenze.

700 stran textu dává recenzentovi jen malou naději na to, aby postihl vše cenné. Proto se dále věnuji jen vybraným dílčím tématům, především těm, která mají širší význam, přesahující pojetí praktické příručky.

Velmi cennou částí knihy je část věnovaná prozkoumání evoluce distribuovaných počítačových architektur - od jednoduchého objektově orientovaného vývoje přes návrh komponent a distribuovaných komponent až k architekturám orientovaným na služby (service-oriented architectures, SOA) - které reprezentují současný stav.

Autoři varují, že budujeme-li složitý softwarový systém, vyžaduje to jistou prozíravost - je potřeba promýšlet spoustu věcí předem. Celý systém musíme naplánovat, projednat a zdokumentovat. Nasnadě jsou čtyři záměry vizuálního designu, který:
- Pom
ůže představit si systém, který chcete vybudovat.
- Umo
žní specifikovat strukturu nebo chování systému.
- Poskytne
šablonu, která vás bude doprovázet při vytváření systému.
- Zdokumentuje rozhodnut
í, která jste učinili.
Modelovací strategie Visual Studia 2010 od společnosti Microsoft je založena na následujících dvou myšlenkách:
- Dom
énově specifické jazyky (Domain-specific languages, DSL).
- V
ývoj řízený modelem (Model-driven development, MDD).
Dohromady tato témata formují novou vizi Microsoftu - dodat prostřednictvím vizuálního modelování do procesu vývoje softwaru přidanou hodnotu.

Jednou ze silných stránek těchto modelovacích nástrojů je to, že umožňují navrhnout, jaká má být architektura aplikace. Prostřednictvím diagramů případů použití, diagramů aktivit a sekvenčních diagramů můžete modelovat aplikaci a současně zajistit, že každý z týmu bude zcela přesně vědět, co se buduje.

Autoři dále v knize prozkoumali průzkumníka architektury a grafy závislostí. Následně výklad zaměřili na grafy závislostí. Čtenář se dozvídá jak se vytvářejí grafy závislostí na základě informací z průzkumníka architektury.  Velká pozornost je věnována diagramům vrstev (diagramy logické architektury aplikace nebo systému), jak se vytvářejí, jak jsou užitečné, když potřebujete rozdělit kódovou bázi do dobře pochopitelných sekcí, i jak se mohou využít jako validační nástroj během sestavovacího procesu. Diagramy vrstev popisují vysokoúrovňovou strukturu aplikace. Zajímavou funkcí diagramů vrstev je schopnost ověřit architekturu návrhu aplikace proti kódové bázi, čímž se zajistí, že v průběhu vývojového procesu bude mezi kódem a architekturou neustálý soulad. Podobně jako tradiční diagram architektury, i diagram vrstev ukazuje hlavní komponenty architektonického návrhu.

Studiem 20Í0 společnost Microsoft uznala, že vývoj není jenom o psaní kódu, který běží u klienta nebo na nějakém webovém serveru. Za důležitý faktor vývojového procesu považují autoři  databáze. S Visual Studiem 20lÓ jsme schopni aplikovat na databázové schéma stejné druhy správy změn a unit testy jako na samotný zdrojový kód.

Pro vývojáře přináší Visual Studio 2010 mnoho nových a důležitých funkcí. Autoři se v knize postupně věnují nejen životně důležitému Team Foundation Serveru, ale i celé řadě nových nástrojů a funkcí. Autoři  jmenují  především následující:
-  Anal
ýza dopadů změn (test impact analysis).
- Zdokonalen
á kódová analýza.
- Pos
ílení profileru.
- Datab
ázová rozšiřitelnost.
- Pokro
čilé ladění s IntelliTrace.
- Zdokonalen
í při práci ve stylu "nejprve testy".

V knize se čtnáři dozví jak generovat kód s Visual Studiem - buď tak, že budete generovat testy z kódu, nebo kód z testů. Zjistí, že unit testy se dají velmi snadno svázat se zdrojem dat, čímž se vytvoří testy řízené daty. Autoři ukázali, že Visual Studio nabízí jednoduchý způsob, jak pro potřeby testování přistupovat k privátním členům, čímž se vypořádalo s úlohou, která dříve vyžadovala ruční náhradní řešení.

V jedné z dalších kapitol se dozvídáme, jak Visual Studio 2010 pomáhá dostat životní cyklus vývoje databáze pod stejnou sadu nástrojů a procesů, které využívá zbytek týmu vyvíjejícího software. S Visual Studiem můžeme prováděl změny ve své databázi v offline prostředí, otestovat je a automaticky vytvořit skripty, které tyto změny nasadí (neboli promítnou) do ostré databáze.

Několik kapitol představuje úvod do testovací funkcionality podporované ve Visual Studiu 2010. Visual Studio poskytuje podporu pro psaní široké palety všelijakých testů; všechny jsou navrženy tak, aby pomáhaly vypátrat chyby v softwaru dřív, než je najdou koncoví uživatelé.
Zdokonalená podpora pro testování softwaru patří mezi jedny z nejzajímavějších věcí, na které se Microsoft ve Visual Studiu 2010 zaměřil. Microsoft se také značně soustředil na lepší integraci testovacích činností do životního cyklu vývoje softwaru, mezi něž patří testerem pořízené nahrávky podrobných reportů o chybě, které jsou předávány vývojáři.

Jednou z nejobtížnějších úloh při vývoji softwaru je určit, proč je aplikace pomalá nebo neefektivní. Kniha obsahuje kapitolu, která je úvodem do profilačních nástrojů Visual Studia 2010.
V kapitole věnované webovým výkonovým a zátěžovým testům, se dozvíte jak:
- se s webov
ými výkonovými testy simulují aktivity uživatelů na webových stránkách.
- otestujete schopnosti va
šich webových stránek, které by měly fungovat i při velkém počtu návštěvníků.
- analyzovat výsledky webových výkonových testů a zátěžových testů, abyste identifikovali úzká hrdla výkonu a škálovatelnosti.
Nejprve se čtenář naučí pracovat s nástrojem Web Test Recorder, aby mohli snadno zaznamenat (nahrát) nový webový výkonový test. Pak se naučí v editoru webového testu (Web Test Editor) vyladit webový výkonový test a přidávat do něho nové funkce, jako jsou validační a extrakční pravidla.

K novým nástrojům patří Microsoft Test Manager, který byl konkrétně navržen pro týmy testerů generalistů. S tímto manažerem testů můžete snadno vytvářet a spravovat plány testů a testovací případy. Rovněž můžete psát a spouštět manuální testy nebo zaznamenávat vydatné informace o chybách.

V kapitole věnované Team Foundation Server autoři probírají jeho roli pro semknutí týmu, když vyvíjí aplikace. Seznamují se s klíčovými koncepty Team Foundation Serveru a s různými způsoby, jimiž můžete přistupovat k datům na serveru vaší organizace.
V jedné z dalších kapitol se dozvídáme jak zásadně se od sebe liší Visual SourceSafe a řízení verzí Team Foundation.
Dozvídáme se jak se pracuje s průzkumníkem řízení zdrojového kódu (Source Control Explorer) a jak se nahlašuje a odhlašuje kód, co znamenají pojmy pracovní prostor (workspace) a změnová sada (changeset). Naučíme se prohlížet historii souborů a aplikovat jmenovky (labeling)..
Na základě konkrétního příkladu se naučíme, jak ještě více přizpůsobovat sestavovací proces, v němž jste do sestavovacího procesu jako jeho součást zařadili vytvoření archivu ZIP.

Vývoj softwaru přirovnávají  autoři k týmovému sportu. Hráči vyvíjející software tvoří tým složený z vývojářů, testerů, obchodních analytiků, projektových manažerů a dalších.
Team Foundation Server poskytuje nejenom společný depozitář pro ukládání a získávání potřebných informací, ale poskytuje také integraci s různými nástroji, které běžně používají jednotliví členové softwarového týmu.

V závěrečných kapitolách knihy se dozvídáme jak se vytvoří týmový projekt, jak se řídí bezpečnost týmového projektu a jak se přistupuje k týmovému projektu. Dozvídáme se, jak se pomocí běžně používaných nástrojů pro správu projektů, jako jsou Microsoft Project a Microsoft Excel, vytvoří, spravuje a aktualizuje projektový plán (s využitím integrace mezi těmito nástroji a Team Foundation Serverem).

Proces, kterého se hodláte držet při vývojových pracích týmu, považují autoři pro tým za kriticky důležitý.  Stejné kritické je dobře rozumět metrikám založeným na informacích, které se shromažďují v průběhu životního cyklu. Pochopit pomocí reportů, v jakém je projekt stavu, přizpůsobovat reporty nebo budovat nové, vědět, že je možné mít dashboard se společnou sadou dat a reportů, které informují členy týmu o aktuálním stavu a úlohách, které je potřeba řešit. Všem těmto tématům se autoři věnují v několika závěrečných kapitolách knihy. Výklad zahajují v kapitole věnované šablonám procesu.
Najdete zde zejména následující šablony procesu:
 - Šablona MSF for Agile Software Development v5.0.
- Šablona MSF for CMMI Process Improvement v5.0.

Visual Studio 2010 edice Ultimate a Team Foundation Server 2010 poskytují týmům přizpůsobitelné prostředí, aby mohli zvolit a přijmout za svůj takový proces (a sadu praktik), který bude v souladu s potřebami týmu.  Šablony procesu jsou klíčovou komponentou Team Foundation Serveru a správy životního cyklu aplikace Visual Studia. Tyto šablony slouží pro nakonfigurování týmového projektu a nastavení infrastruktury, která umožní týmu dodržovat jisté procesy a praktiky. Tím, že Team Foundation Server integroval proces do nástrojového vybavení, daří se nyní týmům mnohem lépe dodržovat praktiky, což nakonec vede na doručování hodnotných produktů. To je pro byznys klíčové.

Pro projektové manažéry, ale i pro ostatní členy týmu je kritické zachytáváni informací v průběhu prací na projektu. V samostatné kapitole knihy se čtenář dozvídá o různých druzích datových skladů v Team Foundation Serveru, které poskytují data pro všelijaké reporty. Dozvídá se o nástrojích, které máte k dispozici pro vytváření reportů, jmenovitě jaké nástroje jsou k dispozici pro vytváření a přizpůsobování RDL reportů (konkrétně tvůrce reportu, Report Builder, a návrhář reportu, Report Designer).  Podle autorů knihy práce s reporty představuje v Team Foundation Serveru mocnou funkčnost. Prolamuje běžně se vyskytující bariéry uvnitř týmu, které jsou způsobovány nedostatkem informací.  Čtenář se naučí plánovat iterace a dozví se, čím se liší plánování iterace od plánování vydání. Naučí se pracovat se sešitem soupisu požadavků na iteraci (iteration backlog) a dozví se, jak pomáhá týmům se správou iterací a sledovat, jak pokračují práce na projektu.

V závěrečné kapitole se čtenáři dozvídají kompletní postup, jak přizpůsobovat šablony procesu. Dozvědí se užitečné informace o manažeru šablony procesu (Process Template Manager),  jak s ním stahovat a nahrávat šablony procesu. Dozvídají se také něco o nástrojích, které mají k dispozici pro práci se šablonami procesu. V kapitole je také stručně popsán editor šablony procesu (Process Template Editor), který je k dispozici v sadě Power Tools Team Foundation Serveru.

Rozsah a hloubka pokrytí problematiky činí z této knihy základní zdroj metodických a praktických poznatků o moderním způsobu  řízení životního cyklu projektů - a to především -  ale nejen, softwarových. Na příkladu využití konkrétního moderního softwarového nástroje  podávají autoři komplexní pohled i na systémovou stránku problematiky.

doc. Arnošt Katolický,
19. září 2011.
 

 

doc.aka(@)akamonitor.cz