K.O.D.A. s.r.o Jsme firma, kter´ a uˇz p˚ usob´ı na trhu nˇekolik let. Za tu dobu jsme nasb´ırali dost zkuˇsenost´ı v naˇsem oboru. Zab´ yv´ame se v´ yvojem informaˇcn´ıho syst´emu pro v´ yrobn´ı podniky a d´ ale konzultaˇcn´ımi a implementaˇcn´ımi sluˇzbami aplikac´ı tˇret´ıch stran - outsourcing. Aplikace je formou tlust´eho klienta. Poskytujeme komplexn´ı pokryt´ı vˇsech aspekt˚ u v´ yroby od zaˇc´atku aˇz do konce. Tento IS je modul´ arn´ı a lze ho upravit dle poˇzadavk˚ u klienta. Firma nab´ız´ı kompletn´ı sluˇzby v poradenstv´ı a implementaci. N´aˇs syst´em lze propojit s aplikacemi tˇret´ıch stran, kter´e ho rozˇsiˇruj´ı o dalˇs´ı funkcionalitu jako napˇr´ıklad u ´ˇcetnictv´ı nebo objedn´ avkov´ y syst´em.
Dovednosti • anal´ yza • komunikace se z´ akazn´ıkem • programov´ an´ı • t´ ymov´ a pr´ ace • technologick´e know-how • bezpeˇcnost • outsourcing • veden´ı v´ yroby • datab´ aze
Role • analytik • design´er • v´ yvoj´ aˇr • test´er • team-leader
1
• obchodn´ık • manager • konzultant
Team • Honza Pavel - analytik, konzultant • Petr Skoˇcdopole - analytik, konzultant • Jan Nov´ ak - analytik, team-leader • Pavel Nˇemec - senior developer, database specialist, team-leader • Milan Prav´ y - senior developer, database specialist • Tom´ aˇs Vesel´ y - senior developer • Igor Kr´ al - junior developer • Jan Musil - junior developer, database specialist • Jozef Straka - junior developer • Petr Vyhl´ıda - junior developer • Frantiˇsek Kol´ aˇr - senior tester • Ondˇrej Dvoˇr´ ak - tester • Petr Svoboda - tester • Jakub Novotn´ y - designer • Karel Podˇes - obchodn´ık • Jan Hor´ aˇcek - management • Michal Marek - konsultant
2
Projekt Napojen´ı na aplikaci tˇret´ı strany bude naˇs´ım projektem. Tzn. n´aˇs projekt bude propojeni st´ avaj´ıho IS pro ˇr´ızen´ı v´ yroby s objen´avkov´ ym/´ uˇcetn´ım syst´emem. Tzn. anal´ yza obou aplkac´ı, jak se propoj´ı. Propojen´ı bude realizov´ano pomoc´ı SDK k objedn´ avkov´emu/´ uˇcetn´ımu syst´emu a bude realizov´ano na z´akladˇe datab´ azov´ ych job˚ u a procedur. Obˇe datab´aze jsou oddˇelen´e, je tˇreba synchronizovat data. Plus z´ akazn´ıkovi se nel´ıb´ı souˇcasn´ y stav co mu aplikace pro objedn´ avkov´ y/´ uˇcetn´ı syst´em nab´ız´ı, a tak poˇzaduje nˇejak´e u ´pravy. Tzn. v´ yvojov´ y t´ ym pro u ´pravy nad aplikac´ı tˇret´ı strany a d´ale v´ yvojov´ y t´ ym pro vytvoˇren´ı propojen´ı mezi naˇs´ım IS.
C´ıle • rozhodnout se, jak´ y syst´em tˇret´ı strany nakoup´ıme - obchodn´ık vyjedn´a + analytici provˇeˇr´ı, co je nejvhodnˇejˇs´ı => z˚ ustane jeden syst´em, kter´ y se koup´ı (staneme se jejich partnery) • ˇskolen´ı zamˇestnanc˚ u - konzultanti, kteˇr´ı se sezn´am´ı s obsahem syst´emu, aby byli schopni zodpov´ıdat dotazy klient˚ um (support je na n´as) • ˇskolen´ı analytik˚ u a program´ator˚ u - proˇskolen´ı SDK a technick´ ych detail˚ u • anal´ yza propojen´ı syst´emu a poˇzadavk˚ u na zmˇenu naˇseho syst´emu a syst´emu tˇret´ı strany • specifikace • n´ avrh ˇreˇsen´ı - architektura • prototyp ˇreˇsen´ı - prototyp propojen´ı syst´emu • programov´ an´ı - n´ aˇs syst´em, propojen´ı syst´em˚ u, u ´prava syst´emu 3. strany • testy • akceptaˇcn´ı testy • nasazen´ı do provozu • aktualizace
Rizika • chybn´ a anal´ yza • v pr˚ ubˇehu vytv´ aˇren´ı prototypu se zjistila nedostateˇcn´a technologick´a knowhow • v r´ amci kaˇzd´e etapy poˇc´ıtat s v´ ypadky pracovn´ık˚ u (cca 2-3 nahrad´ıme bez v´ aˇznˇejˇs´ıch probl´em˚ u) • najmut´ı neschopn´ ych pracovn´ık˚ u
3
Umˇrela 2/3 program´ ator˚ u. Seznam opatˇren´ı, kter´ ymi budeme danou situaci ˇreˇsit: Z˚ ustali: • Milan Prav´ y • Igor Kr´ al Igor Kr´ al programoval u ´pravy naˇseho syst´emu, s 50% spoˇzdˇen´ım aktu´alnˇe napl´anovan´eho pl´ anu m˚ uˇze zadan´ yu ´kol dokonˇcit. Milan Prav´ y dˇelal propojen´ı syst´emu, dostane k ruce 2 juniory, kteˇr´ı nemaj´ı ˇz´ adn´e zkuˇsenosti, pro zaˇskolen´ı do nov´eho projektu bude potˇreba vyhradit nejm´enˇe 7 dn´ı, d´ ale by mˇel pl´ an pokraˇcovat dle pˇredpoklad˚ u. Ku ´pravˇe syst´emu 3. strany budou najati 2 specialist´e z extern´ı firmy (dodavatele softwaru 3. strany).
Funkˇ cn´ı body Vstupy kontaktn´ı u ´daje objedn´ avka aktualizace stavu skladu detailn´ı popis v´ yrobky storno objedn´ avky
FP 2 2 0 0 1 1 Tabulka 1: Vstupy
V´ ystupy faktura detailn´ı popis v´ yrobek
FP 2 0 1 Tabulka 2: V´ ystupy
Dotazy stav objedn´ avky stav skladu
FP 1 0 Tabulka 3: Dotazy
EI : EO : EQ : ILF: EIF:
2x3 1x4 1x3 0x7 1x5
+ + + + +
2x4 + 2x6 1x5 + 1x7 1x4 + 0x6 0x10 + 1x15 0x7 + 2x10
= = = = =
26 16 7 15 25
Celkem : 89 4
Vnitˇrn´ı logick´e soubory Polozka2Vyrobek
FP 2 Tabulka 4: Logick´e soubory
EIF kontaktn´ı u ´daje objedn´ avka detailn´ı popis
FP 2 2 0 Tabulka 5: EIF
Charakteristiky syst´ emu Charakteristiky Vyˇzaduje syst´em spolehliv´e z´alohov´an´ı a zotaven´ı? Jsou vyˇzadov´ any datov´e komunikace? Existuje distribuovan´e zpracov´an´ı? Je v´ ykonnost kritick´ a? Pobˇeˇz´ı syst´em v st´ avaj´ıc´ım intenzivnˇe vyuˇz´ıvan´em operaˇcn´ım prostˇred´ı? Syst´em poˇzaduje on-line vstup dat? Vyˇzaduje on-line vstup dat pouˇzit´ı vstupn´ı transakce pˇres v´ıce obrazovek nebo operac´ı? Jsou hlavn´ı soubory opravov´ any on-line? Jsou vstupy, v´ ystupy, soubory a dotazy sloˇzit´e? Je vnitˇrn´ı zpracov´ an´ı sloˇzit´e? Je k´ od navrhov´ an s c´ılem znovupouˇzit´ı? Jsou konverze a instalace zahrnuty v n´avrhu? Je syst´em navrhov´ an pro n´ asobn´e instalace u r˚ uzn´ ych organizac´ı? Je aplikace navrhovan´ a tak, aby zajistila zmˇeny a snadn´e pouˇz´ıv´ an´ı na stranˇe uˇzivatele? Souˇcet charakteristik
Stupeˇ n hodnocen´ı 5 3 0 3 1 5 3 4 5 4 3 2 0 3 40
Tabulka 6: Hodnocen´ı syst´emu Poˇcet funkˇcn´ıch bod˚ u: (0.65 + (0.01 x 40) ) x 89 = 93.45
Testov´ an´ı ˇ cern´ a skˇ r´ıˇ nka Funkce na vyhled´ av´ an´ı objedn´avky v syst´emu: objekt objedn´ avka :=HledejObjedn´avku(ˇc´ıslo objedn´avky, ˇc´ıslo z´akazn´ıka)
5
ˇc´ıslo objedn´ avk ˇc´ıslo z´akazn´ıka objekt objedn´avka existuje existuje instance objektu existuje neexistuje chyba vstupu neexistuje existuje chyba vstupu neexistuje neexistuje chyba vstupu existuje existuje chyba vstupu * ∗ dan´ y z´ akazn´ık nem´ a pr´ ava na pˇr´ıstup k poˇzadovan´e objedn´avce
Metriky 1. Poˇ cet ˇ r´ adk˚ u/ˇ clovˇ ekoden - v t´eto metrice sledujeme poˇcet ˇr´adk˚ u vyprodukovan´ ych jednotlivcem za urˇcenou ˇcasovou jednotku. V r´amci r˚ uzn´ ych technologi´ı je moˇzn´e aplikovat r˚ uzn´e koeficienty, kter´e v´ yslednou hodnotu zkoriguj´ı, aby byly jednotliv´e hodnoty srovnateln´e Pro n´ aˇs projekt: • Doln´ı hranice: 100-150 - pˇriˇradit dohled nad zamˇestnancem z d˚ uvodu moˇzn´eho neporozumˇen´ı zad´an´ı • Horn´ı hranice: 400 - zkontrolovat kvalitu k´odu 2. Method Hiding Factor - metrika sleduje pomˇer mezi priv´atn´ımi a vˇsemi metodami v r´ amci projektu. V´ ysledkem je procentu´aln´ı hodnota kter´a urˇcuje m´ıru granularity/strukturov´an´ı k´odu. Hodnota by mˇela b´ yt v rozmez´ı 60% - 80%, ˇc´ımˇz je pravdˇepodobnˇe zaruˇcena vysok´a znovupouˇzitelnost a ˇcitelnost hodnocen´eho k´odu. Pro n´ aˇs projekt: • 40 - mal´ a znovupouˇzitelnost k´odu, moˇzn´a velk´a komplexita k´odu • 80+ - pˇr´ıliˇs velk´ a granularita 3. Cyklomatick´ a - sledujeme mnoˇzstv´ı nez´avisl´ ych cest, kter´e vznikaj´ı v grafu, kter´ y odr´ aˇz´ı pr˚ ubˇeh programu. Sledujeme poˇcet vˇetven´ı (+1), kter´e kdyˇz pˇrekroˇc´ı pˇredem dan´ y koeficient (pro n´aˇs projekt je tento koeficient stanoven na 6), tak se k´ od st´av´a pˇr´ıliˇs komplexn´ı na testov´an´ı.
CMM - level 2 ˇ ızen´ • R´ e poˇ zadavky: • Pl´ anov´ an´ı softwarov´ eho projektu: Pl´an projektu byl vypracov´an a udrˇzov´ an pomoc´ı MS Projektu (Gantt˚ uv a s´ıtov´ y diagram, PERT odhad) ˇ ızen´ • R´ e subkontrakty na software: Poˇzadavky na zmˇenu syst´emu 3. strany jsou realizov´ any jako jednotliv´e subkontrakty dodavateli tohoto syst´emu • Zajiˇ stˇ en´ı kvality: Pro zajiˇstˇen´ı a kontrolu kvality vyv´ıjen´eho softwaru je pouˇzita dˇr´ıve zm´ınˇen´ a sada metrik, pr˚ ubˇeˇzn´ ych test˚ u a inspekc´ı ˇ ızen´ı softwarov´ • R´ ych konfigurac´ı: m´ame definovan´e protokoly na ˇr´ızen´ı softwarov´ ych konfigurac´ı 6
CMM - level 3 • Zlepˇ sov´ an´ı org. procesu: najmeme odpovˇedn´eho pracovn´ıka na udrˇzov´an´ı aktu´ aln´ıho pracovn´ıho pl´anu, stanov´ıme pro jednotliv´e subprojekty roli zodpovˇedn´eho ˇreˇsitele, kter´ y m´a pˇrehled o jednotliv´ ych ˇc´astech sv´eho subprojektu a je zodpovˇedn´ y za jeho vˇcasn´e a ˇr´adn´e vyˇreˇsen´ı • Definice org. procesu: nastaven´ı business proces˚ u ve firmˇe a jejich ˇr´ızen´ı a udrˇzov´ an´ı pomoc´ı business analytika ˇ • Skol´ ıc´ı program: v r´ amci pˇr´ıpravy na projekt byli jednotliv´ı pracovn´ıci proˇskoleni ˇ ızen´ı integrovan´ • R´ eho software: m´ame definovan´e protokoly na ˇr´ızen´ı integrace softwaru • Aplikace inˇ zen´ yrsk´ ych metod u softwarov´ eho produktu: RUP • Koordinace mezi pracovn´ımi skupinami: koordinace je zajiˇst’ov´ana pomoc´ı team leader˚ u, kteˇr´ı kooperuj´ı na dan´ ych poˇzadavc´ıch / u ´kolech • Detailn´ı provˇ erky a oponentury: rozˇs´ıˇren´ı st´avaj´ıc´ıch inspekˇcn´ıch metod na robustnˇejˇs´ı a form´alnˇe ovˇeˇriteln´e. Zaveden´ı automatick´ ych test˚ ua kladen´ı d˚ urazu na unit testy a revize k´odu.
7