design - content top

Ponuka

ÚVOD

V tomto dokumente je obsiahnutá ponuka na vypracovanie tímového projektu s názvom „Podpora riadenia projektovo-orientovanej firmy“ v rámci predmetu Tvorba softvérového systému v tíme.

ZADANIE PROJEKTU

Názov témy: Podpora riadenia projektovo-orientovanej firmy Vedúci tímu: Ing. Roman Filkorn Fungovanie organizačného celku v prostredí nadnárodnej spoločnosti si vyžaduje vykonávať aj úlohy, ktoré by bolo veľmi výhodné podporiť softvérovými systémami. Existujúce riešenia sú často spojené s vysokými finančnými nárokmi a vyžadujú aj značnú mieru prispôsobenia sa do konkrétneho prostredia zákazníka. Zároveň však nie je možné nahradiť súčasné “legacy” systémy, ktoré už v istej miere podporujú jednotlivé činnosti. Značná časť úsilia je teda venovaná práve integrácii existujúcich zdrojov dát a procesov do spolupracujúceho celku, nad ktorým je možné stavať “pridanú hodnotu” riešenia. V súčasnosti existuje silná podpora integračných technológií aj medzi voľne prístupnými produktmi. Na základe rozhovoru so zákazníkom analyzujte, špecifikujte, navrhnite a vytvorte systém podpory riadenia projektovo-orientovanej firmy, ktorý bude:
  • Integrovať súčasné systémy na úrovni zdroja dát (napr. organizačná štruktúra, zoznamy pracovníkov, evidencia odpracovaných hodín).
  • Spravovať dáta projektového riadenia (aj získavaním z centrálnych báz údajov, s možnosťami doplňovať lokálne platné údaje).
  • Podporovať HR manažment (odhady príjmov na projekt / pracovníka, evidencia dochádzky, odhady a štatistika výdajov na zamestnanca a pod.).
  • Podporovať rôznu “papierovú” operatívu tak, aby ju bolo možné automatizovane spracúvať.
  • Flexibilne vykonávať zadefinované procesy spracovania údajov (tzv. business procesy projektov, organizačných jednotiek, v kooperácii s materskou spoločnosťou).
Projekt umožní študentom detailne si naštudovať údaje, ich vzťahy a procesy riadenia organizačnej a ekonomickej štruktúry na úrovni organizačnej jednotky dcéry nadnárodnej spoločnosti. Riešitelia vytvoria moderný integračný servisne-orientovaný systém na flexibilnú podporu rôznych čiastkových činností a ich orchestráciu k službám pridanej hodnoty, zoznámia sa a použijú rôzne technológie na spracovanie dát v enterprise prostredí (Java-based).

MOTIVÁCIA

Pri tvorbe tímu sme rozmýšľali nad vlastnosťami, ktoré by mal spĺňať projekt, ktorý si vyberieme. Základné požiadavky boli, aby sme mohli pracovať a rozširovať si vedomosti programovacieho jazyka Java a jeho častí, a aby sme si mohli naštudovať jednu alebo viac nových technológií. Týmto všeobecným požiadavkám vyhovovalo viacero tém projektov. Z dôvodov, ktoré sú uvedené nižšie sme si nakoniec zvolili projekt s názvom „Podpora riadenia projektovo-orientovanej firmy“. Dobré riadenie projektov patrí k základným predpokladom na úspech nielen softvérovej firmy. Dôležitosť efektívneho riadenia sa viac a viac vynára pri rozrastaní sa firmy. Z tohto dôvodu je vhodné ho podporiť aj softvérovými prostriedkami, ktoré uľahčujú a zlepšujú riadenie a prácu s ním spojenú. Téma projektu predpokladá spoluprácu vytvoreného systému s inými podpornými systémami. To nám umožní sa v praxi naučiť a vyskúšať si spracovanie údajov z rôznych zdrojov a v rôznej kvalite. Od tejto témy očakávame prehĺbenie si vedomostí o technológiách, ktoré sme už mali možnosť používať. Taktiež očakávame možnosť vyskúšať si niektorú z nám zatiaľ neznámych technológií a spoznať fungovanie veľkej firmy aj z pohľadu riadenia a manažmentu projektov.

PREDSTAVENIE ČLENOV TÍMU

Náš tím pozostáva z piatich študentov. Všetci členovia tímu sú úspešní absolventi bakalárskeho štúdia v odbore Informatika na Fakulte informatiky a informačných technológií Slovenskej technickej univerzity v Bratislave (FIIT STU). Pracovné pôsobenie v komerčnej oblasti prinieslo jednotlivým tímovým členom bohaté skúsenosti v oblasti riešenia „real-life“ biznis problémov. Spolu so skúsenosťami pracovať v tíme predstavujú tieto schopnosti a zručnosti dobrý základ na úspešné zvládnutie tohto projektu.
BC. MARKO DIVÉKY
Z programovacích jazykov má dlhoročné skúsenosti s jazykom Java a programovaním na platforme Java SE. Ovláda aj platformu .NET, kde pracoval s jazykom C#. Z enterprise platformy má skúsenosti s .NET webovými službami. Taktiež pracoval s databázovým prostredím Microsoft SQL Server 2005, verziovacím systémom Microsoft SourceSafe 2005 a ovláda technológie XML, XSD, XPath, XSLT. Má skúsenosti s jazykom UML a analýzou a navrhovaním softvérových systémov. V roku 2007 sa ako člen štvorčlenného tímu študentov prebojoval do svetového finále súťaže Imagine Cup 2007, kde v kategórií Software Design reprezentoval Slovensko. V komerčnej sfére pracuje na projekte postavenom na aplikácií IBM Rational Software Architect/Modeler, kde si osvojil technológie ako Eclipse PDE, GMF, EMF, SWT a ďalšie. Počas tohto projektu by si rád osvojil technológie platformy Java EE.
BC. MARIAN GABLOVSKÝ
Počas štúdia na bakalárskom stupni FIIT STU si osvojil technológiu Java SE, naviac má skúsenosti aj s platformou Java EE. Pracoval s knižnicami Spring, Hibernate, Cocoon, technológiami Maven, Ant a testovacím nástrojom JMeter. Ovláda technológie XML, XSLT, XPath. Z databázového prostredia používal MySQL v spolupráci s jazykom PHP. Má skúsenosti s webovými technológiami, ako napr. (X)HTML, CSS a jazykom JavaScript. Z verziovacích systémov si osvojil Subversion. Má skúsenosti s písaním dokumentácie, analýzou a návrhom softvéru s pomocou jazyka UML a prácou v tíme. Momentálne pracuje pre medzinárodnú softvérovú firmu, ktorá získala prestížne ocenenie IT FIRMA roka 2007. Počas riešenia tohto projektu by si rád osvojil a v praxi aplikoval nové technológie.
BC. MATÚŠ KORMAN
Počas svojej práce v softvérovej firme zameranej na bezpečnosť v komunikácii získal bohaté skúsenosti s databázovými prostrediami, počítačovou bezpečnosťou, šifrovaním a elektronickým podpisom. Podieľal sa na vývoji softvérového systému, ktorý je tematicky blízky zadaniu projektu. Má skúsenosti s webovými službami postavenými na platforme .NET a tiež technológiami XML, XSD a ASN.1. Podieľal sa na návrhu softvéru s použitím jazyka UML. Pracoval s verziovacími systémami Microsoft SourceSafe, Subversion a IBM Rational ClearCase. Z databázového prostredia má skúsenosti so systémami PostgreSQL, Microsoft SQL Server, prepojeniami JDBC, ODBC a ADO.NET. Aktívne ovláda platformy UNIX a Microsoft Windows po stránke programovania aj správy. Spomedzi programovacích jazykov ovláda predovšetkým C, C++, Assembler, C#, Java a PHP. Počas riešenia tohto projektu uvíta nové skúsenosti s platformou Java EE.
BC. JAKUB KOŽÍŠEK
Ovláda programovacie jazyky Delphi, PHP, Ruby, Perl, Java, C, C++, Assembler, Smalltalk, Python a JavaScript, ktoré si osvojil počas riešenia školských aj pracovných projektov a taktiež samoštúdiom. Počas práce si ako vývojár webových aplikácií osvojil technológie AJAX, JavaScript, PHP v kombinácii s databázovým prostredím MySQL. V súčasnosti pracuje ako Java špecialista v slovenskej pobočke medzinárodnej firmy zaoberajúcej sa, okrem iného, tvorbou rozsiahlych softvérových systémov. V práci sa venuje vývoju pre platformu Eclipse a v neposlednom rade bezpečnosti – technológii XACML, a pod. Má skúsenosti s model-driven architektúrou - Eclipse EMF knižnicou, návrhovými vzormi, návrhom softvérových aplikácií, nakoľko plánuje v budúcnosti pracovať ako softvérový architekt. Zaujíma sa o použitie technológie AJAX a Java – s využitím dostupných knižníc, ako napr. GWT, Echo. Ovláda technológie XML, XSLT. Má skúsenosti s vedením tímu, manažmentom kvality, buildovacími a verziovacími systémami. Pracuje so systémami/technológiami Subversion, Maven, Continuum, Ant, Apache, Tomcat a ďalšími.
BC. KATARÍNA SIROTOVÁ
Počas štúdia na strednej a vysokej škole aktívne pracovala s jazykmi C a Java. V súčasnosti si osvojuje platformu Java EE. Má skúsenosti s testovaním a vyhodnocovaním údajov získaných v prostredí klient-server s využitím technológie RMI. Pri vypracovaní bakalárskej práce na FIIT STU si osvojila jazyk PHP, prácu s databázovým prostredím MySQL a technológiu CSS. Tieto skúsenosti aplikovala pri tvorbe webových stránok. Ovláda jazyk UML a má pozitívny prístup k písaniu projektovej dokumentácie. Má bohaté skúsenosti s prostredím Microsoft Office a jeho aplikáciami Word, Excel a PowerPoint. Má zmysel pre detail a tímovú prácu.

NAŠA PREDSTAVA O PROJEKTE

Vzhľadom na široký charakter témy predostierame našu nezáväznú predstavu o projekte. Projekt takéhoto zamerania sa vyznačuje širokými možnosťami realizácie v závislosti od rôznych alternatív prostredia. Vo všeobecnosti sa jedná o vysoko špecializované riešenie navrhované pre podmienky konkrétneho stredného alebo veľkého podniku, resp. podnikovej divízie. Takéto riešenie je aplikovateľné do veľkého množstva prostredí, avšak jeho realizácia pre jedno konkrétne prostredie nemusí vyhovovať iným prostrediam. Súčasťou systému by malo byť akési jadro zahŕňajúce biznis logiku spoločnú pre väčšinu mysliteľných prostredí nasadenia. Ostatné časti spočívajú v adaptácii tohto systému na konkrétne prostredie, čo pokrýva biznis logiku a tiež rozhrania s inými systémami. Projekt je zameraný na podporu riadenia firmy, v rámci ktorej je činnosť zamestnancov rozdelená do projektov a úloh vykonávaných na týchto projektoch. Tým pádom zahŕňa biznis logiku týkajúcu sa viacerých procesov závislých od konkrétnych požiadaviek, ktoré ďalej závisia od firmy a nasadenia v konkrétnom prostredí. Medzi významné vlastnosti riešenia radíme predovšetkým spoľahlivosť, bezpečnosť a schopnosť interaktívnej práce v reálnom čase. Taktiež si uvedomujeme dôležitosť modulárneho prístupu k návrhu systému a dlhodobo zachovateľnej udržiavateľnosti systému, nakoľko sa jedná o systém, ktorý bude pravdepodobne žiadúce modifikovať súbežne s evolúciou procesov v rámci firmy. Spoločným návrhovým rysom riešenia pre rôzne prostredia sa javí použitie databázových technológií, ktoré umožnia relatívne nezávislé prepojenie s existujúcimi systémami, ktoré sú nasadené v prostredí už v čase implementácie. Okrem toho dôležitú úlohu nepochybne zohrá možnosť interakcie s ostatnými systémami. Na tento účel je možné využiť viacero prístupov a technológií, medzi ktoré patrí napríklad vzdialené volanie metód alebo samotná sieťová komunikácia. Veľká časť návrhu systému závisí od modelu nasadenia. Systém môže byť sčasti súčasťou rámca (framework-u), ktorý do značnej miery rieši interakciu modulov, alebo sa môže jednať o zväčša autonómne bežiaci systém, ktorý bude nezaobalene komunikovať s ostatnými systémami. Ako tím sme otvorení práci a získavaniu nových skúseností s perspektívnymi podnikovými technológiami a tiež zdokonaľovaniu sa v rutinách vývoja softvérových systémov. Naviac máme ambíciu ponúknuť časť našich vedomostí, skúseností a prostriedkov na samotný účel rozšírenia existujúcej podpory procesov riadenia firmy.

PREDPOKLADANÉ ZDROJE

Zdroje potrebné na realizáciu projektu sú určované požiadavkou vývoja systému na platforme Java, ktorá zahŕňa integrované prostredie pre vývoj a enterprise server slúžiaci ako kontajner pre časť systému. Konkrétne softvérové požiadavky pre potreby implementácie sú:
  • Operačný systém Windows XP a novší, všetky novšie distribúcie Linuxu a Mac OS X,
  • vývojové prostredie Eclipse Europa (verzia 3.3) a príslušné prídavné moduly,
  • aplikačný server JBoss Application Server 4.2.1.GA,
  • Java SE Development Kit 6.0 Update 2.
Súčasne s potrebným programovým vybavením pre účely implementácie bude nasadená infraštruktúra podporných prostriedkov uľahčujúcich riadenie projektu, vytvárajúcich nasaditeľnú distribúciu, zabezpečujúcich efektívnu tímovú prácu ako aj jednoduché sledovanie zmien a napĺňania požiadaviek. Medzi tieto nástroje patrí:
  • verziovací systém Subversion 1.4.4,
  • nástroj pre manažovanie stavby projektov Maven 2.0.7,
  • webová aplikácia pre dokumentáciu a sledovanie zmien Bugzilla 3.0.2,
  • nástroj pre manažment projektu Gantt 2.0.4.
Subversion, Maven i Bugzilla budú previazané s vývojovým prostredím pomocou príslušných prídavných modulov (Polarion Subversive, Maven Eclipse plug-in a Mylyn). Efektívna práca na dokumentácii bude dosiahnutá pomocou produktu Google Docs, ktorý umožňuje tímovú prácu na dokumentoch, tabuľkách a prezentáciách s podporou revízií, komentárov a pod. Zdieľanie dát a ich prezentácia bude umožnená prostredníctvom FTP a webového priestoru. Tímová komunikácia je zabezpečovaná súkromnou archivovanou konferenciou elektronickej pošty a komunikačnými nástrojmi ICQ a Skype. Hardvérové požiadavky zahŕňajú osobné počítače slúžiace na vývoj systému, ktorých výkon musí byť dostatočný pre pohodlnú prácu s vývojovým prostredím, t.j.:
  • minimálne 512 MB operačnej pamäte,
  • 1 GB miesta na pevnom disku,
  • taktovacia frekvencia CPU aspoň 1 GHz.
Okrem osobných počítačov je potrebný FTP, web a Subversion server, ktorý si vyžaduje aspoň 1 GB voľného miesta na pevnom disku a sieťové pripojenie. Nároky na operačnú pamäť alebo rýchlosť sú tak nízke, že ich zabezpečuje veľká väčšina súčasných počítačov. Časti systému budú nasadené na aplikačný server, ktorého nároky sú určované požiadavkami produktu JBoss:
  • 512 MB RAM,
  • 100 MB voľného miesta na pevnom disku,
  • 400 MHz CPU.
design - content bottom
Funguje s prehliadačmi
Firefox a Internet Explorer 7