Umíme to s Delphi: 153. díl – Delphi 2005 a StarTeam: snadná spolupráce uvnitř týmu

V dnešním článku se podíváme na jednu z velmi zajímavých vlastností Delphi 2005, a to na jeho integraci s nástrojem StarTeam. StarTeam podporuje spolupráci uvnitř týmu, podporuje změnové a konfigurační řízení, umožňuje sledovat požadavky a zajišťují konzistenci projektu vyvíjeného větším množstvím vývojářů. Díky jeho těsné integraci s Delphi jsou navíc všechny jeho funkce dostupné přímo z nabídky Delphi.

Dnešní článek volně naváže na to, co jsme společně zkoumali před týdnem, kdy jsme se zabývali novinkami v nejnovější verzi Delphi – v Delphi 2005. Dnes se podrobně zaměříme na jednu konkrétní technologii, která je v souvislosti s Delphi 2005 k dispozici. Jedná se o systém pro projektovou integraci, který byl vyvinut Borlandem pod názvem StarTeam. Bude nás především zajímat, jak je StarTeam integrován do Delphi 2005 a jak se ve spolupráci s tímto vývojovým nástrojem používá.

K čemu vlastně StarTeam slouží? Tento nástroj poskytuje širokou škálu řešení pro změnové řízení (software change management) a konfigurační řízení (configuration management).

Pokud se trochu vyznáte v softwarovém inženýrství, jistě vám tyto pojmy nejsou neznámé: ve stručnosti a v jednoduchosti, změnové řízení se zabývá změnami ve vyvíjeném (nebo už vyvinutém) softwarovém výrobku, jinak řečeno pomáhá při vyvíjení nových verzí, zajišťuje konzistenci projektových souborů a stará se o stabilitu dodávaných verzí. Konfigurační řízení je velmi podobné, jeho cílem je zajišťovat konzistenci jednotlivých konfigurací a starat se o plynulost procesu modifikací ve vyvíjeném softwarovém vybavení.

Borland StarTeam se pokouší pomoci vývojářům v realizaci zmíněných dvou softwarově-inženýrských praktik, a to v závislosti na velikosti, geografickém rozmístění a pracovním stylu jejich vývojových týmů.

StarTeam je samotným Borlandem definován jako robustní platforma pro koordinaci a řízení celého procesu dodávání aplikace. StarTeam zdůrazňuje typické činnosti, které by měl každý vývojový tým uznávat – komunikaci uvnitř týmu a vzájemnou spolupráci. Členové týmu mohou prostřednictvím StarTeam přistupovat k jednotlivým projektovým souborům kdykoliv a kdekoliv potřebují: mají přitom k dispozici jak webové klienty, tak i desktopové klienty, případně klienty integrované přímo s jejich vývojovými nástroji (např. s Delphi), případně i klienty pracující pouze v příkazové řádce.

Prostřednictvím StarTeam, jednotliví členové týmu přistupují k jednotlivým projektovým souborům, modifikují je, sledují změny provedené ostatními členy týmu, ukládají své změněné soubory a informují systém o jednotlivých verzích. Starostí StarTeamu je potom zajistit, aby se změny provedené jednotlivými vývojáři vzájemně „nepobily“, tedy aby jeden vývojář neměnil práci druhému „pod rukou“, nebo jím provedené změny omylem nevymazal či nepoškodil.

StarTeam je komplexní nástroj, takže v obecnosti lze říci, že poskytuje nástroje zahrnující integrované řízení požadavků (requirement management), změnové řízení (change management), sledování chyb (defect tracking), verzování (file versioning), diskusi s podporou vláken a vůbec projektové a úkolové řízení (project and task management).

Je tedy patrné, že StarTeam je poměrně komplexní řešení, které může pomoci především větším projektovým týmům lépe vzájemně spolupracovat, komunikovat a lépe organizovat svou vlastní práci.

Jak jsme si řekli, součástí Delphi 2005 Enterprise a Delphi 2005 Architect je kopie StarTeam 6 Standard společně s jednou klientskou licencí. Delphi 2005 Professional ve svém IDE zahrnuje určité integrované vlastnosti StarTeamu, ale pro využití všech výhod StarTeam je nutné pořídit separátní licenci StarTeam SKU.

V následující kapitole článku se podrobněji podíváme na to, jak je StarTeam integrován s Delphi 2005 a jaké výhody může tato integrace přinést.

Asociování existujícího StarTeam projektu

Máme-li již v Delphi vytvořen nějaký projekt a chceme-li ho přidat do StarTeamu a využít tak všech výhod, které StarTeam přináší, je nutné specifikovat tzv. StarTeam asociaci (StarTeam association). Tím zajistíme, že Delphi budou mít potřebné informace pro přístup ke StarTeam serveru.

Chceme-li tuto asociaci navázat, stačí se zaměřit na nabídku StarTeam, která je v Delphi 2005 k dispozici. Z této nabídky zvolíme položku Manage Associations:

Zobrazí se dialog Manage Associations; v něm zvýrazníme požadovaný projekt a klepneme na tlačítko Edit. Zobrazí se další dialog, tentokráte nazvný StarTeam Association. Zvolíme požadovaný StarTeam Server, který se bude o náš projekt v budoucnu „starat“. Budeme muset zadat přihlašovací údaje k tomuto serveru. Kromě serveru je nutné zadat název projektu pro StarTeam a cestu:

Tím přidáme projekt do StarTeam systému a požádáme příslušný server, aby se „začal starat“. Po klepnutí na tlačítko OK se opět otevře předchozí dialog (Manage Associations): měl by již reflektovat změny provedené v dialogu StarTeam Associacions. Klepnutím na tlačítko Close ukončíme proces asociace projektu. Otevře se potvrzovací dialog, v němž nás StarTeam žádá o potvrzení (commit) provedených změn.

Další dialog, který se následně otevře, slouží k tzv. Check-in. Pokud jste alespoň trochu obeznámeni s problematikou systémů pro konfigurační a změnové řízení, víte, jak takové systémy obecně pracují:

  • vývojář, který se rozhodne změnit nějaký soubor spravovaný systémem, požádá systém o „vydání“ souboru, tzv. check-out. Systém tím pádem ví, že někdo se souborem pracuje a tuto informaci vezme v potaz v případě, že o tentýž soubor požádá někdo jiný
  • když je vývojář „hotov“, vrátí změněný soubor zpátky do systému prostřednictvím tzv. check-in. Systém tak ví, že soubor momentálně není používán a že byl změněn. Tuto informaci vezme v potaz v případě, kdy někdo jiný vrátí tentýž soubor – např. nabídne sloučení změn, apod.

Check-in a check-out jsou dvě základní operace, které nástroje pro řízení konfigurace poskytují. Poskytuje je i StarTeam. Na následující obrázku se podívejte na dialog Check-in: poskytuje možnost zadat komentáře k provedeným změnám, podobně jako zvolit další možnosti check-inu. Připomeňme, že v tomto okamžiku ještě nepracujeme s žádným změněným souborem, pouze přidáváme nový existující projekt do StarTeamu.

Po klepnutí na OK jsme provedli svou první operaci check-in se systémem StarTeam: přidali jsme projekt do systému.

Přidání projektu do StarTeamu

Chceme-li přidat do StarTeamu existující Delphi 2005 projekt, stačí otevřít projekt v Delphi a z nabídky StarTeam zvolit položku Place Project. Otevře se nám dobře známý dialog Star Team Association, v němž zadáváme známé položky – název serveru, název projektu a cestu. Po zadání všech podrobností a po případném vytvoření potřebých adresářů klepneme na OK. Otevře se další dialog, tentokráte Add Files, který umožňuje zadat informace o projektových souborech určených ke správě pomocí StarTeam. Jedná se v podstatě o úvodní check-in pro každý ze zvolených soubor. Jakmile byl se sobuorem proveden check-in, je součástí StarTeamu, server nad ním má kontrolu a umožňuje využívat všech možností systému.

Každopádně, klepnutím na tlačítko OK v dialogu Add Files způsobí, že se zvolenými soubory je proveden check-in. Výsledky se zobrazí v záložce Message:

Další operace se StarTeam projektem

Jakmile byl Delphi projekt přidán do StarTeamu, můžeme využívat všech možností a funkcí, které StarTeam poskytuje, typicky check-.in a check-out souborů. Tyto operace mohou být realizovány buď z položky StarTeam v hlavním menu Delphi a nebo z položky StarTeam v kontextové nabídce správce projektů (Project Manager).

Jedna ze zajímavých vlastností systému StarTeam se týká možnosti sledovat veškeré změny, které byly se sledovaným souborem kdy provedeny. Je tedy možné sledovat také změny názvů souboru nebo jeho umístění. Pokud byl kterýkoliv projektový soubor přejmenován, smazán nebo přesunut, můžeme si pomocí položky Pending Renames/Deletes (dostupné v kontextové nabídce Project Manageru) otevřít dialog umožňující řídit stávající a probíhající operace Rename a Delete. Zobrazí se stromová struktura ukazující historii těchto operací s možností vrátit se ke kterékoliv z nich: probíhající operace mohou zrušeny nebo potvrzeny.

Přestože StarTeam sleduje změny prováděné s jednotlivými projektovými soubory (a to samozřejmě včetně změn jejich obsahu), můžeme se dostat do situace, v níž dostaneme „bokem“ změněný nějaký projektový soubor. V takovém případě je nutné promyslet, který ze souborů má být používán jako aktuální pro další práce. Není-li toto rozhodnutí triviální (tedy není-li ani jeden ze souborů, tedy stávající ve StarTeamu a nový lokálně umístěný, oním „správným“), je nutné nějakým způsobem sloučit změny.

V tom případě nám může pomoci položka Update Project z kontextové nabídky StarTeam. Vyvolání této položky způsobí aktualizaci projektových souborů podle nejnovější revize checknuté do StarTeamu. Pokud ovšem jsou změny jak v lokální, tak i ve StarTeamové verzi souboru (jak jsme si před chvilkou popsali), zeptá se StarTeam, zda chceme sloučit změny. Pokud odpovíme kladně, zobrazí se dialog umožňující vizuální sloučení změn. Dialog zvýrazní změny provedené v obou souborech s tím, že umožní ručně vyřešit konfliktní změny. Konfliktní změny jsou takové, které zahrnují různou změnu týchž částí zdrojového kódu. Veškeré nekonfliktní změny budou provedeny automaticky.

Integrovaný klient

V závěru dnešního článku se podíváme ještě na jednu zajímavou věc, a to na integrovaného StarTeam klienta. K jeho otevření zvolíme položku View Client z nabídky StarTeam. Na následujícím obrázku se podívejte na to, jak StarTeam klient dokáže například zobrazit všechny změnové požadavky, které byly v projektových souborech realizovány:

Pokud dvojitě klepneme na kteroukoliv položku, otevře se další podrobnější dialog, v němž je možné nastavovat další informace a vlastnosti položky, například její stav (vyřešená) nebo prioritu.

Jinak řečeno, prostřednictvím Delphi IDE je možné pracovat s jednotlivými požadavky a položkami bez toho, aby bylo nutné spouštět separátního StarTeam klienta. To jistě přispívá k pohodli a ke komfortnějšímu používání.

Podívejme se ještě na jednu oblast, která vyloženě těží z integrace StarTeamu do Delphi,. Jedná se o dialog File History. Pokud je projekt asociován do StarTeamu, zvolením položky History View se dozvíme o všech změnách, které byly s daným souborem provedeny:

Závěrem

V dnešním článku jsme se podívali na projekt StarTeam, který slouží k projektovému, změnovému a konfiguračnímu řízení. Díky jeho úzké integraci s nástrojem Delphi 2005 můžeme využívat jeho výhod a vlastností velmi jednoduše, pouhým zvolením příslušných položek z nabídky Delphi. StarTeam přitom umožňuje koordinovat práci vývojového týmu, sledovat změny, požadavky a podporovat komunikaci a spolupráci uvnitř vývojového týmu, což jsou požadavky, které v komplexnějších projektech jednoduše musí být splněny.

Diskuze (2) Další článek: Druhým nejrychlejším počítačem je IBM Blue Gene Watson

Témata článku: , , , , , , , , , , , , , , , , , , , ,