Tvorba informačních systémů 1/32 Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009
Tvorba informačních systémů 2/32 Základní informace Michal Krátký tel.: +420 596 993 239 místnost: A1004 mail: michal.kratky@vsb.cz web: http://www.cs.vsb.cz/kratky/courses/ 2008-09/tis
Tvorba informačních systémů 3/32 Základní informace Cíl kurzu Kurz je zaměřen na vytváření rozsáhlejších informačních systémů založených na architektuře klient/server a architekturách vícevrstvých. Formou přehledových přednášek studenti získají základní znalosti o technologiích J2EE (a.net). S platformami se studenti seznámí formou praktických úloh zaměřených na implementaci webových aplikací.
Tvorba informačních systémů 4/32 Základní informace Náplň kurzu 1 Architektury informačních systémů. 2 Tvorba informačních systémů v prostředí Internetu: J2EE - JDBC, Java Server Pages (JSP), Struts, Enterprise JavaBeans (EJB),.NET - (ODBC), ADO.NET, ASP.NET. 3 Vybrané kapitoly z teorie databází (moderní datové modely atd.).
Tvorba informačních systémů 5/32 Základní informace Podmínky získání zápočtu 1/2 Pro získání zápočtu je nutné navrhnout a implementovat informační systém v prostředí Internetu s využitím zvolených vývojových nástrojů a technologií. Řešení projektu bude průběžně konzultováno v rámci cvičení. V polovině semestru proběhne prezentace zadání, specifikace požadavků a analýzy projektů (min. 5 z 10b). Na závěr proběhne obhajoba projektu (20 ze 35b).
Tvorba informačních systémů 6/32 Základní informace Podmínky získání zápočtu 2/2 Maximální počet bodů na zápočet je tedy 45. Odevzdání projektů bude kontrolováno zadáním triviálního úkolu souvisejícího s odevzdávaným projektem. Na zkoušce formou písemného testu (2-3 otázky) je nutné získat 26 z 55b.
Tvorba informačních systémů 7/32 Základní informace Témata projektů 1 Části fakultního/univerzitního informačního systému (přihlašování na zkoušky, předběžný zápis do předmětů, zápis na cvičení, přihlašování k projektům... ). 2 Informační systém skupin sdílejících informace na webu (diskuse, seznamy publikací, články) (3 studenti). 3 Informační systém pro recenzi článků (zasílání příspěvků, recenzní řízení) (3 studenti). 4 Registrace na libovolnou akci (poplatek, strava, ubytování) (1 student). + Vlastní zadání.
Tvorba informačních systémů 8/32 Základní informace Složitost projektu Zadání musí být konzultováno s cvičícím do konce 3. týdne. Počet studentů pracujícím na jednom projektu závisí na složitosti zadání. Složitost projektu: počet studentů 5 tabulek (kde nejméně tři tabulky nejsou číselníky).
Tvorba informačních systémů 9/32 Základní informace Požadované řešení 1 Upřesnění zadání, specifikace požadavků. 2 Konceptuální model v UML, datová analýza v DFD. 3 Analýza a návrh aplikace v UML. 4 Java nebo.net. 5 Aplikace bude zahrnovat: vkládání, editaci, rušení a vyhledávání základních údajů, vlastní akce, výstupní sestavy. 6 Dokumentace.
Tvorba informačních systémů 10/32 Základní informace SŘBD používané k implementaci projektů SŘBD používané k implementaci projektů: MySQL Oracle PostgreSQL MS SQL Server
Tvorba informačních systémů 11/32 Základní informace Literatura 1/2 1 Java http://java.sun.com, 2.NET http://msdn.microsoft.com 3 R. Szturc: Java technologie. http://www.cs.vsb.cz/java/index.html 4 M. Krátký: Úvod do programovacích jazyků. http://www.cs.vsb.cz/kratky/ 5 B. Eckel: Thinking in Java, http://www.mindview.net/books/tij
Tvorba informačních systémů 12/32 Základní informace Literatura 2/2 1 http://www.theserverside.com http://www.theserverside.net 2 Marty Hall: Java servlety a stránky JSP. Neocortex, Praha, 2001. 3 http://j2ee.masslight.com/: Developing for the J2EE Tomcat Platform, 2008 4 B. Evjen at al.: ASP.NET 2.0, Programujeme profesionálně. Computer Press, 2007.
Tvorba informačních systémů 13/32 Data, informace, znalosti Data (Ne)strukturované údaje o událostech, objektech nebo lidech. Informace Interpretovaná data využívána příjemcem v daném kontextu, tak aby je mohl využít k rozhodování. Znalosti Znalost zahrnuje schopnost využít informace efektivně k danému účelu.
Tvorba informačních systémů 14/32 Informační systém Informační systém (Buckingham et al. 1987) Systém, který shromažd uje, ukládá, zpracovává a doručuje informace náležející organizaci (nebo společnosti), tak že informace jsou přístupné a užitečné všem, kteří si je přejí používat, včetně vedení organizace, zaměstnanců, zákazníků a osob mimo organizaci. Informační systém je systém, který nutně nemusí vyžadovat využití počítačů. Příkladem může být IS univerzity, který slouží managementu školy, zaměstnancům, zákazníkům (studentům) i lidem mimo univerzitu.
Tvorba informačních systémů 15/32 Metodologie Metodologie vývoje informačního systému Kolekce procedur, technik, nástrojů a dokumentačních pomůcek, která pomáhá vývojářům v jejich úsilí implementovat informační systém. Metodologie se skládá s fází (a podfází), které vedou vývojáře k výběru technik, které jsou v dané fázi užitečné a umožňují plánovat, řídit, kontrolovat a vyhodnocovat projekt informačního systému. Příkladem může být objektově orientovaná analýza.
Tvorba informačních systémů 16/32 Technika, nástroj Technika Technika je cesta jak vykonat aktivitu nutnou v dané fázi vývoje IS. Metodologie často zahrnuje celou řadu technik. Příkladem může být objektově-orientovaná analýza v UML. Nástroj Technika vyžaduje využití jednoho nebo více nástrojů. Třídní diagram může být vytvořen například v Rational Rose.
Tvorba informačních systémů 17/32 Co je to architektura systému? Architektura systému Soustava pojmů, prvků, struktur a interakcí systému z pohledu vnějšího pozorovatele. Před implementací IS je nutné znát popis architektury systému.
Tvorba informačních systémů 18/32 Účel architektury Účelem architektury je pochopit co budujeme, musíme: znát celkový obrázek, definovat zodpovědnost podsystémů a návrhářů, navrhnout jak zvládnout další růst systému, identifikovat místa kde by se mohly vyskytnout problémy (analýza risků). Musíme se připravit se na změny požadavků nebo přístupů k implementaci.
Tvorba informačních systémů 19/32 Požadavky na dobrou architekturu Umožňuje vývojářům pochopit jejich úkol v kontextu celého systému. Zachycuje současné potřeby projektu. Je stabilní při dalším rozšiřování. Izoluje zbytek systému od změn v některé z jeho částí. Umožňuje opakovanou použitelnost konceptů, prvků a struktur při rozšiřování systému.
Tvorba informačních systémů 20/32 Používané přístupy metody a třídy podsystémy úlohy aplikační rámce a knihovny vrstvová struktura - layers hierarchická struktura tiers
Tvorba informačních systémů 21/32 Podsystémy Jedná se o balíky těsně vázaných tříd s dobře definovaným rozhraním. Příklad: osoby, předměty, zkoušky Oddělením rozhraní od implementace snížíme složitost. Vhodné pro projekty vyvíjené jediným týmem. Osoby Zaměstnanec Student Předměty Predmet
Tvorba informačních systémů 22/32 Úlohy Vertikální členění aplikace podle oblastí. Příklad: věda a výzkum, studium, ekonomika. Snižuje pravděpodobnost interakce mezi podsystémy. Zjednodušuje komunikaci mezi týmy. Mezi úlohami lze definovat formální rozhraní. Problematické může být zachování stejného vzhledu a GUI. Studium Věda a výzkum
Tvorba informačních systémů 23/32 Aplikační rámce a knihovny Aplikační rámec je množina abstraktních a konkrétních tříd tvořících dohromady generický softwarový systém. Umožňují se soustředit na specifické problémy aplikace, Možné scénáře: rámce předchází vývoji aplikace, rámce následují za vývojem aplikace (zobecnění), vývoj rámce současně s aplikací - nevhodné. Příkladem mohou být platformy Java nebo.net. Na vyšší úrovni rámce pro vývoj webových aplikací nad J2EE, např. Struts.
Tvorba informačních systémů 24/32 Vrstvová struktura Logické členění podsystémů aplikace do vrstev (layers). Příklad: prezentace, ukládání dat, logika aplikace. Každá vrstva představuje abstrakci s vlastní zodpovědností, výhody: jednodušší pochopení a použití vrstvy, jednodušší vývoj v rámci vrstvy. Vyšší vrstvy jsou izolovány od změn v implementaci nižších vrstev. Klient Prezentační vrstva Aplikační vrstva Datová vrstva
Tvorba informačních systémů 25/32 Hierarchická struktura Hierarchické členění aplikace. Hierarchizace se objevuje uvnitř vrstev. Zvyšuje vnitřní složitost vrstev. Příklad J2EE: Session Beans Entity Beans
Tvorba informačních systémů 26/32 Kombinace přístupů Nejčastější používáme kombinaci přístupů vede ke zjednodušení rozsáhlých a složitých systémů. Návrh architektury systému musí předcházet návrhu podsystémů, důvody: podsystémy se vytváří v souladu s architekturou, změna architektury se promítne v nákladech na přepracování aplikace a přeškolení vývojářů.
Tvorba informačních systémů 27/32 Příklad kombinované architektury Vrstvová architektura s použitím rámce. Každá vrstva navíc může být dělena na podsystémy.
Tvorba informačních systémů 28/32 Architektura J2EE Vrstvová architektura: prezentační vrstva je realizována JSP a Servlety, aplikační vrstva je hierarchizována.
Tvorba informačních systémů 29/32 Součásti J2EE Servlets + JSP - webové komponenty a UI JDBC - práce s databázemi EJB - distribuované komponenty JAXP - práce s XML, zasílání zpráv JNDI - jmenné a adresářové služby RMI - volání vzdálených metod JavaIDL - distribuované objekty CORBA JMS - asynchronní zpracování zpráv JavaMail - zasílání zpráv e-mailem JTA - distribuované transakce JCA - připojení k jiným systémům (např. SAP)
Tvorba informačních systémů 30/32 Architektura.NET c http://www.directionsonmicrosoft.com/, http://authors.aspalliance.com/
Tvorba informačních systémů 31/32 Součásti.NET Framework CLR - Common Language Runtime, Common Intermediate Language (CIL) možnost vývoje ve více programovacích jazycích: C#, C++,... ADO.NET přístup k datům ASP.NET webové aplikace Windows Forms uživatelské rozhraní
Tvorba informačních systémů 32/32 Obsah kurzu Vývoj webových IS: protokol HTTP, prezentační vrstva: JSP & Java Servlety, ASP.NET, aplikační rámce a knihovny: Struts, JavaServer Faces (JSF), komponenty: (Enterprise) Java Beans, přístup k datům: ODBC/JDBC, ADO.NET, webové služby: SOAP, WSDL, programovací jazyky: Java, C#. Vybrané kapitoly z oblasti databázových systémů: konceptuální modelování v UML, moderní datové modely: objektově-relační a XML datový model, XML technologie.