Transcript Document
Razvoj informacijskih sistemov
Visokošolski strokovni študij
Študijsko gradivo, verzija 2.3
UNIVERZA V LJUBLJANI
Fakulteta za računalništvo in informatiko Doc. dr. Marko Bajec
Splošne informacije...
Predavatelj Doc. dr. Marko Bajec, univ. dipl. ing.
Elektronska pošta: [email protected]
Informacije: http://infolab.fri.uni-lj.si/marko/ Asistent As. dr. Damjan Vavpotič, univ. dipl. ing.
Elektronska pošta: [email protected]
Informacije: http://aris.fri.uni-lj.si/~damjan/
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 2 -
Splošne informacije
Predavanja Vsak ponedeljek od 10:15 do 13:00 (3 šolske ure); Predavanja so obvezna!
Izpit Seminarska naloga (predpogoj) Pisni izpit Ustni izpit
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 3 -
Priporočena literatura…
Objektni razvoj (UML in RUP) [1] Martin Fowler (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language , Third Edition. Addison Wesley. [2] Thomas A. Pender (2002). UML Weekend Crash Course . Wiley Publishing.
[3] Booch, G., J. Rumbaugh in I. Jacobson (1999). The Unified Software Development Process . Addison Wesley.
Citiranje: glej [1,15-20] = glej v knjigi M. Fowler, strani od 15 do 20.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 4 -
Priporočena literatura…
Agilne in lahke metodlogije [4] Kent Beck (1999).
Extreme Programming Explained: Embrace Change , Addison-Wesley.
[5] Martin, C. Robert (2003). Agile Software Development: Principles , Patterns and Practices. Prentice Hall.
[6] Cockburn, A (2002). Agile Software Development . Pearson Education.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 5 -
Priporočena literatura
Splošno o razvoju IS [7] Silič Marin et al (2000). EMRIS - Enotna metodologija razvoja informacijskih sistemov . Ljubljana: Vlada RS, CVI.
[8] Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise (2004). MDA Distilled: Principles of Model-Driven Architecture . Addison-Wesley.
[9] Hoffer, J. A., George, J. F. in Valacich, J. S. (1999). Modern Systems Analysis and Design , Second edition, Addison-Wesley Avison, D. E. in Fitzgerald, G. (2003). Information systems development: methodologies, techniques and tools , McGraw-Hill, London.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 6 -
II
Vsebina predmeta…
Osnovni pojmi Življenjski modeli razvoja IS Metodologije razvoja IS • • • • • • • Definicija metodologije Zgradba metodologije Zgodovina nastajanja metodologij Formalizacija metodologij Komercialne metodologije Vrste metodologij Izbira metodologije
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 7 -
Vsebina predmeta
Osnovne značilnosti strukturnega pristopa Primer strukturne metodologije Strateško načrtovanje Analiza Načrtovanje Testiranje Namestitev in uvedba
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 8 -
Vsebina predmeta
Osnovni principi objektne usmerjenosti Osnove modelirnega jezika UML in procesa RUP Objektna analiza in načrtovanje
MDA – Model Driven Architecture in MDD – Model-Driven Development.
Razlike med MDA/MDD in klasičnim pristopom k razvoju IS
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 9 -
Poglavje I
Splošno o razvoju IS
Osnovni pojmi Življenjski modeli razvoja IS Metodologije razvoja IS
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 10 -
P1.1 – Osnovni pojmi
Informacijski sistem…
IS - opredelitev Ponovitev
Definicija: Informacijski sistem lahko opredelimo kot množico medsebojno odvisnih komponent (strojna oprema, programska oprema, ljudje), ki zbirajo, procesirajo, hranijo in porazdeljujejo podatke in s tem podpirajo delavne procese v organizaciji.
Ločimo formalne in neformalne IS.
IS je lahko računalniško podprt.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 11 -
Informacijski sistem…
Vrste IS Ponovitev
Vrste IS: Transakcijski IS ( TPS-Transaction Processing System ) Upravljalski (poslovodni) IS ( MIS-Management Information System ) Direktorski IS ( ESS-Executive Support System ) Odločitveni IS ( DSS-Decision Support System ) Ekspertni IS ( EIS-Expert Information System ) Sistemi za avtomatizacijo pisarniškega poslovanja ( OAS Office Automation System ) Sistemi za podporo delovnim procesom ( WfS-Workflow Management System )
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 12 -
Kaj nas zanima pri razvoju IS?...
V okviru razvoja IS nas zanima, kako razviti računalniške rešitve, ki bodo čim bolje podprle delovanje IS.
V okviru razvoja IS se ukvarjamo z: Razvojem računalniške rešitve Nabavo ustrezne strojne opreme Namestitvijo sistemske programske opreme Uvedbo rešitve Vzdrževanjem rešitve
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 13 -
Kaj nas zanima pri razvoju IS?
Razvoj IS ni zgolj programiranje! Ni zgolj inženirsko delo… Pri razvoju IS imajo velik pomen tudi sociološki dejavniki: Kako dojemamo problematiko?
Kako razumemo potrebe uporabnikov?
Kako uvedemo rešitve v prakso?
…
Information System is about an implementation of IT into a human enterprise!
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 14 -
Razvoj IS in vrste IS
Pristop k razvoju IS je odvisen tudi od vrste IS.
Nekatere vrste IS zahtevajo specifične pristope: Ekspertni sistemi Odločitveni sistemi Sistemi za podporo delovnim procesom Največ napora gre še vedno za razvoj IS za podporo operativnem delovanju PS.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 15 -
Sinonimi za računalniške programe
Terminologija
V okviru razvoja IS med drugim nastanejo računalniški programi.
Izraz “Računalniški program” ima številne sinonime: Program Aplikacija Aplikativni sistem Informacijska rešitev Računalniška rešitev …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 16 -
P1.2 – Življenjski modeli razvoja IS
Življenjski modeli razvoja IS…
Razvoj IS zajema številna opravila, navadno razdeljena v faze: Analiza Načrtovanje Implementacija Testiranje Kot večina razvojnih procesov sledi tudi razvoj IS določenemu življenjskemu ciklu oziroma razvojnemu modelu , ki določa zaporedje faz razvoja.
Uvedba Vzdrževanje Življenjski model razvoja IS (SDLC*) pove, v kakšnem sosledju in na kakšen način si v okviru razvoja IS sledijo posamezne faze.
* SDLC - System Development Life Cycle
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 17 -
Življenjski modeli razvoja IS…
Poznamo različne življenjske modele: Zaporedni ali slapovni model Interativni model Prototipni model Inkrementalni model V praksi se večinoma uporablja kombinacija različnih modelov.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 18 -
Zaporedni ali slapovni model…
Zaporedni ali slapovni model temelji na zaporednem izvajanju faz. Ko se ena faza v celoti konča, se začne naslednja.
Analiza testiranje Načrtovanje Spec. zahtev Izvedba Načrt Uvedba Koda čas
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 19 -
Zaporedni ali slapovni model…
Značilnosti: Najstarejši razvojni model, značilen za prve oblike strukturnega pristopa.
Faze si sledijo zaporedno.
Vračanje nazaj ni mogoče.
Primeren za relativno kompleksne projekte, če zahteve dobro razumemo in se med projektom ne bodo bistveno spreminjale. Omogoča dobro in natančno projektno vodenje.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 20 -
Zaporedni ali slapovni model…
Prednosti: Pomaga zmanjševati količino režijskega dela, ki ni v neposredni povezavi z izdelavo programske opreme (npr. vodenje projekta), saj je mogoče načrtovanje v celoti izvesti vnaprej. Slabosti: Ni fleksibilen. Vsaka naknadna sprememba zahteva veliko dodatnega napora. Nenaraven: v praksi težko pričakovati, da se lahko nek postopek v celoti zaključiti, preden se začne z naslednjim. Ne omogoča paralelnega izvajanja delov postopkov.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 21 -
Zaporedni ali slapovni model
Zaradi kritik pojav modificiranih različic slapovnega razvoja.
Odprava nekaterih pomanjkljivost: uvedba bolj enostavnega prehajanja med postopki, paralelno izvajanje delov različnih postopkov, ...
Slapovni model kljub vsemu nudi zelo čvrsto oporo sistematičnemu razvoju. Možno uporabiti v kombinaciji z drugimi modeli.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 22 -
Iterativni model…
Razvit kot odziv na pomanjkljivosti slapovnega pristopa. Faze razvoja izvajamo v več iteracijah .
Iteracija je specifično zaporedje aktivnosti, izvedenih na osnovi načrta in z določenim kriterijem vrednotenja, ki se konča z izdajo izdelka.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 23 -
Iterativni model…
V vsaki iteraciji razvijemo določen del funkcionalnosti celotnega sistema. Iteracija gre navadno čez vse faze razvoja: analizo, načrt, izvedbo… V začetnih iteracijah razvijemo najbolj tvegane dele sistema.
Gre za evolucijski razvoj .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 24 -
Iterativni model…
testiranje
Iteracija #1
Analiza Načrtovanje Izvedba Uvedba izdelki Učenje in izkušnje testiranje
Iteracija #2
Analiza Načrtovanje Izvedba Uvedba izdelki Učenje in izkušnje
Iteracija #3
Analiza čas Tipično trajanje ene iteracije: 7 do 14 dni
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 25 -
Iterativni model…
Lastnosti iteracij: Trajanje: od 7 do 14 dni (tipično) Vsaka iteracija gre čez vse faze (ne z enako intenzivnostjo) Naslednja iteracija se lahko začne šele takrat, ko je prejšnja končana.
Vsebina naslednje iteracija je določena na osnovi rezultatov prejšnje.
Med izvajanjem iteracije ne sprejemamo sprememb.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 26 -
S R I
1 1
Planiranje na makro in mikro ravni
1. Release Planning 2. Iteration Planning 3. Task Planning I
1
R
1
I
2 ?
R
2
cca 2-4 months cca 2 weeks I
3
R
3
I
4
I
2
R
2
E Project start Project end
SALSD Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Requirements - 27 Miniature milestones – task list
Iterativni model…
Prednosti: Prednosti iterativnega razvoja (proti zaporednemu): Najbolj tvegani deli so razrešeni še preden postane investicija velika Začetne iteracije omogočijo zgodnje povratne informacije s strani uporabnikov Preizkušanje in povezovanje v sistem sta nepretrgana Ciljni mejniki omogočajo kratkoročno osredotočenje Napredek merimo z ocenjevanjem izvedenega dela Možna je predaja izvedenega dela projekta še preden je dokončan celoten projekt
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 28 -
Iterativni model
Slabosti: ne omogoča dobrega načrtovanja poteka projekta.
ni mogoče točno predvideti, koliko iteracij bo potrebnih za razvoj dokončnega (dovolj dobrega) izdelka. vodenje projekta je zahtevno.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 29 -
Prototipni model…
Gre za različico iterativnega modela.
Temelji na izdelavi izboljšavi, dokler ne dosežemo zadovoljive kakovosti.
prototipov in njihovi postopni
Prototip označuje predhodno izdelane in navadno še nepopolne različice sistema ali dela sistema.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 30 -
Prototipni model
Analiza problema
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Začetne zahteve Razvoj prototipa Delovni prototip Uporaba in testiranje prototipa Nov prototip Problemi, Napaka, pomanjkljivosti Revizija in Izboljšava prototipa Nove zahteve Iteracije (evoluativni razvoj)
- 31 -
Inkrementalni model…
Temelji na postopni gradnji celotne IR in sprotni predaji posameznih inkrementov uporabniku.
Inkrement predstavlja zaokroženo funkcionalnost sistema (sklop, podsistem, modul).
Ne razvijamo celotne IR hkrati. Omejimo se na posamezen sklop, ki ga razvijemo v celoti in predamo uporabniku.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 32 -
Inkrementalni model…
Ne razvijamo celotne IR hkrati. Omejimo se na posamezen inkrement, ki ga razvijemo v celoti, predamo uporabniku ter nadaljujemo z naslednjim sklopom. Ob predaji novi sklop povežemo z ostalimi sklopi. Inkremente je moč razvijati tudi vzporedno.
Rezultat razvoja po inkrementalnem modelu je IR, sestavljena iz integriranih sklopov.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 33 -
Inkrementalni model…
Klasičen razvoj
Razvoj celotne IR
Inkrementalni razvoj
Razvoj in predaja prvega sklopa IR Inkrement #1 Razvoj in predaja drugega sklopa IR Inkrement #2 Razvoj in predaja tretjega sklopa IR Inkrement #3 Uvedba in testiranje celotnega sistema čas Uvedba in testiranje sklopa
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Uvedba in testiranje sklopa
- 34 -
Uvedba in testiranje sklopa
Inkrementalni model…
Priporočeno določiti ustrezen razpored razvoja sklopov. Zaporedje lahko določimo na različne načine: na podlagi pomembnosti sklopov, na podlagi upoštevanja tveganja,… Pri razporejanju sklopov na osnovi pomembnosti najprej razporedimo sklope z najpomembnejšo funkcionalnostjo. Na tak način funkcionalnost postopno nadgrajujemo do končnega sistema.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 35 -
Inkrementalni model…
Pri razporejanju sklopov glede na pomembnost lahko uporabimo analizo MOSCOW, kjer funkcionalnosti IR razdelimo na: funkcije, ki jih je nujno potrebno implementirati, funkcije, ki bi jih bilo dobro implementirati, funkcije, ki bi jih lahko implementirali – niso obvezne in funkcije, ki jih ne bomo implementirali.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 36 -
Inkrementalni model…
Na podlagi analize MOSCOW lahko funkcije sistema ustrezno časovno razporedimo.
Pri razporejanju sklopov upoštevajoč tveganost (v smislu tveganja, da razvit sklop ne bo ustrezal naročniku) najprej razvijemo najbolj tvegane in zahtevne sklope, kar omogoča hitrejše znižanje stopnje tveganja pri celotnem projektu tveganost projekta tveganost projekta
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Čas
Inkrementalni model…
Prednosti: Uporabnik prej dobi del zahtevane IR, saj se IR razvija po delih. Rešitev, ki jo uporablja, se postopoma nadgrajuje, sam pa lahko sodeluje pri testiranju razvitih sklopov. Naročnik laže sledi napredovanju projekta.
Slabosti: Ni mogoče uporabiti pri vseh projektih. Nekaterih rešitev ni moč predati v uporabo po delih. IR moramo razdeliti na sklope in predvideti odvisnosti med njimi. Pri neustreznem načrtovanju se lahko zgodi, da sklope neustrezno razporedimo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 38 -
Inkrementalni model
Poseben primer inkrementalnega modela je razdelitev vsebine na samostojne projekte.
Inkrementalni model možno učinkovito uporabiti v kombinaciji z iterativnim modelom: razdelitev na inkremente, vsak inkrement se izvaja iterativno.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 39 -
P1.3
– Metodologije razvoja IS
Kaj je metodologija razvoja IS?
Tehnika Nekaj definicij: Metodologija je priporočena zbirka filozofij, faz, postopkov, pravil, tehnik, orodij, dokumentacije, upravljanja in izobraževanja za razvijalce IS (Maddison).
Metodologija razvoja IS je priporočen način razvoja IS, ki temelji na filozofiji in množici principov (Avison, 2003).
Metodologija je množica dogovorov (konvencij), s katerimi se (projektna) skupina/organizacija strinja (Cockburn, 2002).
Metodologija je vse kar redno delamo, da bi dosegli končni rezultat – delujoča PO pri končnem uporabniku (Cockburn, 2002).
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 40 -
Kaj je metodologija razvoja IS?
Iz terminološkega slovarja: METODOLOGIJA : skupek metod, postopkov in standardov, ki sestavljajo zaključeno celoto pri izvajanju inženirskih pristopov k razvoju produkta.
METODA : seznam postopkov in pravil za izvedbo določene naloge.
METODOLOGIJA RAZVOJA IS razvoja : postopen način razvoja informacijskega sistema, ki vključuje uporabo različnih tehnik in orodij, celovit v smislu korakov življenjskega cikla
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 41 -
Izobra
2. Osnovna zgradba metodologij
Slapovni metodologije metodologije Metdologija kot izdelek Iterativni Baza uporabnikov Inkrementalni Cilj metodologije cikel Uporabnost Paradigma in izku metodologije Proces
Metodologija
Filozofija Postopek Izobra ževanje Metdologija kot izdelek Baza uporabnikov Zahtevnost metodologje Namen Domena metodologije Ozadje metodologije Cilj metodologije Paradigma metodologije Filozofija Namen metodologije Sociolo ška komponenta Tehnika Osrednji Uporabnost in izku šnje Slapovni postopek Metodologija Sociolo ška Življenjski cikel Proces Iterativni Orodje Tehnika Inkrementalni metodologje Proces Faza Tehnika Postopek Inkrement Podporni postopek Vloga Aktivnost cikel Izku šnje in znanje vhod izhod Podporni postopek Podizdelek Izdelek Del izdelka [inkrementalno iterativni razvoj] Iteracija Inkrement Uporabnost in izku šnje Vloga Aktivnost Postopek vhod izhod Podizdelek Izku šnje in znanje Vloga Aktivnost vhod izhod Celostna tehnika Podatkovna tehnika Celostna tehnika Podatkovna tehnika Procesna tehnika OO tehnika Procesna Tehnika proj.
vodenja tehnika Organizacijska tehnika Tehnika dela z ljudmi OO tehnika Primer Predloga Tehnika proj.
vodenja Organizacijska tehnika ljudmi Predloga Del izdelka Izku šnje in znanje [inkrementalno iterativni razvoj] Izdelek Razli čica
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
- 42 -
Zgodovina metodologij…
Obdobje pred pojavom metodologij (do zgodnjih 1970) Ni formalnih metodologij, poudarek na reševanju tehničnih problemov, ključna vloga je programer Razvoj ad hoc Zgodnje obdobje metodologij (do zgodnjih 1980) SDLC, tehnike podatkovnega in procesnega modeliranja, večji poudarek na zajemu zahtev, analizi in načrtovanju Royce, Boehm, Codd Zajem zahtev Analiza Načrtovanje Kodiranje Testiranje
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 43 -
Zgodovina metodologij
Skupni stro ški Pri čni z izvedbo naslednje iteracije Na črtovanje naslednje iteracije Dolo čitev ciljev, alternativ in omejitev
Za četek
Na črt zahtev, načrt življen.
cikla Analiza tveganj Analiza tveganj Identifikacija in odpravljanje tveganj Oceni alternative Analiza tveganj Analiza tveganj Prototip 1 Prototip 2 Operativni prototip Prototip 3 Koncept delovanja Simulacije Modeli Na črt razvoja Na črt integracije in testiranja Podrobno na črtovanje Razvoj izdelkov za iteracijo in preverjanje njihove pravilnosti Obdobje metodologij (do sredine/konca 1990) iterativni in inkrementalni razvoj, RAD, objektna usmerjenost, večanje teže metodologij, strateško načrtovanje Booch, Rumbaugh, Jacobson, Martin, Yourdon, Gamma Obdobje ponovne ocenitve metodologij (danes) kritika težkih metodologij, lahke metodologije, spletne aplikacije, nove tehnologije, hitro spreminjanje zahtev, trend agilnosti Beck, Ambler, Cockburn, Highsmith
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 44 -
Metodologija kot sociološka komponenta
Metodologija razvoja IS ima pomembno sociološko komponento: Poleg tehnik in orodij zajema skupek dogovorov, ki v organizaciji oziroma skupini veljajo pri razvoju informacijskih rešitev; Je prežeta s filozofijo in miselnostjo organizacije in njenih zaposlenih; Je dinamična in odvisna od posameznikov, ki sestavljajo organizacijo.
Zajema vse kar počnemo, da izdelamo izdelek oziroma opravimo storitev, ki je cilj našega dela.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 45 -
Formalizacija metodologij
Metodologije razvoja IS v mnogih podjetjih niso formalizirane! Postopki, tehnike, orodja itd. niso dokumentirani; Razvoj poteka stihijsko (na vsakem projektu je drugače; ni definirano, kako nek postopek izvedemo; kakšna orodja se uporabljajo je prepuščeno posameznikom,...
Posledice Slabša kakovost izdelka Razvoj je nesledljiv in netransparenten Tveganje, da izdelek ne bo pravi, Težje vzdrževanje,...
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 46 -
Dojemanje metodologij
Formalizirana metodologija
Postopki, tehnike, smernice,...
Je osnova za razumevanje metodologije
Neformalna metodologija
Dojemanje metodologije, znanje, izkušnje, principi, ideali Je osnova za uporabo metodologije
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Uporaba Metodologije
Izkušnje, nove ideje, znanje
- 47 -
Je osnova za formalizacijo metodologije Je osnova za spremembo dojemanja metodologije
Ponudba komercialnih metodologij
Obstaja tudi precej ponudnikov “komercialnih” metodologij.
Nekaj primerov: IE (Information Engineering) (Oracle CDM) SSADM Rational Unified Process STRADIS Agilne metodologije (XP, SCRUM, FDD,…)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 48 -
Vrste metodologij
Obstaja več načinov za delitev metodologij.
Delitev metodologij nam pomaga pri izbiri ustrezne metodologije.
Nekatere možne delitve: glede na tip metodologije, glede na težo metodologije, glede na utežitev metodologije.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 49 -
Delitev glede na tip metodologije
Filozofija Cilj: izgradnja programske rešitve Tehnične metodologije Cilj: organizacijska rešitev (lahko tudi programska) Socio-tehnične metodologije Procesno usmerjene metodologije Podatkovno-procesne metodologije Organizacijsko usmerjene metodologije Objektno usmerjene metodologije Metodologije usmerjene v človeka Metodologije za hiter razvoj (RAD)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Zaporedni (slapovni) razvoj Iterativni in inkrementalni razvoj Življenjski cikel
- 50 -
Prototipiranje
Delitev glede na težo metodologije
Teža je določena z obsegom in gostoto Obseg metodologije je določen s številom različnih elementov, ki jih metodologija opisuje. Gostoto lahko definiramo kot zahtevan nivo podrobnosti oziroma formalnosti. Visoka Lahka metodologija
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Nizka Nizka Optimiziranost Težka metodologija Visoka
Delitev glede na utežitev metodologije
Tipi metodologij glede na utežitev Spredaj utežene: dajejo poudarek analizi in načrtovanju Zadaj utežene: dajejo poudarek kodiranju in testiranju Uravnotežene: kombinacija obeh pristopov Klasi čen model Model RAD
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
čas
- 52 -
čas
Pojem agilnosti
Začetki: leto 2001, srečanje strokovnjakov s področja lahkih metodologij.
Skupna izjava Manifesto for Agile SW Development .
Na osnovi izjave je bilo izpeljanih več konkretnih priporočil za razvoj PO: Načela in priporočila za agilno modeliranje (Ambler).
Principi agilnih metodologij (Cockburn, Highsmith).
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 53 -
Osnovna načela agilnosti
Posamezniki in njihova komunikacija so pomembnejši kot sam proces in orodja.
Delujoča programska oprema je pomembnejša kot popolna dokumentacija.
Vključevanje (sodelovanje) uporabnika je pomembnejše kot pogajanje na osnovi pogodb.
Upoštevanje sprememb je pomembnejše od sledenja planu.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 54 -
Principi agilnih metodologij…
Neposredna komunikacija – najboljši način za izmenjavo informacij. visoka e-po šta dva človeka ob tabli pogovor »iz oči v oči« videokonferenca video dvo telefon sme rna kom unik acij a nizka posredna
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
papir eno sme audio rna kom unik acij a Posrednost komunikacije
- 55 -
neposredna
Principi agilnih metodologij…
Majhna razvojna skupina Maksimalna velikost problema Nepotrebna dodatna teža metodologije je draga.
Optimalna teža metodologije Teža (=obseg × gostota) metodologije Velika razvojna skupina Maksimalna velikost problema Večje razvojne skupine potrebujejo težje metodologije.
Optimalna teža metodologije Teža (=obseg × gostota) metodologije
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 56 -
Principi agilnih metodologij…
Višja stopnja formalnosti metodologije je primerna za projekte z višjo stopnjo kritičnosti.
Boljša komunikacija in več povratnih informacij zmanjšuje potrebo po vmesnih izdelkih.
Čim večji so discipliniranost, izkušnje in znanje razvojne skupine, tem manjša je potreba po podrobno definiranem procesu, formalnosti in dokumentaciji.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 57 -
Principi agilnih metodologij…
Visoka Lahka metodologija Izbira metodologije
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 58 -
Težka metodologija Nizka Nizka Optimiziranost Proces, formalnost, dokumentacija Visoka
- 58 -
Principi agilnih metodologij
Odkloni od načrtovane rešitve nas vodijo k pravi rešitvi.
Začetek Rešitev načrtovana na začetku Prava rešitev
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 59 -
Izbira metodologije
Pri izbiri si pomagamo z: Modeli za klasifikacijo metodologij Modeli za klasifikacijo projektov Izbira metodologije glede na podprte postopke in življenjski cikel Izbira metodologije na podlagi agilnih principov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 60 -
Modeli za klasifikacijo metodologij…
Izbira glede na težo metodologije
Lahke metodologije uporabimo v primeru, ko: je glavni (in dokončno opredeljen) cilj razvoj programske rešitve, imamo odgovorne, disciplinirane, izkušene in motivirane razvijalce, ki so seznanjeni s posebnimi tehnikami dela, stranko, ki razume bistvo lahkih metodologij in je pripravljena sodelovati, imamo nepredvidljive in spreminjajoče se zahteve za programsko rešitev, je cilj razvoja relativno majhen sistem z nižjo stopnjo kritičnosti, ki ga je mogoče razviti z majhno razvojno ekipo,
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 61 -
Modeli za klasifikacijo metodologij…
Težke metodologije uporabimo kadar: cilj ni le razvoj programskega sistema ampak tudi prenova organizacijskega sistema, imamo manj izkušene razvijalce, pri katerih točno opredeljena formalna pravila nadomeščajo izkušnje in znanje, naročnik zahteva visoko stopnjo formalizma (izdelovanje dokumentacije), imamo relativno dobro definirane in stabilne zahteve, je cilj razvoja obsežnejši sistem z višjo stopnjo kritičnosti, ki zahteva izdelavo ustreznih načrtov in dokumentacije.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 62 -
Izbira metodologije…
Izbira glede na lastnosti projekta
Primer modela za klasifikacijo projektov življenje nenadomestljiv denar nadomestljiv denar udobje L6 L6 L20 L20 ponovljivost L100 L100 L200 L200 L500 L500 L1000 L1000 L6 E6 L6 E6 L20 E20 L20 E20 L40 E40 L40 E40 L100 E100 L100 E100 L200 E200 L200 E200 L500 E500 L500 E500 L1000 E1000 L1000 E1000 E6 D6 E6 D6 E20 D20 E20 D20 E40 D40 E40 D40 E100 D100 E100 D100 E200 D200 E200 D200 E500 E500 D500 D500 E1000 D1000 E1000 D1000 D6 C6 D6 C6 D20 C20 D20 C20 D40 C40 D40 C40 D100 C100 D100 C100 D200 C200 D200 C200 D500 C500 D1000 C1000 D500 C500 D1000 C1000 C6 C6 C20 C20 C40 C40 C100 C100 C200 C200 C500 C500 C1000 C1000 1-6 7-20 21-40 41-100 101-200 201-500 501-1000 Število ljudi, ki sodelujejo na projektu ± 20%
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 63 -
Izbira metodologije…
Obseg metodologije
Obseg nekaterih komercialnih metodologij Faza Metodologija Strategija Izvedljivost Analiza Logi čno načrtovanje Fizi čno načrtovanje Programiranje Testiranje Uvedba Evaluacija Vzdr ževanje
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 64 -
Legenda: Samo omenjeno Osnovna navodila, ve č je prepuščeno lastni interpretaciji Manj podroben opis Podroben opis skupaj s tehnikami
Izbira metodologije…
Izbira glede na podprte življenjske cikle
Življenjski cikel Kriteriji Deluje s slabo razumljenimi zahtevami Deluje s slabo razumljeno arhitekturo Rezultat je zanesljiv sistem Rezultat je nadgradljiv sistem Upravlja s tveganji Slapovni razvoj Slabo Slabo Odlično Odlično Slabo Omogoča predvidljiv razvoj Potrebuje malo režije Dovoljuje spremembe med projektom Stranki omogoča
Visokošolski strokovni študij, Smer Informatika
nadzor napredovanja Vodstvu omogoča nadzor napredovanja Ne zahteva veliko izkušenj Srednje Srednje Slabo Slabo Srednje Srednje Modificiran slapovni razvoj Srednje do odlično Srednje do odlično Odlično Odlično Srednje Srednje Odlično Srednje Srednje Srednje do odlično Slabo do srednje Iterativni razvoj Odlično Odlično Odlično Odlično Odlično Srednje Srednje Srednje Odlično Slabo Inkremental ni razvoj Slabo do srednje Evolucijsko prototipiranj e Srednje do odlično Kodiraj in popravi Slabo Slabo Srednje do odlično Odlično Srednje do odlično Odlično Srednje Slabo do srednje Srednje Odlično Slabo do srednje Slabo Srednje do odlično Odlično Srednje Srednje Srednje Srednje do odlično Odlično Odlično Srednje Slabo Slabo Slabo do srednje Slabo Slabo Odlično Slabo do odlično Srednje Slabo Odlično
Izbira metodologije
Discipliniranost, izkušnje in znanje proti procesu, formalnosti in dokumentaciji Višja stopnja formalnosti metodologije za projekte z višjo stopnjo kritičnosti Večje razvojne skupine potrebujejo težje metodologije Visoka Lahka Izbira glede na tip projekta metodologija
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Težka metodologija Nizka Nizka Optimiziranost
- 66 -
Proces, formalnost, dokumentacija Visoka
Uporaba metodologij v praksi
Empirične raziskave kažejo na nizko uporabo metodologij .
Ključni razlogi: Nizka strukturiranost procesa razvoja (vsak projekt ima svoje lastnosti in specifičnosti; različne zahteve in pogledi uporabnikov,...) Neprilagodljivost metodologij, Zastarelost metodologij, Sociološka neprimernost, Neosveščenost uporabnikov.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 67 -
Uporaba metodologij...
Povzetek raziskave v slovenskih podjetjih
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 68 -
Poglavje II
Strukturni razvoj
Osnovne značilnosti strukturnega pristopa Primer strukturne metodologije Strateško načrtovanje Analiza Načrtovanje Testiranje Namestitev in uvedba
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 69 -
Strukturni razvoj
Osnovne značilnosti strukturnega pristopa
Eden prvih sistematičnih pristopov k razvoju IS Zgleduje se po standardnih postopkih razvoja tehničnih izdelkov: aktivnosti si sledijo zaporedno. Izoblikoval se je konec 60 in v začetku 70 let.
Razlog : uvedba discipliniranega izvajanja analize in načrtovanja.
Cilj : zmanjšanje stroškov izgradnje in uvajanja IS.
Pristop “iz vrha navzdol”.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 70 -
Primer strukturne metodologije
Informacijski inženiring - IE
Informacijski inženiring je primer metodologije, ki opisuje razvoj IS po strukturnem pristopu.
Nastane leta 1981, glavni avtor je James Martin .
Uveljavitev v sredini 80-tih let, uporablja se še danes.
IE je zasnovan na teoretičnih in praktičnih dosežkih 80-tih let iz metodološkega in tehnološkega vidika.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 71 -
Informacijski inženiring – IE
Osnovne značilnosti IE
Osnovne značilnosti IE so: sloni na povezani množici tehnik za planiranje, analizo, načrtovanje, razvoj in vzdrževanje IS celotne združbe ali vsaj njenih glavnih delov; uporablja pristop od vrha navzdol; je podatkovno usmerjen; podpira avtomatizacijo razvoja; uveljavlja strateško planiranje; povečuje produktivnost.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 72 -
Informacijski inženiring – IE
Osnovne značilnosti IE
IE predpostavlja, da so poslovni sistemi večinoma podatkovno usmerjeni , tehnični sistemi pa procesno ali dogodkovno .
Podatki so stabilnejši od procesov in dogodkov.
Podatkovna usmerjenost
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Procesna usmerjenost
- 73 -
Dogodkovna usmerjenost
Informacijski inženiring – IE
Glavne faze IE
IE v grobem zajema štiri faze: Strateško planiranje Analiza Načrtovanje Izvedba
Planiranje Analiza Načrtovanje
IE posebej obravnava podatke, posebej aktivnosti
Izvedba RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 74 -
Strateško planiranje informatike – SP
Opredelitev SP
Razvoj IS združbe se po IE začne s fazo strateškega planiranja informatike .
Strateško planiranje informatike je proces izoblikovanja informacijskega sistema, ki organizaciji omogoča uresničitev njenih ciljev in ji s tem posredno zagotavlja konkurenčno prednost.
Fidler in Rogerson, 1996 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 75 -
Strateško planiranje informatike – SP
Cilji SP
Cilji strateškega planiranja so: Povezati razvoj IS s poslovno strategijo organizacije. Izboljšati komunikacijo med vodstvom in informatiki.
Načrtovati pretok informacij in procesov.
Zmanjšati stroške in čas, potreben za razvoj aplikacij. Predlagati optimalno zaporedje nadaljnjih korakov pri planiranju in razvoju IS. Pripraviti izhodišča za nadaljnje korake informatizacije.
Zagotoviti uporabo standardov za enotne tehnološke rešitve.
Pokazati na organizacijske probleme pri uvajanju informacijske podpore in predlagati organizacijske rešitve za dosego racionalnejše uporabo informacijske podpore.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 76 -
Strateško planiranje informatike – SP
Problemi brez SP
Problemi, če gre za investicije v informatiko na osnovi sprotnih potreb: Investiranje v sisteme, ki ne podpirajo poslovnih usmeritev.
Sistemi niso integrirani (podvojitev naporov in podatkov).
Ni sredstva za določitev prioritet projektom, plani se pogosto spreminjajo.
Problemi z obvladovanjem podatkov: niso dostopni, so neskladni, netočni ali nepravočasni.
Nezadostne infrastrukturne investicije.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 77 -
Strateško planiranje informatike – SP
Problemi brez SP
Problemi (nadaljevanje): Vsi projekti so ovrednoteni le na finančni bazi.
Problemi glede IT investicij povzročajo konflikte med različnimi oddelki znotraj organizacije.
Nerazumevanje med uporabniki in informatiki vodi v konflikte in nezadovoljstvo.
Sistemi imajo večinoma krajšo življenjsko dobo, pogosteje je potreben ponoven razvoj, kar povzroča večje stroške.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 78 -
Strateško planiranje informatike – SP
Metodologija IS
IE priporoča postopek za izdelavo.
V LINF razvitih več različic.
Osnovna različica temelji na metodologiji IE.
Prilagojene različice za potrebe posameznih podjetij.
1992 2006 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Osnovna različica Body of Knowledge
- 79 -
Prilagojene različice Priročnik
Strateško planiranje informatike – SP
Shema procesa izdelave SP
Razna dokumentacija Izpolnjeni vprašalniki
Legenda
Postopek Izdelava dolgoročnega plana Izdelava kratkoročnega plana
Proces SP zajema 6 postopkov:
Pregled in analiza obstoječega stanja; Poslovno informacijsk Opredelitev poslovno-informacijske arhitekture; Terminska opredelitev opredelitev Poročilo o izbranih letnega plana projektov izvajanju letnega plana Pregled in analiza stanja Opredelitev projektov; Opredelitev Opredelitev informacijske vizije arhitekture Opredelitev projektov Izdelava letnega načrta Spremljanje izvajanja in vzdrževanje strateškega plana Spremljanje izvajanja in vzdrževanje strateškega plana.
3-4 mesece
Seznam Projektov Prioritete projektov Izdelek
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika
Vhod postopka Analiza
- 80 80
Izdelava dolgoročnega plana Izdelava kratkoročnega plana Razna dokumentacija Vprašalniki Poslovno informacijsk a arhitektura dokumentacija Informacijska vizija Podrobna opredelitev izbranih projektov Terminska opredelitev letnega plana Poročilo o izvajanju letnega plana Pregled in analiza obstoječega stanja Opredelitev arhitekture Opredelitev vizije Opredelitev projektov Izdelava letnega načrta Spremljanje izvajanja in vzdrževanje strateškega plana Izpolnjeni vprašalniki Seznam Projektov Prioritete projektov
Legenda
Postopek Izdelek Izhod postopka Vhod postopka Analiza
Pregled in analiza obstoječega stanja
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 81 -
Opredelitev poslovno informacijske arhitekture Opredelitev informacijske vizije Opredelitev projektov Izdelava letnega načrta Spremljanje izvajanja in vzdrževanje strateškega plana
Strateški plan razvoja informatike
Trajanje izdelave SP in sodelujoči
Izdelava strateškega plana traja približno od 3 do 6 mesecev .
Pri izdelavi sodelujejo: Zunanji svetovalci Metodologi (informatike izven organizacije) Ključni uporabniki Člani vodstvene skupine organizacije Strateški plan je potrebno osveževati!
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 82 -
Razvoj po strukturnem pristopu
Osnovne značilnosti strukturnega pristopa k razvoju
Strukturni pristop k razvoju temelji na strukturni izvedbi analize in načrtovanja.
podatki se obravnavajo ločeno od aktivnosti postopkov.
ključen element pri strukturnem modelu je podatkovna baza, ki predstavlja strukturo, okrog katere se razvije programske module.
Strukturni razvoj se z uveljavitvijo objektnih programskih jezikov ukinja.
Danes se uporablja hibriden pristop vedno ohranja ključen pomen. : temelji na objektni filozofiji, vendar podatkovna baza še
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 83 -
Razvoj po strukturnem pristopu
Ključni postopki strukturnega razvoja
Strukturni pristop k razvoju zajema več postopkov: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba Vzdrževanje.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 84 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba Vzdrževanje.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 85 -
Zajem in specifikacija zahtev
Opredelitev in namen
Zajem in specifikacija zahtev nakupa IR.
je ena pomembnejših aktivnosti razvoja oziroma Osnovni namen zajema in specifikacije zahtev je opredeliti želeno IR na način, ki bo omogočal: Pri nakupu IR izbirati med obstoječimi rešitvami, Pri razvoju IR opredeliti osnovno funkcionalnost ter tehnološke in druge nefunkcionalne zahteve in omejitve za izgradnjo želene IR.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 86 -
Zajem in specifikacija zahtev
Končni izdelek
e Rezultat zajema in specifikacije zahtev je dokument, kjer so zabeležene vse funkcionalne in nefunkcionalne zahteve v zvezi z želeno IR. V nadaljnjih korakih se dokument lahko uporablja: kot vhod v postopek analize, pri pripravi razpisne dokumentacije za nakup IR oziroma izbiro zunanjega razvijalca, kot priloga k pogodbi med naročnikom in izvajalcem sistema.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 87 -
Zajem in specifikacija zahtev
Vloge in koraki
Zajem zahtev izvede sistemski analitik ob tesnem sodelovanju s poznavalci problemske domene oziroma ključnimi uporabniki .
Osnovni koraki zajema: Zajem zahtev, Ureditev zahtev in Potrditev zahtev.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 88 -
Zajem in specifikacija zahtev
Postopek zajema in specifikacije zahtev
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 89 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; • • • Zajem zahtev, Ureditev zahtev in Potrditev zahtev Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 90 -
Zajem in specifikacija zahtev
Zajem zahtev
Obstajajo različne tehnike zajema zahtev: Razgovori Vprašalniki Opazovanje pri delu Analiza obstoječega sistema Skupinsko načrtovanje aplikacij
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 91 -
Zajem in specifikacija zahtev
Zajem zahtev
Splošni napotki za uspešno izvedbo zajema zahtev: Analitik mora biti objektiven, Analitik mora upoštevati vse možnosti v okviru nekega problema, Analitik posveča pozornost podrobnostim, Analitik mora strmeti k novim in boljšim rešitvam, Analitik ne daje obljub uporabnikom, Analitik nima zadržkov pri zajemanju zahtev.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 92 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; • • • Zajem zahtev, Ureditev zahtev Potrditev zahtev in Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 93 -
Zajem in specifikacija zahtev
Ureditev zahtev
V aktivnosti ureditev zahtev skušamo naše razumevanje želene IR opredeliti še v okviru dokumenta, s katerim bodo zahteve IR podane bolj formalno in jedrnato. Izdelek, ki nastane, imenujemo specifikacija zahtev .
Specifikacija zahtev lahko služi kot temeljna podlaga pri dogovarjanju med naročnikom in izvajalcem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 94 -
Zajem in specifikacija zahtev
Specifikacija zahtev
Specifikacija zahtev ima navadno naslednjo strukturo: 1. Kratek opis namena IR ali njenega podsistema 2. Opis funkcionalnih zahtev 3. Opis nefunkcionalnih zahtev 4. Opis vmesnikov 5. Slovar izrazov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 95 -
Zajem in specifikacija zahtev
Specifikacija zahtev Funkcionalne zahteve so zahteve, ki se nanašajo na želeno funkcionalnost sistema.
Odjava iz izpitnega roka
Sistem naj študentom omogoča odjavo iz izpitnega roka. • • Poslovna pravila: Študent se ne more odjaviti iz izpitnega roka, če je do roka še manj kot tri dni.
…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 96 -
Zajem in specifikacija zahtev
Specifikacija zahtev Nefunkcionalne zahteve so zahteve, ki se nanašajo na tehnične in druge nevsebinske zahteve sistema.
• • • • • Sistem naj bo narejen v tri-nivojski arhitekturi z lahkim odjemalcem.
Podatki naj se hranijo v podatkovni bazi Oracle.
Za avtentikacijo nej se uporabi digitalno potrdilo.
Izdajatelj digitalnega potrdila je lahko CVI RS, NLB, PS.
…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 97 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; • • • Zajem zahtev, Ureditev zahtev in Potrditev zahtev Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 98 -
Zajem in specifikacija zahtev
Potrditev zahtev
Namen aktivnosti naročnik želi. potrditev zahtev je predstavitev specifikacije zahtev naročniku in pridobitev soglasja o tem, da so zajete zahteve res to, kar si
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 99 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba Vzdrževanje.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 100 -
Analiza
Opredelitev in namen
Glavni namen analize je izdelati razumljiv opis realnega sveta oziroma poslovnega okolja, na katerega se nanaša razvoj IS.
Izdelamo model sistema , ki na formalen način opredeli potrebne podatkovne strukture in funkcije, ki te podatke uporabljajo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 101 -
Analiza
Opredelitev in namen
Analiza daje odgovor na vprašanje, kakšne podatke te rabijo?
KAJ naj IS podpira. Kaj se izvaja v poslovnih funkcijah in Analiza služi kot: sredstvo za definicijo zahtev, osnova za dogovor med naročnikom in izvajalcem osnova za kasnejše faze razvoja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 102 -
Analiza
Končni izdelek
e Rezultat analize je model sistema . Na osnovi modelov se v nadaljnjih korakih izdela podatkovna baza ter potrebni programski moduli . Poleg modela sistema v fazi analize izdelamo tudi predlog tehnične arhitekture sistema ter opcijsko prototipe komponent uporabniškega vmesnika. Med izdelke analize sodi tudi strategija testiranja .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 103 -
Analiza
Vloge in koraki
Postopek analize izvajajo sistemski analitik , sistemski arhitekt in ključni uporabniki .
Postopek analize tipično zajema naslednje aktivnosti: Izdelava modela sistema; Izdelava prototipov; Izdelava predloga tehnične arhitekture sistema; Opredelitev strategije testiranja; Predstavitev rezultatov analize naročniku.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 104 -
Analiza
Shema postopka
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 105 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza • • • • • Izdelava modela sistema; Izdelava prototipov; Izdelava predloga arhitekture sistema; Opredelitev strategije testiranja; Predstavitev rezultatov analize naročniku.; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 106 -
Analiza
Splošno o modeliranju
Modeliranje je uveljavljena inženirska tehnika na mnogih področjih: Gradbeništvo, Strojništvo, Kemija, Ekonomija, Sociologija, Računalništvo…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 107 -
Analiza
Splošno o modeliranju
Modele razvijamo zato, da bi sisteme bolje razumeli.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 108 -
Analiza
Splošno o modeliranju
Model je poenostavitev realnosti, pri čemer je abstrakcija realnosti poljubno natančna.
Pomembno je, da model prikazuje pomembne elemente in izpušča tiste, ki nas ne zanimajo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 109 -
Analiza
Splošno o modeliranju
Modeliranje prinaša naslednje bistvene prednosti: Omogoča vizualizacijo sistema, Prikazuje tako statične kot dinamične lastnosti sistema, Predstavlja šablono za nadaljnjo gradnjo sistema, Dokumentira sprejete odločitve.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 110 -
Analiza
Splošno o modeliranju
Izbira modelov Za modeliranje sistema lahko izberemo različne modele. Izbira modelov določa, kako bomo pristopili k reševanju problema ter kako oblikovali rešitev.
Modeli morajo podpirati izražanje na različnih ravneh natančnosti.
Najboljši modeli so tesno povezani z realnostjo.
En sam model nikoli ni dovolj. Sistem je potrebno modelirati iz različnih vidikov. Najboljši pristop je izbira nekaj modelov, ki kar najbolje pokrijejo najpomembnejše vidike sistema.
Metodologije razvoja IS predlagajo različne modele.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 111 -
Analiza
Analiza po strukturnem pristopu
Model , ki ga izdelamo v fazi analize po strukturnem pristopu , se v grobem deli na: Podatkovni model, Procesni model in Model procesne logike.
Model sistema Podatkovni model Procesni model Model procesne logike
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 112 -
Analiza – Izdelava modela sistema
Izdelava modela sistema po strukturnem pristopu
Podatkovni model: prikazuje sistem s podatkovnega vidika tako, da opisuje podatkovne strukture, ki so potrebne za delovanje sistema. Poleg podatkovnih struktur zajema tudi vse povezave med njimi. Procesni model: prikazuje sistem z vidika aktivnosti ali procesov, ki se v sistemu izvajajo. Definirani so tokovi podatkov med procesi. Model procesne logike: natančneje definira procese, definirane v procesnem modelu.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 113 -
Analiza – Izdelava modela sistema
Strukturne diagramske tehnike
Za predstavitev posameznih modelov sistema uporabljamo formalne, semi-formalne in tudi neformalne tehnike.
Podatkovni model: diagram entiteta-razmerje Procesni model: procesni diagram, diagram podatkovnih tokov, funkcionalna razgradnja Model procesne logike: naravni jezik, strukturiran jezik, odločitvene tabele, odločitveni grafi, diagrami prehajanja stanj
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 114 -
Analiza – Izdelava modela sistema
Podatkovni model
Podatkovni model: Je eden izmed najpomembnejših izdelkov faze analize in predstavlja vse podatkovne kategorije, za katere na nekem delovnem področju obstaja potreba, da se o njih podatki spremljajo, obdelujejo in hranijo.
V analizi izdelamo konceptualni podatkovni model .
Za izdelavo uporabljamo diagramsko tehniko entiteta-razmerje .
Model sistema Podatkovni model Procesni model Model procesne logike
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 115 -
Analiza – Izdelava modela sistema
Podatkovni model
svet mentalni model konceptualni model logični model PB
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 116 -
Analiza – Izdelava modela sist.
V konceptualnem modelu lahko nastopajo tudi sestavljeni in večvrednostni atributi!
Podatkovni model – primer
Konceptualni podatkovni model
Predmet
Predmet Naziv Dodatne obveznosti Semester Kreditne točke …
Izpit
Zap. št. polaganja Ocena pisno Ocena ustno Datum ocene
?
Študent
Vpisna številka Priimek Ime Naslov Telefon E-mail Status …
Rok
Rok Datum izpita Prijavljenih Maks. prijavljenih Meja pozitivno …
Prijava
Datum prijave Datum odjave Zap. št. polaganja Kolokvij Letnik Plača izpit …
Delavec
Delavec Priimek Ime E-mail Geslo …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 117 -
Analiza – Izdelava modela sistema
Podatkovni model – primer
Primer nerazumljivega podatkovnega modela VIP_F POSTA a a VRSTA_POT a SKLEPI b a a a a a a PRED_OBC a a a STAT_IZPITA a a ZAHTEVA a a STUDENT a a VIP POTRDILO a a a a a ZAVO D a a a a a a a a a a a a a IZJEME PRED_PR a STAT_PR a a VPIS a a NACIN a a a a a SMER a a a a a a VAJE a VSI a a a a SKUPINA a a a a PRED_DIF r r a a IZBIRNI a a a a a a a a a a a a a a PREDMET a a a a a a PRED_IZB a VSI_F NAC_OC a b DELNA_OC a a a b NAC_IZV a PRED_AT EKVIVAL PREDPOG a b a b IZPIT a a a a a a a PRIJAVA NAC_DEL a a a a a IZPRASEVALE C a APP PRE_PRE SPP c b a a a a a b a a a a PP a a a a VRSTA_OC PRE_DEL a a a c b a a STAT_POS ROK a a PRIJAVA_U a a aa ROK_U DELAVEC a a a a a a a a a OBVESTILA a
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 118 -
Analiza – Izdelava modela sistema
Podatkovni model – primer
Entitetne tipe je potrebno dokumentirati Primer dokumentacije:
Naziv entitetnega tipa
Delavec
Opis
Predstavlja pedagoškega delavca, ki je nosilec enega ali več predmetov
Sinonim
Pedagoški delavec Rok Predstavlja datum, na katerega je za nek predmet in določeno ciljno skupino (letnik, smer,...) razpisan izpitni rok.
Rok, pisni izpit, kolokvij
Število entitet
Vsaka katedra ima enega ali več pedagoških delavcev. Niso vsi delavci nosilci predmetov.
Na leto se razpiše okrog 300 pisnih izpitov. Vsak predmet mora imeti vsaj tri roke letno ...
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 119 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja
Možni koraki konceptualnega načrtovanja: K 1.1: Identificiraj entitetne tipe K 1.2: Identificiraj povezave K 1.3: Identificiraj in z entitetnimi tipi poveži atribute K 1.4: Atributom določi domene K 1.5: Določi kandidate za ključe; izmed kandidatov izberi primarni ključ K 1.6: Po potrebi uporabi elemente razširjenega diagrama entiteta – razmerje K 1.7: Preveri, če v modelu obstajajo odvečni elementi K 1.8: Preveri, če model “zdrži” transkacije K 1.9: Preveri model z uporabnikom
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 120 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – identifikacija povezav
V postopku identifikacije povezav smo pazljivi na dvoumne in nepopolne povezave .
K 1.2
Primer dvoumne povezave Profesor 1..* je član 1..1
Katedra 1..1
vključuje 1..* Laboratorij Pr1 Pr2 Pr3 K1 K2 L1 L2 L3 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 121 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – identifikacija povezav
Dvoumno povezavo odpravimo z restrukturiranjem modela
Profesor 1..* je član 1..1
Laboratorij 1..* vključuje 1.1
Katedra Pr1 Pr2 Pr3 L1 L2 K1 K2 K3 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 122 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – Identifikacija povezav Primer nepopolne povezave ima Katedra 1..1
1..* Član 0..1
je skrbnik 0..* Oprema K1 K2 K3 Čl1 Čl2 Čl3 O1 O2 O3 Kateri katedri pripada oprema O2?
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 123 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – identifikacija povezav
Odpravimo z prestrukturiranjem modela.
Katedra 1..1
1..1
ima 1..* Član pripada 0..1
je skrbnik 0..* Oprema 1..* K1 K2 K3 Čl1 Čl2 Čl3 O1 O2 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 124 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – odvečne povezave
Identifikacija odvečnih povezav
K 1.7
Povezava je odvečna, če je možno priti do iste informacije prek drugih povezav!
Izdelati želimo minimalen podatkovni model povezave zato odstranimo.
odvečne Zgolj pregledovanje poti med entitetnimi tipi ne zadošča (povezave imajo lahko različen pomen)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 125 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – odvečne povezave
Ali je kakšna povezava odveč?
Profesor 1..* 1..1
je predstojnik 0..1
Katedra 1..1
je član pripada 1..1
1..* Laboratorij RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 126 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – odvečne povezave
Ali je kakšna povezava odveč?
Profesor 1..* 1..* pripada je član 1..1
Katedra 1..1
pripada 1..1
1..* Laboratorij RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 127 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – preverjanje transakcij
Preveriti moramo, če model podpira vse zahtevane transakcije.
K 1.8
Transakcije izvajamo ročno Če neke transakcije ne uspemo izvesti, je model pomanjkljiv (manjka bodisi entitetni tip, povezava ali atribut) Možna dva pristopa: Preverjanje prek opisa transakcij Preverjanje prek transakcijskih poti
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 128 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – preverjanje prek opisa transakcij
Preverjanje prek opisa transakcij Vsako transakcijo opišemo; Preverimo, če model zajema vse entitetne tipe, povezave in atribute, ki jih transakcija potrebuje.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 129 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – preverjanje prek opisa transakcij
Primer opisa transakcijskih zahtev Vnos podatkov: • Vnesi podatke o študentih (npr. 24010637 , Monika Jemec ,...) • Vnesi podatke o predmetih (npr. 70029 , Razvoj IS , Letni ,...) • ...
Urejanje in brisanje podatkov: • • • Uredi/briši podatke o študentu Uredi/briši podatke o predmetih ...
Poizvedbe • • • Izpiši vse študente, ki so se vpisali v določen letnik, določene smeri, določenega programa Izpiši vse predmete, ki jih je opravil določen študent ...
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 130 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – preverjanje prek transakcijskih poti
Preverjanje prek transakcijskih poti Transakcije preverimo na modelu – pot transakcije narišemo Pristop načrtovalcu omogoča: • • • Da identificira pomanjkljivosti modela možna) (če pot za neko transakcijo ni Da identificira dele modela, ki so transakcijsko kritični Da odkrije odvečne dele modela (deli, ki jih ne potrebuje nobena transakcija)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 131 -
Analiza – Izdelava modela sistema
Podatkovni model – metoda načrtovanja – preverjanje prek transakcijskih poti a) Izpiši vse predmete, ki jih je opravil določen študent b) Izpiši vse študente, ki so se vpisali v določen letnik, določene smeri, določenega programa b ?
Program progID 1..1
ima 0..1
Smer smerID 1..* se predava na se nanaša na 0..* za 1..1
1..* Predmet predID Prijava 0..* 0..* 1..1
Rok rokID 1..1
pripada 1..1
Študent vpisSt 1..1
je opravljal a RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 0..* Izpit stPol - 132 0..* iz
Analiza – Izdelava modela sistema
Izdelava modela sistema – procesni model
Procesni model: prikazuje sistem z vidika aktivnosti ali procesov, ki se v sistemu izvajajo. V procesnem modelu lahko nastopajo tudi podatkovne strukture, ki jih procesi potrebujejo pri svojem delovanju. Za izdelavo procesnega modela uporabimo dve diagramski tehniki: diagram razgradnje ter diagram podatkovnih tokov . Uporabimo lahko tudi procesni diagram .
Model sistema Podatkovni model Procesni model Model procesne logike
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 133 -
Analiza – Izdelava modela sistema
Procesni model – diagram funkcionalne razgradnje – opredelitev
Z diagramom funkcionalne razgradnje podpreti.
prikažemo hierarhijo funkcij, ki jih želimo s sistemom Hierarhijo funkcij lahko prikažemo na različne načine, najbolj običajno kot navpično hierarhijo .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 134 -
Analiza – Izdelava modela sistema
Procesni model – diagram funkcionalne razgradnje
Funkcija 1.1
Funkcija 1 Funkcija 1.2
Funkcija 1 Funkcija 1.3
Funkcija 1 Funkcija 1.1
Funkcija 1.2
Funkcija 1.3
Funkcija 1.1
Funkcija 1.2
Funkcija 1.3
Funkcija 1.1
Funkcija 1 Funkcija 1.2
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Funkcija 1.2.1
Funkcija 1.2.2
135 -
Funkcija 1.3
Analiza – Izdelava modela sistema
Procesni model – diagram funkcionalne razgradnje – smernice
Smernice za izdelavo diagramov funkcionalne razgradnje: Število nivojev in število enot na enem nivoju običajno ni omejeno, čeprav velja priporočilo, naj ima vsak element največ devet podrejenih elementov.
Za vsako enoto velja, da ima nič, eno ali več podrejenih enot (vej) in da vedno pripada natanko eni nadrejeni enoti na prvem višjem nivoju.
Enote na istem nivoju razporedimo od leve proti desni po neki sekvenčni karakteristiki, ki jo natančno definiramo in k diagramu dokumentiramo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 136 -
Analiza – Izdelava modela sistema
Procesni model – diagram funkcionalne razgradnje - primer
Vzdrževanje in pregled izpitnih rokov Elektronski indeks/ kartotečni list Prijava na izpit
Študijska Informatika
(izpitna evidenca) Naročanje potrdil Odjava iz izpita Opravljanje pisnih izpitov Pregled števila prijavljenih kandidatov Opravljanje ustnih izpitov Vnos rezultatov Vpis končne ocene Objava rezultatov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 137 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – opredelitev
Diagrame podatkovnih tokov podprl.
(DFD) uporabimo za prikaz okolja, v katerem bo sistem deloval, ter za prikaz odvisnosti med procesi, ki jih bo sistem DFD združuje podatkovni in procesni pogled na obravnavano področje.
DFD je uvedel Tom DeMarco nastalo več različic DFD tehnike. Razlikujejo se predvsem v notaciji.
leta 1978. Od takrat
DFD – Data Flow Diagram RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 138 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – osnovni gradniki
DFD sodi med enostavnejše diagramske tehnike.
Osnovni gradniki DFD so: Proces Tok podatkov Podatkovno skladišče Zunanja entiteta
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 139 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – proces
Proces predstavlja množico aktivnosti, ki vhodne podatke pretvorijo v izhodne.
Notranja shramba podatkov Vhodni podatki Proces sistema Izhodni podatki Zunanji prejemnik RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 140 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – proces
Proces je generičen pojem in lahko predstavlja dogajanje na različnih ravneh (funkcija, proces, pod-proces, naloga, aktivnost ipd.)
Proces RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Funkcionalna razgradnja 141 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – proces
Vsakemu procesu je dodeljen naziv in številčna oznaka , ki se v diagramu vpišeta v grafični simbol procesa.
Za naziv procesa običajno uporabimo glagol, glagolski samostalnik ali zaporedje besed, ki opisujejo vrsto dejavnosti.
Številčna oznaka enolično določa proces.
1 Prijava na izpit 2 Vnos končne ocene RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 142 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – tok podatkov
Tok podatkov predstavlja množico vhodnih ali izhodnih podatkov, ki imajo enolično definirano vsebino in strukturo.
Podatki lahko predstavljajo: elementarne podatke (npr. ime, priimek, vpisna številka,...) dokumente (vpisni list, kartotečni list,…) elektronske dokumente (elektronski indeks,…)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 143 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – tok podatkov
Vsakemu toku podatkov določimo naziv , ki pove kaj tok prenaša.
Nazivi so samostalniki, običajno v ednini, ali pa kombinacija samostalnika in pridevnika
Izpitni rok Prijava RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 2 Vnos končne ocene Ocena pisno, Ocena ustno Podatki o preteklih polaganjih 144 Izpit
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – tok podatkov
Podatkovni tok se lahko giblje: iz zunanje entitete v proces ali iz procesa k zunanji entiteti, iz procesa v drug proces in iz procesa v skladišče podatkov ali obratno.
Podatkovni tok ne more povezovati zunanje entitete s skladiščem podatkov!
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 145 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – podatkovna shramba
Podatkovna shramba kasnejšo uporabo. predstavlja prostor, kamor procesi shranjujejo podatke za druge procese ali Podatkovna shramba je lahko enostavna (npr. zajema le elementarne podatke) ali kompleksna (npr. predstavlja celo zbirko podatkov).
Izpit Podatkovna baza RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 146 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – podatkovna shramba
V fazi analize s podatkovno shrambo opišemo logične sklope podatkov neodvisno od bodoče fizične organizacija podatkov.
Naziv podatkovne shrambe je največkrat enak nazivu vhodnih podatkovnih tokov (skladišče je pravzaprav podatkovni tok v mirovanju)
Izpitni rok RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 2 Vnos izpitnega roka 147 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – podatkovna shramba
V vsako shrambo mora pisati vsaj en proces, sicer je shramba odveč!
Velja logično pravilo, da iz shrambe ni mogoče brati podatkov, ki niso bili vanj zapisani.
Shramba je interna podatkovna struktura, zato dostop do nje ni omogočen zunanjim entitetam!
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 148 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – podatkovna shramba
Povezava med podatkovnim in procesnim modelom: Eden od načinov uporabe DFD je, da najprej izdelamo podatkovni model, potem pa z DFD pokažemo, kako se podatki med procesi prenašajo. Podatkovna shramba tedaj ustreza enemu ali več entitetnim tipom iz podatkovnega modela.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 149 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – podatkovna shramba RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 150 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – zunanja entiteta
Zunanje entitete predstavljajo zunanje procese ali zunanje sisteme.
Nahajajo se izven interesnega področja analize.
Ne zanima nas njihova struktura ali obnašanje, pač pa le podatkovni tokovi, ki se prenašajo med obravnavanim področjem in njimi.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 151 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – zunanja entiteta Študent Izpitni rok Prijava Univerza v Ljubljani indeks 2 Vnos končne ocene Ocena pisno, Ocena ustno Podatki o preteklih polaganjih Poročila o uspešnosti generacije 3 Analiza uspešnosti generacije Izpit Podatki o izpitih RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 152 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – način risanja DFD
V analizi pogosto identificiramo večje število procesov.
Predstavitev vseh procesov enem diagramu je nepregledna, sama vsebina pa nerazumljiva.
Zato uporabljamo razčlenjevanje . Diagrame rišemo od “ vrha navzdol ”: Začnemo z najvišjo ravnjo, kjer nastopajo obsežnejši procesi, nadaljujemo do najnižje ravni, kjer nastopajo zelo podrobni procesi.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 153 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – način risanja DFD
Razčlenjevanje: Za vsak proces, ki je predstavljen v DFD na višji ravni, izdelamo poseben DFD, kjer proces razbijemo na pod procese.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 154 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – način risanja DFD
Kontekstni diagram: razčlenjevanje DFD začnemo na najvišji ravni, kjer nastopa en sam proces – korenski proces .
KOTEKSTNI DIAGRAM korenski proces
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
kontekst sistema
155 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – način risanja DFD
Značilnosti kontekstnega diagrama: Kontekstni diagram prikazuje kontekst sistema – sistem v sodelovanju z okoljem.
Kontekstni diagram ima en sam proces – korenski proces .
Kontekstni diagram nima podatkovnih shramb procesi. Podatkovna shramba je del sistema!
. Shrambe so namenjene odlagališču podatkov pri prenosu le-teh med Podatkovni tokovi med korenskim procesom in zunanjimi entitetami opredeljujejo vmesnike med sistemom in okoljem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 156 -
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – primer kontekstnega diagrama Študent Podatkovni tokovi brez nazivov ne povedo skoraj nič!!
MŠŠ 0 e-študent Računovodstvo FRI Univerza v Ljubljani RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 157 Vpisna prijavno informacijska služba
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – način risanja DFD
Prvi nivo diagrama podatkovnih tokov Prvi nivo razčlenitve kontekstnega diagrama predstavlja DFD na hierarhičnem nivoju 1 . DFD na prvem hierarhičnem nivoju prikažemo z eno sliko, kjer korenski proces razčlenimo na potrebno število pod procesov (priporočljivo do 9). Pri razčlenjevanju procesa je potrebno ohraniti vso funkcionalnost : vsota funkcionalnosti vseh podrejenih procesov je enaka funkcionalnosti nadrejenega procesa. Potrebno je zagotoviti, da so evidentirani procesi približno enakovredni oziroma uravnoteženi .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 158 -
Analiza – Izdelava modela sistema
Univerza v Ljubljani Podatki o polaganjih Sumarni podatki za Napačna raba shrambe podatkovno skladišče Podatki o diplomah Roki, prijave, Izpiti, ocene 0.2
Diplome Računovodstvo FRI RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 0.1
Izpitna evidenca Osebni podatki, indeks Študent Podatki o plačilih vpisnine 159 Vpisna evidenca Vpisni podatki 0.3
Vpis Vpisna prijavno informacijska služba MŠŠ
Analiza – Izdelava modela sistema
Procesni model – diagram podatkovnih tokov – način risanja DFD
Kako podrobno razčlenjujemo DFD? Razčlenjevanje je smiselno do nivoja procesov, pri katerih ugotovimo, da je težko definirati shrambe podatkov, ki povezujejo njihove pod-procese. Na tem nivoju se procesi povezujejo neposredno s podatkovnimi tokovi. Ta pogoj je vedno izpolnjen na nivoju elementarnih procesov, ki jih lahko opišemo z zaporedjem korakov . Za opis procesov na najnižji ravni DFD tehnika ni primerna, ker ne prikazuje zaporedja . Uporablja se druge tehnike, ki so del modeliranja procesne logike .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 160 -
Analiza – Izdelava modela sistema
Procesni model – procesni diagram
Procesni diagram uporabimo, ko želimo prikazati tok dogodkov ali potek določenega procesa.
Za modeliranje procesov obstajajo številne tehnike, ki se razlikujejo predvsem po številu gradnikov ter notaciji.
Diagrami eEPC spadajo med eno popularnejših tehnik modeliranja poslovnih procesov.
eEPC – Extended Event-Driven Process Chain RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 161 -
Analiza – Izdelava modela sistema
Procesni model – procesni diagram
Tipični gradniki procesnih diagramov: Dogodek Aktivnost Krmilni tok Operator Vloga Aplikacija Informacijski objekt
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 162 -
Analiza – Izdelava modela sistema
Procesni model – procesni diagram
Dogodek: vsaka aktivnost procesa ima praviloma vhodni in izhodni dogodek. Vhodni dogodek se zgodi ob določenem trenutku, ko je izpolnjen nek pogoj in ima za posledico začetek izvajanja neke aktivnosti. Ko se aktivnost izvede, lahko rezultat vpliva na izhodni dogodek. Primeri dogodkov so: prijava zaključena, izpitni rok vnesen, ocena vpisana, prijava zavrnjena ipd.
Prijava zaključena Ocena vpisana RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 163 -
Analiza – Izdelava modela sistema
Procesni model – procesni diagram
Aktivnost: aktivnost je najmanjša enota poslovnega procesa. Pomeni zaokroženo celoto procesiranja. Primeri aktivnosti: razpis ustnega roka, prijava na izpit, vnos končne ocene, odjava iz izpita ipd. Aktivnost lahko poteka v sodelovanju z uporabnikom ali popolnoma avtomatsko.
Razpis ustnega roka Vnos končne ocene RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 164 -
Analiza – Izdelava modela sistema
Procesni model – procesni diagram
Krmilni tok krmilni oziroma kontrolni tok v obliki puščice nakazuje zaporedje dogodkov in aktivnosti v modeliranemu procesu. Kontrolni tok lahko razumemo kot nosilec kontrolnih podatkov in drugih pomembnih podatkov za izvajanje procesa.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 165 -
Analiza – Izdelava modela sistema
Procesni model – procesni diagram
Operator Operator predstavlja mesto razdruževanja kontrolnega toka ali združitve iz več kontrolnih tokov v enega. Na nekem mestu v modeliranem procesu se lahko kontrolni tok, ki izhaja iz aktivnosti ali dogodka, razdruži v več tokov, ki vodijo naprej do dogodkov ali aktivnosti. Obratno se lahko kontrolni tokovi, ki izhajajo iz več aktivnosti ali dogodkov, združijo v en kontrolni tok, ki vodi do dogodka ali aktivnosti. Operatorji so AND, OR, XOR.
AND
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 166 -
Analiza – Izdelava modela sistema
Procesni model – procesni diagram
Vloga Vloga predstavlja subjekt, ki aktivnost izvaja oz. je zanjo odgovoren (posameznik, skupina ljudi, organizacijska enota, ipd.) Aplikacija Predstavlja informacijsko rešitev, ki podpira izvajanje neke aktivnosti.
Informacijski objekt Predstavlja nosilec podatkov, ki bodisi vstopa kot vhod v aktivnost ali v obliki izhoda iz nje izstopa.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 167 -
Izbira kandidatov za mednarodne izmenjave
Analiza – Izdelava modela sistema
Procesni model – procesni diagram – primer Obvestilo ULJ o razpisu Priprava razpisa Razpis pripravljen Objava razpisa Razpis objavljen Zbiranje prijav Razpis zaključen Izbira kandidatov Kandidati določeni
AND
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Priprava podatkov za ULJ Priprava podatkov za KŠZ Podatki pripravljeni Podatki pripravljeni Seja KŠZ 168 -
XOR
Kandidati zavrnjeni Kandidati potrjeni Obvestilo ULJ o izboru Obvestilo kandidatov o izboru
AND
Izbira kandidatov za mednarodne izmenjave
Analiza – Izdelava modela sistema
Procesni model – procesni diagram – primer – dodatni gradniki IR za izbiro kandidatov RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Izbira kandidatov S/E koordinator Kandidati določeni Priprava podatkov za ULJ
AND
S/E koordinator Priprava podatkov za KŠZ Podatki pripravljeni Seznam za ULJ Podatki pripravljeni MS Excel Seznam za KŠZ Seja KŠZ KŠZ 169 -
Izbira kandidatov za mednarodne izmenjave
Analiza – Izdelava modela sistema
Procesni model – procesni diagram – primer – steze ULJ Izdaja obvestila o razpisu Obvestilo ULJ o razpisu S/E koordinator Priprava razpisa Razpis pripravljen Objava razpisa Razpis objavljen Zbiranje prijav RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 170 Podatki pripravljeni KŠZ Seja KŠZ
Analiza – Izdelava modela sistema
Izdelava modela sistema – model procesne logike
Model procesne logike: Dopolnjuje procesni model.
Osredotoči se na tiste procese, ki v procesnem modelu niso dovolj jasno opisani: zaporedje korakov, kompleksne odločitvene situacije. Model procesne logike izdelamo s pomočjo diagramskih tehnik, kot so: strukturiran jezik , odločitvene tabele , odločitvena drevesa , diagrami prehajanja stanj idr.
Model sistema Podatkovni model Procesni model Model procesne logike
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 171 -
Analiza – Izdelava modela sistema
Model procesne logike – strukturiran jezik
Najpreprostejši način opisa procesne logike je z naravnim jezikom .
Strukturiran jezik je oblika naravnega jezika: kjer so opisi kratki in jedrnati stavki, sestavljeni iz glagolskih in samostalniških oblik naravnega jezika.
kjer ne uporabljamo drugih besednih oblik, npr. pridevnikov, prislovov itd.
kjer pišemo z zamiki, da poudarimo strukturo posameznih delov opisa.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 172 -
Analiza – Izdelava modela sistema
Model procesne logike – strukturiran jezik – primer
Primer opisa: Vnos diplomske teme Izberi študijski program //izpišejo se vsi študijski programi Izberi študenta //izpišejo se vsi kandidati, ki so pri mentorju dvignili temo Vnesi naslov teme Vnesi opis teme Potrdi ali prekliči temo //če uporabnik vnosa ne potrdi, se podatki ne zabeležijo //prikaži opcije za vnos/spreminjanje/izpis tem diplomskih nalog
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 173 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvene tabele in drevesa
Odločitvene tabele logike.
in odločitvena drevesa uporabimo pri modeliranju zapletenejše procesne Tehniki sta primerni predvsem, ko v procesni logiki nastopa veliko pogojev , ki v različnih kombinacijah sprožajo različne akcije.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 174 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvene tabele
Zgradba odločitvene tabele: v zgornjem delu prikazuje pogoje, ki nastopajo v procesu ter vrednosti, ki jih ti pogoji lahko zavzamejo. Posameznim kombinacijam vrednosti pogojev pravimo pravilo .
v spodnjem delu tabele so navedene akcije , ki se morajo izvesti ob določenem pravilu.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 175 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvene tabele Pravilo – kombinacija vrednosti pogojev.
Vrednost pogoja 2 v pravilu p Pogoj 1 Pogoj 2 … Pogoj n Akcija 1 Akcija 2 … Akcija m Pravilo 1
V(p 1 ) V(p 2 ) … V(p n ) D/N D/N … D/N
Pravilo 2
V(p 1 ) V(p 2 ) … V(p n ) D/N D/N … D/N … … … …
…
… … …
Pravilo p
V(p 1 ) V(p 2 ) … V(p n ) D/N D/N … D/N
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Akcije, ki jih izvedemo, če velja pravilo p.
176 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvene tabele
Pravila v odločitveni tabeli predstavljajo kombinacije vrednosti, ki jih posamezni pogoji lahko zavzamejo.
Število pravil: zv : zaloga vrednosti n : število pogojev
Primer:
p 1 p 2 = Pogoj 1: status vpisa = Pogoj 2: letnik p 1 = {redno, izredno, ponavlja, pavzira} zv(p 1 ) = 4 p 2 = {1, 2, 3, 4, 5, ABS} zv(p 2 ) = 6 Število pravil = 4 * 6 = 24
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 177 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvene tabele – primer Prijava na izpitni rok
Izpitni rok razpisan Dovoljen pristop k izpitu Pravočasna prijava Izpolnjeni vsi predpogoji Število zaporednih polaganj presega 3 Prvo polaganje v izpitnem obdobju Drugo polaganje v jesenskem obdobju Četrto polaganje v šolskem letu Sprejmi prijavo Zavrni prijavo Sestavi komisijo Izdaj plačilni nalog
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 178 -
D N N × D D D D N N D N × D D D D N N N N D D D D N × D N N ×
Pravila
D D D D D D D D D D N D D × × × D N N D D D N N × D N N D D N D N D N N N N N D N × ×
Analiza – Izdelava modela sistema
Model procesne logike – odločitvena drevesa
Zgradba odločitvenega drevesa: Odločitveno drevo je sestavljeno iz vozlišč njimi.
ter povezav med Vozlišča predstavljajo pogoje , povezave med njimi pa možne vrednosti posameznih pogojev . Posamezna pot v drevesu, od korena do predzadnjega vozlišča, predstavlja kombinacijo pogojev ali pravilo .
List drevesa, ki je na koncu poti, prikazuje seznam akcij pravila.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 179 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvena drevesa Pogoj p 1 Pot od korena do lista: pravilo Pogoj p 2
V(p 1 ) p 1 A {a 1 , a 2 , …, a n } A {a 1 , a 2 , …, a n } A {a 1 , a 2 , …, a n } A {a 1 , a 2 , …, a n }
List: seznam akcij pravila RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 180 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvena drevesa
Sestavljanje odločitvenega drevesa: Odločitveno drevo rišemo iz leve v desno. Začnemo s prvim vozliščem, v katerega vpišemo prvi pogoj. Glede na zalogo vrednosti, ki jo pogoj ima, narišemo iz vozlišča ustrezno število puščic. Na konec vsake puščice narišemo novo vozlišče, ki predstavlja naslednji pogoj. Če gre za list, vpišemo seznam akcij, ki se izvedejo ob pravilu.
Če ugotovimo, da na koncu določenih poti ni nobenih akcij, lahko te poti brišemo iz drevesa.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 181 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvena drevesa – primer
Izpitni rok razpisan?
Zavrni prijavo: Rok ne obstaja!
Dovoljen pristop k izpitu?
Zavrni prijavo: Nima dovoljenja za opravljanje izpita!
Pravočasna prijava?
Zavrni prijavo: Prijava ni bila oddana pravočasno!
Zavrni prijavo: Predpogoji niso izpolnjeni!
Predpogoji izpolnjeni?
Prvo polaganje v izpitnem obdobju?
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 182 -
Analiza – Izdelava modela sistema
Model procesne logike – odločitvena drevesa – primer
Prvo polaganje v izpitnem obdobju?
Je skupno število polaganj > 3?
Je to jesensko obdobje?
Komisijski izpit: * sestavi komisijo * izdaj plačilni nalog * sprejmi prijavo Sprejmi prijavo Je skupno število polaganj > 3 Zavrni prijavo: Že opravljal v zimskem/letnem obdobju!
Komisijski izpit: * sestavi komisijo * izdaj plačilni nalog * sprejmi prijavo Sprejmi prijavo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 183 -
Diagramske tehnike
Model procesne logike – diagram prehajanja stanj
Z diagramom prehajanja stanj prikažemo stanja, v katerih se lahko nahaja opazovan proces ter odzive oziroma prehajanja med stanji kot odziv na različne dogodke.
d i /a i Začetno stanje Stanje S 1 d 1 /a 1 Stanje S 2
{d 0 , d 1 , d i , d k }: dogodki {a 0 , a 1 , a i , a k }: akcije
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 184 Končno stanje
Diagramske tehnike
Model procesne logike – diagram prehajanja stanj
Glavni gradniki diagrama prehajanja stanj: Stanje Dogodek Akcija Stanje: Z vidika dogajanja v sistemu se lahko proces nahaja v različnih stanjih. Stanja so določena z vrednostjo lastnosti, ki nas v okviru dogajanja procesa zanimajo. Proces se nahaja v določenem stanju vse dokler se katera izmed opazovanih vrednosti ne spremeni. Tedaj nastopi novo stanje.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 185 -
Diagramske tehnike
Model procesne logike – diagram prehajanja stanj
Dogodek: Prehajanja med stanji povzročajo dogodki. Dogodek vpliva na spremembo ene ali več opazovanih lastnosti procesa. Z vidika prehajanja med stanji je dogodek nekaj, kar se pripeti v določenem trenutku in nima časovne razsežnosti.
Akcija: Ob dogodku se lahko zgodijo različne akcije. Kot dogodki tudi akcije niso časovno trajajoče; zgodijo se v trenutku.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 186 -
Diagramske tehnike
Status študenta Model procesne logike – diagram prehajanja stanj – primer – prikaz z grafom Pogoji za napredovanje niso izpolnjeni / [Ponoven vpis v letnik] Ponavljalec Pogoji za napredovanje so izpolnjeni / [Vpis v višji letnik omogočen] Redno vpisan Pogoji za napredovanje so izpolnjeni / [Vpis v višji letnik omogočen] Pogoji za napredovanje niso izpolnjeni / [Odvzem statusa študenta] RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Pogoji za napredovanje so izpolnjeni / [Vpis v višji letnik omogočen] 187 Pogoji za napredovanje niso izpolnjeni, število ponovnih vpisov > 1 / [Odvzem statusa študenta] Pavzer
Diagramske tehnike
Status študenta Model procesne logike – diagram prehajanja stanj – primer – prikaz s tabelo Dogodek Pogoji za napredovanje so izpolnjeni Pogoji za napredovanje niso izpolnjeni Pogoji za napredovanje niso izpolnjeni, število ponovnih vpisov > 1 Redno vpisan S1
S1 / [Vpis v višji letnik omogočen] S2 / [Ponoven vpis s letnik] S3 / [Odvzem statusa študenta]
Stanje Ponovno vpisan S2
S1 / [Vpis v višji letnik omogočen] S3 / [Odvzem statusa študenta]
Pavzer S3
S1 / [Vpis v višji letnik omogočen]
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 188 -
Vaja
Za opisan problem želimo izdelati informacijsko rešitev. Izdelaj model sistema, ki bo problemsko domeno kar najbolje opisal.
Izbiraš lahko med poljubnimi diagramskimi tehnikami.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 189 -
Vaja – rešitev
Podatkovni model Hotelska stranka Navadna stranka Hotelski gost RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Status
sifra statusa opis statusa
Pritozba
Stevilka pritozbe Opis pritozbe
Tip Nastanitve
sifra tipa nastanitve opis nastanitve
Racun
leto sifra racuna datum
Stranka
sifra stranke ime priimek stevilka OD
Hotelski Usluzbenec
sifra hotelskega usluzbenca ime priimek naslov tel
190 Hotelski Gost
datum nastanitve datum odjave
Soba
sifra sobe stevilo lezisc zasedeno dodatne lastnosti
Tip Sobe
sifra tipa sobe opis
Poraba minibara
datum porabe kolicina porabe
Hotelska Usluga
kolicina cena
Tip Hotelske Usluge
sifra tipa hotelske usluge opis enota cena
Vaja – rešitev
Status stranke – frekvenca bivanja v hotelu NOV GOST
Prvič v hotelu?
Je bil v hotelu že več kot dva krat?
Gre vedno za isto sezono?
?
SEZONSKI GOST REDNI GOST
Manjka status!
Predlog: Navaden gost.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Slabo poimenovanje: sezonski gost je tudi redni gost!
Predlog: redni gost letni gost.
191 -
Vaja – rešitev
Status stranke – posebni statusi
Status <>
NOV GOST RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko AND AND 192 Ali se je kdaj pritožil?
Ali spada med 10% najdono snejših?
Ima posebne potrebe?
Je znana oseba?
Posebni statusi OBČUTLJIV GOST SUPER GOST POSEBEN GOST POMEMBEN GOST
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza • • • • • Izdelava modela sistema; Izdelava prototipov; Izdelava predloga arhitekture sistema; Opredelitev strategije testiranja; Predstavitev rezultatov analize naročniku.; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 193 -
Analiza – Izdelava prototipov
Izdelava prototipov v okviru analize
Izdelava prototipov je neobvezna v okviru analize učinkovito sredstvo za prikaz izgleda ter osnovne funkcionalnosti uporabniškega vmesnika. Razvita posebna razvojna okolja, ki omogočajo vizualno sestavljanje zaslonskih mask, izpisov in poizvedb ter vsebujejo mehanizme za avtomatsko generiranje kode.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 194 -
Analiza – Izdelava prototipov
Izdelava prototipov v okviru analize
Prototipi se navadno uporabljajo le kot del specifikacije sistema, za pridobitev jasnejše podobe bodočega sistema in se v nadaljevanju zavržejo. Obstajajo tudi metode, ki tako izdelane prototipe izkoristijo kot osnovo za izdelavo produkcijskega sistema ( Rapid Application Development – RAD ).
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 195 -
Analiza – Izdelava prototipov
Izdelava prototipov v okviru analize
Nekaj primerov orodij za izdelavo prototipov: Vizualna razvojna okolja: npr. Delphi; Risarska orodja: npr. MS Visio; CASE orodja: npr. Oracle Designer.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 196 -
Analiza – Izdelava prototipov
Izdelava prototipov v okviru analize – Primer MS Visio
Primer
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 197 -
Analiza – Izdelava prototipov
Izdelava prototipov v okviru analize – Primer Delphi
Primer
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 198 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza • • • • • Izdelava modela sistema; Izdelava prototipov; Izdelava predloga arhitekture sistema; Opredelitev strategije testiranja; Predstavitev rezultatov analize naročniku.; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 199 -
Analiza – Predlog tehnične arhitekture
Izdelava predloga tehnične arhitekture
V okviru analize ne analiziramo zgolj funkcionalnih zahtev, temveč tudi tehnične druge nefunkcionalne zahteve .
Na osnovi tega podamo predlog tehnične arhitekture sistema . in Upoštevamo tudi strategijo podjetja oziroma standarde, ki so v podjetju določeni za celoten informacijski sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 200 -
Analiza – Predlog tehnične arhitekture
Izdelava predloga tehnične arhitekture
V okviru predloga tehnične arhitekture sistema opredelimo strojno, komunikacijsko in programsko opremo, ki je potrebna za vzpostavitev ustreznega razvojnega , testnega in produkcijskega okolja . V fazi analize navadno izdelamo le predlog, ki služi kot eden pomembnih virov za oceno stroškov razvoja oziroma nakupa IR.
Upoštevati moramo standarde in predpise, ki so določeni za posamezna področja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 201 -
Analiza – Predlog tehnične arhitekture
Izdelava predloga tehnične arhitekture – vsebina 1. Arhitektura sistema
1.1 Strojna oprema 1.2 Sistemska programska oprema 1.3 Komunikacijska oprema 1.4 Druga oprema 1.5 Postavitveni diagram (opcijsko)
2. Postopki, predpisi in standardi
2.1 Zagotavljanje varnosti 2.2 Varnostne kopije (Backup) 2.3 Vzpostavitev sistema (Recovery) 2.4 Obravnava napak
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 202 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza • • • • • Izdelava modela sistema; Izdelava prototipov; Izdelava predloga arhitekture sistema; Opredelitev strategije testiranja; Predstavitev rezultatov analize naročniku.; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 203 -
Analiza – Opredelitev strategije testiranja
Strategija testiranja
Način testiranja je s standardi kakovosti podrobno določen. Njegova izvedba vseeno odvisna od vrste projekta .
V okviru opredelitve strategije testiranja se odločimo: Kaj je predmet testiranja? Npr. programske enote, programski sklopi, integracija, tehnične zahteve… Kdo bo izvajal testiranje, kje in kako bo testiranje potekalo? Npr. teste programskih enot izvajajo programerji sami v okviru razvojnega okolja.
Kje bo nameščeno testno okolje (pri izvajalcu ali pri uporabniku)?
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 204 -
Analiza – Opredelitev strategije testiranja
Strategija testiranja
Opredelitev strategije testiranja (nadaljevanje): Na kakšni strojni opremi bo nameščeno testno okolje?
V kateri točki projekta se bo namestilo testno okolje? Bo testiranje v testnem okolju potekalo v več iteracijah ali v celoti? Kakšna orodja se bo uporabljalo za pripravo testov?
Kakšna orodja se bo uporabljalo za izvajanje testov?
…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 205 -
Analiza – Opredelitev strategije testiranja
Strategija testiranja – prva aktivnost v okviru postopka testiranja RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 206 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza • • • • • Izdelava modela sistema; Izdelava prototipov; Izdelava predloga arhitekture sistema; Opredelitev strategije testiranja; Predstavitev rezultatov analize naročniku; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 207 -
Analiza – Predstavitev rezultatov
Predstavitev rezultatov analize uporabniku
Ko izdelamo vse izdelke, ki jih predvideva faza analize, pripravimo predstavitev za naročnika . Osnovni namen predstavitve je pridobitev potrdila s strani naročnika o pravilnosti razumevanja problema, ki ga rešujemo z IR.
Potrebno upoštevati, da naročnik morda nima strokovnih znanj za poglobljeno razumevanje rezultatov analize; predstavitev mora biti temu primerna.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 208 -
Analiza – Predstavitev rezultatov
Predstavitev rezultatov analize uporabniku
Predstavitev se zaključi s potrditvijo naročnika, da rezultati analize ustrezajo zahtevam. Potrditev se izvede s podpisom dokumenta, ki pogosto predstavlja eno izmed kontrolnih točk v okviru projektnega vodenja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 209 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 210 -
Načrtovanje
Opredelitev in namen
Glavni namen načrtovanja zbrane v fazi analize.
je izdelati načrt zgradbe sistema glede na specifikacije, ki so bile Načrt daje odgovor na vprašanje, evidentirali v fazi analize.
KAKO izdelati sistem, da bo ustrezal zahtevam, ki smo jih
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 211 -
Načrtovanje
Cilji načrtovanja
Cilji načrtovanja so: Izdelati načrt IR, ki ustreza ugotovitvam iz analize in upošteva tehnološke omejitve sistema; Dokumentirati specifikacije načrta na način, ki bo omogočal vzdrževanje sistema; Zasnovati strategijo prehoda iz obstoječe na novo aplikacijo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 212 -
Načrtovanje
Končni izdelek
e Osnovna rezultata načrtovanja sta načrt podatkovne baze in načrt programskih modulov , s katerima pripravimo vse potrebno za izdelavo podatkovnih in programskih komponent IR. V fazi načrtovanja izdelamo tudi: načrt dokumentacije, načrt testiranja in načrt namestitve in uvedbe.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 213 -
Načrtovanje
Vloge in koraki
Pri načrtovanju sodelujejo načrtovalec podatkovne baze , načrtovalec aplikacije , skrbnik podatkovne baze , izdelovalec dokumentacije , uvajalec , poslovni lastnik in končni uporabnik .
Tipične aktivnosti načrtovanja so: Izdelava načrta podatkovne baze, Izdelava načrta programskih modulov, Izdelava načrta dokumentacije, Izdelava načrta testiranja, Izdelava načrta namestitve in uvedbe in Predstavitev načrta naročniku.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 214 -
Načrtovanje
Shema postopka
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 215 -
Načrtovanje
Shema postopka
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 216 -
Načrtovanje – Izdelava načrta PB
Namen aktivnosti
Namen aktivnosti je na podlagi konceptualnega modela iz analize izdelati logični podatkovni model in izvesti ostale korake, potrebne za vzpostavitev učinkovite fizične podatkovne baze. V sklopu faze načrtovanja izdelamo logični podatkovni model in določimo sistem pravic za uporabo podatkov in programskih modulov.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 217 -
svet
Načrtovanje – Izdelava načrta PB
Izdelava logičnega podatkovnega modela
Logično modeliranje podatkovne baze nastopi za konceptualnim modeliranjem.
Osnova logičnega modela je jezik, ki je razumljiv ciljnemu SUPB.
Če izberemo relacijski SUPB , potem govorimo o relacijskem modelu .
mentalni model konceptualni model logični model PB
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 218 -
Načrtovanje – Izdelava načrta PB
Podpora CASE orodij Konceptualni PM Odločitev o PB:
-Relacijska -Hierarhična -Objektna
i-CASE Logični PM Logično načrtovanje Fizični PM (skripta) Reverse Engineering SUPB RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Podatkovna baza - 219 ODBC
Načrtovanje – Izdelava načrta PB
Prehod iz konceptualnega v logični model
Prehod iz konceptualnega v logični model je navadno avtomatiziran s strani CASE orodij.
Primer: vrsta baze: relacijska SUPB: Oracle ANALIZA NAČRTOVANJE Konceptualni model Entitetni tip Atribut Enolični identifikator Povezava 1:n Povezava m:n RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 220 Relacijski model Relacija / Tabela Atribut / Stolpec Ključ Tuji ključ Vmesna tabela
Načrtovanje – Izdelava načrta PB
Tipični koraki pri izdelavi relacijskega modela
Tipični koraki: Za entitetne tipe kreiraj relacije Preveri relacije z normalizacijo Preveri relacije s pregledom uporabniških transakcij Preveri omejitve integritete Preveri model z uporabnikom Združi lokalne modele v globalni model (opcijsko) Preveri zmožnosti modela za razširitve V nadaljevanju si bomo pogledali nekaj osnov o relacijskem modelu .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 221 -
Načrtovanje – Izdelava načrta PB
Osnovni koncepti relacijskega modela
Pri relacijskem modeliranju se srečamo z naslednjimi koncepti: Relacija Atribut Domena n-terica Funkcionalna odvisnost Ključ Pogled Normalizacija …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 222 -
Načrtovanje – Izdelava načrta PB
Predstava relacije
Relacijo si lahko predstavljamo kot dvodimenzionalno tabelo s stolpci in vrsticami.
Velja za logično strukturo podatkovne baze in ne za fizično.
Ime
Tine Meta Jure Ana
Starost (v letih)
15 20 40 5
Teža (v kg)
50 45 80 10
Relacija RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 223 -
Načrtovanje – Izdelava načrta PB
Atribut relacije
Atribut je poimenovani stolpec relacije.
Ime
Tine Meta Jure Ana
Starost (v letih)
15 20 40 5
Teža (v kg)
50 45 80 10
Atribut relacije RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 224 -
Načrtovanje – Izdelava načrta PB
Domena relacije
Domena je množica dovoljenih vrednosti enega ali več atributov, ki so vključeni v to domeno.
Primeri domen:
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 225 -
Načrtovanje – Izdelava načrta PB
Osnovne karakteristike relacije
N-terica je ena vrstica v relaciji.
Števnost relacije je število n-teric relacije.
Stopnja relacije je število atributov v relaciji.
Stopnja relacije Števnost relacije RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Ime
Tine Meta Jure Ana
Starost (v letih)
15 20 40 5
Teža (v kg)
50 45 80 10
- 226 n-terica relacije
Načrtovanje – Izdelava načrta PB
Relacijska podatkovna baza in normalizacija
Relacijska podatkovna baza je množica normaliziranih relacij z enoličnimi imeni.
Normalizirane relacije anomalij.
so relacije, ki ustrezajo normalnim oblikam. Te določajo pravila, ki jim morajo relacije zadoščati, da pri vnašanju, spreminjanju in brisanju podatkov ne prihaja do
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 227 -
Načrtovanje – Izdelava načrta PB
Matematična definicija relacije
Relacijo matematično definiramo kot podmnožico kartezičnega produkta množic, ki predstavljajo domeno vrednosti atributov relacije.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
r
D
1
D
2 ...
D n
D1 je domena atributa A 1 : množica vrednosti, ki jih A 1 lahko zavzame!
- 228 -
Načrtovanje – Izdelava načrta PB
Relacijska shema
Vsaki relaciji pripada relacijska shema .
Relacijsko shemo sestavlja oznaka sheme R ter lista oznak atributov A i s pripadajočimi oznakami domen D i : R (A 1 : D 1 , A 2 : D 2 , ..., A n : D n ) Relacijska shema predstavlja semantiko pomen relacije . ali
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 229 -
Načrtovanje – Izdelava načrta PB
Relacijska shema Ime
Tine Meta Jure Ana
Starost (v letih)
15 20 40 5
Teža (v kg)
50 45 80 10
Shema relacije Relacija, predstavljena kot tabela Sh(r) = Oseba(Ime: I, Starost: C, Teža: C) Domena, ki obsega imena: I
{Tine, Meta, Jure, Ana} Domena, ki obsega interval celih števil: C
1, 2,... 200 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 230 Shema relacije Domene atributov relacije
Načrtovanje – Izdelava načrta PB
Lastnosti relacij
Enoličnost: Ime relacije je enolično. V relacijski shemi podatkovne baze ni dveh relacij z enakim imenom; Vsak atribut relacije ima enolično ime. V isti relaciji ni dveh atributov, ki bi imela isto ime; Vsaka n-terica relacije je enolična n-teric.
v relaciji ni dveh enakih
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 231 -
Načrtovanje – Izdelava načrta PB
Lastnosti relacij
Atomarnost: Vsaka celica tabele, ki predstavlja relacijo, vsebuje natančno eno atomarno vrednost.
Zaloga vrednosti: Vrednosti nekega atributa so vse iz iste domene.
Nepomembnost vrstnega reda: Vrstni red atributov v relaciji je nepomemben.
Vrstni red n-teric v relaciji je nepomemben.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 232 -
Načrtovanje – Izdelava načrta PB
Lastnosti relacij – primer Ime
Tine Meta Jure Ana
Starost (v letih), teža (v kg)
S15_T50 S20_T45 S40_T80 S5_T10
Celice ne vsebujejo atomarnih vrednosti Zakonca Leto poroke (celo število)
Tine, Meta 1995 Ana, Jure 1980
Celice vsebujejo več vrednosti RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 233 -
Načrtovanje – Izdelava načrta PB
Funkcionalne odvisnosti
Predpostavimo, da obstaja relacijska shema R z množico atributov, katere podmnožici sta X in Y.
V relacijski shemi R velja vrednostih atributov Y.
X Y (X funkcionalno določa Y oziroma Y je funkcionalno odvisen od X), če v nobeni relaciji, ki pripada shemi R, ne obstajata dve n-terici, ki bi se ujemali v vrednostih atributov X in se ne bi ujemali v
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 234 -
Načrtovanje – Izdelava načrta PB
Funkcionalne odvisnosti - primer
Imamo relacijo s shemo Izpit( VpŠt, Priimek, Ime, ŠifraPredmeta, DatumIzpita, OcenaPisno, OcenaUstno) z naslednjim pomenom: Študent z vpisno številko VpŠt ter priimkom Priimek in imenom Ime je na DatumIzpita opravljal izpit iz predmeta s šifro ŠifraPredmeta. Dobil je oceno OcenaPisno in OcenaUstno.
Funkcionalne odvisnosti sheme Izpit so: F { VpŠt (Priimek, Ime), (VpŠt, ŠifraPredmeta, DatumIzpita) (OcenaPisno, OcenaUstno) }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 235 -
Načrtovanje – Izdelava načrta PB
Ključi relacije
Ker je relacija množica n-teric, so v njej vse n terice ločene med seboj.
Za sklicevanje na posamezno n-terico ni potrebno poznati vseh vrednosti atributov n-terice, če v shemi nastopajo funkcionalne odvisnosti. Množici atributov, ki določajo vsako n-terico, pravimo ključ relacije oziroma ključ relacijske sheme.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 236 -
Načrtovanje – Izdelava načrta PB
Ključi relacije
Predpostavimo, da obstaja relacijska shema z atributi A 1 A 2 , ... A n , katere podmnožica je množica atributov X.
Atributi X so ključ relacijske sheme oziroma pripadajočih relacij, če sta izpolnjena naslednja dva pogoja: X A 1 A 2 ... A n ne obstaja X’, ki bi bila prava podmnožica od X in ki bi tudi funkcionalno določala A 1 A 2 ... A n
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 237 -
Načrtovanje – Izdelava načrta PB
Ključi relacije
Poznamo več vrst ključev: Kandidat za ključ (a key candidate) Primarni ključ (primary key) Superključ (superkey) Tuji ključ (foreign key) Kandidat za ključ je vsaka podmnožica atributov relacije, ki relacijo enolično določa.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 238 -
Načrtovanje – Izdelava načrta PB
Ključi relacije
Primarni ključ je tisti kandidat za ključ, ki ga izberemo za shranjevanje relacij v fizični podatkovni bazi. Superključ je vsaka množica atributov, v kateri je vsebovan ključ ključ je podmnožica superključa.
Tuji ključ je množica atributov, v okviru ene relacije, ki je enaka kandidatu za ključ neke druge ali iste relacije.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 239 -
Načrtovanje – Izdelava načrta PB
Ključi relacije primer Šifra Naziv ARTIKEL Zaloga
A10 A12 BC80 X12 Telovadni copati Nike Trenerka Bali Moška jakna QuickSilver Ženska jakna QuickSilver 10 4 1 0
Primarni ključ v tabeli Artikel Primarni ključ v tabeli Račun Račun Šifra artikla
15/05 15/05 A10 X12
RAČUN Količina
1 1
Tuji ključ v tabeli Račun
kaže na primarni ključ v tabeli Artikel RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 240 -
Načrtovanje – Izdelava načrta PB
Omejitve nad podatki
Za celovitost ter skladnost podatkov v podatkovni bazi skrbimo s pomočjo omejitev.
Poznamo več vrst omejitev: Omejitve domene (Domain constraints) Pravila za celovitost podatkov (Integrity constraints) • • Celovitost entitet (Entity Integrity) Celovitost povezav (Referential Integrity) Števnost (Multyplicity) Splošne omejitve (General constraints)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 241 -
Načrtovanje – Izdelava načrta PB
Omejitve nad podatki
Omejitev entitete V osnovni relaciji ne sme biti noben atribut, ki je del ključa, enak Null.
Omejitve povezav Če v relaciji obstajajo tuji ključi, potem morajo: • • (a) njihove vrednosti ustrezati tistim, ki so v obliki ključa zapisane v eni izmed n-teric neke druge ali iste relacije (b) ali pa mora biti tuji ključ v celoti enak Null.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 242 -
Načrtovanje – Izdelava načrta PB
Omejitve nad podatki
Splošne omejitve Dodatna pravila, ki jih določi uporabnik ali skrbnik podatkovne baze, ki definirajo ali omejujejo nek vidik področja, za katerega je narejena podatkovna baza.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 243 -
Načrtovanje – Izdelava načrta PB
Omejitve nad podatki – primeri omejitev Primarni ključ
ne sme biti NULL EMŠO DavcnaSt Ime Priimek DtmRoj Katedra Pedagog N13
Načrtovanje – Izdelava načrta PB
Pogledi
Pogled je navidezna relacija , ki ne obstaja v relacijski bazi, temveč se dinamično kreira takrat, ko nekdo po njej povprašuje.
Vsebina pogleda je definirana kot poizvedba nad eno ali več osnovnimi relacijami.
Pogledi so dinamični spremembe nad osnovnimi relacijami, katerih atributi so zajeti tudi v pogledu, so v pogledu takoj vidne.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 245 -
Načrtovanje – Izdelava načrta PB
Namen uporabe pogledov
Zakaj uporabljamo poglede: Varnost : predstavljajo odličen mehanizem za zagotavljanje varnosti skrivajo posamezne dele podatkovne baze pred določenimi uporabniki.
Prilagojenost uporabnikom različne načine.
: uporabnikom dajejo možnost, da do podatkov dostopajo na prilagojen način isti podatki so lahko s strani različnih uporabnikov v istem času vidni na Poenostavitev : poenostavljajo kompleksne operacije nad osnovnimi relacijami.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 246 -
Načrtovanje – Izdelava načrta PB
Spreminjanje pogledov
Vse spremembe nad osnovnimi relacijami morajo biti takoj vidne tudi v pogledih nad temi relacijami. Če spremenimo podatke v pogledu, se morajo spremembe poznati tudi v osnovnih relacijah, na katere se te spremembe nanašajo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 247 -
Načrtovanje – Izdelava načrta PB
Spreminjanje pogledov
V pogledih niso možne vse spremembe. Veljajo naslednje omejitve: Nad pogledom so možne spremembe, če pogled zajema eno samo osnovno relacijo ter vključuje atribute, ki so kandidat za ključ relacije.
Če pogled zajema več relacij, spremembe niso možne.
Če je pogled pridobljen z agregacijo ali grupiranjem n-teric, spremembe niso možne.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 248 -
Načrtovanje – Izdelava načrta PB
Primer pogleda Šifra Naziv ARTIKEL Zaloga Račun Šifra artikla
A10 A12 BC80 X12 Telovadni copati Nike Trenerka Bali Moška jakna QuickSilver Ženska jakna QuickSilver 10 4 1 0 15/05 15/05 16/05 17/05 A10 X12 A10 A10
RAČUN Količina
1 1 3 1
SELECT A.
sifra , A.
naziv , sum(R.
kolicina ) AS Prodanih FROM artikel A, racun WHERE A.
sifra = R.
sifra R GROUP BY A.
sifra , A.
naziv RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Šifra
A10 X12 ...
Naziv
Telovadni copati Nike Ženska jakna QuickSilver
- 249 Prodanih
5 1
Načrtovanje – Izdelava načrta PB
Normalizacija
Normalizacija je postopek, s katerem pridemo do množice primernih relacij, ki ustrezajo potrebam poslovne domene.
Nekaj lastnosti primernih relacij : Relacije imajo minimalen nabor atributov zgolj tiste, ki so potrebni za pokritje potreb poslovnega sistema; Atributi, ki so logično povezani, so zajeti v isti relaciji; Med atributi relacij je minimalna redundanca vsak atribut (razen tujih ključev) je predstavljen samo enkrat.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 250 -
Načrtovanje – Izdelava načrta PB
Normalizacija
Prednosti uporabe podatkovnih baz, ki jih sestavljajo množice primernih relacij, so: Enostavnejša dostop do podatkov ter vzdrževanje podatkov; Večja učinkovitost; Boljša izraba diskovnih kapacitet.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 251 -
Načrtovanje – Izdelava načrta PB
Normalizacija – ažurne anomalije
Relacije, ki vsebujejo odvečne podatke lahko povzročajo anomalije pri spreminjanju podatkov govorimo o ažurnih anomalijah .
Poznamo več vrst anomalij: Anomalije pri dodajanju n-teric v relacijo Anomalije pri brisanju n-teric iz relacije Anomalije pri spreminjanju n-teric
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 252 -
Načrtovanje – Izdelava načrta PB
Normalizacija – ažurne anomalije pri dodajanju
Primeri anomalij: Če želimo dodati podatke o novih članih (staff) za neko organizacijsko enoto (branch) moramo vpisati tudi vse podrobnosti o organizacijski enoti.
Če želimo dodati podatke o novi organizacijski enoti, ki še nima nobenega člana, moramo v vsa polja , ki člane opisujejo, vpisati Null.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 253 -
Načrtovanje – Izdelava načrta PB
Normalizacija – ažurne anomalije pri brisanju
Primeri anomalij: Če iz relacije zbrišemo n-terico, ki predstavlja zadnjega člana v neki organizacijski enoti, zgubimo tudi podatke o tej organizacijski enoti.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 254 -
Načrtovanje – Izdelava načrta PB
Normalizacija – ažurne anomalije pri spreminjanju
Primeri anomalij: Če želimo spremeniti vrednost nekega atributa določene organizacijske enote (npr. naslov), moramo popraviti vse n-terice, v katerih takšna vrednost atributa nastopa.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 255 -
Načrtovanje – Izdelava načrta PB
Normalne oblike
Postopku preoblikovanja relacij v obliko, pri kateri do ažurnih anomalij ne more priti, pravimo normalizacija .
Obstaja več stopenj normalnih oblik: 1NO – Prva normalna oblika 2NO – Druga normalna oblika 3NO – Tretja normalna oblika in 4PNO – Četrta poslovna normalna oblika BCNO – Boyce Codova normalna oblika 4NO – Četrta normalna oblika 5NO – Peta normalna oblika
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 256 -
Načrtovanje – Izdelava načrta PB
Normalizacija – prva normalna oblika
Relacija je v prvi normalni obliki , če: Nima ponavljajočih atributov je več vrednosti) ne obstajajo atributi ali skupine atributov, ki bi imele več vrednosti pri isti vrednosti ostalih atributov (na presečišču ene vrstice in enega stolpca Ima definiran primarni ključ in določene funkcionalne odvisnosti Koraki: Odstranimo ponavljajoče atribute Določimo funkcionalne odvisnosti Določimo primarni ključ
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 257 -
Načrtovanje – Izdelava načrta PB
Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv, ocena ) ) Skupina ponavljajočih se atributov.
VŠ 64010632 64016209 priimek Bratina Bizjak ime Simon Tadeja pošta 4100 kraj Kranj 2250 Ptuj šifra predmeta 20020 20021 20033 20060 20033 naziv IS TPO IPI E1 IPI ocena 10 8 8 9 6
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 258 -
Načrtovanje – Izdelava načrta PB
Indeks( VŠ, priimek, ime, pošta, kraj, ( šifra predmeta, naziv, ocena ) ) Odpravimo ponavljajoče atribute Indeks( VŠ, priimek, ime, pošta, kraj, šifra predmeta, naziv, ocena ) Identificiramo funkcionalne odvisnosti F
{ VŠ
(priimek, ime, pošta, kraj), šifra predmeta kraj, (VŠ, šifra predmeta)
ocena }
naziv, pošta Določimo primarni ključ Indeks( VŠ, priimek, ime, pošta, kraj, šifra predmeta, naziv, ocena ) RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 259 -
Načrtovanje – Izdelava načrta PB
VŠ 64010632 64010632 64010632 64016209 64016209 priimek Bratina Bratina Bratina Bizjak Bizjak ime Simon Simon Simon Tadeja Tadeja pošta 4100 4100 4100 2250 2250 kraj Kranj Kranj Kranj Ptuj Ptuj šifra predmeta 20020 20021 20033 20060 20033 naziv IS TPO IPI E1 IPI 9 6 8 8 ocena 10 VŠ 64010632 64016209 priimek Bratina Bizjak ime Simon Tadeja pošta 4100 kraj Kranj 2250 Ptuj šifra predmeta 20020 20021 20033 20060 20033 naziv IS TPO IPI E1 IPI ocena 10 8 8 9 6
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 260 -
Načrtovanje – Izdelava načrta PB
Normalizacija – druga normalna oblika
Relacija je v drugi normalni obliki : Če je v prvi normalni obliki in Ne vsebuje parcialnih odvisnosti ključa, ni funkcionalno odvisen le od dela primarnega ključa, temveč od celotnega ključa noben atribut, ki ni del
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 261 -
Načrtovanje – Izdelava načrta PB
!
Indeks( VŠ, šifra predmeta, priimek, ime, pošta, kraj, naziv, ocena ) !
Študent( VŠ, priimek, ime, pošta, kraj) Predmet( šifra predmeta, naziv) Indeks( #VŠ, #šifra predmeta, ocena) Relacijo razbijemo RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 262 -
Načrtovanje – Izdelava načrta PB
VŠ 64010632 64010632 64010632 64016209 64016209 priimek Bratina Bratina Bratina Bizjak Bizjak ime Simon Simon Simon Tadeja Tadeja pošta 4100 4100 4100 2250 2250 kraj Kranj Kranj Kranj Ptuj Ptuj šifra predmeta 20020 20021 20033 20060 20033 naziv IS TPO IPI E1 IPI 9 6 ocena 10 8 8 šifra predmeta 20020 20021 20033 20060 20033 naziv IS TPO IPI E1 IPI
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
VŠ 64010632 64010632 64010632 64016209 64016209 šifra predmeta 20020 20021 20033 20060 20033 ocena 9 6 10 8 8
- 263 -
VŠ 64010632 64016209 priimek Bratina Bizjak ime Simon Tadeja pošta 4100 2250 kraj Kranj Ptuj
Načrtovanje – Izdelava načrta PB
Normalizacija – tretja normalna oblika
Relacija je v tretji normalni obliki : Če je v drugi normalni obliki in Če ne vsebuje tranzitivnih funkcionalnih odvisnosti atributi, ki niso del primarnega ključa, ni odvisnosti.
med
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 264 -
Načrtovanje – Izdelava načrta PB
!
Študent( VŠ, priimek, ime, pošta, kraj) Predmet( šifra predmeta, naziv) Indeks( #VŠ, #šifra predmeta, ocena) Relacijo razbijemo Študent( VŠ, priimek, ime, #pošta) Pošta(pošta, kraj) Predmet( šifra predmeta, naziv) Indeks( #VŠ, #šifra predmeta, ocena) RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 265 -
Načrtovanje – Izdelava načrta PB
VŠ 64010632 64016209 priimek Bratina Bizjak ime Simon Tadeja pošta 4100 2250 kraj Kranj Ptuj VŠ 64010632 64016209 priimek Bratina Bizjak ime Simon Tadeja pošta 4100 2250 pošta 4100 2250 kraj Kranj Ptuj
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 266 -
Načrtovanje – Izdelava načrta PB
Normalizacija – četrta poslovna normalna oblika
Relacija je v četrti poslovni normalni obliki , če: je v tretji normalni obliki in v relaciji ne obstajajo atributi, ki bi bili odvisni od vrednosti primarnega ključa.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 267 -
Načrtovanje – Izdelava načrta PB
Študent( VŠ, priimek, ime, #pošta, datum plačila šolnine, rok diplome) Za izredne študenta Za redne študenta Študent( VŠ, priimek, ime, #pošta) Redni študent( #VŠ, rok diplome) Izredni študent( #VŠ, datum plačila šolnine) RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 268 -
Načrtovanje – Izdelava načrta PB
VŠ 64010632 64016209 64010670 64620010 65120987 Priimek Bratina Bizjak Berce Mele Leban Ime Simon Tadeja Marjan Silvana Tibor Datum plačila šolnine 19.4.2002
12.4.2004
Rok diplome 15.3.2005
1.4.2005
15.7.2005
VŠ 64010632 64016209 64010670 64620010 65120987 Priimek Bratina Bizjak Berce Mele Leban
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Ime Simon Tadeja Marjan Silvana Tibor VŠ 64016209 64010670 Datum plačila šolnine 19.4.2002
12.4.2004
VŠ 64010632 64620010 Rok diplome 15.3.2005
1.4.2005
15.7.2005
Načrtovanje – Izdelava načrta PB
Tipični koraki pri izdelavi relacijskega modela
Tipični koraki: Za entitetne tipe kreiraj relacije Preveri relacije z normalizacijo Preveri relacije s pregledom uporabniških transakcij Preveri omejitve integritete Preveri model z uporabnikom Združi lokalne modele v globalni model (opcijsko) Preveri zmožnosti modela za razširitve
Ponovitev RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 270 -
Načrtovanje – Izdelava načrta PB
Primer pretvorbe konceptualnega v relacijski model Študent
Vpisna številka Priimek Ime Naslov Telefon E-mail Status …
Izpit
Zap. št. polaganja Ocena pisno Ocena ustno Datum ocene
VpisSt = VpisSt
VpisSt Priimek Ime Ulica Posta Drzava GSM Tel Email Status …
Student
N8 C20 C20 C25 N4 C20 N15 N15 C25 N1 ZapStPol VpisSt OcPisno OcUstno DatumOc
Izpit
N2 N8 N2,2 N2,2 D
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 271 -
Načrtovanje – Izdelava načrta PB
Primer pretvorbe konceptualnega v relacijski model
Dodatno poskrbimo za: Indekse Integriteto povezav Druge omejitve Poglede …
VpisSt = VpisSt
VpisSt Priimek Ime Ulica Posta Drzava GSM Tel Email Status …
Student
N8 C20 C20 C25 N4 C20 N15 N15 C25 N1 ZapStPol VpisSt OcPisno OcUstno DatumOc
Izpit
N2 N8 N2,2 N2,2 D
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 272 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza Načrtovanje • • • • • • Izdelava načrta podatkovne baze, Izdelava načrta programskih modulov, Izdelava načrta dokumentacije, Izdelava načrta testiranja, Izdelava načrta namestitve in uvedbe in Predstavitev načrta naročniku.
Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 273 -
Načrtovanje – izdelava načrta modulov
Namen aktivnosti
Namen aktivnosti je prikazati, kako bodo posamezne funkcije in procesi, identificirani v sklopu analize, realizirani v okviru rešitve.
Analiza Proces Proces Proces Funkcija Funkcija Funkcija Funkcija Funkcija Načrt Programski modul Programski modul Programski modul Programski modul Programski modul Programski modul Programski modul RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 274 -
Načrtovanje – izdelava načrta modulov
Namen aktivnosti
Funkcije in procesi iz analize predstavljajo logične sklope sistema. V fazi načrtovanja jih pretvorimo v fizične oziroma programske sklope ali module .
Pretvorba ni nujno 1:1 Implementacija enega logičnega sklopa je lahko izvedena z več programskimi sklopi. En programski sklop lahko implementira več logičnih enot.
Logična enota 1..n
1..n
Fizična enota RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 275 -
Načrtovanje – izdelava načrta modulov
Programski moduli
Tipi programskih modulov: Zaslonska maska Obdelava Poročilo ali izpis Programski modul Zaslonska maska Izpis/ poročilo Paketna obdelava
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 276 -
Načrtovanje – izdelava načrta modulov
Strukturni diagram
Strukturo programskih modulov prikažemo s pomočjo strukturnega diagrama .
Lastnosti strukturnih diagramov: Prikazuje programske module, s katerih bo sestavljena informacijska rešitev; Prikazuje odvisnost med programskimi moduli ter podatke, ki se med moduli prenašajo; Omogoča prikaz zaporedja, izbire in ponavljanja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 277 -
Načrtovanje – izdelava načrta modulov
Strukturni diagram
Lastnosti strukturnih diagramov: Moduli so organizirani v hierarhijo, podobno kot funkcije v funkcionalni razgradnji.
Na najvišjem mestu je vseobsegajoč modul ali koren. Na naslednjem nivoju so moduli, ki jih koren lahko kliče (analogno kot izbire v meniju).
Moduli komunicirajo med seboj s pomočjo parametrov: • • nosilci podatkov kontrolne zastavice
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 278 -
Načrtovanje – izdelava načrta modulov
Strukturni diagram – primer Dodaj izpitni rok dan roka Izračunaj dan roka podatek kontrolna zastavica RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 279 Preveri poslovna pravila pravila OK številka kršenega pravila
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza Načrtovanje • • • • • • Izdelava načrta podatkovne baze, Izdelava načrta programskih modulov, Izdelava načrta dokumentacije, Izdelava načrta testiranja, Izdelava načrta namestitve in uvedbe in Predstavitev načrta naročniku.
Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 280 -
Načrtovanje – načrt dokumentacije
Izdelava načrta dokumentacije
Namen aktivnosti je določiti obseg in strukturo dokumentacije ter izbrati ustrezne standarde in vzorce za dokumentacijo.
Upoštevamo zahteve naročnika iz zajema in specifikacije zahtev. Določimo tudi vire za dokumentacijo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 281 -
Načrtovanje – načrt dokumentacije
Izdelava načrta dokumentacije
Potrebno upoštevati, da lahko nekatere dele dokumentacije izdelamo šele, ko je del sistema, ki ga dokumentiramo, izdelan: Npr. posnetke zaslonov za uporabniško dokumentacijo lahko izdelamo šele, ko je uporabniški vmesnik izdelan in smo prepričani, da se ne bo več spreminjal. V grobem lahko dokumentacijo razdelimo na: uporabniško dokumentacijo, sistemsko-tehnično dokumentacijo ter navodila za operativno skrbništvo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 282 -
Načrtovanje – načrt dokumentacije
Izdelava načrta dokumentacije
Uporabniška dokumentacija je osnovna pomoč za uporabnike oziroma uporabo rešitve.
Možne različne oblike…
Vir: ERP sistem Pantheon RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 283 -
Načrtovanje – načrt dokumentacije
Izdelava načrta dokumentacije
Sistemsko-tehnična dokumentacija vidika. Npr.: dokumentira informacijsko rešitev s sistemsko-tehničnega Podatkovni model; Arhitektura sistema; Komponente sistema; Opis testnega, produkcijska in razvojnega okolja; Opis sistemske programske opreme in druge infrastrukture, ki je potrebna za delovanje sistema; …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 284 -
Načrtovanje – načrt dokumentacije
Izdelava načrta dokumentacije
Navodila za operativno skrbništvo delovanje sistema. Npr: zajemajo opis ključnih postopkov, ki so potrebni za operativno Postopek izdelave varnostnih kopij; Postopek ustavitve sistema; Postopek ponovnega zagona sistema; Postopek namestitve nadgradenj in popravkov; Postopek vzpostavitve nadomestnega sistema; …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 285 -
Načrtovanje – načrt dokumentacije
Izdelava načrta dokumentacije
V okviru načrta dokumentacije izdelamo vzorce dokumentacije in jih predstaviti naročniku ter uporabniku. Cilj je uskladitev o obliki dokumentacije. Nivo podrobnosti kritični postopki.
in obseg dokumentacije je odvisen od dogovora med izvajalcem in naročnikom. Praviloma se podrobneje dokumentirajo samo pomembnejši podsistemi in
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 286 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza Načrtovanje • • • • • • Izdelava načrta podatkovne baze, Izdelava načrta programskih modulov, Izdelava načrta dokumentacije, Izdelava načrta testiranja, Izdelava načrta namestitve in uvedbe in Predstavitev načrta naročniku.
Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 287 -
Načrtovanje – načrt testiranja
Izdelava načrta testiranja
Testiranje , ki intenzivno poteka v fazi izvedbe ter v okviru namestitve in uvedbe sistema, je nujno predhodno načrtovati. Načrt testiranja zajema: Načrt poteka testiranja Načrte za izvedbo posameznih testov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 288 -
Načrtovanje – načrt testiranja
Načrt poteka testiranja
Osnovni potek testiranja, vrste testov in vsebino testiranja določa postopek testiranja .
Z načrtom poteka testiranja , ki ga izdelamo v sklopu načrtovanja, podrobneje določimo zaporedje izvajanja posameznih testov po sklopih informacijske rešitve in po okoljih. Načrt poteka testiranja je programskih modulov. odvisen od načrta
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 289 -
Načrtovanje – načrt testiranja
Načrt za izvedbo testa
Z načrti za izvedbo posameznih testov podrobneje določimo, kaj bomo v okviru posameznega testa, ki je predviden v načrtu poteka testiranja, testirali. V odvisnosti od namena testiranja, faze testiranja in okolja testiranja podrobneje določimo vsebino testiranja npr. testiranje funkcionalnosti, testiranje GUI, testiranje vmesnikov, testiranje prevedbe podatkov, testiranje drugih nefunkcionalnih zahtev IR ipd.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 290 -
Načrtovanje – načrt testiranja
Načrt za izvedbo testa
Načrt za izvedbo testa mora opredeliti vsaj: Namen testiranja : čemu je namenjena izvedba testa? (npr. testiranje programske enote »Prijava na izpit«) Faza testiranja uvedbe) : v kateri fazi izvajamo testiranje? (npr. testiranje v fazi razvoja ali testiranje v fazi namestitve in Okolje testiranja : v katerem okolju je potrebno test izvesti? (npr. v testnem okolju) Področje testiranja : kaj se s testom testira? (npr. funkcionalnost sklopa, integracija sklopa, GUI,...) Način izvedbe testiranja : podroben opis, ki pove, kako se izvede test. Opis je odvisen od področja testiranja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 291 -
Načrtovanje – načrt testiranja
Uporaba scenarijev
Pri izdelavi načrtov za izvedbo posameznih testov si pomagamo s testnimi scenariji .
Testni scenariji opisujejo postopke uporabe sistema in so zato dobro vodilo za testiranje funkcionalnosti IR. V okviru testiranja po izbranem scenariju spremljamo uporabo in spreminjanje izbranih podatkov, na osnovi česar lahko ob zaključku testa bodisi vključeni. potrdimo ali ovržemo pravilnost delovanja modulov/ sklopov, ki so bili v testu
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 292 -
Načrtovanje – načrt testiranja
Uporaba scenarijev
Za izvedbo testa po nekem scenariju je potrebno določiti vhodne podatke ter pričakovane rezultate .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 293 -
Načrtovanje – načrt testiranja
Opredelitev scenarija Načrt poteka testiranja
Razvojno okolje T 1 Testno oklolje T 2 T 3 T 4 T 5 T 6 T 8 T n-1 T 7 Produkcijsko okolje T n
Scenarij :
Vhodni podatki
Pričakovani rezultati Načrt za izvedbo testa
Test T
3 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 294 -
Načrtovanje – načrt testiranja
Načrt testiranja – izdelek
Izdelek načrt testiranja je sestavljen iz več dokumentov: Dokument, ki podaja potek testiranja.
Dokument, ki podaja scenarije za testiranje funkcionalnih in nefunkcionalnih zahtev sistema.
Dokumenti, ki podrobneje opredeljujejo izvedbo posameznih testov, ki jih načrt poteka testiranja predvideva.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 295 -
Načrtovanje – načrt testiranja
Načrt testiranja – primer načrta poteka testiranja Načrt poteka testiranja
T1: sklop: prijava na izpit okolje: razvoj
T2:
sklop: odjava iz izpita okolje: razvoj
T3:
sklop: pregled števila prijavljenih kandidatov okolje: razvoj T4: sklop: Izpis seznama prijavljenih kandidatov okolje: razvoj
T5:
sklop: Vnos rezultatov okolje: razvoj
T6: T7: T8:
sklop: Objava rezultatov okolje: razvoj sklop: Opravljanje pisnih izpitov (integracijski test) okolje: testno Razvojno okolje sklop: Vnos obvestil T 1 okolje: razvoj ....
Tn-1: sklop: celoten sistem (potrditveni test) okolje: testno
Tn:
sklop: celoten sistem (končni test) okolje: produkcijsko Testno oklolje Produkcijsko okolje T 2
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 296 -
T 3 T 4 T 5 T 6 T 7 T 8 T n-1 T n
Načrtovanje – načrt testiranja
Načrt testiranja – primer načrta za izvedbo testa NAČRT TESTIRANJA ZA TEST T2
Namen testiranja: testiranje sklopa odjava iz izpita Faza testiranja: testiranje v fazi razvoja Okolje testiranja: razvojno okolje Področje testiranja: funkcionalnost sklopa, GUI
Način izvedbe testiranja:
1. Testiranje funkcionalnosti: testirati po scenarijih S1, S3, S4, S8 2. Testiranje GUI: preveriti skladnost elementov GUI z načrtom programskega modula/podsistema PM3
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 297 -
Načrtovanje – načrt testiranja
Načrt testiranja – primer scenarija OZNAKA SCENARIJA: S3
Kratek opis: odjava iz izpitnega roka, če je rok za odjavo že potekel
Koraki scenarija:
1. v sistem se prijaviti kot študent [Š] 2. prijaviti se na razpisan rok za izbran datum in predmet [I] 3. na strežniku spremeniti sistemski datum na trenutni datum [D] 4. poskusiti se odjaviti iz izpita [I] Vhodni podatki: Š, I, D
Pričakovani rezultati:
sistem ne dovoli odjave iz izpita [I]. Če študent izbere opcijo Odjava iz izpita, dobi sporočilo »Iz izpita se ne morete odjaviti. Rok za odjavo je že potekel!«.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 298 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza Načrtovanje • • • • • • Izdelava načrta podatkovne baze, Izdelava načrta programskih modulov, Izdelava načrta dokumentacije, Izdelava načrta testiranja, Izdelava načrta namestitve in uvedbe in Predstavitev načrta naročniku.
Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 299 -
Načrtovanje – načrt namestitve in uvedbe
Načrt namestitve in uvedbe
Naloga aktivnosti je izdelati načrt namestitve in uvedbe IR okolje ter uvedbo uporabnikov in skrbnikov za delo z IR. v razvojno, testno in produkcijsko Načrt namestitve in uvedbe v razvojnem okolju pripravijo člani projektne skupine razvijalca, pri izdelavi načrta namestitve in uvedbe v testnem oz. produkcijskem okolju pa sodelujejo tudi predstavniki končnih uporabnikov.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 300 -
Načrtovanje – načrt namestitve in uvedbe
Načrt namestitve in uvedbe
V načrtu potrebno opredeliti: namen in cilj namestitve in uvedbe, zahteve okolja za namestitev in uvedbo (pogoji za izvedbo namestitve in uvedbe, potrebna strojna oprema, potrebna sistemska programska oprema, povezovanje z ostalo aplikativno opremo, potrebna dokumentacija), naloge namestitve in uvedbe (funkcionalne naloge, administrativne naloge), udeležence namestitve in uvedbe, njihove odgovornosti ter vključitev uporabnikov in skrbnikov, opis sestave paketa za namestitev IR (določitev in označitev distribucijskih medijev - CD-ROM, diskete, spletne strežniške datoteke, priložena dokumentacija),
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 301 -
Načrtovanje – načrt namestitve in uvedbe
Načrt namestitve in uvedbe
V načrtu potrebno opredeliti (nadaljevanje): opis procesa namestitve in uvedbe (način izvedbe faz namestitve, dodelitev pravic za delo, opis prevedbe podatkov, opis načina uvajanja uporabnikov in skrbnikov, opis izvedbe potrditvenega testa IR, opis prehoda na nov sistem), merila za uspešno namestitev in uvedbo (ključne točke za uspešno opravljeno namestitev, seznam ali opis pričakovanih rezultatov namestitve in uvedbe in dovoljenih odstopanj), vrednotenje ugotovljenih napak ali pomanjkljivosti pri postopku namestitve in uvedbe, potrditev oz. odobritev rezultatov namestitve in uvedbe.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 302 -
Načrtovanje – načrt namestitve in uvedbe
Načrt namestitve in uvedbe
Načrt namestitve in uvedbe se sestoji iz: načrta namestitve IR; načrta dodelitve pravic; načrta prevedbe podatkov; načrta uvajanja načrta za izvedbo potrditvenega ter končnega testa IR načrta prehoda na nov sistem
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 303 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza Načrtovanje • • • • • • Izdelava načrta podatkovne baze, Izdelava načrta programskih modulov, Izdelava načrta dokumentacije, Izdelava načrta testiranja, Izdelava načrta namestitve in uvedbe in Predstavitev načrta naročniku.
Izvedba; Testiranje; Namestitev in uvedba
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 304 -
Načrtovanje – predstavitev načrta
Predstavitev načrta naročniku
Osnovni namen predstavitve je pridobitev potrditve s strani naročnika o ustreznosti načrta.
Pri predstavitvi je potrebno upoštevati, da naročnik navadno nima strokovnih znanj, ki bi mu omogočala poglobljeno razumevanje načrta, hkrati pa to tudi ni njegova naloga. Naročniku predstavimo le osnovne elemente načrta.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 305 -
Načrtovanje – predstavitev načrta
Predstavitev načrta naročniku
Primeren za podrobno predstavitev je načrt uporabniškega vmesnika posredno razkriva tudi druge elemente načrta. Na osnovi predstavitve lahko naročnik opozori na pomanjkljivosti oz. izrazi dodatne želje.
Aktivnost se zaključi s zahtevam. potrditvijo naročnika (navadno podpis dokumenta), da načrt ustreza
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 306 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 307 -
Testiranje
Opredelitev in namen
Glavni namen testiranja kot smo načrtovali.
je zagotoviti, da IR deluje tako, Postopek testiranja uvedba. se prepleta skozi ves življenjski cikel razvoja IR: analiza, načrtovanje, izvedba in
Podroben opis aktivnosti testiranja je podan po posameznih postopkih. RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 308 -
Testiranje
Končni izdelek
e Končen izdelek testiranja je preverjena in delujoča IR . Skozi potek testiranja nastane tudi več drugih izdelkov. Opisani so pri aktivnostih, kjer nastanejo (glej postopke analiza, načrtovanje in uvedba).
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 309 -
Testiranje
Vloge
Testiranje se izvaja na različnih ravneh. Prvo testiranje izvaja že sam testiranje s strani razvijalec neposredno ob razvoju. Sledi sistematično preizkuševalca , zatem pa še testiranje s strani končnega uporabnika .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 310 -
Testiranje
Okolje za testiranje
Za zagotovitev ustrezne ravni varnosti potrebno za testiranje in produkcijo zagotoviti ločena okolja . Ločena okolja pogosto težko (drago) zagotoviti. Najboljši pristop je uporaba ločene strojne opreme. Produkcijsko okolje vedno namestimo na ločeno strojno opremo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 311 -
Testiranje
Primer okolja za testiranje Razvojni AS Razvojni PS Produkcijski AS Razvoj in vmesno testiranje RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Testni AS in PS 312 Produkcijski PS Končno testiranje in produkcija
Testiranje
Shema postopka
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 313 -
Testiranje
Vrste in potek testiranja
Testiranje poteka na različnih ravneh , v različnih okoljih in s strani različnih vlog . Vrste testov: Test programskih enot Test integracije Sistemski test Test sprejemljivosti - Potrditveni test Test sprejemljivosti - Končni test
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 314 -
Testiranje
Vrste in potek testiranja Vrsta testa
Test programskih enot Test integracije Sistemski test
Vsebina testiranja
Uporabniški vmesnik, funkcionalnost programske enote, skladnost z zahtevami in standardi Test integracije programskih enot, test integracije v okolje (vmesniki) Obnašanje v okolju, zmogljivosti, dostopnost, nefunkcionalne zahteve
Okolje testiranja
Razvojno okolje, Testno okolje Testno okolje Testno okolje Test sprejemljivosti Potrditveni test Test sprejemljivosti Končni test Preverjanje delovanja celotne funkcionalnosti, preverjanje nefunkcionalnih zahtev Test funkcionalnosti v omejenem obsegu v produkcijskem okolju
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 315 -
Testno okolje Produkcijsk o okolje
Vloge
Razvijalec, Preizkuševalec Integrator, Preizkuševalec, Ključni uporabnik Skrbnik podatkovne baze, Sistemski administrator, Skrbnik aplikacije, Preizkuševalec, Ključni uporabnik Ključni uporabnik Ključni uporabnik
Testiranje
Vrste in potek testiranja
Testiranje programski enot Testiranje programskih enot je osnovno testiranje, osredotočeno na ustreznost uporabniškega vmesnika in funkcionalnosti programske enote glede na podane zahteve in standarde. Izvaja v razvojnem okolju. Najprej se s testiranjem ukvarjajo razvijalci, ko sami testirajo module oziroma programske enote, ki so jih razvili. Testiranje s strani razvijalcev je navadno nesistematično in se ne izvaja po načrtu.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 316 -
Testiranje
Vrste in potek testiranja
Testiranje programski enot (nadaljevanje) Ko razvitih več programskih enot (funkcionalni sklop), testiranje prevzame preizkuševalec. Skladno z načrtom testiranja preveri pravilnost funkcionalnega sklopa, preden se le-ta namesti v testno okolje.
Testiranje programskih enot se izvaja tudi v testnem okolju. Sodelujeta preizkuševalec in ključni uporabnik. Ustreznost sklopa potrdi ključni uporabnik. Če je moč testiranje v testnem in razvojnem okolju izvajamo vzporedno.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 317 -
Testiranje
Vrste in potek testiranja
Testiranje integracije Testiranje integracije namenjeno testiranju povezav med programskimi enotami ter testiranju vmesnikov - povezav IR z okoljem. Testiranje integracije poteka v več korakih, vzporedno z razvojem. Testiranje vmesnikov z okoljem navadno izvedemo na koncu za celoten sistem. Testiranje integracije poteka v testnem okolju. Pri tem sodelujejo integrator, preizkuševalec in ključni uporabniki.
Testiranje se izvaja po pripravljenem načrtu in se zaključi z ustrezno potrditvijo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 318 -
Testiranje
Vrste in potek testiranja
Testiranje sistema Testiranje sistema namenjeno testiranju obnašanja sistema kot celote ter njegovega delovanja v okolju. Poudarek na testiranju nefunkcionalnih zahtev kot na primer: zmogljivost, dostopnost, test pod obremenitvijo ipd.
Test se izvaja v testnem okolju. Izvede se enkrat, in sicer takrat, ko je v testnem okolju nameščen celoten sistem in povezan z okoljem. Pri izvedbi testa sodelujejo: skrbnik podatkovne baze, sistemski administrator, skrbnik aplikacije, preizkuševalec in ključni uporabniki.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 319 -
Testiranje
Vrste in potek testiranja
Testiranje sprejemljivosti Test sprejemljivosti se deli na potrditveni test in končni test . Potrditveni test namenjen testiranju celotne IR, tako z vidika funkcionalnih kot nefunkcionalnih zahtev, z namenom pridobitve potrdila o njegovi ustreznosti. Test se izvaja v testnem okolju v sklopu postopka namestitve in uvedbe IR. Test izvaja ključni uporabnik po pripravljenem načrtu. Končni test je zadnji test IR. Izvedemo ga v produkcijskem okolju z namenom, da se prepričamo, da pri postopku namestitve ni prišlo do kakršnihkoli napak. Končni test izvedemo s pomočjo produkcijskih oziroma pravih primerov. Izvaja ga ključni uporabnik.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 320 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 321 -
Namestitev in uvedba
Opredelitev in namen
Glavni namen namestitve in uvedbe je namestitev izbrane IR ali njenih delov v testno ali produkcijsko okolje ter; izvedba potrditvenega in končnega testa IR; uvedba uporabnikov, skrbnikov in drugih, ki bodo z IR delali, za delo z novo IR. Z izvedbo postopka zagotovimo, da lahko uporabniki nemoteno uporabljajo novo IR.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 322 -
Namestitev in uvedba
Končni izdelek
e Končen izdelek namestitve in uvedbe sta nameščena IR v produkcijsko okolje in uvedeni uporabniki . Ko je nova IR nameščena v produkcijskem okolju in so uporabniki usposobljeni za uporabo nove IR, se uporaba nove IR lahko prične.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 323 -
Namestitev in uvedba
Vloge in koraki
Aktivnosti v okviru postopka namestitve in uvedbe IR izvajajo načrtovalec podatkovne baze , uvajalec , skrbnik podatkovne baze , končni uporabnik , sistemski administrator , skrbnik aplikacije , postavitveni inženir , informacijski varnostni inženir in poslovni lastnik . Po potrebi sodelujejo tudi ostale vloge.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 324 -
Namestitev in uvedba
Vloge in koraki
Postopek namestitve in uvedbe lahko razdelimo na sedem aktivnosti: Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov, Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 325 -
Namestitev in uvedba
Shema postopka
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 326 -
Namestitev in uvedba
Shema postopka
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 327 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba: • • • • • • • Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov, Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 328 -
Namestitev in uvedba – Namestitev IR
Namestitev IR
Naloga namestitve je vključitev nove IR v testno ali produkcijsko okolje. V okviru tega je potrebno namestiti: strojno opremo, sistemsko programsko opremo in aplikativno programsko opremo - programske module.
Namestitev poteka na podlagi načrta namestitve IR, postopki nameščanja opreme pa morajo biti v čim večji meri avtomatizirani.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 329 -
Namestitev in uvedba – Namestitev IR
Namestitev IR
Namestitev IR v testno okolje poteka v več fazah (med razvojem) ali v celoti (ob zaključku). Namestitev IR v produkcijsko okolje testom v testnem okolju.
se izvede, ko je aplikacija razvita in potrjena s potrditvenim
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 330 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba: • • • • • • • Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov, Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 331 -
Namestitev in uvedba – Dodelitev pravic
Dodelitev pravic za delo z IR
V skladu z načrtom namestitve in uvedbe – načrt dodelitve pravic definiramo vloge , izvedemo vključitev oseb – uporabnikov v ustrezne vloge in jim dodelimo gesla. Upoštevamo tudi varnostno politiko . Pravice za dostop do podatkov in uporabo programskih modulov dodelimo naenkrat celotni posamezni skupini uporabnikov, ki izvajajo določeno vlogo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 332 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba: • • • • • • • Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov , Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 333 -
Namestitev in uvedba – Prevedba
Prevedba podatkov
Prevedba podatkov pomeni vzpostavitev začetnega stanja podatkov . Prevedba podatkov je lahko zelo kompleksen proces, saj se poleg prenosa podatkov pogosto izvaja tudi čiščenje , agregacija , reorganizacija podatkovnih struktur itd.
Podatki v obstoječih sistemih so pogosto pomanjkljivi ali nepopolni, zapisani v obliki, ki je razumljiva zgolj programerjem itd.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 334 -
Namestitev in uvedba – Prevedba
Prevedba podatkov
Načrt za prevedbo podatkov je narejen v sklopu načrta namestitve in uvedbe. Programski moduli, ki so potrebni za prevedbo podatkov, so narejeni v sklopu izvedbe. Prevedba podatkov v sklopu namestitve in uvedbe poteka v testno in produkcijsko okolje .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 335 -
Namestitev in uvedba – Prevedba
Prevedba podatkov
Prevedba podatkov v testno okolje lahko izvede večkrat. se izvede v sklopu namestitve testnega okolja. Po potrebi se Zagotavljanje testnih podatkov ter ponovljivosti testov je lahko zelo kompleksna naloga… Prevedba podatkov v produkcijsko okolje izvede v sklopu namestitve IR v produkcijsko okolje.
se Navadno gre za ponovitev že preverjenih in utečenih postopkov prevedbe, ki zagotovijo pravilen prenos podatkov.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 336 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba: • • • • • • • Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov, Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 337 -
Namestitev in uvedba – Potrditveni test
Izvedba potrditvenega testa
Potrditveni test izvedemo v testnem okolju. Predstavlja zaključni test pravilnega delovanja celotne IR v testnem okolju in zajema vse funkcionalnosti sistema, potrebne za delovanje v testnem okolju. Poteka na osnovi načrta testiranja in se zaključi s potrdilom o ustreznosti IR za namestitev v produkcijsko okolje .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 338 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba: • • • • • • • Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov, Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 339 -
Namestitev in uvedba – Končni test
Izvedba končnega testa
Končni test izvedemo v produkcijskem okolju. Predstavlja končni test pravilnega delovanja IR v produkcijskem okolju in poteka na produkcijskih primerih - na "živih" oz. produkcijskih podatkih v produkcijskem okolju. V končni test običajno ne moremo zajeti vse funkcionalnosti sistema. Poteka na osnovi načrta testiranja in se zaključi s potrdilom o ustreznosti IR za uporabo v produkcijskem okolju .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 340 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba: • • • • • • • Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov, Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 341 -
Namestitev in uvedba – Uvajanje
Uvajanje uporabnikov in skrbnikov za delo z IR
Naloga uvajanja je naučiti uporabnike uporabljati in skrbeti za IR . Uvajanje izvaja uvajalec , ki je v primeru razvoja IR običajno član razvojne ekipe, v primeru nakupa IR pa predstavnik proizvajalca. Osnovni cilj uvajanja je vsako skupino uporabnikov naučiti uporabljati tiste sklope IR, ki jih uporabniki pri svojem delu potrebujejo.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 342 -
Namestitev in uvedba – Uvajanje
Uvajanje uporabnikov in skrbnikov za delo z IR
V okviru obravnavane aktivnosti je potrebno poleg običajnih uporabnikov uvesti tudi skrbnike IR . Poleg uvajanja samega je potrebno poskrbeti tudi za pripravo uvajalnih gradiv in testnih podatkov v podatkovni bazi, ki bodo služili za potrebe uvajanja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 343 -
Namestitev in uvedba – Uvajanje
Uvajanje uporabnikov in skrbnikov za delo z IR – Smernice
Smernice in priporočila za uvajanje: uvajanje uporabnikov za uporabo novega sistema naj poteka ločeno za običajne uporabnike in za skrbnike novega sistema; najprej naj predstavniki izvajalca ali prodajalca IR izvedejo uvajanje skrbnikov, nato pa naj se izvede uvajanje uporabnikov – možen pristop: train the trainer ; pri uvajanju je potrebno upoštevati velikost organizacije in uporabnike razdeliti v skupine glede na njihovo področje dela in podobnost načina uporabe novega sistema;
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 344 -
Namestitev in uvedba – Uvajanje
Uvajanje uporabnikov in skrbnikov za delo z IR – Smernice
Smernice in priporočila za uvajanje (nadaljevanje): uvajanje naj poteka v testnem okolju; če se uvajanje izvaja na produkcijski podatkovni bazi, je potrebno paziti, da ne izvajamo aktivnosti, kjer bi nastali podatki, ki jih ne bi mogli povrniti v prejšnje stanje oz. v stanje, ki odraža dejansko stanje v organizaciji, uporabniki morajo imeti dostop do sistema pomoči uporabnikom (raznovrstnih navodil), hkrati pa tudi vedeti, na koga se lahko obrnejo, če naletijo na težave, ki jih kljub navodilom ne znajo sami rešiti.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 345 -
Razvoj po strukturnem pristopu
Kje smo?
Postopki strukturnega pristopa: Zajem in specifikacija zahtev; Analiza; Načrtovanje; Izvedba; Testiranje; Namestitev in uvedba: • • • • • • • Namestitev IR, Dodelitev pravic za delo z IR, Prevedba podatkov, Izvedba potrditvenega testa IR, Izvedba končnega testa IR, Uvajanje uporabnikov in skrbnikov za delo z IR, Prehod na novi sistem.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 346 -
Namestitev in uvedba – Prehod
Prehod na nov sistem
Prehod na nov sistem predstavlja trenutek, ko je IR primerna za uporabo v produkcijskem okolju. O trenutku začetka uporabe nove IR mora biti vnaprej obveščena vsa organizacija. Najprimernejši termini za začetek uporabe nove IR so delovno neintenzivna obdobja . Pogoj, ki mora biti izpolnjen za možnost začetka uporabe, so uspešno opravljene aktivnosti namestitve, testiranja, prevedbe podatkov in uvajanja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 347 -
Namestitev in uvedba – Prehod
Strategije uvedbe
V praksi se za uvedbo IR uporabljajo različne strategije. V grobem jih delimo v tri skupine: Fazni pristop ( Phased strategy ); Zamenjava BigBang ); ali vse naenkrat ( Replacement strategy, Vzporedno delovanje ( Parallel strategy ).
Poleg omenjenih strategij uvedbe se lahko uporabljajo tudi različne kombinacije.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 348 -
Namestitev in uvedba – Prehod
Strategije uvedbe – Fazni pristop
Fazni pristop: Star/obstoječ sistem nadomestimo z novim v več korakih oziroma postopoma. Vsebina posameznega koraka ali faze je lahko različna; npr. najprej eno poslovno področje, potem drugo itd., ali najprej en funkcionalni sklop, zatem drugi itd. Prednosti postopne uvedbe oziroma postopne zamenjave starega z novim sistemom so številne, vendar takšen pristop ni vedno izvedljiv, saj pogosto zahteva začasne vmesnike za komunikacijo med deli novega in starega sistema.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 349 -
Namestitev in uvedba – Prehod
Strategije uvedbe – Fazni pristop – problem začasnih vmesnikov Zunanji sistemi Star sistem Star sistem
Uvedba celotnega sistema naenkrat Uvedba po delih I faza.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 350 -
Namestitev in uvedba – Prehod
Strategije uvedbe – Zamenjava ali vse naenkrat
Zamenjava ali vse naenkrat: pri tej strategiji gre za enkratno zamenjavo obstoječega sistema z novim. Na izbran (in ustrezno načrtovan) trenutek se stare aplikacije ugasne in nadomesti z novimi. Takšen pristop zmanjša potrebo po virih, vendar je bolj tvegan, saj pomeni, da nimamo več dostopa do starega sistema v primeru, da gre kaj narobe.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 351 -
Namestitev in uvedba – Prehod
Strategije uvedbe – Vzporedno delovanje
Vzporedno delovanje: strategija vzporednega delovanja temelji na vzporedni uporabi starega in novega sistema. Med uvajanjem novega sistema v produkcijo starega ne ugašamo, temveč uporabljamo oba vzporedno. Prednost takšne strategije je v zmanjšanju tveganja (če gre kaj narobe, imamo še vedno na voljo star sistem), ključna slabost pa v zahtevnosti po virih ter potencialni neskladnosti podatkov zaradi dvojnega zajema. V praksi se strategija vzporednega delovanja pogosto uporablja v okrnjeni obliki, kjer star sistem ohranimo za vpoglede, medtem ko so vi vnosi izvedeni v novem sistemu.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 352 -
Namestitev in uvedba – Prehod
Strategije uvedbe Zamenjava Vse naenkrat Vzporedno Možni pristopi Postopoma Po področjih V celoti vzporedno Po lokacijah Delno vzporedno Po modulih Po starih aplikacijah V celoti zamenjava RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 353 -
Poglavje III
Objektni razvoj
Osnovni principi objektne usmerjenosti Osnove modelirnega jezika UML in procesa RUP Objektna analiza in načrtovanje
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 354 -
Objektni pristop
Osnovne značilnosti objektnega pristopa
Objektni pristop k razvoju IR se pojavi kot posledica uveljavitve objektnih programskih jezikov in objektnih tehnologij… V 90-ih letih nastane več deset metod objektne analize in načrtovanja IR .
Objektna analiza in načrtovanje se od strukturnega ločuje predvsem v predstavitvi realnega sveta : ne ločuje med podatki in aktivnostmi temveč vse modelira z objekti.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 355 -
Objektni pristop
Osnovne značilnosti objektnega pristopa Učilnica Študent
Programski modul: Pregled zasedenosti učilnice
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Profesor Strukturni pristop
1.
2.
Podatki Študent Profesor Učilnica Predmet … Procesi Vzdrževanje izpitnih rokov Opravljanje izpita Vodenje izpitne evidence … Podatkovna baza Podatkovna baza Programski modul Programski modul Programski modul Programski modul Programski modul Programski modul Programski modul
- 356 -
Objektni pristop
Osnovne značilnosti objektnega pristopa Učilnica Študent
Objekt Marko: PROFESOR
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Profesor Ali je učilnica NP15 15.5.07 prosta?
Objekt NP15: UČILNICA
Objektni pristop
Objekt tipa ŠTUDENT
Lastnosti: – Priimek, – Ime, – Vpisna številka, – … Funkcije: – Prijava na izpit – Odjava iz izpita – Pregled elektronskega indeksa – …
Objekt tipa UČILNICA
Lastnosti:
- 357 -
– Velikost, – Število sedežev, – … Funkcije: – Pregled predavanj v učilnici po dnevih – Izpis naziva profesorja P, ki na določen dan D predava v učilnici – …
Objektni pristop
Primerjava postopkov strukturnega in objektnega razvoja IR
Zajem zahtev Analiza Načrtovanje Izvedba
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Življenjski cikel razvoja IR - 358 -
Uvajanje Testiranje Vzdrževanje
Objektni pristop
Vsebina
Sledi: Osnovni principi objektne usmerjenosti Osnove modelirnega jezika UML in procesa RUP Objektna analiza in načrtovanje
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 359 -
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; • • • Objekt in razred Enkapsulacija ali skrivanje podatkov Dedovanje in hierarhija Jezik UML in proces RUP; Objekta analiza in načrtovanje;
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 360 -
Osnovni principi objektne usmerjenosti
Definicija objekta
Objekt lahko predstavlja fizično entiteto ali konceptualni pojem .
Učitelj, učenec,… Predmet, test,… S stališča razvoja IR je objekt mejami in pomenom za IR . koncept, abstrakcija ali stvar z natančno določenimi
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 361 -
Osnovni principi objektne usmerjenosti
Definicija objekta
Objekti lahko predstavljajo tudi konkretne koncepte s področja računalniških jezikov in rešitev : Seznam Indeks …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 362 -
Osnovni principi objektne usmerjenosti
Abstrakcija
Objekt je abstrakcija neke entitete, ki je pomembna za IR…
Vesna: Profesor
Ime: Vesna Jug Telefon: 01/4768 814 Prijavi (int pid): boolean
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 363 -
Osnovni principi objektne usmerjenosti
Stanje, obnašanje in identiteta objekta
Objekt ima svoje stanje , obnašanje in identiteto . Stanje objekta določajo njegove lastnosti : Flomaster ima barvo, proizvajalca, debelino,… Knjiga ima vsebino, število strani, založnika,…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 364 -
Osnovni principi objektne usmerjenosti
Stanje, obnašanje in identiteta objekta
Objekt se zaveda svojega stanja ! Ve kakšne vrednost imajo lastnosti, ki ga opisujejo.
Flomaster je rumene barve, debeline 3mm, proizvajalca Pilot,… Knjiga opisuje razvoj IS, ima 432 strani, izdaja jo založba Pasadena,… Vsakokrat ko se spremeni vrednost neke lastnosti, ki nas o objektu zanima, rečemo se je spremenilo stanje objekta .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 365 -
Osnovni principi objektne usmerjenosti
Stanje, obnašanje in identiteta objekta
Objekti imajo svoje obnašanje . Študent študira, se prijavi na izpit, opravlja izpit, posluša predavanja,… Pisalo piše??? Kdo v resnici piše?
Objekt se zaveda, kaj lahko počne in kaj se lahko z njim počne !
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 366 -
Osnovni principi objektne usmerjenosti
Razred
Objekte istega tipa združujemo v razrede .
Razred je opis skupine objektov z enakimi lastnostmi, enakim obnašanjem, povezavami in semantiko.
abstrakcija, ki poudarja pomembne karakteristike in izpusti ostale nepomembne karakteristike.
Objekt je primerek razreda .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 367 -
Osnovni principi objektne usmerjenosti
Razred
Odnos med objektom in razredom je podoben odnosu med entiteto in entitetnim tipom.
Objekti Razred Ime razreda: Profesor
• •
Lastnosti:
Ime • Priimek • …
Obnašanje
…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 368 -
Osnovni principi objektne usmerjenosti
Razred
Koliko razredov je na sliki?
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 369 -
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; • • • Objekt in razred Enkapsulacija ali skrivanje podatkov Dedovanje in hierarhija Jezik UML in proces RUP; Objekta analiza in načrtovanje;
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 370 -
Osnovni principi objektne usmerjenosti
Enkapsulacija ali skrivanje podatkov
Enkapsulacija govori o organizaciji podatkov, ki jih vemo o objektih, na način, da jih bo moč učinkovito uporabljati in vzdrževati? Kar vemo o objektu, razdelimo v dve skupini: Kar moramo vedeti, da objekt lahko uporabimo, Kar moramo vedeti, da bo objekt pravilno deloval.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 371 -
Osnovni principi objektne usmerjenosti
Enkapsulacija ali skrivanje podatkov
Želimo se naučiti voziti avtomobil. Kaj moramo o avtomobilu vedeti?
Kako se upravlja z volanom, kako se zavira in p pospešuje,… Potrebno vedeti, kako deluje motor? Kako pride do vžiga?
Kaj natančno se zgodi, ko pritisnemo na plin?
Za delo z objektom ne potrebujemo vseh podatkov o objektu, temveč samo določene – vmesnik ( interface ).
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 372 -
Osnovni principi objektne usmerjenosti
Enkapsulacija ali skrivanje podatkov
Kaj mora veljati, da objekt deluje pravilno?
Vmesnik nam omogoča uporabo objekta. Za njegovo pravilno delovanje pa morajo biti vse funkcije, ki jih vmesnik daje na voljo, tudi dejansko implementirane!
Za delovanje objekta moramo priskrbeti mehanizem, ki se zna odzivati na vmesnik…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 373 -
Osnovni principi objektne usmerjenosti
Enkapsulacija ali skrivanje podatkov
Enkapsulacija objekta zahteva, da skrijemo: Implementacijo obnašanja, ki je na voljo prek vmesnika; Podatke znotraj objekta, ki so potrebni za implementacijo obnašanja in beležijo stanje objekta v vsakem trenutku njegovega obstoja.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 374 -
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; • • • Objekt in razred Enkapsulacija ali skrivanje podatkov Dedovanje in hierarhija Jezik UML in proces RUP; Objekta analiza in načrtovanje;
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 375 -
Osnovni principi objektne usmerjenosti
Hierarhija in dedovanje
Dedovanje razvoja.
je ključen koncept objektnega Pove, da ima objekt v času svojega kreiranja dostop tudi do lastnosti drugih razredov poleg dostopa do razreda, kateremu pripada.
Podedovan razred združi vse lastnosti (lastne in podedovane) v svojo definicijo.
Primer: Profesor je poseben primer pedagoškega delavca .
Objekt tipa profesor ima lastnosti pedagoškega delavca ter svoje lastne lastnosti.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 376 -
Osnovni principi objektne usmerjenosti
Hierarhija in dedovanje
Primer razreda Profesor in Pedagoški delavec Opis: P ima enake lastnosti kot PD.
Pedagoški delavec
Ime Priimek
Profesor
Akademski naziv Število predmetov Za P nas zanima tudi akademski naziv ter št. predmetov, ki jih poučuje.
EMŠO Telefon Delovno mesto Datum rojstva Naslov … Vnesi oceno Razpiši temo diplome P lahko razpisuje tudi teme za diplome.
… Razpiši izpitni rok Vnesi oceno P ima pri vnašanju ocen več pravic kot PD. Lahko vpisuje tudi ocene ustno…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 377 -
Osnovni principi objektne usmerjenosti
Hierarhija in dedovanje
Razrede lahko zapišemo v hierarhijo .
Raziskovalec Asistent Oseba Delavec Pedagoški delavec Profesor Redni profesor Strokovni sodelavec RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 378 -
Osnovni principi objektne usmerjenosti
Hierarhija in dedovanje
Hierarhija razredov v Delphi razvojnem okolju…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 379 -
Osnovni principi objektne usmerjenosti
Hierarhija in dedovanje
Delček razredne hierarhije java.awt
…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 380 -
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; Jezik UML in proces RUP: • • O jeziku UML Osnove procesa objektnega razvoja RUP; Objekta analiza in načrtovanje;
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 381 -
Jezik UML in proces RUP
Zakaj UML?
Skupinski razvoj RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Jezik za modeliranje 382 Poenoten proces
Jezik UML in proces RUP
UML – univerzalni modelirni jezik Univerzalni modelirni jezik (UML) je jezik za specifikacijo, vizualizacijo, konstrukcijo in dokumentacijo izdelkov v okviru objektnega razvoja informacijskih rešitev.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 383 -
Jezik UML in proces RUP
Razlogi za nastanek UML
V začetku 90-ih več kot 50 OO metod!
Fusion, Shlaer-Mellor, ROOM, Wirfs-Brock, Coad-Yourdon, MOSES, BOOM, OOSD, OSA, BON, Catalysis, HOOD, Ooram, DOORS … Problem: Presek in konflikti v meta-modelih… Različne grafične notacije… Procesi različni ali manjkajo Gospodarstvo potrebuje standard!!!
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 384 -
Jezik UML in proces RUP
UML – Zgodovina do 1997 RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 385 -
Jezik UML in proces RUP
Drugi viri in prispevki Booch Rumbaugh Jacobson Meyer
predpogoji in popogoji
Fusion
opisi operacij, oštevilčenje sporočil
Harel
diagrami stanj
Gamma, et.al
ogrodja, vzorci, opombe
Shlaer - Mellor
življenjski cikli objekta
Odell
klasifikacija
Wirfs-Brock
odgovornosti
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 386 -
Jezik UML in proces RUP
UML danes
UML 1.1 specifikacija predstavlja integracijo različnih metod/pristopov problem slaba semantična integracija.
Številne revizije: UML 1.3, 1.4, 1.5
UML 2.0 največja revizija – odpravlja semantične neskladnosti… sprejet v dveh delih: oktobra 2004 prvi del, novembra 2005 drugi del. V postopku sprejemanja UML 2.1
Na voljo številna orodja , ki podpirajo UML 2.0 specifikacijo…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 387 -
Jezik UML in proces RUP
UML diagramske tehnike
Objektni diagrami Diagrami primerov uporabe Razredni diagrami
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Diagrami aktivnosti Diagrami impleme ntacije Diagrami stanj
388 UML diagrami
Kompo nentni diagrami Diagrami zapore dja Diagrami sodelova nja
Jezik UML in proces RUP
UML diagramske tehnike – enostavnost študent profesor prijava na izbirni predmet izbira predmetov za poučevanje Referent RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko ?
seznam predavanj vnos podatkov o profesorjih vnos podatkov o študentih zaključitev prijave 389 sistem za pripravo urnika
Jezik UML in proces RUP
UML diagramske tehnike – kompleksnost RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 390 -
Jezik UML in proces RUP
UML diagramske tehnike – hrbtenica razvoja diagram primera uporabe razredni diagram diagram stanj
add file [ numberOffile==MAX ] / flag OFF Openning
Use-Case 1 Actor A Actor B
close file
Poznavalec obravnavanega področja Use-Case 2 Use-Case 3
UI MFC Reading
<
Closing close file add file Writing DocumentApp
Razvijalec
9: sortByName ( ) 1: Doc view request ( ) user : »ç¿ëÀÚ mainWnd : MainWnd 2: fetchDoc( ) 4: create ( ) 8: fillFile ( ) fileMgr : FileMgr 3: create ( ) 6: fillDocument ( ) gFile : GrpFile repository : Repository 7: readFile ( ) 5: readDoc ( ) document : Document
diagram sodelovanja
Persistence Rog ueWave g lobal
diagram paketov FileManager GraphicFile File diagram komponent diagram implementacije Repository DocumentList Document FileList
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼ -¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö Window95 Windows95 Windows95 ¹®¼-°ü¸® Ŭ¶óÀ̾ðÆ®.EXE
Windows NT Windows NT ¹®¼-°ü¸® ¿£Áø.EXE
Solaris IBM Mainframe µ¥ÀÌŸº£À̽º¼-¹ö ÀÀ¿ë¼-¹ö.EXE
¹®¼-°ü¸® ¾ÖÇø´ Alpha UNIX
Forward Engineering (specifikacija -> koda) Reverse Engineering (koda -> specifikacija)
ƯÁ ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äà »ÇÑ´Ù.
È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼-À Ç Á ¤º¸¸¦ ÇØ´ç ¹®¼- °´Ã ¼¿¡ ¼³Á ¤À » ¿äà »ÇÑ´Ù.
user mainWnd fileMgr : FileMgr document : Document gFile repository 1: Doc view reques t ( ) 2: fetc hDoc ( ) 3: c reate ( ) 4: c reate ( ) 5: readDoc ( ) 6: fill Doc ument ( ) 8: fill File ( ) 7: readFile ( ) 9: s ortByName ( ) È-¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã ¼µé¿¡ ´ëÇØ À ̸§º°·Î Á¤·Ä À» ½Ã ÄÑ È-¸é¿¡ º¸¿©Á Ø´Ù.
diagram zaporedja urejanje izvorne kode, prevajanje, razhroščevanje, povezovanje RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 391 -
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; Jezik UML in proces RUP: • • O jeziku UML Osnove procesa objektnega razvoja RUP; Objekta analiza in načrtovanje;
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 392 -
Jezik UML in proces RUP
Proces razvoja
Proces določa kdo dela kaj, kdaj in kako za doseganje določenega cilja. Cilj razvoja IR je njena izgradnja ali izboljšava.
Nove ali spremenjene zahteve Nov ali spremenjen sistem Proces razvoja IR RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 393 -
Jezik UML in proces RUP
Proces razvoja – RUP
RUP – Rational Unified Process primer procesa objektnega razvoja avtor: podjetje Rational
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 394 -
Jezik UML in proces RUP
RUP – glavne lastnosti
Glavne lastnosti RUP: Daje smernice za učinkovit razvoj kakovostne programske opreme Zmanjšuje tveganje in povečuje predvidljivost Zajema in vpeljuje najboljše izkušnje • • • učenje iz izkušenj drugih mentorstvo v elektronski obliki razširitev izobraževalnega gradiva Pospešuje skupno vizijo in kulturo Vpeljuje načrt za uvedbo orodij Omogoča enostaven in hiter dostop do informacij v elektronski obliki (spletna stran,...)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 395 -
Jezik UML in proces RUP
RUP – šest poglavitnih dobrih praks
RUP opisuje, kako učinkovito uporabiti šest najboljših izkušenj s področja razvoja IR.
Iterativni razvoj Obvladovanje zahtev Uporaba komponentne arhitekture Vizualno modeliranje Preverjanje kakovosti Nadzorovanje sprememb RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 396 -
Jezik UML in proces RUP
RUP – primeri uporabe kot osnova drugim aktivnostim
Primeri uporabe so osnova mnogim aktivnostim procesa: Izdelava in potrditev razvojnega modela Določitev preizkusnih primerov in postopkov za model preizkušanja Načrtovanje iteracij Izdelava uporabniške dokumentacije vpeljava sistema Primeri uporabe pripomorejo k uskladitvi vsebine različnih modelov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 397 -
Jezik UML in proces RUP
RUP – primeri uporabe so hrbtenica procesa RUP
Primeri uporabe so hrbtenica procesa RUP.
Zajem zahtev Analiza Načrtovanje Implementacija Testiranje
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 398 -
Jezik UML in proces RUP
RUP – arhitekturna usmerjenost
Na arhitekturo se osredotočimo v začetnih iteracijah Zasnova in potrditev arhitekture je eden primarnih ciljev razvoja IR.
Dokument o arhitekturi IR pomeni primarni izdelek, ki opisuje izbrano arhitekturo.
Drugi izdelki, ki izhajajo iz arhitekture Smernice razvoja Zgradba izdelka Sestava skupine
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 399 -
Jezik UML in proces RUP
RUP – arhitekturna usmerjenost – 4+1 pogledi na arhitekturo Razvijalec
Zgradba
Končni Končni upor.
Funkcionalnost Zmogljivost
Razširljivost
Throughput
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 400 Programer
Upravljanje s prog. op.
System topology
Predaja v uporabo, namestitev
communication
Jezik UML in proces RUP
RUP – prednosti arhitekturno usmerjenega pristopa
Omogoča vzpostavitev in ohranitev nadzora nad projektom, obvladovanje kompleksnosti in vzdrževanje celovitosti sistema.
Razširja možnosti ponovne uporabe izdelkov.
Pospešuje komponentno usmerjen razvoj .
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 401 -
Jezik UML in proces RUP
RUP – faze življenjskega cikla razvoja po RUP
RUP zajema štiri faze: Začetna faza – vzpostavitev projekta, opredelitev okvirjev obravnavanega področja, načrtovanje virov,...; Zbiranje informacij – zbiranje informacij o obravnavanem področju, specifikacija značilnosti, načrtovanje arhitekture; Konstrukcija – konstrukcija izdelka; Prevzem – predaja izdelka v uporabo končnemu uporabniku.
čas Začetna faza Zbiranje informacij Konstrukcija Prevzem RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 402 -
Jezik UML in proces RUP
RUP – makro mejniki čas Začetna faza Mejnik Določeni cilji projekta/ naloge Zbiranje informacij Mejnik Stabilna arhitektura Konstrukcija Mejnik Izdelek delujoč/ ustrezen Prevzem Mejnik Uporabnik zadovoljen RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 403 -
Jezik UML in proces RUP
RUP – mikro mejniki Zbiranje informacij Konstrukcija Začetna faza čas I 1 I 2 I 3 I 4 I 5 I 6 Prevzem I 7 I 8 Iteracija je specifično zaporedje aktivnosti izvedenih na osnovi načrta in z določenim kriterijem vrednotenja, ki se konča z izdajo izdelka.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 404 -
Jezik UML in proces RUP
RUP – gradnja modela sistema prek postopkov RUP Poslovno modeliranje Primeri uporabe poslovnega okolja Konceptualni model poslovnega okolja Zajem zahtev Model primerov uporabe Analiza in načrtovanje Model načrta Izvedba Model izvedbe Testiranje Modelira poslovno okolje Prikazuje tiste primere uporabe iz poslovnega okolja, za katere se bo razvijala IR Prikazuje načrt za implementacijo rešitve Prikazuje dejansko Izvedbo rešitve Model testiranja Prikazuje načrt testiranja RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 405 -
RUP – prednosti arhitekturno usmerjenega pristopa Osnovni postopki V vsaki iteraciji gremo čez vse postopke Podporni postopki RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 406 -
Jezik UML in proces RUP
RUP – osnovni in podporni postopki
RUP definira več postopkov: Osnovni postopki: • • • • • • Poslovno modeliranje Zajem zahtev Analiza in načrtovanje Izvedba Testiranje Uvedba Podporni postopki: • • • upravljanje s konfiguracijami projektno vodenje obvladovanje okolja
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 407 -
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; Jezik UML in proces RUP; Zajem zahtev; Objekta analiza in načrtovanje
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 408 -
RUP – Zajem zahtev
RUP – zajem zahtev
Namen zajema zahtev je: Doseči soglasje s stranko oz. uporabniki, kaj naj sistem dela.
Omogočiti razvijalcem boljše razumevanje zahtev sistema.
Določiti meje sistema.
Zagotoviti osnovo za načrtovanje tehnične vsebine.
Definirati uporabniški vmesnik sistema.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 409 -
RUP – Zajem zahtev
RUP – zajem zahtev
Namen zajema zahtev je podoben kot pri strukturnem pristopu V določeni meri uporabljamo podobne tehnike kot pri strukturnem pristopu RUP za zapis zahtev uvaja višjo stopnjo formalnosti: Primeri uporabe (UML) Opisi s tokovi dogodkov Uporaba drugih tehnik UML v posebnih primerih (diagrami stanj, diagrami aktivnosti, diagrami interakcije)
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 410 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Diagrami primerov uporabe Ključna elementa diagramov primerov uporabe sta akter in primer uporabe Med seboj jih povezujemo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 411 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Akter Akter je oseba ali stvar (sistem, naprava), ki je: • • izven sistema, v neposredni interakciji s sistemom.
Akter je na mejah sistema Poseben primer akterja je ura oz. časovni prožilec, ki omogoča periodično proženje posameznih primerov uporabe
Akter Stranka RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 412 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Primer uporabe Primer uporabe je zaporedje akcij, ki jih izvede sistem in dajo določenemu akterju nek rezultat Primer uporabe lahko obravnavamo tudi kot zaključen tok dogodkov z določenim namenom Primer uporabe prikazuje pomembnejši način uporabe sistema za enega ali več akterijev, ki vplivajo na ta primer uporabe Primer uporabe poimenujem z vidika uporabnika
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 413 Primer uporabe Kupi vstopnico
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Primer uporabe - tok dogodkov Opis dogajanja znotraj primera uporabe Primer uporabe ima en osnovni tok dogodkov.
Primer uporabe ima več alternativnih tokov: • • • Običajni primeri Neobičajni primeri Izjemni primeri in napake
Tok dogodkov RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 414 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Primer osnovnega toka dogodkov – Kupi vstopnico preko interneta: 1. Sistem prikaže seznam prireditev 2. Kupec izbere prireditev 3. Sistem vrne kupcu seznam terminov, kjer so še prosti sedeži za izbrano prireditev in podrobne podatke o prireditvi.
4. Kupec izbere termin 5. Sistem prikaže kupcu matriko sedežev z označenimi zasedenimi in rezerviranimi sedeži.
6. Kupec izbere enega ali več prostih sedežev 7. Sistem označi izbrane sedeže kot rezervirane 8. Sistem zahteva vnos imena in št. kreditne kartice 9. Kupec vnese ime in št. kreditne kartice 10. Sistem komunicira z zunanjim sistemom ponudnika kreditnih kartic 11. Zunanji sistem vrne sporočilo o uspešni transakciji 12. Sistem označi sedeže kot prodane 13. Sistem prikaže zaslon z vstopnico/cami, ki vsebuje tudi referenčne št. vstopnic 14. Sistem pošlje e-pošto stranki z enakimi podatki kot v točki 12
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 415 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Primer alternativnega toka dogodkov – Kupi vstopnico preko interneta: 1.
2.
3.
Sistem prikaže seznam prireditev Kupec izbere prireditev Sistem vrne kupcu sporočilo, da so vse vstopnice na vseh terminih prodane.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 416 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Podtokovi Pri obsežnejših oz. ponavljajočih tokovih dogodkov si pogosto pomagamo s podtokovi Podtokovi omogočajo ponovno uporabo dela toka dogodkov Primer podtokov: 1.
2.
3.
4.
5.
Sistem prikaže uporabniku seznam oseb Uporabnik iz seznama izbere določeno osebo Sistem prikaže podrobnosti osebe Uporabnik lahko izbere brisanje osebe (glej
Podtok A
) ali ažuriranje podatkov o osebi (glej
Podtok B
).
Sistem osveži prikaz 4A.1 Sistem izbriše podatke o osebi 4A.2 Sistem izpiše sporočilo o uspešnem brisanju podatkov o osebi
Podtok A
4B.1 Uporabnik ažurira podatke o osebi in spremembe potrdi 4B.2 Sistem izpiše sporočilo o uspešnem ažuriranju podatkov o osebi
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 417 Podtok B
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Komunikacija Komunikacija je povezava, ki prikazuje, da akter uporablja sistem na nek način (primer uporabe) oz. da je v okviru primera uporabe uporabljen nek zunanji sistem.
Komunikacija Kupi vstopnico Stranka RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 418 Bančni sistem
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
UML ne predpisuje usmerjanja komunikacij, usmerjanje je razširitev, ki je opredeljena v RUP Komunikacija in usmerjenost kadar gre puščica iz akterja proti primeru uporabe to pomeni, da je akter začetnik primera uporabe (uporablja določeno funkcionalnost sistema) kadar gre puščica iz primera uporabe proti akterju (ali pa puščic ni) to pomeni, da ti akterji sodelujejo pri določenem primeru uporabe vsak primer uporabe mora imeti povezavo, ki je usmerjena od akterja proti primeru uporabe
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 419 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Odvisnost “vključuje” - <
Odvisnost “vključuje” Stranka RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Kupi vstopnico Rezerviraj vstopnico 420 Plačaj s kartico
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Odvisnost “razširja” - <
Odvisnost “razširja” Stranka Kupi vstopnico <
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Generalizacija med akterji Prikazuje, da določen akter lahko sistem uporablja tudi na tak način kot določen drugi akter.
Generalizacija med akterji Stranka Kupi vstopnico Rezerviraj vstopnico Stranka “VIP” Prijavi bonus Preglej bonus RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 422 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Generalizacija med primeri uporabe Omogoča, da določen primer uporabe “razbijemo” na bolj podrobne primere uporabe
Generalizacija med primeri uporabe Plačaj s kartico Plačaj z bančno kartico Plačaj s kreditno kartico RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 423 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Meja sistema Mejo sistema lahko eksplicitno prikažemo s pomočjo pravokotnika
Meja sistema RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Stranka Stranka “VIP” 424 Kupi vstopnico Rezerviraj vstopnico Prijavi bonus Preglej bonus
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Možen pristop pri načrtovanju diagrama primerov uporabe: 1. Identificiraj akterje 2. Identificiraj primere uporabe sistema 3. Poveži akterje in primere uporabe (ugotovi na kakšne načine različni akterji uporabljajo sistem) 4. Odstrani odvečne primere uporabe (npr. neuporabljeni primeri uporabe) 5. Odstrani odvečne akterje (npr. podvojeni akterji; akterji, ki to niso ipd.) 6. Preveri in popravi morebitne napake
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 425 -
RUP – Zajem zahtev
RUP – zajem zahtev – primeri uporabe
Pogoste napake pri načrtovanju primerov uporabe: 1. Nejasno/nepravilno opredeljene meje sistema 2. Veliko število primerov uporabe na enem diagramu 3. Križanje povezav, nepreglednost diagrama 4. Primeri uporabe niso napisani s stališča akterja oz. uporabnika (npr. “Kupi vstopnico” vs. “Prodaj vstopnico”) 5. Model primerov uporabe je podoben diagramu podatkovnih tokov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 426 -
Primer
RUP – zajem zahtev – primeri uporabe Kupi vstopnico preko spleta Stranka Rezerviraj vstopnico Plačaj preko spleta RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Stranka “VIP” Referent Prijavi bonus <
RUP – Zajem zahtev
RUP – zajem zahtev – pomembni izdelki Model primerov uporabe Akterji Primeri uporabe ...
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Opisi primerov uporabe 428 Slovar Dodatne specifikacije
RUP – Zajem zahtev
RUP – zajem zahtev – Model primerov uporabe
Ime Kratek opis Tokovi dogodkov Diagrami aktivnosti in diagrami stanj Diagrami primerov uporabe Posebne zahteve Pred-pogoji Po-pogoji Razširitvene točke
Model primerov uporabe Akterji Primeri uporabe ...
Opisi primerov uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 429 -
RUP – zajem zahtev – Model primerov uporabe – primer opisa primera uporabe
Register for Courses Use Case
1. Brief Description
This use case allows a Student to register for course offerings in the current semester. The Student can also modify or delete course selections if changes are made within the add/drop period at the beginning of the semester. The Course Catalog System provides a list of all the course offerings for the current semester. The main actor of this use case is the Student. The Course Catalog System is an actor within the use case.
2. Flow of Events
The use case begins when the Student selects the "maintain schedule" activity from the Main Form.
2.1
Basic Flow - Create a Schedule
1. The Student selects "create schedule."
RAZVOJ INFORMACIJSKIH SISTEMOV
2. The system displays a blank schedule form.
©Laboratorij za informatiko 430 -
3. The system retrieves a list of available course offerings from the Course Catalog System. 4. The Student selects 4 primary course offerings and 2 alternate course offerings from the list of available offerings. Once the selections are complete the Student selects "submit." 5. The "Add Course Offering" sub-flow is performed at this step for each selected course offering. 6. The system saves the schedule.
2.2 Alternative Flows
2.2.1
Modify a Schedule
1. The Student selects "modify schedule." 2. The system retrieves and displays the Student's current schedule (e.g., the schedule for the current semester). 3. The system retrieves a list of all the course offerings available for the current semester from the Course Catalog System. The system displays the list to the Student. 4. The Student can then modify the course selections by deleting and adding new courses. The Student selects the courses to add from the list of available courses. The Student also selects any course offerings to delete from the existing schedule. Once the edits are complete the Student selects "submit". 5. The "Add Course Offering" sub-flow is performed at this step for each selected course offering. 6. The system saves the schedule. 2.2.2
Delete a Schedule
1. The Student selects the "delete schedule" activity. 2. The system retrieves and displays the Student current schedule. 3. The Student selects "delete." 4. The system prompts the Student to verify the deletion. 5. The Student verifies the deletion. 6. The system deletes the schedule. 2.2.3
Save a Schedule
RUP – Zajem zahtev
RUP – zajem zahtev – Model primerov uporabe – primer opisa primera uporabe
2.2.3
Save a Schedule
At any point, the Student may choose to save a schedule without submitting it by selecting "save". The current schedule is saved, but the student is not added to any of the selected course offerings. The course offerings are marked as "selected" in the schedule. 2.2.4
Add Course Offering
The system verifies that the Student has the necessary prerequisites and that the course offering is open. The system then adds the Student to the selected course offering. The course offering is marked as "enrolled in" in the schedule. 2.2.5
Unfulfilled Prerequisites or Course Full
If in the "Add Course" sub-flow the system determines that the Student has not satisfied the necessary prerequisites or that the selected course offering is full, an error message is displayed. The Student can either select a different course offering or cancel the operation, at which point the use case is restarted. 2.2.6
No Schedule Found
©Laboratorij za informatiko
If in the "Modify a Schedule" or "Delete a Schedule" sub-flows the system is unable to retrieve the Student's schedule, an error message is displayed. The Student
Visokošolski strokovni študij, Smer Informatika 431 -
acknowledges the error and the use case is restarted. 2.2.7
Course Catalog System Unavailable
If, the system is unable to communicate with the Course Catalog System after a specified number of tries, the system will display an error message to the Student. The Student acknowledges the error message and the use case terminates. 2.2.8
Course Registration Closed
If, when the student selects "maintain schedule", registration for the current semester has been closed, a message is displayed to the Student and the use case terminates. Students cannot register for courses after registration for the current semester has been closed.
3. Special Requirements
There are no special requirements associated with this use case.
4. Preconditions 4.1 Login
Before this use case begins the Student has logged onto the system.
5. Postconditions
There are no postconditions associated with this use case.
6. Extension Points
There are no extension points associated with this use case.
RUP – Zajem zahtev
RUP – zajem zahtev – dodatne specifikacije
Funkcionalnost Uporabnost Zanesljivost Učinkovitost Podpora Omejitve pri načrtovanju
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 432 -
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; Jezik UML in proces RUP; Zajem zahtev; Objekta analiza in načrtovanje
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 433 -
Objekta analiza in načrtovanje
RUP – namen analize in načrtovanja
Namen analize in načrtovanja je: Pretvoriti zahteve v načrt sistema; Razviti robustno arhitekturo sistema; Prilagoditi načrt izvedbenemu okolju.
Povezava z drugimi postopki: Poslovno modeliranje postavi organizacijski kontekst sistema.
Postopek zajema zahtev je primarni vhod v postopek analize in načrtovanja.
Postopek izvedbe realizira sistem na osnovi načrta, …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 434 -
Objekta analiza in načrtovanje
RUP – Analiza in načrtovanje – primerjava analize in načrtovanja Analiza
Se osredotoča na razumevanje problema
Idealizirano načrtovanje
Obnašanje
Struktura sistema
Funkcijske zahteve
Majhen model Načrtovanje
Se osredotoči na razumevanje rešitve
Operacije in atributi
Zmogljivost rešitve
Blizu programski kodi
Življenjski cikel objektov
Nefunkcionalne zahteve
Velik model RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 435 -
Objekta analiza in načrtovanje
Končen izdelek analize in načrtovanja RUP – Analiza in načrtovanje – vhodni in izhodni izdelki Model načrta Model primerov uporabe Analiza in načrtovanje Slovar RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Dodatne specifikacije 436 Podatkovni model Arhitektura sistema
Objekta analiza in načrtovanje
RUP – Analiza in načrtovanje – vloge
Realizacija primera uporabe Arhitekt Model načrta RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Načrtovalec Arhitektura sistema Pregledovalec arhitekture Paket/ Podsistem Razred Pregledovalec načrta Načrtovalec PB 437 Podatkovni model
Objekta analiza in načrtovanje
RUP – Analiza in načrtovanje – koraki Arhitekt Analiza arhitekture Pregledovalec arhitekture Načrt arhitekture Analiza sočasnosti in porazdeljenosti Pregled arhitekture Načrtovalec Analiza primerov uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Načrtovanje podsistemov Načrtovanje primerov uporabe Načrtovanje razredov 438 Pregled načrta Pregledovalec načrta
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; Jezik UML in proces RUP; Objekta analiza in načrtovanje: • • • • • • Analiza arhitekture Analiza primerov uporabe Načrt arhitekture Načrt primerov uporabe Načrt podsistemov Načrt razredov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 439 -
Objekta analiza in načrtovanje
Analiza arhitekture Slovar Dodatne specifikacije Smernice za načrtovanje Arhitektura sistema Analiza arhitekture Izbrani primeri uporabe za realizacijo Model primerov uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Poslovni model 440 Model načrta
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture
Osnovni koraki aktivnosti analiza arhitekture sistema: Identifikacija ključnih abstrakcij Analiza potreb po sistemskih storitvah Opredelitev arhitekturnih ravni
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 441 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – Identifikacija ključnih abstrakcij
V okviru identifikacije ključnih abstrakcij potrebno identificirati začetne razrede analize tipično gre za poslovne entitete ter povezave med njimi – prikažemo z razrednim diagramom.
Razredi analize ali ključne abstrakcije
Vhodi: Znanje o domeni (vključno s poslovnim modelom, če obstaja) Zahteve Slovar
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 442 -
Objekta analiza in načrtovanje
RUP – Od razredov analize do izvedbenih elementov – komponent Analiza Načrt Izvedba RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 443 -
Objekta analiza in načrtovanje
Primer ključnih abstrakcij
Nekaj ključnih abstrakcij s področja študijska informatike…
Študent Prijava Izpitni rok Vpis Študijski program Predmet RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 444 -
Objekta analiza in načrtovanje
Primer ključnih abstrakcij
Povezave med identificiranimi abstrakcijami…
Študent Prijava Izpitni rok Vpis RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Študijski program 445 Predmet
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – analiza potreb po sistemskih storitvah Želena funkcionalnost Okolje implementacije Dodatne specifikacije Arhitekt Model primerov uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Arhitekt je odgovoren za izbiro ustreznih načrtovalskih vzorcev za realizacijo potrebnih sistemskih storitev (dostop do relacijske podatkovne baze, uporaba digitalnih potrdil, obvladovanje transakcij,… 446 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – analiza potreb po sistemskih storitvah
Primeri sistemskih storitev: Trajnost Procesna komunikacija (IPC in RPC) Usmerjanje sporočil Porazdeljevanje Obvladovanje transakcij Nadzor nad procesi in sinhronizacija Varnost Odkrivanje, obravnavanje in poročanje o napakah …
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 447 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – opredelitev arhitekturnih ravni
V analizi arhitekturne potrebno pretehtati tiste arhitekturne vzorce , katerih izbira vpliva na visoko nivojsko organizacijo modela sistema.
Arhitekturne ravni predstavljajo aplikacijo z različnih nivojev abstrakcije. Nivoji potekajo od aplikacijskih ravni na vrhu do izvedbenih (za določeno tehnologijo specifičnih) nivojev na dnu arhitekture.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 448 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – opredelitev arhitekturnih ravni
Primeri arhitekturnih vzorcev: Model-view-controller : aplikacija je razdeljena na tri dele: Model , ki vsebuje poslovna pravila in pripadajoče podatke, View , ki prikazuje, kako je informacija izpisana uporabniku in Controller je, ki procesirajo uporabniške vhode.
Pipes and Filters : tok podatkov potuje skozi cevi od filtra do filtra. Vsak filter je korak procesiranja.
Blackboard : je vzorec sodelovanja neodvisnih specializiranih aplikacij nad skupno podatkovno strukturo za doseganje skupne rešitve.
… Aplikacija lahko uporablja več arhitekturnih vzorcev…
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 449 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – opredelitev arhitekturnih ravni Aplikacijski podsistemi (Application subsystems) Poslovni podsistemi (Business specific) Vmesni nivo (Middleware) Sistemska programska oprema (System software) Ločeni aplikacijski podsistemi, ki skupaj tvorijo aplikacijski sistem. Specifične aplikacije organizacije.
Številni ponovno uporabni podsistemi, ki so specifični za aplikativna področja (npr. telekomunikacije, bančništvo itd.) Vmesni nivo sestavljajo razni pomožni podsistemi (utility classes) in sistemi, ki so od platforme neodvisni (npr. Storitve za porazdeljena in heterogena okolja) Zajema programsko opremo za dejansko infrastrukturo, npr. operacijski sistemi, vmesniki do specifičnih naprav ipd. RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 450 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – opredelitev arhitekturnih ravni
Organizacijo arhitekturnih ravni pokažemo s paketi .
Paket je element modela, ki lahko vključuje druge elemente modela. Uporaba: Organizacija modela v razvoju Enota upravljanja s konfiguracijami
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 451 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – opredelitev arhitekturnih ravni
Paketi morajo biti organizirani v nivoje tako, da imamo na: zgornjih nivojih arhitekture aplikacijsko specifične pakete, na spodnjih nivojih arhitekture strojno in operacijsko odvisne pakete, na srednjih nivojih splošno namenske storitve.
Prednost takšne delitve je čista razdelitev odgovornosti. Aplikacije so bolj prožne in lažje prilagodljive.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 452 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – opredelitev arhitekturnih ravni
Ciklične odvisnosti so nezaželene…
A A A B B B C C A’
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 453 -
Objekta analiza in načrtovanje
RUP – Koraki analize arhitekture – opredelitev arhitekturnih ravni
Arhitekturne plasti lahko modeliramo s pomočjo paketov in stereotipa <
<
Ime ravni
<
Razvoj po objektnem pristopu
Kje smo?
Objektni pristop: Osnovni principi objektne usmerjenosti; Jezik UML in proces RUP; Objekta analiza in načrtovanje: • • • • • • Analiza arhitekture Analiza primerov uporabe Načrt arhitekture Načrt primerov uporabe Načrt podsistemov Načrt razredov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 455 -
Objektna analiza in načrtovanje
Analiza arhitekture Slovar Dodatne specifikacije Smernice za načrtovanje Arhitektura sistema Analiza primerov uporabe Model primerov uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Izbrani primeri uporabe za realizacijo 456 Analizirani primeri uporabe Razredi analize Model načrta (dopolnjen)
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe
Osnovni koraki aktivnosti analiza primerov uporabe: Dopolnitev opisov primerov uporabe Identifikacija potrebnih razredov za realizacijo posameznih primerov uporabe Razdelitev odgovornosti posameznim razredom Identifikacija povezav (in dodatnih atributov) med razredi Podrobna analiza potrebnih sistemskih storitev Poenotenje razredov pridobljenih z analizo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 457 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – dopolnitev opisov primerov uporabe
V okviru analize primerov uporabe opise posameznih primerov uporabe dopolnimo s podatki, potrebnimi za nadaljnji razvoj, ki jih že imamo na razpolago.
Sistem preveri veljavnost kreditne kartice.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 458 Sistem preveri veljavnost kreditne kartice. Pri tem se poveže s sistemom “SKK” in uporabi njegovo spletno storitev “CardCheck”.
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe
Osnovni koraki aktivnosti analiza primerov uporabe: Dopolnitev opisov primerov uporabe Identifikacija potrebnih razredov za realizacijo posameznih primerov uporabe Razdelitev odgovornosti posameznim razredom Identifikacija povezav (in dodatnih atributov) med razredi Podrobna analiza potrebnih sistemskih storitev Poenotenje razredov pridobljenih z analizo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 459 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Model Primerov Uporabe Model Načrta
Primer Uporabe Realizacija Primera Uporabe Primer Uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Diagrami Zaporedja Diagrami sodelovanja 460 Diagrami Razredov
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Dinamika primera uporabe mora biti v celoti dodeljena razredom, ki realizirajo ta primer uporabe
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Razredi analize:
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Ikonski prikaz razredov analize:
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 463 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Mejni razred - <
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 464 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Mejni razredi modelirajo interakcijo med okoljem in sistemom
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Identifikacija mejnih razredov: “en mejni razred za vsak par akter – primer uporabe” Primer:
Stranka Kupi vstopnico Bančni sistem <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Smernice za oblikovanje mejnih razredov: Razredi uporabniškega vmesnika: • • • Kateri podatki so posredovani uporabniku?
Katere podatke posreduje uporabnik sistemu?
Prototipi zaslonskih mask so lahko dobra osnova za načrtovanje razredov uporabniškega vmesnika Razredi sistemskega vmesnika in vmesnika do naprav: • • Kateri protokoli so potrebni za komunikacijo?
Če obstaja dobro definiran vmesnik do obstoječega sistema oz. do naprave, odgovornosti mejnega razreda določimo na podlagi definicije tega vmesnika.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 467 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Poslovni razred - <
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 468 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Poslovni razredi hranijo in upravljajo ključne podatke sistema
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Identifikacija poslovnih razredov: postopek kot pri podatkovnem modeliranju – ključna abstrakcija sistema v kontekstu primera uporabe Viri: ključne abstrakcije, tok primerov uporabe, slovar, poslovni model
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 470 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Primer:
<
“Zastopnik” akterja Stranka
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov… <
V analizi se na ukvarjaj s podpisi (signaturami) atributov atribut
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Pri identifikaciji poslovnih razredov si lahko pomagamo z generalizacijo Generalizacijo uporabimo, ko en razred predstavlja isto strukturo in obnašanja kot več drugih razredov V analizi uporabljamo le med poslovnimi razredi
Dvigni() Račun stanje ime številka Dvigni() Položi() Osebni Varčevalni VrniObresti() Dvigni() RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 473 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Primer:
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Sledi identifikacija povezav med poslovnimi razredi: V analizi iščemo povezave tipa asociacija Asociacija je strukturna povezava, ki modelira pomensko povezavo med primerki razredov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 475 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Modelira pomensko povezavo med primerki razredov
<
Enostavna povezava je predpogoj za
<
Rekurzivna povezava Asociacija je strukturna povezava
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Vloga, ki jo igra razred v povezavi
<
Ime vloge
Predpogoj <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov… glavniPredmet <
Vsaka povezava igra svojo vlogo
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Števnost:
Nedoločeno Točno ena Nič ali več (več, neomejeno)
1 0..* * 1..*
Ena ali več Nič ali ena Določen interval Več nepovezanih intervalov
0..1
2..4
2, 4..6
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Števnost
<
0..4
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Navigacija – usmerjenost povezave:
Neusmerjena
Razred1 Razred2
Razred1 vidi Razred2 in Razred 2 vidi Razred1. Drug od drugega sta odvisna.
Usmerjena
Razred1 Razred2
Razred1 vidi Razred2, Razred2 pa Razreda1 ne vidi. Razred1 je odvisen od Razreda2, Razred2 pa od Razreda1 ni odvisen. Navigacijo podrobneje določimo v fazi načrtovanja in ima pomembno vlogo pri implementaciji
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov… <
Usmerjena povezava
0..4
glavniPredmet 0..2
dodatniPredmet <
Neusmerjena povezava
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Identifikacija atributov in povezav, ki modelirajo podatke poteka na enak način kot pri podatkovnem modeliranju
<
Primer:
Stranka Ime Priimek <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Kontrolni razred - <
Sistem lahko izvaja nekatere primere uporabe tudi brez kontrolnih razredov, vendar le takšne, ki obsegajo le enostavno rokovanje s shranjenimi podatki (npr. zapiši/ preberi atribut).
Bolj kompleksni primeri uporabe navadno zahtevajo enega ali več kontrolnih razredov, ki koordinirajo obnašanje objektov drugih razredov v sistemu. Kontrolni razredi učinkovito ločijo mejne in poslovne razrede in s tem naredijo sistem še bolj odporen na spremembe v okolju.
Ločijo tudi obnašanje, ki je specifično za primer uporabe od poslovnih razredov, s čimer omogočijo ponovno uporabo poslovnih razredov v več primerih uporabe in celo različnih sistemih.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 484 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Tipični primeri kontrolnih razredov: Razred za upravljanje transakcij (transaction manager) Razred za usklajevanje virov (resource manager) Razred za obvladovanje napak (error handler) Kontrolni razredi modelirajo obnašanje, ki: je od okolice neodvisno - se ne spremeni, ko se spremeni okolica.
definira kontrolno logiko (vrstni red dogodkov) in transakcije znotraj primerov uporabe - se le malo spreminja, če se spremeni struktura ali obnašanje poslovnih razredov.
hkrati deluje nad vsebino več poslovnih razredov, pri čemer kontrolni razred skrbi za koordinacijo.
se ob vsakem aktiviranju ne izvaja na enak način (tokovi dogodkov oblikujejo različna stanja).
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 485 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Kontrolni razred koordinira obnašanje primera uporabe
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Identifikacija kontrolnih razredov: na začetku uporabimo pravilo “en kontrolni razred za vsak primer uporabe” Primer:
Stranka Kupi vstopnico Bančni sistem <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Navadno začnemo z identifikacijo enega kontrolnega razreda na realizacijo primera uporabe. V nadaljevanju analize, ko izdelamo več realizacij pa upoštevamo naslednje: Nekateri kontrolni razredi lahko sodelujejo v več primerih uporabe, če so naloge le-teh tesno povezane. Različni kontrolni razredi lahko sodelujejo v enem primeru uporabe. Vsi primeri uporabe ne potrebujejo kontrolnega razreda. Na primer, če je tok dogodkov v primeru uporabe vezan le na en poslovni razred, lahko že mejni razred v sodelovanju s poslovnim razredom realizira primer uporabe (ni potrebe po kompleksni koordinaciji).
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 488 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov… Model primerov uporabe Kupi vstopnico Bančni sistem Stranka Model načrta <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – identifikacija potrebnih razredov…
Vaja: Identificirajte razrede analize, ki nastopajo v okviru določenega primera uporabe iz podane problemske domene.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 490 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe
Osnovni koraki aktivnosti analiza primerov uporabe: Dopolnitev opisov primerov uporabe Identifikacija potrebnih razredov za realizacijo posameznih primerov uporabe Razdelitev odgovornosti posameznim razredom Identifikacija povezav (in dodatnih atributov) med razredi Podrobna analiza potrebnih sistemskih storitev Poenotenje razredov pridobljenih z analizo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 491 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Za vsak tok dogodkov v okviru primera uporabe: Ugotovimo kateri od identificiranih razredov v okviru toka sodelujejo Dodelimo odgovornosti posameznim razredom in prikažemo sodelovanje med objekti razredov
Primer Uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Diagrami Zaporedja Diagrami sodelovanja Realizacija primerov uporabe 492 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Dodeljevanje odgovornosti na podlagi stereotipov: Mejni razredi • Dinamika primera uporabe, ki zajema komunikacijo z akterjem Poslovni razredi • Dinamika primera uporabe, ki zajema podatke (poslovne) Kontrolni razredi • Dinamika, ki je specifična za primer uporabe ali pomembnejši del toka dogodkov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 493 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Dodeljevanje odgovornosti na podlagi lokacije podatkov
(tipično vprašanje pri poslovnih razredih)
:
Če so vsi podatki v enem razredu - dodeli odgovornost temu razredu (načelo OO – podatki in operacije skupaj).
Če so podatki razpršeni po več razredih: • Odgovornost dodeli enemu razredu ter vzpostavi povezave z razredi, ki posedujejo podatke.
• • Kreiraj nov (kontrolni) razred in mu dodeli odgovornost. Dodaj povezave na razrede s podatki.
Odgovornost dodeli obstoječemu kontrolnemu razredu. Dodaj povezave na razrede s podatki.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 494 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Za podrobno opredelitev odgovornosti in povezav med razredi si pomagamo z diagrami interakcije: Diagrami zaporedja Diagrami sodelovanja S pomočjo diagramov interakcije modeliramo tokove dogodkov
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 495 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav Potrebnih je več diagramov interakcije Osnovni tok Alternativni tok 1 Alternativni tok 2 Alternativni tok 3 AF3 AF1 AF2 Alternativni tok 4 Alternativni tok 5 Alternativni tok n
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Diagrami sodelovanja – Poleg interakcije kažejo tudi povezave – Boljši za prikaz vzorcev sodelovanja – Boljši za prikaz vseh učinkov na posamezen objekt – Lažji za uporabo v fazi brainstorminga Diagrami zaporedja – Eksplicitno kažejo zaporedje sporočil – Boljši za prikaz celotnega toka dogodkov – Boljši za specifikacijo dogodkov, ki potekajo v realnem času ter zapletenih scenarijev
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav DIAGRAMI ZAPOREDJA - UML
Objekt, ki uporablja storitev (predaja odgovornost) Objekt, ki zagotavlja storitev (izvaja odgovornost)
Č A S :Odjemalec
Življenjska črta objekta
1: IzvediOdgovornost :Ponudnik
Rekurzivno sporočilo
1.1: IzvediDrugo Odgornost
Sporočilo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
Fokus (aktivnost objekta)
498 -
Hierarhično številčenje sporočil
Kupec
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
:ZMStrankaKupiVstopnico :KKupiVstopnico :Prireditev :Termin :Vstopnica :Sedež :SVBančniSistem SKK 10: IzberiTermin( ) 11: VrniSeznamSedeževZaIzbranTermin( )
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 499 -
Ponavljaj za vse izbrane sedeže Ponavljaj za vse izbrane sedeže
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Fragmenti za prikazovanje podtokov, alternativnih tokov, zank na skupnem diagramu
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 500 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Diagrami zaporedja dobro prikazujejo zaporedje Tok dogodkov opisuje zaporedje akcij Diagrami zaporedja so zato zelo primerni za zapis toka dogodkov v bolj formalni obliki Diagrami sodelovanja dobro prikazujejo vzorce sodelovanja med objekti Dobra osnova za iskanje povezav med razredi in odgovornosti razredov Diagrame zaporedja pretvorimo v diagrame sodelovanja
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 501 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav DIAGRAMI SODELOVANJA - UML
Objekt, ki uporablja storitev (predaja odgovornost) Objekt, ki zagotavlja storitev (izvaja odgovornost) Povezava
:Odjemalec :Ponudnik 1: IzvediOdgovornost
Smer Sporočilo
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
32: PrikažiSporočiloOUspešnemNakupuZRefŠt( ) 21: ZahtevajVnosKKInImena( ) 14: PrikažiMatrikoProstihSedežev( ) 9: PrikažiPodrobnostiInTerminePredstave( ) 4: PrikažiSeznamPredstav( ) Kupec 22: VnesiImeInKK( ) 15: IzberiSedeže( ) 10: IzberiTermin( ) 5: IzberiPredstavo( ) 1: PričniNakup( ) SKK 26: IzvediTransakcijo :ZMStrankaKupiVstopnico :SVBančniSistem 23: ZaključiNakup( ) 16: RezervirajIzbraneSedeže( ) 11: VrniSeznamSedeževZaIzbranTermin( ) 6: VrniPodrobnostiPredstave( ) 2: VrniSeznamPredstav( ) :KKupiVstopnico 7: VrniPodrobnePodatekOPredstavi( ) 3: VrniSeznamPredstav( ) :Prireditev
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
27: ProdajSedežZaTermin( ) 19: RezervirajSedežZaTermin( ) 17: PreveriStatus( ) 12: VrniSeznamSedeževInNjihovStatusZaTermin( ) 8: VrniSeznamterminovZaPredstavo( )
503 -
29: VrniŠtevilkoKarte( ) 28: OznačiRezervacijoKotProdano( ) 20: KreirajRezervacijoZaTermin( ) 18: VrniStatusZaTermin( ) 13: VrniStatusZaTermin( ) :Sedež :Termin :Vstopnica
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Na podlagi diagrama sodelovanja razdelimo odgovornosti
Diagram sodelovanja :Odjemalec :Ponudnik // IzvediOdgovornost Diagram razredov RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Ponudnik // IzvediOdgovornost 504 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
<
1..1
0..* <
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
1..1
0..* 0..* <
505 -
0..* 1..1
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Preverimo skladnost: Odvečne odgovornosti (iz vidika vseh razredov) Nepovezane odgovornosti znotraj enega razreda (dva razreda?) Razredi z eno samo odgovornostjo (ali so potrebni?) Razredi brez odgovornosti (nihče ne potrebuje?!) Boljše porazdelitve odgovornosti Razredi, ki so v interakciji z mnogimi drugimi razredi
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 506 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
<
1..1
0..* <
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
1..1
0..* 0..* <
507 -
0..* 1..1
<
?
razred brez odgovornosti
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Sledi identifikacija preostalih povezav: V analizi iščemo povezave tipa asociacija Nekatere povezave (zlasti med poslovnimi razredi) smo že identificirali – po potrebi jih le še dopolnimo V načrtovanju lahko nekatere od asociacij pretvorimo v odvisnosti, saj so enostavnejše za implementacijo – tipično gre za asociacije med mejnimi in kontrolnimi oz. kontrolnimi in poslovnimi razredi V okviru podrobnejšega opredeljevanja povezav preverimo tudi druge vidike povezav – kot npr. odnos celota/del
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 508 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Agregacija: modelira odnos celota - del
Celota/agregat del
<
0..4
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Premislek Kontekst, neodvisnost delov od celote?
Razred1 Razred2
asociacija
Razred1
agragacija
Razred2
Ko si v dvomih, uporabi asociacijo
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Agregacija modelira “šibko lastništvo”: Del je lahko del več celot.
Del lahko obstaja dlje kot obstaja celota. Tudi če celoto uničimo, del ostane.
“Močna oblika” agregacije je kompozicija: Del je lahko del le ene celote.
Del lahko obstaja le dokler obstaja celota. Če celoto uničimo, uničimo tudi vse njene dele.
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 511 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Kompozicija:
Razred1 Razred2
kompozicija
Diskusija - kompozicija ali agregacija?
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko <
0..* <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Primera:
Kakšna je števnost?
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Asociacijski razred: Razred, povezan s povezavo Vsebuje lastnosti povezave En primerek na povezavo
<
glavniPredmet 0..4
<
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Diskusija: Ali bi kje postavili kompozicijo/asociacijo?
<
1..1
0..* <
0..* 0..* <
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 515 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav Diagram sodelovanja 1: izvediOdgovornost :Odjemalec :Ponudnik
Navigacija (pogojno!)
Razredni diagram Odejmalec 0..*
Povezava
0..* Osnovni ponudniki Ponudnik izvediOdgovornost()
Povezava v diagramu sodelovanja pomeni povezavo v razrednem diagramu !
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
Podrobna opredelitev asociacije: Navigacija: • • Če vsa sporočila na vseh diagramih, ki prikazujejo interakcijo med objektoma dveh razredov potekajo le v eno smer, lahko povezavo usmerimo. Upoštevamo VSE tokove dogodkov.
Števnost: • • • Števnosti med poslovnimi razredi smo že določili.
Pri ostalih razredih je vprašanje enako: koliko primerkov enega razreda (objektov) bo hkrati v interakciji s primerkom drugega razreda (objekta) in obratno.
Pogoste števnosti med mejnimi in kontrolnimi razredi so: 0..1 in 1..1. Vendar se lahko pojavljajo tudi drugačne števnosti!
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 517 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – razdelitev odgovor. in ident. povezav
<
1..1
VrniSeznamPredstav () VrniPodrobnostiPredstave () VrniSeznamSedeževZaIzbranTermin () RezervirajIzbraneSedeže () ZaključiNakup () IzračunajCeno () 0..1
0..1
0..1
1..1
0..1
<
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
1..1
0..* 0..* <
518 -
1..1
0..* 0..* <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – sistemske storitve
Osnovni koraki aktivnosti analiza primerov uporabe: Dopolnitev opisov primerov uporabe Identifikacija potrebnih razredov za realizacijo posameznih primerov uporabe Razdelitev odgovornosti posameznim razredom Identifikacija povezav (in dodatnih atributov) med razredi Podrobna analiza potrebnih sistemskih storitev Poenotenje razredov pridobljenih z analizo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 519 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – sistemske storitve
Sestavi seznam vseh potrebnih sistemskih storitev Sestavi seznam razredov, ki potrebujejo sistemske storitve
Razred analize Sistemska storitev
Opiši lastnosti sistemskih storitev
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – sistemske storitve
Preslikava med razredi in sistemskimi storitvami Prireditev Termin Vstopnica
Razred
Sedež KKupiVstopnico
Sistemska storitev
Trajnost Trajnost Trajnost, Varnost?
Trajnost Porazdelitev
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – sistemske storitve
Lastnosti sistemskih storitev Trajnost za razred
Vstopnica
: Granulacija: od 15 do 25 bajtov Kapaciteta: do 10.000.000 vstopnic Pogostost dostopa • • • • Kreiranje: do 10.000 na dan Branje: do 50.000 na uro Spreminjanje: do 500 na dan Brisanje: do 50 na dan Itd.
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – sistemske storitve
Kakšne bi bile lahko lastnosti trajnosti za razred
Predstava
?
Granulacija?
Kapaciteta?
Pogostost dostopa?
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 523 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe
Osnovni koraki aktivnosti analiza primerov uporabe: Dopolnitev opisov primerov uporabe Identifikacija potrebnih razredov za realizacijo posameznih primerov uporabe Razdelitev odgovornosti posameznim razredom Identifikacija povezav (in dodatnih atributov) med razredi Podrobna analiza potrebnih sistemskih storitev Poenotenje razredov pridobljenih z analizo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 524 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 525 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – poenotenje
Osnovni koraki aktivnosti analiza primerov uporabe: Dopolnitev opisov primerov uporabe Identifikacija potrebnih razredov za realizacijo posameznih primerov uporabe Razdelitev odgovornosti posameznim razredom Identifikacija povezav (in dodatnih atributov) med razredi Podrobna analiza potrebnih sistemskih storitev Poenotenje razredov pridobljenih z analizo
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 526 -
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – poenotenje <
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe - poenotenje RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 528 -
Rezultat poenotenja razredov je enoten načrt. Pogledi VOPC še vedno ostanejo, vendar uporabljajo skupne razrede.
Objektna analiza in načrtovanje
RUP – Koraki analize primerov uporabe – poenotenje Model Načrta Dodatne Specifikacije Slovar Model Primerov Uporabe Razredi Analize
Objektna analiza in načrtovanje
Od razreda do kode
Razredne diagrame lahko pretvorimo v kodo <
<
VrniSeznamPredstav () VrniPodrobnostiPredstave () VrniSeznamSedeževZaIzbranTermin () RezervirajIzbraneSedeže () ZaključiNakup () IzračunajCeno () 1..1
0..1
0..1
0..1
<
0..* <
1..1
0..* 0..* <
0..* 0..* <
nit main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, ExtCtrls, StdCtrls, Buttons, NxScrollControl, NxCustomGridControl, NxCustomGrid, NxGrid, NxColumns, NxColumnClasses, ComCtrls; type T1to9 = set of 1..9; TMatrix = array[1..9, 1..9] of T1to9; TRows = array[1..9, 1..9] of byte; TCols = array[1..9, 1..9] of byte; type Tf_main = class(TForm) Panel1: TPanel; Panel2: TPanel; bb_solve: TBitBtn; sg_Possibilities: TStringGrid; bb_load: TBitBtn; bb_save: TBitBtn; bb_clear: TBitBtn; b_chkrow: TButton; b_chkcol: TButton; ng_TablePlate: TNextGrid; b_SetGrid: TButton; col1: TNxTextColumn; col2: TNxTextColumn; col3: TNxTextColumn; col4: TNxTextColumn; col5: TNxTextColumn; col6: TNxTextColumn; col7: TNxTextColumn; col8: TNxTextColumn; col9: TNxTextColumn; sd_save: TSaveDialog; od_open: TOpenDialog; Button1: TButton; b_solveRest: TButton; sg_steps: TStringGrid; procedure bb_loadClick(Sender: TObject); procedure bb_clearClick(Sender: TObject); procedure b_chkrowClick(Sender: TObject); procedure b_chkcolClick(Sender: TObject); procedure b_SetGridClick(Sender: TObject); procedure bb_saveClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure b_solveRestClick(Sender: TObject); private { Private declarations } procedure CheckCell( x, y: byte ); procedure CheckRow( x: byte ); procedure CheckCol( y: byte ); … RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 530 -
Razred z atributi in metodami
Student
- name: String
+ addSchedule (theSchedule: Schedule, forSemester: Semester) + hasPrerequisites(forCourseOffering: CourseOffering) : boolean # passed(theCourseOffering: CourseOffering) : boolean
public class Student { private String name; public void addSchedule (Schedule theSchedule; Semester forSemester) { } public boolean hasPrerequisites(CourseOffering forCourseOffering) { } protected boolean passed(CourseOffering theCourseOffering) { } }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 531 -
Podporni in globalni razredi
<
- randomSeed : long = 0 - pi : double = 3.14159265358979
+sin (angle : double) : double +cos (angle : double) : double +random() : double
import java.lang.Math; import java.util.Random; class MathPack { private static randomSeed long = 0; private final static double pi = 3.14159265358979; public static double sin(double angle) { return Math.sin(angle); } public static double cos(double angle) { return Math.cos(angle); } public static double random() { return new Random(seed).nextDouble(); } }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 532 -
Asociacija
Schedule Student
class Schedule { public Schedule() { } private theStudent; } class Student { public Student() { } private Schedule theSchedule; }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 533 -
Enosmerna asociacija
Student Schedule
class Student { public Student() { } private Schedule theSchedule; } class Schedule { public Schedule() { } }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 534 -
Vloge pri asociaciji
Professor
instructor
CourseOffering
class Professor { public Professor() {} private CourseOffering theCourseOffering; } class CourseOffering { public CourseOffering () {} private Professor instructor; }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 535 -
Števnost asociacij
Schedule
class Schedule { public Schedule() {} private CourseOffering[] primaryCourses = new CourseOffering[4] } 0..4 primaryCourses
CourseOffering
class CourseOffering { public CourseOffering() {} }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 536 -
Vmesni razred
0..*
Schedule
0..*
Schedule
0..* 0..4
primaryCourses 0..2
alternateCourses
CourseOffering ExaminationInfo
- grade: Char = I
Realizacija vmesnega razreda je stvar odločitve v načrtovanju
alternateCourses 0..2
CourseOffering RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko
1 0..4
ExaminationInfo
ExaminationInfo
- grade: Char = I
537 -
Vmesni razred - realizacija
0..*
Schedule
1 0..4
ExaminationInfo
ExaminationInfo
-grade: Char = I … … alternateCourses class ExaminationInfo { public ExaminationInfo() {} public CourseOffering get_theCourseOffering(){ return theCourseOffering; } public void set_theCourseOffering(CourseOffering toValue){ theCourseOffering = toValue; } } private char get_Grade (){ return grade; } private void set_Grade(char toValue) { grade = toValue; } private char grade = ‘I’; private CourseOffering theCourseOffering;
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 538 -
0..2
CourseOffering
Rekurzivna asociacija
0..*
Course
prerequisites import java.util.Vector; class Course { public Course() {} // The unbounded multiple association // is stored in a vector private Vector prerequisites; }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 539 -
Agregacija
Schedule
0..* class Schedule { public Schedule() { } private Student theStudent; } 1
Student
import java.util.Vector; class Student { public Student() { } private Vector theSchedule; }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko Java nima eksplicitnega konstrukta za agregacijo.
540 -
Generalizacija (dedovanje)
GroundVehicle + register()
1
Truck + tonnage: float + getTax()
class GroundVehicle { public int licenseNumber; public void register() { } } class Truck extends GroundVehicle { public float tonnage; public void getTax() { } }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 541 -
Abstraktni razredi
Animal
{
Abstract
}
+ talk () {abstract
}
abstract class Animal { public abstract void talk(); }
Lion + talk () Tiger + talk ()
class Tiger extends Animal { public Tiger() { } public void talk() { } }
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko 542 -
Poglavje IV
Modelno usmerjen razvoj
MDA – Model Driven Architecture in MDD – Model-Driven Development.
Razlike med MDA/MDD in klasičnim pristopom k razvoju IS
RAZVOJ INFORMACIJSKIH SISTEMOV Visokošolski strokovni študij, Smer Informatika ©Laboratorij za informatiko - 543 -
Razlogi za pojav pristopa
Vedno večje število različnih implementacijskih tehnologij, hiter razvoj, menjava, … Razvijalci se morajo specializirati za ozka področja, ki se pogosto spreminjajo Že med izdelavo sistema se pojavljajo nove, boljše različice tehnologij Prehod na drugo tehnologijo pogosto pomeni, da je potrebno aplikacijo razviti na novo oz. so potrebne obsežne prilagoditve Možnost za izboljšanje: Razvoj PO na podlagi modelov?
Model Driven Development
Dvig nivoja abstrakcije, na katerem nastaja programska oprema Razvijalci naj se posvetijo predvsem funkcijam sistema, ne pa tehnološkim podrobnostim Opis funkcionalnosti na visokem abstraktnem nivoju, neodvisnem od uporabljene platforme in tehnologije Opis sistema z uporabo vizualnih modelov Ideja MDD ni nova (npr. podat. modeliranje)
Model Driven Architecture…
Model Driven Architecture: je standardizirano ogrodje za razvoj programske opreme na podlagi modelov, nastal v okviru OMG predvideva avtomatizirano transformacijo visoko abstraktnih modelov v modele na nižjem nivoju abstrakcije in nato teh v delujočo kodo ne predpisuje konkretnih tehnik za opis modelov, predlaga uporabo UML + OCL (nova različica za podporo MDA), obstajajo tudi druge možnosti
Model Driven Architecture
MDA predvideva tri osnovne vrste modelov glede na njihovo stopnjo abstrakcije: PIM ( platform independent model ) je model na visokem abstraktnem nivoju PSM ( platform specific model ) je model na nivoju, ki upošteva konstrukte implementacije Programska koda je model na najnižjem nivoju, ki jo je mogoče pretvoriti v izvedljivo kodo oziroma jo interpretirati Predvideva transformacije med modeli, ki naj bi bile avtomatizirane…
Model Driven Architecture - koncept
CIM PIM PIM → PSM x Tehnologija/platforma x PSM x Most med PSM x in PSM y PIM → PSM y Tehnologija/platforma y PSM y PSM x → K x Delujoča izvorna koda sistema Koda x Most med Kodo x in Kodo y Koda y PSM y → K y
Kritike MDA
Ni učinkovitega jezika za zapis PIM Ni učinkovitih transformacijskih orodij (delno generiranje ni dovolj) Standardi MDA so v začetni fazi razvoja Z uporabo sodobnih razvojnih orodij, ogrodij in procesov je moč produktivnost povečati že v okviru klasičnega razvoja
Primerjava klasičnega razvoja in MDD…
Klasičen razvoj … Zajem zahtev Analiza Načrtovanje Kodiranje … Večinoma besedilo Diagrami in besedilo Diagrami in besedilo Koda … Zajem zahtev Analiza – izdelava PIM Načrtovanje – tran. PIM v PSM Kodiranje – tran. PSM v Kodo … MDD Večinoma besedilo PIM PSM Koda
generiranje
V MDD je bistvena izdelava PIM in izbira ustreznih implementacijskih tehnologij, precej pa se zmanjša pomen klasičnega kodiranja.
Primerjava klasičnega razvoja in MDD…
Poveča se pomen analitičnih vlog in hkrati zmanjša izdelavo / preverjanje PIM pomen vlog implementacije PSM PIM Izbira platform, arhitektur, vzorcev, nastavitve orodja itd.
Analitik in načrtovalec PIM
na podlagi izdelkov zajema zahtev ter določi izdelkov poslovnega modeliranja izdelata model PIM. z orodjem generira izdela
Izdelovalec PSM
s pomočjo orodja za transformiranje PIM pretvori v enega ali več modelov PSM. Pred transformacijo mora izbrati Izdelovalec PSM ciljne platforme, arhitekture, vzorce, tehnologije itd.
Razvijalec definicij transformacij
Analitik in načrtovalec PIM je vloga, ki skrbi za izdelavo definicij transformacij za transformacijska orodja. Razvijalec def. transformacij
Pregled prednosti in slabosti MDA
MDD prinaša vrsto prednosti že v današnji obliki: višja produktivnost zaradi generiranja (celo do 40%) boljša arhitektura zaradi razvoja na višjem nivoju abstrakcije višja stopnja skladnosti nastale kode v prihodnosti naj bi MDD potekal tako, kot danes delujejo prevajalniki programskih jezikov
Pregled prednosti in slabosti MDA
Na drugi strani pa ne smemo zanemariti kritik: Predpogoj za uspeh MDD (MDA) je ustrezen jezik za zapis PIM. MDD bo uporaben šele s 100% generiranjem kode.
Pravi MDD s trenutnimi tehnologijami ni izvedljiv, delni MDD pa ne prinaša nobene bistvene prednosti.
Implikacije morebitne uveljavitve MDA
Uveljavitev MDA v praksi bi prinesla vrsto sprememb:
Vloge: • • • manjši pomen vlog implementacije večji pomen vlog analize Proces: • nove vloge, nova znanja več časa za analizo in zajem zahtev • velik del klasičnih aktivnosti implementacije bi izvedla orodja (generiranje) • bližje zaporednemu (slapovnemu) razvoju Osrednji pomen bi dobili izdelki analize, ki bi med drugim predstavljali tudi “izvorno kodo”.
Velik pomen orodij za generiranje.
MDA in podpora orodij…
Orodja za razvoj na podlagi MDA: orodja za preslikavo iz PIM v PSM orodja za preslikavo PSM v kodo orodja za preslikavo PIM v kodo prilagodljiva transformacijska orodja orodja za definiranje transformacij Današnja orodja dajo dovolj ugodnosti, ki jih ponuja MDA, da bi bila uporabna. Poln potencial MDA še ni dosežen!
MDA in podpora orodij…
Orodja, ki imajo dostopno evaluacijsko verzijo: Compuware OptimalJ ObjectFrontier FronierSuite professional InnoQ iQgen Interactive Objects Software ArcStyler Objecteering Objecteering/UML Metanology MDE Aonix Ameos Codagen Technologies Codagen Architect 3.2
Rational Software Architect Uradni seznam zavezanih družb in skupin na uradni strani o razvoju MDA organizacije OMG
MDA in podpora orodij
Primeri orodij: Teleologic TAU Generation2 Sosy OlivaNova Model Execution System Tata Consultancy Services MasterCraft Consyst REP++Studio Borland Delphi 8