Systémové inženýrství přednášky Vrana Systém - množina předmětů, jevů, poznatků…, které spolu souvisí přesně vymezeným způsobem a vytvářejí jednotný celek Systémové inženýrství - specifický druh lidské činnosti: modelování, analýza, projekt, implementace a provozování reálných systémů - nástroj pro řešení rozsáhlých a složitých vědních, technických, ekonomických, sociálních a ekologických problémů - spojení idejí: - systémovost - inženýrské principy - zúžení na informační systémy Cíl předmětu - úvod do informačního inženýrství: plánování, analýza, návrh zavedení IS - metody organizačního inženýrství: informační strategie organizace -> návrh IS Literatura - Jilková a Stavovská: Strukturované postupy analýzy a návrhu informačních systémů 1992 - Vrana, Richta: Zásady a postupy zavádění podnikových informačních systémů 2005 Zápočet - docházka - 2 absence - test min 5,5 bodů (z 10-ti) - odevzdaný projekt Zkouška - znalost látky v rozsahu přednášek Co je informační inženýrství? - první zmínky J. Martin - 1970 Definice: - použití vzájemně propojeného souboru formálních technik pro plánování, analýzu, návrh a tvorbu IS na celopodnikové úrovni Rozdíl mezi softwarovým a informačním inženýrstvím: S. I. 1 projekt Použití strukturovaných technik na I. I. celý podnik => potřeba automatizovaných nástrojů Alternativní definice: - celopodnikový soubor automatizovaných disciplin pro získání: - správné informace - správnou osobou - ve správný čas I. I. je třída variantních metod (ne rigidní) a) používá strukturované techniky na celopodnikové bázi b) postupuje shora-dolů přes stavy: - strategické plánování - informační plánování - analýza stavu a potřeb - návrh systému - vytvoření systému c) průběžně vytváří encyklopedii = dokumentaci znalostí o podniku, datových a procesních modelech, návrhu systému d) vytváří kostru pro vznik komputerizované organizace e) umožňuje rychlou modifikaci systému f) koordinace mezi odděleně budovanými systémy g) přímá účast koncových uživatelů ve všech fázích vývoje h) usnadňuje dlouhodobý rozvoj systému
-1-
Christy
Systémové inženýrství přednášky
Tvorba IS s m ě r
implementačně nezávislé
strategie analýza
p o s t u p u
návrh
implementačně závislé
vytvoření data
aktivity
tři strany pyramidy: - datová stránka (data) - aplikační logika (aktivity) - interface (zadní strana) - inženýrské postupy ve všech fázích ŽC - parametrizace a měřitelnost jevů - standardizace a typizace prvků - přenositelnost standardů - strukturovaná organizace práce - dokumentace - potřeba formálních technik a automat. nástrojů - báze znalostí o organizaci a IS -> dokumentace Dosavadní postupy - vytvoření IS trvá dlouho a je nákladné - redundantní a chaotická data - obtížná údržba - programy -> spaghetti code - management nemá potřebné informace když je potřebuje - IS brání rychlému rozvoji podniku Počítačové diagramy - mají odstranit neurčitost
Hierarchické diagramy - jedna z nejčastějších technik k vyjádření dělení a členění Definice: - HD vyjadřuje souvislosti mezi entitami formou stromové struktury - každá entita se váže k právě jedné entitě vyššího stupně - k entitě se může vázat několik entit nižšího stupně Pojmy: kořen, uzel, list, rodič, dítě, stupeň, hloubka
Mezinárod.
Západ
Střed
Východ
Účetictví
Marketing
Masokombinát Plán. odd. Obch. odd. Rozpočet
Sklad
Nákup
Výroba
Výrobní odd.
-2-
Christy
Systémové inženýrství přednášky
Výrobní odd.
Masokombinát
Plán. odd.
Obch. odd.
Výroba Nákp Sklad Rozpočet Účetnictví Marketing Východ Západ Střed Mezinárodní
Masokombinát Výrobní odd. Výroba Nákup Sklad Plán. odd. Rozpočet Marketing Účetnictví Obch. odd. Východ Západ Střed Mezinárodní Obecně: Kořen
Stupeň 0
1 1
2 3 4
Listy
Formální pravidla: - kreslení shora-dolů (zleva-doprava) - číslování uzlů: 1, 2, ... 2.1, 2.2, ... , 2.2.1, ... (kombinace s písmeny a řím. číslicemi) - pojmenování stupňů - rodič má mít 7 ± 2 dětí - 2 základní typy hierarchie: - patří do = klasifikace (taxonomie) - skládá se z = dekomposice Kritéria pro použití: - pouze pro vyjádření skutečné hierarchie - snaha vyjádřit nehierarchické struktury (např. ERD) pomocí HD je kontraproduktivní - struktura programů
-3-
Christy
Systémové inženýrství přednášky
ERD (Entity Relationship Diagram) - Diagram Vztahu Entit - nejoblíbenější technika vyjádření návrhu dat pro datově orientované systémy Definice: ERD zobrazuje typy objektů (entit), o který v systému ukládáme data, typy vztahů mezi těmito objekty a někdy typy atributů ukládaných o každém objektu Příklady: 1) knihovna půjčuje knihy čtenářům: - knihu charakterizují: název, autor, nakladatel, ISBN, rok vydání - kniha může mít několik kopií - čtenář si může půjčit několik knih
Čtenář
čeká na si vypůjčil objednal si
Kniha
Kopie
má
2) Univerzita Použití: - fáze plánování, analýza, návrh Formální pravidla: Entita: symbol: název: Vztah: symbol: název: Atribut: symbol: název: Kardinalita: symbol:
obdélník podstatné jméno spojnice obdélníků (někdy kosočterec) sloveso kroužek podstatné jméno značka na čáře „vztah“ A
B
A
B
A
B
A
B
A
B
právě jeden
žádný nebo jeden
jeden nebo více
žádný, jeden nebo více
více než jeden Příklady: Vztah: má 1:1
Univerzita
Rektor vzdělává
1:více
Univerzita
Student
-4-
Christy
Systémové inženýrství přednášky uděluje Univerzita
je udělován
Titul
více:více zasílá Zákazník
1:více (podmíněně)
Objednávka je rodič
Osoba je dítě sám k sobě Podtypy entit Někdy potřebujeme rozdělit typ entity na podtypy Např.: Ryba Živočich Pták Zvíře
Definice: Podtyp entity je jistá podmnožina daného typu entity, o které chceme zaznamenávat informace speciální pro tento podtyp. Živočich
přerušovaná čára
Projekt
Zvíře
Tajný
Ryba
Vojenský
Pták Vzájemně se Vylučující
Nevylučující
Podtypy entit se chovají stejně jako typy entit (mají atributy a vztahy s jinými entitami) Kdy je A podtypem B: => Odpověď na 2 otázky: Platí, že? A je B vždy B je A někdy
DFD - Data Flow Diagram - diagram datových struktur - diagram toků dat - zobrazuje procesy a toky dat mezi nimi (jak jsou data užita a transformována při postupu systémem) - neobsahují řídící informace a časování 4 stavební prvky:
proces tok dat data store terminátor
Formální pravidla: 1) proces (hlavní složka DFD)
-5-
Christy
Systémové inženýrství přednášky - symbol: kroužek (obdélní se zakulacenými rohy) - název: sloveso + předmět - alespoň jeden vstupní a jeden výstupní datový tok - lze číslovat - lze dekomponovat 2) tok dat - symbol: čára, spojující proces se zbytkem systému (šipka označuje směr toku) - obvykle s názvem (vyjímky) - alespoň jeden konec spojen s procesem - druhý konec musí být spojen s: - jiným procesem - data storem - terminátorem 3) terminátor: (externí entita) - symbol: obdélník (hranatý/stínovaný) opakování ~ přeškrtnutý roh (planární - jedná se o identické terminátory) - je místem vzniku nebo příjmu dat systému 4) data store: (logický soubor) - symbol: dvojice rovnoběžných čar - název: podstatné jméno mezi čarami - obstarává: - nesynchronní přenos dat - skládání/rozklad dat. struktur - alespoň vstupní a jeden výstupní tok
SCH - Structure Chart SCH zobrazuje modulární strukturu programu systému, tj. moduly a jejich vztahy (ne strukturu jednoho modulu) Modul = volatelná část programu systému, která má tyto atributy. - vstup a výstup - vnější pohled - funkce - vnější pohled - způsob práce - vnitřní pohled - interní data - vnitřní pohled - SCH se zajímá o vnější pohled na modul, tj. CO modul dělá (nikoliv JAK) - značka: obdélník (uvnitř je název modulu) Vystav účet - předdefinovaný modul:
Čti systémový čas
Vzájemné vztahy: - uspořádání modulů do posloupnosti úrovní - propojení šipkami = předávání řízení (volání) - jeden modul může volat několik modulů (vztah rodič-dítě) - jeden modul může být volán několika moduly = společný modul Úroveň 1 (kořen)
2
A
B
C
D
3 (list)
E
společný modul
-6-
Christy
Systémové inženýrství přednášky Pravidla: - existuje právě jeden kořen (vrcholový modul) - řízení se vždy předává zpět volajícímu modulu - když modul A volá B, nesmí modul B volat A Přenos dat mezi moduly: - v obou směrech - směr přenosu zobrazen malou šipkou - název dat napsán vedle šipky - 2 typy přenosu: - data (má to být prázdné kolečko) - řídící informace (flag) A
B
F
C
D
G
H
E
I
Některé podniky se díky IS rozvíjejí rychleji: => je životně důležité - vyvinout aplikace rychle - možnost rychle modifikovat - dle skutečné potřeby uživatelů => automat. techniky návrhu ~ generátory kódu Počítače a komunikace nabízejí víc než automatizaci toho, co se dělá ručně - změny v: organizaci podniku rozhodovacích místech ve vazbách odběratelů/dodavatelů (Benetton) Kritický faktor úspěchu v podnikání = nahrazení zmatku ve zpracování dat inženýrskými postupy, které umožní rychle vytvářet a modifikovat procedury zpracování dat = rychle se přizpůsobovat potřebám Potřeba výkonných nástrojů - µ-chip, tryskové letadlo, IS velkého podniku nelze ručně => rozvoj: - I-CASE prostředků (vč. generátorů kódu) - znalostní techniky - prototypového postupu Souhrn hlavních předností I.I. - koordinace (spolupráce) různých systémů - stejná data jsou v různých systémech stejně reprezentována - lepší dodávka informací pro rozhodování - relativně rychlá tvorba nových systémů - schopnost rychlých změn - možnost tvorby složitějších systémů - snazší údržba - levnější provoz - dlouhodobý rozvoj Stupně pyramidy I. I. Plánování informační strategie - strategické příležitosti - kritický faktor úspěchu - model podniku - hierarchie cílů
-7-
Christy
Systémové inženýrství přednášky - dekomposice funkcí - plánování informací - trvá 3 - 9 měsíců - malý team + top management - diagramová představa podniku => identifikace organizačních a operativních problémů Analýza aplikační domény - detailní datový model - detailní funkční model - trvá ~ 6 měsíců - odděleně pro každou oblast - různé teamy současně - nesnaží se o návrh systému => pochopit a vytvořit adekvátní model dat a procesů, potřebných k činnosti podniku Návrh systému - návrh struktury dat - návrh procesů - návrh struktury programu - návrh interface (obrazovky, sestavy, hlášení...) - automatizované prostředky návrhu - počítačová podpora, graf. representace, editování - vedení návrháře + kontrola integrity - rychlost => dobře strukturovaný návrh = základ pro generování kódu Konstrukce - vstup do generátoru kódu - ruční programování a optimalizace - prototypy ~ součinnosti koncových uživatelů I. I. ~ víc času na 1) a 2) než na 3) a 4) krok Tradiční postup: těžiště v programování - časově náročné - pomalá reakce - obtížné změny + nové programy Encyklopedia = mozek I. I. 2 typy „skladu“ informací o podniku a) slovník - obsahuje názvy elementů dat, procesů, proměnných, .... b) encyklopedie - slovník + úplný soubor specifikací - ukládá význam v diagramech a podporuje konzistenci - „rozumí“ návrhu (slovník ne) - řídí generátor kódu - vysoká produktivita Znalosti získávané postupně ve všech fázích I. I. jsou ukládány v encyklopedii => báze znalostí Počítačové diagramy - hlavní forma komunikace mezi návrhářem a encyklopedií - zobrazují se na monitoru s možnostmi: - editování - zoom - okna - vnořováí - hlavní způsob vytváření a modifikace encyklopedie - založeno na formálních technikách
Datový model - podstatný základový kámen I.I. - logická representace dat je relativně stabilní Entita = cokoliv, o čem ukládáme informace (např. zákazník, dodavatel, komodita, sedadlo v letadle...)
-8-
Christy
Systémové inženýrství přednášky - entity, typy entit, struktura jejich atributů se mění v čase pomalu - procedury, které využívají model dat se mění často - aplikace se v I. I. budují nad modelem dat - Datový model je uložen v encyklopedii tak, aby s ním bylo možné snadno pracovat = diagramy
I A
PL KA CE Modely dat
Spoluúčast uživatele - ve všech fázích - diagramy - prototypy - nezbytná plná podpora top managementu (stejně jako kosmickou loď, není možné budovat IS bez plánu)
Životní cyklus systému Definice: ŽCS je přístup k vývoji systému organizovaným a disciplinovaným způsobem. Součásti přístupu: - definice cílů vyvíjeného systému - definice indikátorů míry dosažení cílů - tvorba alternativních strategií - výběr a zavedení strategie Když nemáme indikátory dosažení cílů => můžeme vědět kam jdeme, ale nevíme zda jsme již tam. Růžné typy ŽCS rozdělují život systému do fází (od zrodu myšlenky po plné zavedení systému) Hlavní typy ŽCS: - vodopád - iterativní - prototypový Vodopád Syst. Pož.
SW Pož.
Analýza
Návrh
Kódov.
Test
Provoz
-9-
Christy
Systémové inženýrství přednášky
- každá postupná fáze začíná po skončení předchozí fáze - mnoho verzí - liší se počtem fází (3 - 10) - vhodné pro izolované malé programy - selhává pro větší projekty Problémy: - velká doba od zahájení do konce projektu => mezitím často změna požadavků => míření na pohyblivý cíl - postup vhodný, když projekt není moc originální (nepotřebuje zpětné vazby) - soustředění na profesionální IS problémy => ztráta kontaktu s potřebami uživatelů
Plánování systému
Analýza požadavků
Návrh
Zavedení
Analýza požadavků
Návrh
Zavedení
Analýza požadavků
Návrh
Zavedení
Údržba (provoz)
Iterativní Hlavní myšlenka: odstranit dlouhé čekání a dodat něco hodnotného každých pár týdnů
Přednosti: - zvýšené zapojení uživatele a návratnost investic - zkrácení průměrné doby zavedení (na ½) Nedostatky: - obtížné vyhodnotit ekonomičnost - obtížné pro systém pro zpracování transakcí (snazší pro systémy pro podporu rozhodování) - nesmí být „po cestě“ moc překvapení Celkově: - obtížný postup - vyžaduje zkušené plánovače a výborné vedoucí projektu => pokud se povede - bohatě se odmění Prototypy - návrh pomocí funkčního vzoru namísto na papíru - rozlišení mezi předběžným a detailním návrhem - když je řešení velmi inovativní => navrhuj dvakrát - když jsou v projektu rizika - vhodný spirálový model - jedna z nejefektivnějších cest pro projekty inovativní nebo s rizikem - užití hlavně ve 3 oblastech: - simulace výkonu - kontrola pochopení zadání - návrh interface
- 10 -
Christy
Systémové inženýrství přednášky Oddělení pro IS v podniku Úkoly: - návrh, instalace a provoz celopodnikových aplikací - rozvoj a údržba technické (síťové) infrastruktury podniku - podpora uživatelů, oddělení, ... Původní úkoly: objednávky, faktury, účetnictví => podléhalo obchodnímu/finančnímu náměstkovi Nové trendy - nejen zpracování dat, ale i inf. služby - podpora všech částí podniku ve všech vrstvách hierarchie - integrace systému - OIS musí poskytovat služby dle priorit podniku a ne dle potřeb náměstka - vedoucí OIS - členem vedení podniku (CIO) (nemusí být technik, spíš manažer) Centralizace/decentralizace Náleží na tom, zda je kočka černá nebo bílá, hlavně když chytá myši Možno kombinovat central. - decentral. Řízení projektu IS Projekt je rozdělen do etap (fází) s podobnou strukturou (spirála) Obvyklý cyklus řízení: Organizuj Plánuj
Kontroluj
Proveď
- před zahájením cyklu musí být projekt organizován Organizace projektu Řídící komice projektu Manažer projektu (plný úvazek) Projekční team Členové teamu: - výběr dle požadovaných dovedností pro jednotlivé fáze: - malé projekty: - neformální organizace - potenciální zastupitelnost členů - střední projekty: - více specializace - funkční - technické - velké projekty: - nutné jak technické tak funkční členění - řízení prování několik osob: vedoucí projektu administrátor projektu administrátor kontraktů metodik architekt systému - další role dány povahou projektu
- 11 -
Christy
Systémové inženýrství přednášky Plánování projektu: - volba typu ŽCS - rozčlenění na dílčí úkoly - časování Volba typu ŽCS: vodopád prototyp Dle: - stupně inovací - velikosti rizik - rozsahu projektu - toleranci k riziku Rozčlenění: Postupně hierarchicky na menší úkoly: podprojekty -> aktivity -> úkoly Úroveň členění: každý úkol: limitován 2 týdny 1 až 2 kontrolovatelné výstupy Časování: - pro každý úkol určit: - potřebný čas - dovednosti - souvislosti s jinými úkoly - možno užít PERT nebo CPM (MS Project) Provedení projektu: - určení úkolů jednotlivým členům (vyváženě) - prověrka výstupů v kontrolních bodech - manažer dbá, aby odpovídaly očekávání (ani víc, ani méně) - nečekané změny mohou zvýšit cenu, zpozdit dodávku, omezit rozsah Kontrola projektu: - team vykazuje manažerovi postup práce - týdně nebo 2x za měsíc - zda byl úkol dokončen (timebox) - manažer sleduje hlavně 2 hldiska: - časový plán - rozpočet
Analýza požadavků -> sběr požadavků -> formulace (specifikace) 2 typy požadavků: - funkční - struktura dat - transformace dat - kvalita - výkon - spolehlivost - použitelnost - přizpůsobivost Klíčové úkoly a výstupy Před zahájením AP je nutné jasně určit rozsah a záměr projektu V další fázi vytvoříme logický model systému jednou z metod: - interview: fyzický model současného systému -> -> logický model současného systému -> -> logický model budoucího systému - JAD: (Joint Application Design) přímá tvorba log. modelu budoucího systému Logický model systému typicky obsahuje: - informační potřeby - rozsah a cíle - popis funkcionality (DFD) - datový model (ERD) - interface s jinými systémy
- 12 -
Christy
Systémové inženýrství přednášky - vzorové hlášení, formuláře, obrazovky - parametry výkonu - měřitelná kriteria Techniky: Interview a JAD - přehlídka současného systému = předehra návrhu nového systému - ukazuje problémy k řešení v novém systému - umožňuje řešitelům pochopit prostředí - zmenšuje možnost opomenutí požadavků - podporuje spolupráci řešitelů a uživatelů
Interview - nejčastější technika studia současných systémů - systematická snaha shromáždit informace od osoby - bez přesné a úplné informace nebude nový systém schopen plnit potřeby organizace - špatně provedené interview = negativní účinek na celý projekt - proces interview má 5 kroků: - příprava - plánování a časování - zahájení a závěr - provedení - opakování (upřesnění) Příprava interview - podstatná pro úspěch interview - před provedením je dobré pochopit organizaci - seznámit se s organizační strukturou, výročními zprávami, dlouhodobými plány - fyzická prohlídka vybavení (návštěva) Plánování a harmonogram interview - připravit seznam témat a otázek => neopomenou se důležitá hlediska - zaslat tázaným předběžný dotazník? - určit kdo bude tázán a v jakém pořadí - top-down pořadí? - pokrytí všech okruhů zájmu Zahájení a závěr interview - analytik se představí a sdělí účel interview - vysvětlí, že si bude dělat poznámky - vyhnout se: - sérii specifických uzavřených otázek - dlouhým poznámkám (zápisník mimo zorné pole) - magnetofonovému záznamu - po vyčerpání seznamu témat otázka: - „nezapomněli jsme na něco?“ - „co by zlepšilo nebo usnadnilo práci?“ - na závěr stručně shrnout diskutované okruhy: - ukázat, že analytik pečlivě naslouchal - že pochopil - vyjasnit případná nedorozumění - vyhnout se osobním komentářům - poděkovat + požádat o případné další iw. Provedení interview - technika aktivního naslouchání: - pomáhá udržet tok informací - zajišťuje zpětnou vazbu - má 5 klíčových nástrojů: - dotazy s otevřeným koncem - vhodná slova a fráze
- 13 -
Christy
Systémové inženýrství přednášky - znamení akceptance (rozumnět) - přeformulování odpovědí - efektivní užití mlčení Dotazy s otevřeným koncem - nelze odpovědět pouze ANO/NE -> -> povzbuzují tázaného k povídání -> -> víc informací - začínají slovy: CO, JAK, Řekněte mi, ... namísto: Můžete, Je, Kdy, ... - všechny dotazy nemohou být s otevřeným koncem Užití vhodných slov a frází - vyhnout se slovům: - emočně laděným - matoucím (zkratky) - slangu a žargonu Znamení akceptace - kritický význam neverbální komunikace - kontakt očí (nezájem-otevřenost-civění) - přikyvování, posez, vzdálenost, ... - znamení slouží k vyjádření pochopení, ne souhlasu
- 14 -
Christy