Projekt építkezés – háttér alkalmazások

Az igények felmérése nem csak azért fontos, hogy tiszta legyen mind megrendelői mind kivitelezői szempontból, hogy miről is szól maga a projekt. Ezen felül ez az a lista amely alapján kiválasztjuk a megvalósításhoz használandó eszközöket.
Ha kicsit jobban átgondoljuk ezt a fenti kijelentést, akkor már senkinek sem lesz kérdéses, hogy mennyire fontos a projekt elején tisztázni az elvárásokat.

A programozási nyelv

A projekttel kapcsolatos elvárások közül egy kivétellel praktikusan az összes olyan, hogy bármilyen programozási nyelvvel és bármilyen környezettel megoldhatóak. Az egy kivétel az az igény, hogy a könyvelési tételeket az ország különböző pontjain rögzítik és a budapesti központ szeretné őket látni.

Ebből az igényből az következik, hogy valamiféle kliens-szerver modellel járnánk jól. Megoldhatnánk éppen máshogyan is, de ez a megoldási mód elég kézenfekvő. A kliens-szerver modellről – főleg ha messze vannak egymástól – pedig általában valamiféle internetes rendszer jut az ember eszébe.

Szerver oldali nyelvként választhatunk néhányból, de ezek közül a PHP a legelterjedtebb. Ha megvan a szerver, illetve ha az igények részletezésénél előjön valamilyen speciális igény akkor ezek alapján eldönthetjük, hogy PHP 4 vagy PHP 5 legyen a használt verzió.

Adat tárolás

Elképzelhető, hogy a könyvelési programunknak majd adatokat is kell tárolnia. Itt szintén kézenfekvő, hogy valamilyen adatbázist használjunk. A magam részéről MySQL-ben vagyok jobba otthon, így MySQL 5-re esett a választás. Szükségünk lesz majd tranzakció kezelésre, erre majd figyelnünk kell a táblák típusának kiválasztásánál.

Futási környezet

Szükségünk lesz ugye egy webszerverre ahol az Apache vetélytárs nélküli helyzete némileg megkönnyíti a választást.

A kliens oldal már egy kicsit macerásabb. Mivel viszonylag gyorsan kell produkálnunk egy működőképes prototípust azzal a megszorítással élünk, hogy Firefox 3-ra korlátozzuk a támogatott böngészőket. Ez elérhető az összes operációs rendszerre, tehát nem igazán egy nagy korlátozás, a megrendelőnek nem volt kifogása ellene.

A biztonság egy pénzügyi alkalmazásnál egyértelműen kiemelt szerepet kap, így biztos szükségünk lesz némi titkosításra a kapcsolatokban, azaz az SSL is bekerül a háttérigényeink listájába.

Fejlesztési eszközök

A fegyvertárunkból elővehetjük a kedvenc alkalmazásainkat. Hacsak nincs valamiért valamilyen megkötés, hogy melyik programokat használjuk akkor itt szabad a választás. Annyi biztos, hogy a gépünkön életre kell keltenünk egy fejlesztési környezetet, azaz minimálisan egy webszervert, PHP-t, és MySQL-t.

A fejlesztésnél jó eséllyel használni fogunk keretrendszereket ezeket ezen a ponton el kell döntenünk. A PHP oldaláról a CakePHP keretrendszert, a kliens oldalon pedig a Protoype, Scriptaculous páros fog segédkezni.

Dokumentáció

A felhasználói és a fejlesztői dokumentációt a projekttel egyidőben el kell kezdeni. Helyesebben mondva a kezdet kezdetén megalkotott igény lista, valójában már mindkét dokumentációnk első része. A dokumentációra használandó eszköz kérdését jelen pillanatban nyitva hagyom, mivel nem igazán találtam még rá jó rendszert. Ha nem adtok valami életképesebb és könnyebben fenntartható javaslatot, akkor marad egy rakat különálló html fájl.

Team tagok

A fentiekből látszik, hogy jó néhány terület szakértőjére szükségünk lesz. A projektben végig szükség lesz egy PHP, illetve egy JavaScript tagra, illetve a biztonsági, az adatbázishoz kapcsolódó és a szerver beállítási kérdésekben időnként egy-egy okoskára. Kell majd egy designer, kell valaki akivel folyamatosan tudunk kommunikálni a megrendelő oldaláról, kell egy tesztelő meg egy aki noszogatja az összes többit, hogy tegyék a dolgukat. Ez nem feltétlenül azt jelenti, hogy ténylegesen ekkora lesz a létszám, mert elképzelhető, hogy egy személy egynél több területet is le tud fedezni, illetve az is elképzelhető, hogy egy területen több ember is szükségeltetik – mint például a tesztelésnél.

Kisebb projekteknél persze egy személy viszi az összes funkciót.

Így vagy úgy nagyon fontos, hogy legyen egy rendszer ami alapján mindenkinek világos és elfogadott, hogy ki hozza a döntéseket, mi alapján és hogyan. Vagyis ha van egy kérdés, amiről pár tagnak ez a véleménye, párnak meg az, akkor legyen egy valaki aki kimondja a végszót és utána ezen a kérdésen nem kell tovább senkinek sem rágódnia.

Liszensz

Itt lehetnek a megrendelőnek megkötései :), de ha nincs akkor rajtunk áll, hogy milyen liszenszel kívánjuk a majdani készterméket kezelni. Esetünkben nem volt megkötés, így a választás a GPL lett.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.