1 / 72

ÚVOD 2008

ÚVOD 2008. SW inženýrství a IS. Kde jsou prezentace. http://kocour.ms.mff.cuni.cz/~kral/predn0809. Co my budeme studovat. Zavedené postupy, ne ale u všech Informační systémy (ty zahrnují i lidi)

haamid
Download Presentation

ÚVOD 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ÚVOD 2008 SW inženýrství a IS

  2. Kde jsou prezentace http://kocour.ms.mff.cuni.cz/~kral/predn0809

  3. Co my budeme studovat • Zavedené postupy, ne ale u všech • Informační systémy (ty zahrnují i lidi) • Servisně orientované architektury (SOA) a na ně vázané postupy (servisně orientované obchodní aplikace, cloud computing, gridy)

  4. Různé technologie dospějí za různou dobu • Fast Track -2-3 roky, SMS, instant messaging. Podpora velkých, užitečnost, jednoduchost použití, relativní snadnost implementace a nasazení (využití Ex. Infrastruktury). • Standardní: 5-8 let • Long fuse: až 20 let, i více vrcholů, nutnost nové infrastruktury, výzkum, zákony paradigmata. Internet, nnotechno, dataintegration, SOA

  5. O které profese je největší zájem (Forrester Research) • Informační a datový architekt, kvalita a bezpečnost informací (datvé sklady a tržiště, správa rizik) • Datoví a informační analytici, byznys architekti, enterprise architekti, jednání s partnery, hlavně v IT • Klasické IT role vztažené na celý podnil (definice dat, aplikační SW,…) • Techničtí experti (virtualizace, mobilita v IS)

  6. O které profese je nejmenší zájem (Forrester Research) • Klasické programování, statické HTTP, Cobol, PowerBuilder,…

  7. O které profese je nejmenší zájem (Forrester Research) • Klasické programování, statické HTTP, Cobol • Ono to není tak úplně, viz Vaše vlastní zkušenosti • Je pravdou, že největší poptávka je po architektech a lidech, kteří dokáží s uživateli spolupracovat

  8. Zaměření přednáškyInformační systémy Počáteční etapy vývoje IS jsou rozhodující Poznatky z přednášky tvoří jádro SW inženýrství Jsou klíčem k profesnímu uplatnění mimo oblast kódování, tj. ve vedoucích a jiných velmi žádaných pozicích, které lze vykonávat do vysokého věku

  9. Informační systém Systém pro správu a sběr dat a pro poskytování informací uživatelům

  10. Zvláštnosti IS • Klíčová část IT • Většina aplikací IT, podpora byznys procesů a managementu • Největší dopady (globalizace), podpora celosvětové spolupráce • Největší SW systémy, moderní SW architektury • Lidé jsou součástí IS, mohou se bránit, je nutné je získat a vyškolit, prosazovat i jejich prospěch • Musí se z nich vytáhnout, co je třeba udělat • Mohou mít potíž si na to vzpomenout (blokovaná, skrytá znalost), vzpomenou si až při navození situace či při správně formulované otázce • Uživatele nemohou vyvíjet IS sami, nelze ale IS vyvíjet bez nich, nutno rozumět jejim potřebám

  11. Zvláštnosti IS Velké peníze na vývoj, velké peníze na IS závisí Kritické systémy (škody, rozhodují o životech) Velké systémy, největší, co známe Stálá změna Otevřenost, moderní SW architektury Spolupráce IT odborníků a uživatelů při vývoji i provozu

  12. Obchodníci znalí technologie a potřeb uživatelů SW inženýři schopní spolupráce s uživateli Designéři Kódéři Testéři Provozní programátoři Sehnat kšeft a nástřel CO Dohodnout podrobněji CO s vědomím, že to lze udělat Zpřesnit CO, zásady JAK Struktura i detaily JAK Kódování Testování Údržba a provoz Úkoly a profese

  13. Sehnat kšeft a nástřel CO Dohodnout podrobněji CO s vědomím, že lze udělat Zpřesnit CO, zásady JAK Podrobně JAK Kódování Testování Údržba a provoz Úkoly a profese Byznys, inženýrství IT řemeslo

  14. Sehnat kšeft a nástřel CO Dohodnout podrobněji CO s vědomím, že lze udělat Zpřesnit CO, zásady JAK Podrobně JAK Kódování Testování Údržba a provoz Úkoly a profese Znalosti byznysu, ekonomie a potřeb praxe Schopnost spolupráce IT řemeslo. IT znalosti Zaměření přednášky

  15. Úzká místa • Sehnat kšeft, vize • Přesně a správně CO • Stihnout včas za dané peníze • Řemeslo je důležité, ale ne kritické • Na MFF velmi dobré i ve světovém pohledu • V praxi menší problém než analýza • Roste důležitost inženýringu • Specifikace požadavků • Procesy • Architektury

  16. Tempo zastarávání • V technologii programování 50% znalostí zastará za 3-5 let • neplatí to pro principy • V analýze je to zřejmě pomalejší • Lidé se mění pomalu • Kamkoliv pohlédneš, všude jsou lidé stejní blázni • Nápis na simerské tabulce z Uru

  17. Úzká místa • Zaměříme se na úzká místa, tedy především na • úkoly řízení projektů, • SW procesy především s aplikacemi na SOA • SW normy a SW metriky • specifikace a spolupráce s uživateli • Něco se dá jen obtížně na škole nacvičit, lze jen seznámit (srv. MBA lze studovat až po získání praktických zkušeností) • Spolupráce s uživateli • Tvorba rozsáhlých systémů • Management • Zvyky ve firmách

  18. Čím se lišíme od ekonomů • Tam podobná témata, my je ale probíráme z hlediska IT (např. jak lze implementovat SOA, triky v SOA, návrhové vzory) • Zkušenosti s realizacemi z technického hlediska • Spíše zaměřeno na situaci v menších podnicích

  19. Čím se lišíme od ekonomů • Fakticky jsou třeba lidé na pozice • Ekonomické-manažerské s poměrně menšími znalostmi a znalost IT – adaptace balíků • Vedoucí vývoje s dobrými znalostmi IT i oboru aplikace – významnější inovace • Technologové – řešení systémových a technických otázek • Vlastní programátoři – kódeři se schopnostmi návrhu a testování • Testéři- ve větších projektech • Uplatníme se v bodech 2.-5. Ti s manažerským talentem i v 1. Ti ppak jsou velmi žádaní

  20. Změny v informatice

  21. Nové směry v SW, od 1995 • Masové používání OO, UML v modelování • XML jazyky, webové služby, Java • Servisní orientace!!!, po roce 2000 • Aspektové programování, agilní vývoj • C# • Používání SW balíků • ITIL, CMM, COBIT, ….architektury nad SOA

  22. Hlavní poznatky • Krize se vrací asi po deseti létech, může přijít znovu • Vždy se vrátil zájem o informatiku, ale s podstatně jinými úkoly • Zdá se, že po poslední krizi v roce cca 2000 se zájem o informatiky v mnoha zemích plně neobnovil • Nově globalizace, hlavně v kódování • Není jasné, jak se projeví současná krize

  23. Nezaměstnanost v Australii v r. 2005 • Průměr 9.5procent • IT odborníci 18 procent • Možná doznívání krize v IT (internetová bublina) • U nás zatím nepříliš silné (kvalitní IT odborníci) • Zdroj: Prof. Voříšek, VŠE, zkušenost z pobytu v Australii.

  24. Hodnocení absolventů MFF a FI • Rychle programují • Nelze je pustit , alespoň zprvu, k uživatelům, jsou neochotní spolupracovat s odborníky uživatelských domén • Často nadměrně nafoukaní a neochotní • Neochotní používat hotové a podřizovat svůj rozlet přejímání existujících programů

  25. Vyhlídky kódérů • Vysoce kvalifikované řemeslo, z VŠ velmi kvalitní příprava, nikoliv vůdčí pozice • Je jich kupodivu stálý nedostatek, není ale to, co bývalo (rozhraní, více znovupoužívání, tlak na kódéry dodržovat standardy) • Rychle poměrně vysoké platy, vhodné pro mladé • Poločas rozpadu znalostí do 5 let • Každých 15 let nové paradigma (gotoless, strukturovanost, OO, SOA) • Každých 5-7 let nový programovací jazyk • Tradičně profese pro mladé (do 35 let, jsou výjimky)

  26. Král – profesní vývoj • 1959 Absolvent MFF UK, matematická statistika, prvý program na Ural 1, programování v absolutních adresách, není ani asembler, paměť cca 12KB, 100 op/sec, numerika (velmi přesná aritmetika) • 1959 – 1975 Numerická matematika, generátor náhodných čísel (sečítání, 16 bit), grafové úlohy pro programy (segmentace), hash metody (chování pro konečné tabulky), servis pro AV, 4 publikace, svépomocný binárně kódovaný assembler, práce na pč. s pamětí 16kB • 1967 – dosud. Makroprocesory, kompilátory, formální jazyky, sítě procesorů. Čtyři větší projekty, dva úspěšné, několik desítek publikací. Hlavní výstup kvalitní generátor pseudonáhodných čísel založený na sečítání v 16tibitové aritmetice, nikoliv na násobení, analýza téměř shora, generátor LR analyzátorů založených na rekursivním sestupu, kompilační techniky, analýza hash metod proacujících na konečných tabulkách,vlastnosti formálních jazyků (nested iterated substitution)

  27. Král – profesní vývoj • 1975 – dosud. Řízení výrob a technologií, cca 8 projektů, pět úspěšných. Jedno z prvých uplatnění architektury SOA. Několik desítek publikací • 1985 - dosud. Architektura SW (SOA), architekturní služby • vlákna v COBOLu, • 1990 výuka informatiky a její problémy. • Tři knihy, několik skript, cca 170 publikací

  28. Životní cyklus SW, „vodopád“ • Vize (proč je co třeba) • Specifikace požadavků (co je třeba) • Návrh (jak to asi udělat) • Kódování (psaní programů, u nás často spojováno s návrhem) • Testování (kodér: částí; testér: integrační, funkcí, systému) • Předání • Údržba • Zrušení Pokud se takto člení i projekt, mluvíme o metodě vodopádu. To nebývá dobře a proto existují modifikace vodopádu (iterace, inkrementy, prototypy)

  29. Co budeme dělat Celý životní cyklus IS, důraz na počáteční etapy, architekturu SW a management SW prací se zaměřením na IS. • Životní cyklus softwaru, prvé poznatky o SW architekturách • Co je IS a proč je jeho vývoj složitý • Servisně orientovaná architektura • Společenské a zdravotní souvislosti IS • Vize, před uzavřením smlouvy, smlouva, správa rizik • Základní techniky při specifikaci požadavků • Varianty životního cyklu, agilní formy vývoje • Perspektiva profese informatik • Práce v týmu (úvod)

  30. Co budeme dělat Celý životní cyklus IS, důraz na počáteční etapy životního cyklu, architekturu SW a management SW prací. • Co bude v druhé části přednášky • Techniky specifikace požadavků • Varianty oponentur a auditu • Kvalita dat a její dopady, • Řízení projektu, práce v týmu podrobněji • CPM a kritický řetězec • Pozdní etapy vývoje, křivka učení, vývoj uživatelského rozhraní • Metriky, odhady, ISO normy, SW procesy • Ergonomie v IT

  31. Problém vejce a slepice • Témata vzájemně souvisí – je nutný výklad po etapách a vracet se • Mnohé problémy zasahují mimo kyberprostor • Důležité pro analýzu a vaše uplatnění mimo informatiku a pro dobré joby v informatice • Důležité pro možnost získat lukrativní místa • Obtížné, hackerský syndrom (já jako programátor se starám jen o programy respektive o SW obecně, vše ostatní je blbost, v této oblasti skutečně převyšuji ostatní)

  32. Nejhorší je srážka s blbcemNejfatálnější důsledky má opomenutí blbosti (samozřejmosti) • Etapy vývoje: vize, specifikace požadavků, návrh, kódování, testování, předání, údržba. • 85% nákladů na opravy chyb jde na pochybení v etapách vizí a specifikací požadavků, ne na profesní pochybení programátorů • Analýza příčin chyb ukazuje, že kritické jsou různé apriorní představy, neuvěřitelné logické chyby, opomíjení souvislostí atd. na straně uživatelů a problém blokovaných znalostí • Je to si jeden z důvodů používání krabicových a customizovatelných (např. od SAP) řešení • Zkušenosti tohoto druhu se těžko předávají, pro plné pochopení a hlavně akceptování se musí zažít

  33. Pozor na hackerský syndrom • Přesvědčení, že svět mimo kyberprostor je nezajímavý • Neschopnost a neochota spolupracovat s uživateli • Neschopnost domluvy s jinými hackery • Neochota pracovat v týmu a dokumentovat své výtvory • Neschopnost zvládat cizí znalostní obory • Neochota přebírat to, co je. • Hackeři jsou použitelní jako programátoři úloh s jasným zadáním vyvíjenými obvykle od začátku • Takových úkolů je stále méně

  34. Vztah k jiným přednáškám • Přednášky o programovacích jazycích jsou přípravou na kódování a zčásti na testování a návrh • Přednášky z databází a přednášky a cvičení používající UML (a např. systém IBM Rational nebo Together) jsou využitelné při návrhu systému a zčásti při finalizaci specifikací požadavků a dělbě systému na menší SW artefakty • Tato přednáška bude zaměřena na specifikaci požadavků, softwarové architektury a problémy životního cyklu a proto musí zohledňovat fakt, že nedílnou součástí specifikace požadavků je spolupráce s uživateli a že specifikace požadavků obsahuje i popis činností lidí a zohledňuje i politicko-sociální a zdravotní dopady IT.

  35. SW profese • Kodér, testér (kódování, testování) • SW inženýr (specifikace, u větších systémů pozdní fáze specifikací, návrh – někdy jen časné fáze) • SW návrhář, (návrh – pozdní fáze), • Tato profese často u firem neexistuje) • SW architekt (vize, specifikace, časné fáze, např. rozhodnutí použití OO, klíčové třídy, koncepce SO systémů, rozhraní služeb, koupě produktů třetích stran). • SW údržbář • SW obchodník

  36. Využitelnost přednášky • Přednáška je zaměřena především na znalosti potřebné pro • SW inženýry a softwarové architekty • Přednáška obsahuje poznatky využitelné • Kodéry, testéry, údržbáři a obchodníky • Zčásti se týká témat, které jsou dosud převážně ve stadiu nekomerčního výzkumu a vývoje. • Problém“nezakusíš – nepochopíš“

  37. Vztah k SW profesím • Role, pro které může být tato přednáška zajímavá • SW inženýr • SW architekt • Vedoucí projektu • Spolupráce se zákazníky, marketing • Ostatní profese buď přímo, nebo chápání úklů druhých

  38. Hodnocení absolventů MFF a FIOpakování • Rychle programují, jsou v tom špičkoví • Nelze je pustit , alespoň zprvu, k uživatelům, jsou neochotní spolupracovat s ne IT odborníky • Často nadměrně nafoukaní a neochotní vůči partnerům • Neochotní používat hotové a podřizovat svůj rozlet přebíráním programů

  39. Vyhlídky kódérů, opakování • Vysoce kvalifikované řemeslo, z MFF velmi kvalitní příprava, nikoliv vůdčí pozice • Je jich kupodivu stálý nedostatek, není ale to, co bývalo (rozhraní, více znovupoužívání, tlak na kodéry dodržovat standardy) • Rychle poměrně vysoké platy, vhodné pro mladé • Poločas rozpadu znalostí do 5 let • Každých 15 let nové paradigma (gotoless, strukturovanost, OO, SOA) • Každých 5-7 let nový programovací jazyk • Tradičně profese pro mladé (do 35 let, jsou výjimky)

  40. Základní pojmy Zopakování a upřesnění známých pojmů

  41. Systém • Strukturovaná entita • Zdroje (materiál, energie, znalosti a dovednosti) • Prostředky (stroje, nástroje, lidé) • Vazby mezi částmi (komponentami) • Procesy umožňující za daných podmínek dosahovat určité cíle, u IS poskytovat informace, doporučovat opatření případně přímo řídit a měnit svět

  42. Servisně orientovaný systém • Vazby mezi komponentami jsou volné, komponenty spolu komunikují podobně jako služby reálného světa nebo webovské služby na internetu – vyřizují požadavky z fronty požadavků - jinými slovy systém se chová jako virtuální p2p síť s asynchronní komunikací. • Sekvenční komunikace je možná, je doplňkovou možností • Je to vedoucí paradigma současného SW inženýrství, zvláště v případě velkých informačních systémů • Budeme se mu hodně věnovat

  43. Informační systémy Informační systém (IS) je systém umožňující ukládání, získávání a presentaci informací. IS je systém, tj. strukturovaný komplex technik, nástrojů, a zdrojů umožňující získávání, ukládání a poskytování informací uživatelům a jiným systémům. V širším smyslu mohou být výstupem IS přímo rozkazy osobám a signály procesům reálného světa (avionika letadla, reaktor, …). IS tedy může být i řídícím systémem (to je velmi významný fakt). IS nemusí využívat SW, my se ale budeme zabývat případem, kdy IS využívá softwarovou podporu. - IS jsou základním nástrojem globalizace světové ekonomiky, informatizace společnosti a změn ve výrobních procesech a změn ekonomických procesů

  44. Informování versus řízení • Informování Jiné IS Data Akce po vyhodnocení informací INFORMAČNÍ SYSTÉM Informace Svět pozorování Data Nezávislá analýza, měření

  45. Informování versus řízení • Řízení, z hlediska technologie programů zdánlivě téměř totéž, skryté hluboké rozdíly (kritičnost akcí). INFORMAČNÍ SYSTÉM Příkazy Odezvy Technologie, člověk plnící příkazy Svět Data Analýza, měření

  46. Informování versus řízení • Řízení je možné realizovat do značné míry podobně jako informování, • vyžaduje to ale specifické přístupy a jinou architekturu než je zatím obvyklé u informačních systémů (servisně orientovanou architekturu, SO RT programování), • mnohé akce je nutno udělat v určitém termínu a nelze je mnohdy vrátit, někdo za ně musí být odpovědný

  47. SW architektura • Organizace a struktura systému ve velkém • Dekompozice na nejvyšší úrovni do kooperujících částí (pokud možno autonomních), skládání komponent do sítí-sestav-vrstev • Principy spolupráce s uživateli • Základní vlastnosti částí a jejich rozhraní • p2p • Klient-server, tři vrstvy (i prostřednictvím stanovení funkcí uzlů) • Struktura tvořená SW komponentami, jejich vztahy, principy vývoje a integrace

  48. SW architektura - účel • Specifikace a návrh ve velkém • Dekompozice • Dá se pak mentálně a organizačně zvládnout i velký a komplikovaný systém • Nezávislý vývoj komponent • Znovupoužitelnost komponent • Nabízí i technické výhody (prototypování, údržba, …) a možnost specifických funkcí) • Na architekturu vázané procesy a funkce (decentralizace) • Evoluce, škálovatelnost a modifikovatelnost systému • Distribuovanost

More Related