informacijski sistemi n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
INFORMACIJSKI SISTEMI PowerPoint Presentation
Download Presentation
INFORMACIJSKI SISTEMI

Loading in 2 Seconds...

play fullscreen
1 / 129

INFORMACIJSKI SISTEMI - PowerPoint PPT Presentation


  • 306 Views
  • Uploaded on

B2 d.o.o. | Višja strokovna šola Ljubljana Štud. leto 2010/11. INFORMACIJSKI SISTEMI. Marjan KALIGARO univ. dipl. ing. rač. in inf. Končni cilj vaj. Izbrana tema IS Specifikacija funkcionalnih zahtev ( SZPO ; ANSI/IEEE) Model sistema

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'INFORMACIJSKI SISTEMI' - feng


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
informacijski sistemi

B2 d.o.o. | Višja strokovna šola Ljubljana

Štud. leto 2010/11

INFORMACIJSKI SISTEMI

Marjan KALIGARO univ. dipl. ing. rač. in inf

kon ni cilj vaj
Končni cilj vaj
  • Izbrana tema IS
    • Specifikacija funkcionalnih zahtev (SZPO; ANSI/IEEE)
    • Model sistema
      • E-R diagram (do 6 entitet)
      • diagram funkcionalnosti (1x)
      • DFD diagram (do 5 procesov, en proces

do drugega nivoja)

      • podatkovni slovar (10 tipov)
      • UML diagrami
        • diagram primerov uporabe (1x)
        • razredni diagram (1x)
        • diagram zaporedja (za dve funkcionalnosti)
        • diagram namestitve (1x)
      • Prototip – ni obvezen! (4 forme – Balsamiq)
modeliranje sistema
Modeliranje sistema
  • Model je poenostavitev realnosti, pri čemer je abstrakcija realnosti poljubno natančna.
  • Model je enostavnejši od realnosti.
    • Prikazuje le pomembne elemente in izpušča tiste, ki nas ne zanimajo
  • 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
  • Modele razvijamo zato, da bi sisteme bolje razumeli.
modeliranje sistema1
Modeliranje sistema
  • V splošnem poznamo na področju modeliranja dva pristopa:
    • Tradicionalno modeliranje – modeliranje z vidika postopka
    • Objektno modeliranje – modeliranje z vidika objekta
modeliranje sistema2
Modeliranje sistema
  • Tradicionalni pristop k razvoju IS je osnovan na postopkovni perspektivi:
    • Pogled usmerja razvijalca, da se osredotoči na potek postopkov in njihovo razgradnjo na manjše dele
    • V praksi je pristop zelo dobro preizkušen in se veliko uporablja
    • Zagovorniki novejših pristopov mu očitajo neprilagodljivost na vhodne spremembe
  • Modernejši pristop k razvoju IS je objektno usmerjen pristop. Osnovni gradnik takega pristopa je objekt.
tradicionalno modeliranje
Tradicionalno modeliranje
  • Specifikacija sistema je sestavljena iz treh modelov, ki vsak s svojega vidika opisujejo sistem.
tradicionalno modeliranje1
Tradicionalno modeliranje
  • Podatkovni model
    • Prikazuje sistem s podatkovnega vidika z opisom podatkovnih struktur, ki so potrebne za delovanje sistema; zajema tudi vse povezave med podatkovnimi strukturami
  • 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
entiteta in razmerje
Entiteta in razmerje
  • Osnovna gradnika sta entiteta in razmerje (relacija)
  • Entiteta je realni ali abstraktni predmet obravnave, značilen za področje, ki ga obravnavamo
  • Entitete realnega sveta običajno niso izolirane, temveč obstaja med njimi in drugimi entitetami pomenska povezava. To ponazorimo z razmerjem.
entiteta primerki
Entiteta - primerki
  • Entiteta združuje primerke istega tipa.
atributi
Atributi
  • Primerke opišemo z naborom podatkov – atributi.
osnovne zna ilnosti razmerij
Osnovne značilnosti razmerij
  • Števnost označujemo z grafičnimi simboli
osnovne zna ilnosti razmerij1
Osnovne značilnosti razmerij
  • Med dvema entitetama je lahko več razmerij
diagram funkcionalnosti1
Diagram funkcionalnosti
  • Z diagramom funkcionalnosti (diagram funkcionalne razgradnje) prikažemo hierarhijo funkcij, ki jih želimo s sistemom podpreti (kaj vse bo sistem omogočal)
  • Hierarhijo funkcij prikažemo z navpično drevesno strukturo
  • Vsaka hierarhična struktura se začne na vrhu z eno samo vseobsegajočo enoto – korenom strukture – in se nadaljuje vse do listov, kateri predstavljajo elementarne funkcionalnosti.
raz lenjevanje funkcionalnosti
Razčlenjevanje funkcionalnosti
  • V analizi pogosto identificiramo večje število funkcij – procesov
  • Predstavitev vseh procesov hkrati (na istem nivoju) je nepregledna, sama vsebina pa nerazumljiva
  • Uporabljamo razčlenjevanje (dekompozicijo), s čimer funkcionalnosti razvijamo od najvišjega nivoja (korena), kjer nastopajo obsežnejši procesi, do najnižjega nivoja (listov), kjer nastopajo zelo podrobni procesi
zna ilnosti diagrama funkcionalnosti
Značilnosti diagrama funkcionalnosti
  • Diagram funkcionalne razgradnje nam služi za prikaz razdelitve funkcionalnosti
  • Elementarne funkcije (listi) so dovolj enostavni, da jih lahko nedvoumno opišemo
  • Diagram funkcionalnosti nam služi kot osnova za izgradnjo diagramov podatkovnih tokov
diagram podatkovnih tokov1
Diagram podatkovnih tokov
  • Pri modeliranju sistema uporabimo diagrame podatkovnih tokov (data flow diagram, DFD) za prikaz okolja, v katerem bo sistem deloval ter za prikaz odvisnosti med procesi, ki jih bo sistem “izvajal”
  • DFD združujejo podatkovni in procesni pogled na obravnavano področje
  • DFD sodijo med enostavnejše tehnike, saj zajemajo minimalno število gradnikov.
osnovni gradniki dfd
Osnovni gradniki DFD
  • Osnovni gradniki DFD so:
    • Proces
    • Podatkovni tok
    • Podatkovna shramba
    • Zunanji izvor ali ponor
proces
Proces
  • Proces predstavlja v DFD množico aktivnosti, ki vhodne podatke pretvorijo v izhodne
  • Proces je (edini) dinamičen gradnik modela – iz vhodnih podatkov tvori izhodne po vnaprej predpisanem postopku
  • Naziv procesa je običajno glagol, glagolski samostalnik ali zaporedje besed, ki opisujejo vrsto dejavnosti.
podatkovni tok
Podatkovni tok
  • Podatkovni tok
    • Predstavlja množico vhodnih ali izhodnih podatkov, ki imajo enolično definirano vsebino in strukturo
  • Podatki, ki jih tok prikazuje, so lahko:
    • Elementarni podatki (ime, znesek, šifra, ...)
    • Sestavljeni podatki, npr. dokumenti (račun, časopisni članek, izpis iz matične knjige, ...)
podatkovni tok1
Podatkovni tok
  • Podatkovni tokovi zagotavljajo podatke procesu ali pa obdelane podatke prenašajo iz procesa.
  • Podatke lahko obdelujejo le procesi, zato mora biti vsak podatkovni tok obvezno povezan s procesom!
  • Naziv toka pove, kaj tok prenaša! Za označevanje uporabljamo samostalnike ali pa kombinacijo samostalnika in pridevnika.
vhodni in izhodni tokovi
Vhodni in izhodni tokovi
  • Glede na smer prenosa podatkov ločimo:
    • Vhodne tokove: potekajo proti procesom (v proces prinašajo podatke)
    • Izhodne tokove: potekajo iz procesov (iz procesa pošiljajo rezultate)
    • Vsak proces ima vsaj en vhod in vsaj en izhod
podatkovna shramba
Podatkovna shramba
  • Je koncept, ki označuje prostor za shranjevanje podatkov iz nekega procesa, z namenom, da bodo ti na voljo tudi kasneje in/ali drugim procesom.
  • V fazi analize se s podatkovno shrambo opisujejo logični sklopi podatkov. Njihova fizična organizacija se določi kasneje.
  • Naziv podatkovne shrambe je pogosto enak nazivu vhodnih podatkovnih tokov. Shramba je podatkovni tok v mirovanju.
podatkovna shramba1
Podatkovna shramba
  • Proces lahko opravlja dve vrsti operacij nad podatkovno shrambo:
    • Piše v shrambo (spreminjanje obstoječih podatkov, dodajanje/brisanje)
    • Bere iz shrambe
  • Pogosto proces piše in bere iz iste shrambe.
zunanji izvor ponor
Zunanji izvor/ponor
  • Zunanji izvori ali ponori podatkov so vse tiste komponente, ki sodelujejo z načrtovanim IS, niso pa njegov sestavni del. So okolje našega IS.
    • Zunanji uporabniki ali ostali koncepti, ki predstavljajo zunanje procese ali zunanje sisteme.
  • Njihova struktura ali obnašanje nas ne zanimata.
  • Zanimajo nas le podatkovni tokovi, ki zunanje izvore/ponore povezujejo s procesi v DFD.
    • Zunanji izvori vnašajo podatke v naš sistem (vhodni podatki)
    • Zunanjim ponorom pošiljamo podatke oz. rezultate iz našega sistema
zunanji izvor ponor1
Zunanji izvor/ponor
  • Vsak zunanji izvor vnaša podatke vsaj enemu (ali več) procesu v našem IS, vsak zunanji ponor prejema podatke od vsaj enega (ali več) procesa v našem IS
  • Nek zunanji sistem je lahko istočasno zunanji izvor in zunanji ponor
kontekstni diagram
Kontekstni diagram
  • Izdelavo diagrama podatkovnih tokov začnemo z enim samim procesom (korenskim procesom) na najvišjem nivoju -> dobimo kontekstni diagram
kontekstni diagram1
Kontekstni diagram
  • Značilnosti:
    • Prikazuje kontekst sistema, sistem v sodelovanju z okoljem – kateri podatki prihajajo v naš sistem (in od koga) ter katere podatke pošiljamo iz sistema (in komu)
    • En sam proces – korenski proces
    • Ni podatkovnih shramb. Shrambe so namenjene odlagališču podatkov pri prenosu le-teh med procesi. Podatkovna shramba je del sistema.
    • Podatkovni tokovi med korenskim procesom in zunanjimi izvori/ponori opredeljujejo vmesnike med sistemom in okoljem.
raz lenjevanje dfd
Razčlenjevanje DFD
  • Osnova za razčlenjevanje DFD je diagram funkcionalnosti
  • Za vsak proces, ki je predstavljen v diagramu na višjem nivoju izdelamo poseben diagram podatkovnih tokov, kjer proces razbijemo na podprocese.
ve nivojev dfd
Več nivojev DFD
  • Sistemski (prvi) nivo diagrama podatkovnih tokov
    • Sistemski nivo (prvi nivo razčlenitve kontekstnega diagrama) predstavlja diagram podatkovnih tokov na hierarhičnem nivoju 1
    • Diagram podatkovnih tokov na prvem hierarhičnem nivoju prikažemo z eno sliko, kjer je proces, predstavljen v kontekstnem diagramu, razčlenjen na potrebno število procesov (priporočljivo 7 +/- 2)
    • Pri členjenju procesa je potrebno ohraniti vso funkcionalnosti, kar pomeni, da je vsota funkcionalnosti vseh podrejenih procesov enaka funkcionalnosti nadrejenega procesa.
ve nivojev dfd1
Več nivojev DFD
  • Na naslednjem nivoju razčlenimo vsak posamezen proces s prejšnjega nivoja
  • Razčlenjevanje je smiselno do nivoja procesov, ki jih lahko opišemo z zaporedjem razumljivih korakov – elementarni procesi
    • Za opis procesov na najnižjem nivoju diagramska tehnika DFD ni najbolj primerna, zato se uporabljajo druge tehnike, ki so del modeliranja procesne logike
podatkovni slovar
Podatkovni slovar
  • V podatkovnem slovarju so opredeljeni podatkovni elementi diagrama podatkov:
    • tokovi
    • zbirke podatkov.
  • Specifikacije morajo biti skladne z diagramom toka podatkov, zahteva se tudi popolnost podatkovnega slovarja.
  • Podatkovni slovar je sestavljen in specifikacij podatkovnih elementov. Vsi podatkovni tokovi in zbirke podatkov iz diagrama toka podatkov so razčlenjeni do podatkovnih elementov oz. prvinskih podatkov (DE - "data element").
podatkovni slovar1
Podatkovni slovar
  • Formalna notacija za podatkovni slovar:
    • =pomeni izenačitev oziroma kompozicijo: podatkovni element = podatkovna struktura
    • + pomeni logični in (zaporedje podatkov)
    • […| … | ….] pomeni logični ali (izbira)
    • m{…}n pomeni iteracijo (ponavljanje podatkov)
    • (…) pomeni opcijski podatek
    • * pomeni komentar
podatkovni slovar2
Podatkovni slovar
  • Primer 1:

* opis zbirke podatkov, v kateri hranimo podatke o učiteljih

Učitelj = osebni_podatki + datum_zaposlitve + delovno_mesto + (strokovni_naziv)

strokovni_naziv=[mentor | svetovalec| svetnik]

osebni_podatki = priimek + ime + spol

spol = [M | Ž]

podatkovni slovar3
Podatkovni slovar
  • Primer 2:

*opis zbirke podatkov, v kateri hranimo podatke o prijavah kandidatov na splošno maturo

Kandidat = osebni_podatki + 5{podatki_o_predmetu}6 + (posebne_potrebe)

Podatki_o_predmetu = Predmet + Nivo

Predmet = [SJK | MAT | ANJ | …]

Nivo = [osnovni | višji ]

Osebni_podatki = EMSO + priimek + ime

naloga
Naloga

Zagotoviti želimo računalniško podprto informacijsko podporo aktivnostim knjižnega kluba (vodenje članstva, sprejem naročil članov, pridobivanje podatkov od založnikov, naročanje knjig od založnikov in popolno spremljanje finančnih tokov – torej plačil). Hkrati je potrebno voditi sezname knjig, tudi novosti, in v zvezi s tem oblikovanje ter razpošiljanje katalogov svojim članom.

dolo imo funkcionalnosti
Določimo funkcionalnosti

Zagotoviti želimo računalniško podprto informacijsko podporo aktivnostim knjižnega kluba (vodenje članstva, sprejem naročil članov, pridobivanje podatkov od založnikov, naročanje knjig od založnikov in popolno spremljanje finančnih tokov – torej plačil). Hkrati je potrebno voditi sezname knjig, tudi novosti, in v zvezi s tem oblikovanje ter razpošiljanje katalogov svojim članom.

dolo imo funkcionalnosti1
Določimo funkcionalnosti
  • Osnovne funkcije
    • Vodenje članstva
    • Sprejem naročil članov
    • Nabavljanje knjig
    • Finančni promet
    • Skrb za kataloge
potrebni podatki
Potrebni podatki
  • Člani
  • Računi članov
  • Knjige
  • Založniki
  • Dobavnice
  • Katalogi
    • Vsebina kataloga

Našteti sklopi predstavljajo potrebne entitete za podatkovni model (E-R diagram)

podatkovni slovar4
Podatkovni slovar

* Podatki o članu

podatki_o_clanu = priimek + ime + spol + naslov + clanska_stevilka + clan_od + (rojstni_datum)

* Članska številka

clanska_stevilka = [m|z] + 5{stevka}6

* Naslov člana

naslov = ulica + hisna_stevilka + postna_stevilka + mesto + drzava

* Potrdilo o plačilu

potrdilo_o_placilu = datum_placila + stevilka_racuna + placano + nacin_placila

osnove objektne analize
Osnove objektne analize
  • Objekti in razredi
  • Razredni diagrami
  • Diagrami zaporedja
objektni razvoj
Objektni razvoj
  • Objektni pristop k razvoju IS se pojavi kot posledica uveljavitve objektnih programskih jezikov in objektnih tehnologij
  • 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.
objekt
Objekt
  • Objekt lahko predstavlja fizično entiteto ali konceptualni pojem
    • Študent, profesor, učilnica, ...
    • Predmet, izpit, ...
  • Objekt je abstrakcija neke entitete, ki je pomembna za IS – z natančno določenimi mejami in pomenom za IS
lastnosti objekta
Lastnosti objekta
  • Objekt ima svoje stanje, obnašanje in identiteto
  • Stanje objekta določajo njegove lastnosti:
    • Študent ima ime, priimek, smer študija, ...
    • Knjiga ima vsebino, število strani, založnika, ...
stanje objekta
Stanje objekta
  • Objekt “se zaveda” svojega stanja! Ve kakšne vrednosti imajo lastnosti, ki ga opisujejo
    • Študentu je ime Peter, piše se Klepec, ...
    • Knjiga opisuje razvoj IS, ima 432 strani, ...
  • Vsakokrat, ko se spremeni vrednost neke lastnosti, ki nas o objektu zanima, rečemo, da se je spremenilo stanje objekta.
obna anje objekta
Obnašanje objekta
  • Objekti imajo svoje obnašanje
    • Študent študira, se prijavi na izpit, opravlja izpit, ...
  • Objekt se zaveda, kaj lahko počne in kaj se lahko z njim počne.
razred
Razred
  • Objekte istega tipa združujemo v razrede
  • Razred je
    • Opis skupine objektov z enakimi lastnostmi, enakim obnašanjem, povezavami in pomenom
    • Abstrakcija, ki poudarja pomembne karakteristike in izpusti ostale nepomembne karakteristike
  • Objekt je primerek razreda
razred objekt
Razred - objekt
  • Odnos med objektom in razredom je podoben odnosu med entiteto in entitetnim tipom.
razred objekt1
Razred - objekt
  • Primeri objektov
    • Stvar/naprava
      • Objekti: letalo, knjiga, izdelek, material, zgradba
    • Oseba/vloga
      • Objekti: delavec, dobavitelj, stranka, posrednik
    • Dogodek
      • Objekti: polet, prodaja, prenos, plačilo
    • Pojem
      • Objekti: garancija, kakovost
    • Kraj/lokacija
      • Objekti: pisarna, skladišče, mesto, regija
razred objekt2
Razred - objekt
  • Koliko razredov je na sliki?
uml unified modeling language
UML – Unified Modeling Language
  • Diagrami primerov uporabe (use case diagrams)
  • Razredni diagrami (class diagrams)
  • Diagrami zaporedja (sequence diagrams)
  • Diagrami sodelovanja (collaboration diagrams)
  • Diagrami stanj (statechart diagrams)
  • Diagrami aktivnosti (activity diagrams)
  • Komponentni diagrami (component diagrams)
  • Diagrami namestitve (deployment diagrams)
diagrami pu
Diagrami PU
  • Predstavljajo povezavo med uporabniki sistema in procesi, ki v sistemu tečejo
  • Realni primer poslovnega procesa, ki se začne in konča z okoljem poslovnega sistema
  • Prenos objektnega razmišljanja v poslovno modeliranje
izvor diagrama pu
Izvor diagrama PU
  • Osnova Jacobson Objectory in metoda modeliranja poslovnih procesov (OOSE)
  • Metoda poenostavljena z namenom enostavnega zajemanja zahtev in spoznavanje problemskega področja.
namen uporabe diagramov pu
Namen uporabe diagramov PU
  • Diagrami PU služijo kot osnova pri
    • Definiranju funkcionalnih zahtev
    • Identificiranju in določanju lastnosti objektov
    • Definiranju interakcije med objekti in vmesniki objektov
    • Načrtovanju uporabniških vmesnikov
    • Testiranju
    • Komunikaciji z uporabnikom
namen uporabe diagramov pu1
Namen uporabe diagramov PU
  • Primeri uporabe povezujejo vse aktivnosti v življenskem ciklu razvoja IS
notacija
Notacija
  • Gradniki diagrama primerov uporabe so
    • Primer uporabe
    • Akter
    • Povezave med akterji in primeri uporabe
    • Sistem (podsistem)
  • Dodan opis s pomočjo strukturiranega besedila in implementacija s pomočjo diagrama interakcije objektov
scenarij pu stanje ba ra una
Scenarij PU: Stanje BA računa
  • “Pozitiven” scenarij:
    • Stranka vloži kartico
    • BA ugotovi pravilnost kartice
    • BA zahteva vnos gesla
    • Stranka vnese geslo (pravilno geslo)
    • Izpiše se stanje na računu
  • Alternative scenarija:
    • Kartica je nepravilna, BA vrne kartico
    • Vnešeno geslo je napačno (trije poizkusi – BA zadrži kartico)
    • Komunikacijski kanal je prekinjen
sistem ali podsistem
Sistem ali podsistem
  • Je koncept prikaza poslovanja
  • Predstavlja celoto, katero želimo modelirati
  • Sistem (podsistem) mora biti omejen, z jasno definirano mejo
  • Delitev sistema na podsisteme pomeni večjo razumljivost za ljudi, ki imajo opravka le z delom poslovanja, enostavnejši prikaz odgovornosti za posameznika in prikaz medsebojnih vplivov.
akter
Akter
  • Je zunanja entiteta, ki komunicira s PU in predstavlja vpliv okolja na sistem
  • Akter lahko predstavlja vlogo posameznika, sistema ali stroja izven sistema, ki s sistemom komunicira in to komunikacijo želimo modelirati
  • Akterji niso nujno osebe! So lahko

zunanji sistemi, ki potrebujejo

informacije od sistema, ki ga razvijamo.

pu primer uporabe
PU – primer uporabe
  • Primer uporabe predstavlja zaporedje transakcij v sistemu, ki akterju vrača merljive rezultate
  • Opisuje možen potek interakcije med sistemom in enim ali več akterji
  • Ne predstavlja enega samega scenarija temveč opis množice potencialnih scenarijev.
  • V primeru, ko je potrebno podrobno poznavanje scenarijev, opis dopolnimo s strukturiranim opisom posameznih scenarijev (opišemo običajni scenarij in naštejemo vse alternativne scenarije.
pu primer uporabe1
PU – primer uporabe
  • Namesto strukturiranega besedila lahko uporabimo diagram zaporedja:
    • Identificiramo “subjekte”, ki so odgovorni za izvajanje scenarija
    • Izrišemo časovno zaporedje dogodkov, ki tečejo med udeleženimi “subjekti”
  • Da bolj natančno določimo posamezno aktivnost, uporabimo diagram sodelovanja
povezava komunicira
Povezava “komunicira”
  • Sodelovanje akterja v primeru uporabe prikažemo z neprekinjeno povezavo med simbolom akterja in simbolom primera uporabe
povezava raz irja
Povezava “razširja”
  • Je povezava med primeri uporabe
  • Relacija “razširja” od primera uporabe B do primera uporabe A pomeni, da izvajanje primerka primera uporabe A lahko vsebuje (ni pa obvezno) obnašanje, ki je vsebovano v primeru uporabe B. To pomeni, da primer uporabe B razširja tok dogodkov primera uporabe A (B extend A).
povezava raz irja1
Povezava “razširja”
  • Prikažemo jo z usmerjeno povezavo od primera uporabe, ki zagotavlja razširitev, do osnovnega primera uporabe.
povezava vklju uje
Povezava “vključuje”
  • Je povezava med primeri uporabe
  • Povezava “vključuje” med primeroma uporabe A in B določa, da primerek primera uporabe A v svojem delovanju vsebuje tudi delovanje primerka primera uporabe B (A include B).
povezava vklju uje1
Povezava “vključuje”
  • Prikažemo jo z usmerjeno povezavo od primera uporabe, ki vključuje (uporablja) drug primer uporabe.
povezavi raz irja in vklju uje
Povezavi “razširja” in “vključuje”
  • Razlika med relacijama vključuje in razširja je:
    • Relacijo razširja uporabimo, kadar imamo primer uporabe, ki je podoben drugemu primeru uporabe, toda dela nekaj več.
    • Relacijo vključuje modeliramo, kadar je obnašanje primera uporabe skupno več kot le enemu primeru uporabe.
  • Primer za bankomat:
    • Avtorizacija* se izvede kot del zaporedja dogodkov v več primerih uporabe:
      • Dvig denarja
      • Polog denarja
      • Informacije o stanju na računu

* Avtorizacija kot PU je slab primer, saj gre dejansko za nefunkcionalno zahtevo, le-teh pa s PU ne prikazujemo.

komentarji
Komentarji
  • Če želimo, lahko tudi v diagramih PU uporabimo komentarje – vendar naj le-ti predstavljajo kratko opombo in ne razlago gradnikov
  • Velikokrat komentarji pomenijo, da diagram PU ni sam po sebi dovolj razumljiv – razlog za premislek!
splo no priporo ilo
Splošno priporočilo
  • Diagram PU je namenjen olajšanju zajema oz. prikaza zahtev, ne zato, da si z njim otežimo naše delo.
  • Pišemo jih iz akterjeve perspektive
  • Opisi naj bodo oblikovani kot scenarij, ne kot funkcionalne zahteve (seznam funkcij)
  • Princip Occamove britve:
    • “Entia non sunt multiplicanda praeter necessitatem” -> Stvari naj se ne komplicirajo bolj kot je to treba.
slide91

Diagrami statične strukture

  • Razredni diagram
  • Diagram objektov
razredni diagram rd
Razredni diagram (RD)
  • RD opisuje tipe objektov v sistemu in različne vrste statičnih razmerij med njimi
    • Je grafična predstavitev statične strukture modela sistema
    • RD ne prikazuje dinamične komponente, čeprav lahko zajema povezave na elemente, ki vsebujejo dinamičnost
  • Je osrednja modelirna tehnika, ki se uporablja praktično v vseh objektno usmerjenih metodah
objektni diagram
Objektni diagram
  • Objektni diagram je posebni primer RD
    • Je diagram primerkov razredov, skladen z določenim razrednim diagramom
    • Uporablja se zgolj za razjasnitev in boljše razumevanje arhitekture sistema
gradniki rd
Gradniki RD
  • Razred (class)
  • Atributi (attributes)
  • Metode (methods, operations)
  • Povezave med razredi oz. relacije
    • Asociacija
    • Kompozicija
    • Agregacija
    • Posploševanje
razred1
Razred
  • Vsebuje
    • Atribute
    • Metode
  • Je (lahko)
    • Element diagramov
    • Vmesnik
  • Implementira
    • Operacije
    • Vloge v povezavah z drugimi razredi
razred2
Razred
  • Razred predstavlja množico objektov, ki imajo podobno strukturo, obnašanje in relacije
  • Razrede deklariramo v razrednih diagramih, uporabimo pa jih lahko tudi v drugih diagramih.
atributi1
Atributi
  • Atribut prikažemo kot tekstovni niz, ki je razdeljen na več delov.
  • Vidljivost določa, primerki katerih razredov bodo lahko dostopali do atributov razreda. Vidljivost lahko določimo kot:
    • Javno: +
    • Zaščiteno: #
    • Zasebno: -
metode
Metode
  • Metodo predstavimo kot tekstovni niz, ki je lahko razdeljen na več delov.
  • Vidljivost lahko določimo kot:
    • Javno: +
    • Zaščiteno: #
    • Zasebno: -
metode1
Metode
  • V primeru razrednih metod le-te podčrtamo
  • Razredna metoda je metoda, ki deluje nad razrednimi spremenljivkami ali metoda, ki operira na nivoju razreda (konstruktor, destruktor).
povezave med razredi
Povezave med razredi
  • Tipi povezav med dvema ali več razredi:
    • Asociacija
    • Kompozicija
    • Agregacija
    • Posploševanje oz. dedovanje
asociacija
Asociacija
  • Pomenska relacija med dvema ali več razredi, ki določa povezave med njihovimi primerki.
  • Strukturno razmerje, ki določa, da so objekti enega razreda povezani z objekti drugega (tudi istega) razreda
    • “Uslužbenec dela za podjetje”
  • Asociacija med dvema razredoma kaže na to, da objekti enega razreda “prepoznajo” objekte drugega razreda ter jim lahko pošiljajo sporočila.
vloge pri asociacijah
Vloge pri asociacijah
  • Za bolj jasen pomen lahko asociacijo poimenujemo
    • Običajno uporabimo glagol ali glagolsko frazo
  • Vloga je en konec asociacije, kjer se le-ta povezuje z razredom
    • Lahko jo poimenujemo, saj s tem pokažemo na vlogo, ki jo igra razred v okviru te povezave.
      • Poimenovanje je obvezno za refleksivne asociacije.
tevnost
Števnost
  • Pove, ali je asociacija obvezna ali ne
  • Določa spodnjo in zgornjo mejo števila primerkov v asociaciji.
kompozicija
Kompozicija
  • Kompozicija je posebne vrste asociacija, ki predstavlja relacijo “je del nečesa” (part of)
    • Primer: “stanovanje je del stanovanjske zgradbe”
    • Uporabimo, ko nek razred popolnoma pripada drugemu.
      • Če se stanovanjska zgradba zruši, so izgubljena tudi vsa stanovanja v njej.
agregacija
Agregacija
  • Agregacija je precej podobna kompoziciji, vendar je manj rigorozna pri grupiranju.
    • Primer: “Naročilo je sestavljeno iz več artiklov”
      • Če se naročilo stornira, artikli še zmeraj obstajajo.
posplo evanje generalizacija
Posploševanje (generalizacija)
  • Generalizacija je relacija med splošnim (nad-razred) in specifičnim elementom (pod-razred). Specifični element sestoji iz prvega elementa (generalizacijskega elementa) in dodatnih (specifičnih) informacij. Predstavlja relacijo “je” (is a).
  • Generalizacija je ravno nasprotna dedovanju.
diagrami interakcije
Diagrami interakcije
  • Diagrami zaporedja
  • Diagram komunikacije
diagram zaporedja dz
Diagram zaporedja (DZ)
  • DZ spada v skupino diagramov interakcije, s katerim prikažemo obnašanje, ki je posledica sodelovanja skupine primerkov.
  • DZ predstavlja pogled iz časovne perspektive.
  • DZ prikazuje interakcijo na podlagi časovnega zaporedja – kako objekti sodelujejo in izmenjujejo sporočila v interakciji na osnovi časovnih linij.
  • DZ primerni za:
    • Kompleksne scenarije
    • Specifikacije v realnem času
diagram komunikacije dk
Diagram komunikacije (DK)
  • Je graf objektov, povezav ter pripadajočih sporočil (objektni diagram + tok sporočil)
  • Diagram prikazuje objekte, ki sodelujejo pri izvršitvi operacij
  • Prikazuje povezave med objekti, ne prikazuje pa časovne dimenzije (kar lahko modeliramo z diagramom zaporedja)
diagram komunikacije dk1
Diagram komunikacije (DK)
  • Uporabimo jih, kadar želimo opazovati obnašanje več objektov znotraj posameznega primera uporabe
  • Če želimo zajeti obnašanje posameznega objekta skozi več primerov uporabe uporabimo diagram stanj
diagrami dinami ne strukture
Diagrami dinamične strukture
  • Diagram stanj
  • Diagram aktivnosti
diagram stanj
Diagram stanj
  • Opisujejo dinamično obnašanje sistema
  • Opisujejo vsa možna stanja objekta in način njihovega spreminjanja kot posledico dogodkov, ki vplivajo na objekt
diagram stanj3
Diagram stanj
  • Aktivnost
    • Ni potrebno, da je atomarna
    • Zunanji dogodek jo prekine
    • Inicira se z vstopom v stanje
    • Zaključi se lahko samostojno – zaključek predstavlja implicitni dogodek
  • Podstanja
    • Sočasna podstanja
    • Zaporedna podstanja
diagram aktivnosti da
Diagram aktivnosti (DA)
  • So poseben primer diagrama prehajanja stanj – stanja predstavljajo izvajanje akcij ali podaktivnosti
  • Vsa (ali vsaj večina) stanj so akcije ali podaktivnosti in vsi (ali vsaj večina) prehodi se sprožijo z zaključkom akcij v izvornih stanjih
  • Običajno se DA nanaša na:
    • Implementacijo operacije
    • Primer uporabe
  • Namenjen predvsem opisu toka notranjega procesiranja.
diagrami aktivnosti da
Diagrami aktivnosti (DA)
  • Uporabimo jih v primeru, ko vsi ali vsaj večina dogodkov predstavlja zaključek internih akcij
  • Posebej uporabni so pri opisovanju obnašanja z veliko paralelnega procesiranja
  • Asinhroni dogodki -> diagrami stanj
diagrami implementacije
Diagrami implementacije
  • Komponentni diagram
  • Diagram namestitve
komponentni diagram kd
Komponentni diagram (KD)
  • Prikazuje odvisnost med programskimi komponentami
  • Vključuje:
    • Komponente izvorne kode
    • Izvršne komponente
    • Izvedljive komponente
diagram namestitve dn
Diagram namestitve (DN)
  • Prikazuje strojno procesno opremo in programske komponente, procese in objekte, ki se na njej izvajajo
  • Komponente, ki se ne dajo izvajat, v teh diagramih ne prikazujemo (prikažemo jih na komponentnih diagramih)