|
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.
|