728b.gif

Správa softwarového projektu #1 – úvod

06.01.10 22:49 | Internet, Linux | autor: DXP (profil) | Čteno: 4802x |
Nic mocUjde toPrůměrDobréVýborné (Žádná hodnocení)

Logo TracNásledující minisérie článků bude zaměřena na ty z vás, kteří se věnují programování či tvorbě kódu obecně. Vyvíjení webové stránky nebo aplikace je proces, který může být velmi jednoduchý (statický web, jednoúčelový program) a naopak se může jednat o komplexní projekt, na kterém se podílí mnoho lidí a očekává se od něj vysoký výkon, velká modularita a uživatelský komfort.

Účelem tohoto textu bude vás seznámit se softwarem, který může takový vývoj značně ulehčit a zpřehlednit. Na úvod jen lehce zabrousíme do teorie a řekneme, že problematice tvorby nějakého komplexního programu či informačního systému je zasvěcena disciplína zvaná Softwarové inženýrství.

Je velice rozsáhlá a pokrývá nejrůznější statistické závěry, metodiky a poznatky, podle kterých je efektivně možno řídit vývoj velkého projektu – ať už po stránce personální (tj. rozdělení rolí v týmu), či programové (fáze vývoje softwaru). Z důvodů právě této obšírnosti nebudeme zabíhat do detailů a spokojíme se s faktem, že existuje mnoho teorie k tomu, jak se takového úkolu zhostit správně.

Jedním ze základních pilířů takového vývoje je komunikační infrastruktura, tj. něco, co dovolí programátorskému týmu efektivně spolupracovat. Asi nejdůležitějším nástrojem je v tomto kontextu tzv. systém pro správu a verzování zdrojových kódů (v angličtině zkráceno na VCS – Version Control System). VCS je něco, co by si měl osvojit každý, kdo píše jakýkoliv kód, ať už sám pro sebe, nebo jakožto přispěvatel do většího celku. Zjednodušeně řečeno se jedná o software, který zajišťuje tzv. verzování vašich dat – pokud tedy píšete program, jednou za čas zajisté uložíte změny. V klasickém adresáři pak máte k dispozici pouze poslední verzi daného souboru (pokud si zrovna neukladáte bokem starší verze). Repozitář (tak se nazývá hlavní úložiště vašich dat) naopak zaznamená zápis do souboru a jediné, co uloží na disk, je rozdíl oproti poslední verzi a aktuální čas a datum. Jste tak efektivně schopni se dívat na jakékoliv předešlé verze svého souboru, což je skvělé např. chvíli, kdy přidáváte do programu novou funkcionalitu, kterou ale můžete poškodit běh dosud napsaných částí. Stejně tak je možné se k předchozí verzi snadno vrátit. Poslední zajímavou vlastností VCS je ta, že také může efektivně posloužit pro více programátorů pracujících na jednom projektu – repozitář si sám ohlídá, aby nedošlo k přepisu jednoho souboru dvěma vývojáři najednou, a naopak si každý z účastníků může jednoduše stáhnout celý projekt z repozitáře a okamžitě tak mít k dispozici nejnovější verze souborů tak, jak je upravili jeho kolegové. Existuje několik druhů VCS, ještě větší množství řešení a samozřejmě nabízejí nepřeberné množství dalších funkcí, jejichž popis je dalece nad rámec tohoto článku – pro další čtení nám postačí výše uvedené.
Ukázka diffu v kódu

Druhou významnou částí komunikační infrastruktury je tzv. issue tracker, do češtiny asi nejlépe přeložitelné jako systém pro správu požadavků (případně se na Internetu běžně setkáte s pojmem Bugzilla). Takový systém slouží primárně k dvěma věcem – zaprvé tak má vedoucí daného projektu možnost jednoduše přidělovat úkoly svému týmu. Založí úkol, přidělí jej zodpovedné osobě a poté může sledovat, jak se daný úkol vyvíjí (třeba podle kódu, který daný programátor pro onen úkol napsal). Zadruhé mají testeři, uživatelé či i samotní programátoři možnost pomocí issue trackeru nahlásit chybu v programu (odtud pojem Bugzilla) a opět – odpovědný vedoucí zkontroluje, zda se opravdu jedná o chybu, přiřadí ji některému z programátorů a pak můžete sledovat, jak se pracuje na jejím odstranění. Stejně jako v případě VCS – i zde jsem silně abstrahoval a zestručnil možnosti issue trackerů jako takových, možností je opět nespočet.Ukázka bugzilly

Poslední důležitou částí komunikační infrastruktury je systém, který umožní týmu komunikovat – sdílet informace jako takové. V dnešní době se kromě sofistikovaných proprietárních řešení preferují především webové stránky, které jsou platformně nezávislé, výkonově nenáročné a poměrně jednoduché na tvorbu. Oblíbenou formou jsou potom různé Wiki, které přímo staví na principu „stránky může editovat kdokoliv“, a umožňují tak celému týmu jednoduše kolektivně vybudovat stránky projektu, kde např. budou informace k aktuální verzi programu, jaké problémy se nyní řeší, případně jiné administrativní záležitosti spojené s vývojem.

Tyto tři výše popsané (znovu dodávám – opravdu jednoduše a stručně) komponenty dohromady tvoří něco, na čem tým programátorů může efektivně postavit svou činnost a dovolí vedoucímu projektového týmu tento nějakým způsobem formálně řídit či udávat směr vývoje.

Ač se to nezdá, je možné takový systém nasadit i na jednoduchý program, který budou psát dva kamarádi, protože i tak je možno si na webu jednoduše rozdělit úlohy, jeden druhému může přidělovat chyby v programu k opravě (a díky issue trackingu je o nich dobrý přehled) a díky VCS mohou sdílet jeden kód.

Pokud se vám zdá, že tento článek je trošku „prázdný“, zamiřte do druhé části, kde se budeme věnovat instalaci jednoho takového systému a ukážeme si, jak vypadá takový systém v praxi.

336b.gif

Líbil se ti tento článek? Ukaž ho i ostatním! Pro snadné přidání odkazu na Facebook, Linkuj.cz nebo Twitter klikni na jednu z ikonek výše a nech další, ať si článek také přečtou.

Jedna odpověď na článek Správa softwarového projektu #1 – úvod

  1. thank you Viagra Without a Doctor Prescription a f x buy brand cialis online

Zanechat odpověď