54
Razvoj IS u distribuiranom okruženju

Razvoj is u Distribuiranom Okruzenju 54

  • Upload
    kaktis

  • View
    21

  • Download
    4

Embed Size (px)

DESCRIPTION

Razvoj is u Distribuiranom Okruzenju 54

Citation preview

  • Razvoj IS u distribuiranom okruenju

  • Program kursaModeliranje sistema u distribuiranom okruenju Model procesaModel podatakaBaze podatakaOsnove SQLPravci razvoja modeliranja sistema u distribuiranom okruenju

  • ISTORIJAHEROJSKO DOBA - REAVANJE PROBLEMA ISKLJUIVO PROGRAMIRANJEMDO 1970, KOD MNOGIH TRAJE I DALJE

    STRUKTURNE METODE: STRUKTURNA ANALIZA I STRUKTURNO PROJEKTOVANJE1965 1985

    KONVENCIONALNI PRISTUP (danas): MODELI PODATAKA, BAZE PODATAKA I JEZICI IV GENERACIJE1980 TRAJE I DALJE

    OBJEKTNE METODE1980 I DALJE STANDARDI - UML 1998 I DALJE

  • Model ivotnog ciklusa razvoja ISPlaniranjeDefinisanje zahtevaSistem analiza i konceptualni dizajnProjektovanjeKonstrukcija - izrada korisnikih aplikacijaImplementacijaOdravanje i dokumentovanjeAdaptacije

  • Evolutivni prototipski razvoj validacija odravanje program prototipsko formiranje specifikacija evolutivni model ... zahtev (?)

  • ITERATIVNO INKREMENTALNI RAZVOJObjektno-orijentisani pristupi kao osnovnu paradigmu imaju iterativno-inkrementalni razvoj:PLANIRAJ MALO, ANALIZIRAJ MALO, PROJEKTUJ MALO, IMPLEMENTIRAJ MALO! Viestruko se ponavlja ivotni ciklus, pri emu rezultat svake iteracije predstavlja jedan relativno mali, po pravilu korisniku znaajan, deo projekta (inkrement).

    KRITERIJUM: Dva do tri meseca razvoja za jedan inkrement

  • Iterativni ivotni ciklus:Planiran i organizovanPredvidivPravi izmene uz manje potreseBaziran je na razvoju izvrnih komponenti, ne dokumentacijeKorisnik i projektant kroz proces formiraju meusobni odnosManje rizian

  • Tri vane karakteristike iterativnog ivotnog ciklusaKontinuirana integracijaFrekventne izvrne realizacijeSmanjenje rizika kroz stalno testiranje

  • Krajnja dobitTim je u stanju da zavri projekat u odreenom vremenuMogue je neke od problema ostaviti za kasnije cikluse Svi koji uestvuju u projektu mogu bolje da organizuju posao

  • Pojam i namena modela Model je simplifikacija realnostiModel nekog sistema je apstrakcija tog realnog sistema iz odreenog ugla posmatranjaNamena modela: bolje razumevanje sistema koji se razvija

  • Ciljevi modeliranjaomoguava da se specificira struktura i ponaanje sistemadaje ablon koji usmerava konstrukciju sistemadokumentuje projektne odluke koje se donosepomae vizuelizaciju sistemaomoguava ispitivanje projektnih odluka po relativno niskoj ceni

  • ta je vizuelno modeliranje?

  • Vizuelno modeliranje snima poslovni procesUse-Case analiza je tehnika snimanja poslovnog procesa sa stanovita korisnika

  • Vizuelno modeliranjeolakava ponovno korienje koda (reuse)Razliiti sistemiKomponente(reusablecomponents)a

  • Logiki i fiziki aspekti modelaLogiki model sistema opisuje postojanje i znaenje kljunih apstrakcija i mehanizama koji obrazuju prostor problema ili definiu arhitekturu sistemaFiziki model sistema opisuje konkretnu softversku i hardversku kompozicijuLogiki model: struktura i relacije izmeu klasa i struktura i relacije izmeu objekataFiziki model: arhitektura modula i arhitektura procesa

  • Logiki i fiziki model : Poslovne funkcije i poslovni procesORGANIZACIONO I TEHNOLOSKO OKRUZENJE-Organizaciona struktura-Sistematizacija radnih mesta-TehnologijaFIZIKI MODEL (POSLOVNI PROCESI )Opis naina odvijanja pojednIh poslovaProjektovanjefizikog modelaLOGICKI MODEL(POSLOVNE FUNKCIJE)-Opis poslovnih funkcija-Primitivne poslovne funkcijeLogicki modeliz fizikog

  • Statiki i dinamiki aspekti modelaStatiki aspekti modela se fokusiraju na njegovu strukturu (model podataka)Dinamiki aspekti modela se fokusiraju na njegovo ponaanje (model procesa)Realni sistemi imaju dinamiko ponaanje: objekti se kreiraju i unitavaju objekti alju poruke nekim redosledomu mnogim sistemima spoljanji dogaaji izazivaju operacije izvesnih objekata

  • Pretpostavke za kvalitetan ISJEDINSTVEN SISTEM OZNAAVANJAParalelni sistem oznacavanjaKatalog predmeta poslovanjaInterni standardi i standari kvaliteta (ISO 9000)JEDINSTVEN MODEL SISTEMADekompozicioni dijagramiDijagrami toka podatakaEntitetni dijagramiUML dijagrami JEDINSTVENA (ne nuno jedna) BAZA PODATAKADISTRIBUIRANE APLIKACIJE

  • Alati za razvoj RIS - CASE alatiBpwin ErwinRational RoseDesignerParadigm PlusArtist

  • Definisanje zahtevaModeliranje funkcija i procesa

  • Analiza zahteva korisnikaDefinisanje zahteva iz dokumenataPostupak odozdo na goreUlazna dokumenta,Kartoteke, fascikle(skladita podataka)Izlazna dokumentaUzorci izvetaja,Organizacioni propisi o nainu rada Da li postoje i koliko se potujuDa li postoji sluba interne standardizacijeDa li su definisani normativi rada

  • Analiza zahteva korisnika:Definisanje zahteva intervjuomPostupak odozgo na dolePripreme za izvoenje intervjuaListe rukovodilaca i vremenski raspored intervjua,Teme za razgovor i potvrda termina,Izbor optih pitanja i probni intervjuSagledavanje poslovanja top menadmenta Dekompozicija ciljeva, funkcija, procesa, potreba, problema, projekata, organizacije, lokacijeDefinisanje prioriteta i preporuka

  • Snimak postojeceg stanja (najee) ukazuje na:Razvijene parcijalne aplikacijeNejedinstven sistem oznaavanjaNekonsultovanje zahteva korisnikaNepostojanje adekvatne dokumentacije

  • Definisanje zahtevaIzrada logikog modela funkcijaFundamentalne funkcije Logika primitivnih funkcijaIzrada fizikog modela poslovnih procesaOrganizaciono-tehnoloko okruenjeDijagrami sluajeva upotrebeDijagrami aktivnosti

  • Izrada logikog modela funkcijaProblem sloenosti- precizna i formalna specifikacija:Na viim nivoima apstrakcije optijeNa niim nivoima apstarkcije deteljnijeta sistem treba da radi (ne i kako)Stabilniji i sporije se menjaInverzni postupak- iz postojeceg fizikog opisaOgranienja:Stepen primene dokumenata i postupakaOdbojnost korisnika ili preterani zahteviZnanje sistem analitiara

  • Izrada logikog modela funkcijaDefinisanje fundamentalnih funkcija Analiza zahteva korisnikaDefinisanje dijagrama kontekstaDefinisanje stabla logikih funkcijaDefinisanje dekompozicionih dijagramaDefinisanje logike primitivnih f-ja Definisanje primitivnih funkcijaDefinisanje tokova podatakaDefinisanje skladita podatakaDefinisanje spoljnih objekata

  • Izrada modela poslovnih procesaOdgovor na pitanje kako?Podloznost eim izmenama zbog organizacijeOpis poslovnih procesaAktivnosti, redosled i uslovi obavljanjaRadna mesta (procesori)Dokumenta (ulazi i izlazi)Faze poslovnog procesa:Aktivne-odvijanje aktivnostiPasivne: Suspendovan, Prekinut, Arhiviran, Pocetno i krajnje stanjea

  • Definisanje dijagrama kontekstaPredstavlja granicu modela koji se prouavaNajvii nivo apstrakcijePolazi se od:izlaznih strelica, prema ulazima, mehanizmima i kontrolamaNa kraju treba proveriti:obuhvaenost poslovnih funkcija koje se modeliraju;konzistentnost sa svrhom, uglom posmatranja i granicama;da li strelice uspostavljaju odgovarajui nivo detalja;da li su model prihvatili svi lanovi grupe.

  • Definisanje stabla logikih funkcija Definisanje liste objekata stabla funkcijaIdentifikacija postupaka kroz nabrajanjeIzdvajanje primarnih i ciljnih

    Stablo funkcija definieHijerarhiju - pitanje taProvera hijerarhije - pitanje kakoUtvrivanje redosleda - pitanje kada

  • Definisanje dekompozicinog dijagramaHorizontalne veze izmeu poslovnih funkcija istog nivoaVertikalna veza (roditelj-dete)Razliiti nivoi apstrakcije:na viim nivoima su optije funkcije i grupisane strelicena niim nivoima strelice se dekomponuju i detaljnije opisuju.naziv u obliku glagolske frazenajmanje jedna kontrolna i izlazna strelica

  • Tipovi strelicaHorizontalno povezivanje definisanih funkcija.Granine strelice strelice van okviraInterne strelice strelice u okviru dekompozicionog dijagramaOrganizacioni pristupbez unutranjih strelica

  • Skrivene streliceStrelice se ne vide na nadreenom ili podreenom dekompozicionom dijagramu kada je dijagram prenatrpan, ako se eli prikaz buduih dogaaja.strelica je kontrola koja se primenjuje na svakoj funkciji u dekompoziciji

  • Definisanje logike primitivnih funkcijaPrimitivna funkcijaPrimitivna funkcija je niz operacija kojima se transformiu ulazni podaci u izlazne. Svaka primitivna funkcija definisana je:nekim ulaznim tokom podataka, obavlja se na osnovu jasno specificirane logike obrade, korienjem podataka iz ulaznog toka ili nekog skladita podataka izlazni tok podataka i/ili aurirani podaci u skladitu podataka.

  • Definisanje logike primitivnih funkcija Definisanje toka podataka (Data Flow)Put (grafiki oznaen strelicom) kojim protiu grupe podataka (dokumenta, formulari, obrazci) pokazuju izmeu kojih elemenata se odvija tok podataka.Predstavlja se orijentisanom pravom i ima jedinstveno ime, koje odraava znaenje podataka i vezuje se za primitivnu funkciju

  • Definisanje logike primitivnih funkcija Definisanje skladita podataka (Data stores)Skladite podataka (kartoteka, fascikla, datoteka) slui za uvanje podatakaDefinie se kao tok podataka u mirovanju, Veza iskljuivo preko tokova podataka sa primitivnim funkcijamaSkladite podataka treba da omogui:akumuliranje sadraja toka podataka,povezivanje iskljuivo sa primitivnim funkcijama preko toka podataka, tako da:tok podataka KA skladitu oznaava operaciju odravanja, tj. ubacivanja, izbacivanja i promene sadraja;tok podataka OD skladita oznaava korienje skladita za izvetavanje.

  • Definisanje logike primitivnih funkcija Definisanje spoljnih objekata (External agents) Povezivanje sa objektima van konteksta posmatranog sistema Predstavlja ponore i/ili izvore tokova podataka. Predstavlja se dvostrukim pravougaonikom, u koji se upisuje ime objekta.

  • Specifikacija sistema Dijagram konteksta:FONoptinaSrednje koleMinistarstvoUniverzitet

  • 1. nivo dekompozicijeFONMinistarstvooptinaSrednjekoleUniverzitet1.nastavaNIRpersonal.finansije2.stud.pitanjalogistika

  • Dijagram toka podatakastudentprijavadosijesravnjenjeizrada ispitnog spiskaNPPa

  • Razvoj dijagrama sluajeva upotrebeOpisuje se interakcija nekog objekta van sistema sa samim IS. Skup sluajeva upotrebe predstavlja sve predpostavljene naine korienja sistema.Prikaz nacina koriscenja sistema preko grafa:vorovi ucesnici(Actor)slucajevi upotrebe (Use Case)grane - veze

  • Definisanje uesnikaUesnik (Actor) moe biti korisnik (ovek) ili neki drugi sistem koji mora da komunicira sa sistemom koji razvijamoUesnik je tip (klasa) i nije individualni korisnik sistema. Uesnik prima i odailje poruke koje nisu formalno prikazane.

  • Identifikacija uesnikaKo e koristiti osnovnu funkcionalnost sistema (primarni uesnici)?Kome treba podrka od sistema za obavljanje dnevnih zadataka?Ko treba da upravlja, administrira, i odrava sistem (sekundarni uesnici)?Kojim ureajima sistem treba da upravlja?Sa kojim drugim sistemima dotini sistem treba bude u vezi? Ko (ili ta) je zainteresovan za rezultate koje sistem proizvodi?

  • Definisanje sluajeva upotrebeOpisuju karakteristine sekvence akcija u tipinim situacijama upotrebe sistemaTehnika snimanja procesa sa stanovita korisnikaSvaki primitivni proces je sluaj upotrebeFunkcionalnost sistema sa stanovita ucesnikaOpisuje normalan nacin radaAtomska transakcijaLogika jedinica posla

  • Karakteristike sluajeva upotrebeUvek iniciran od strane uesnika izvrava se na zahtev uesnika koji mora direktno ili indirektno da naredi sistemu da izvri neki sluaj upotrebe Prua neku vrednost za uesnika ne mora uvek da bude upadljiva, ali mora da bude prepoznatljiva;Mora da bude definisan kao potpun opis i nije potpun sve dok se neka vrednost ne proizvede. esta greka:Podela u manje sluajeve upotrebe koji implementuju jedni druge slino funkcionalnim pozivima u programskim jezicima.

  • Sluaj upotrebe-Use-CaseUse-case je ablon ponaanja delova sistemaSvaki use-case je sekvenca bliskih transakcija koje izvodi actor u dijalogu sa sistemomActor - use caseSlubenik -- izrauje plan semestraProfesor -- zahteva listu slualacaStudent -- koristi listu ponuenih predmetaNaplatni sistem -- prima informacije o registraciji

  • Dokumentovanje Use-Case-aDokumentacija toka dogaaja se kreira za svaki use-caseDetalji o tome ta sistem treba da obezbedi prema actor-u kada se aktivira use-caseTipian sadrajKako use-case poinje i kako se zavravaNormalan tok dogaajaAlternativan tok dogaajaTok i obrada izuzetaka

  • Analogija DTP i sluajeva upotrebeInterfejsi u DTP predstavljaju fiziki konceptkonkretan objekat van sistema.Uesnik ima ulogu spoljnog objekta Primitivna funkcija i sluaj upotrebe:predviaju strukturirani prirodni jezik osnovni nain opisivanja svih koncepata kao i mogue formalnije opise npr. preko pseudo koda. Kombinacija daje nabolje rezultateDTP opisuje sve objekte, veze, atribute koji su potrebni za jedan sluaj upotrebe.

  • Analogija DTP i sluajeva upotrebeSkladite podataka poseduje samo DTP Ima ulogu opisa stanja sistema preko koga se povezuju nezavisne primitivne (atomske) funkcije. U metodologiji sluajeva upotrebe postoji asocijacija uses i extends za povezivanje pojedinih sluajeva upotrebe izmeu sebe.Asocijacije uses i extend slue za uoptavanje i proirivanje definisanih sluajeva upotrebe tj. primitivnih funkcija.U DTP primitivne funkcije nisu izmeu sebe povezane, ve preko skladita podataka.

  • Definisanje dijagrama sluajeva upotrebeOdgovor na pitanje KAKO sistem funkcionie unutraKorisniki pogled na funkcionisanje sistemakada uesnik koristi sistem, sistem obavlja sluaj upotrebe. Grafika ilustracija (statiki pristup) Prikazuje uesnike i njihove veze sa sluajevima upotrebe (use cases).

  • Definisanje dijagrama sluajeva upotrebeucesnik koristi sistem - sistem obavlja slucaj upotrebeobjekti (ucesnici i slucajevi upotrebe)veze - "u interakciji"; "sprovodi"

  • Use-Case dijagramUse case dijagrami se kreiraju da bi vizualizovali vezu izmeu actor-a i use-case-ovaStudentSlubenikProfesorKorienje liste predmetaObraivanje plana semestraZahtev za listu slualacaNaplatni sistem

  • Veze"Jedan vor uesnik povezan barem sa jednim vorom sluajem upotrebe i obrnuto jedan vor sluaj upotrebe povezan je sa barem jednim vorom uesnika"Asocijacija (association) - logika povezanost uesnika;usesextends.Generalizacija (generalization-inheritance);Zavisnost (depedency);

  • Use-Case veze: uses i extendsPosle dokumentovanja odreenog use-case-a mogu se uoiti i drugi use-case-oviUses veza prikazuje ponaanje koje je zajedniko za jednog ili za vie use-case-va.Extends veza prikazuje opciono ponaanje

  • Primer Use Case

    4545Iterativni ciklus je nov pristup projektovanju sistema koritenjem UML-a. Ovaj pristup omoguuje kontrolisan i predvidiv ciklus razvoja sistema. On je planiran i organizovan, predvidiv, pravi izmene uz manje potrese, baziran je na razvoju izvrnih komponenti, ne dokumentacije, daje odnos korisnika i onoga ko razvija sistem kroz proces, manje riskantan.

    4646Iterativni ciklus je nov pristup projektovanju sistema koritenjem UML-a. Ovaj pristup omoguuje kontrolisan i predvidiv ciklus razvoja sistema. Njegove tri vane karakteristike su: Kontinuirana integracijaNe reenje napravljeno to blie vremenu isporuke Frekventne izvrne realizacijeNeke interne, neke eksterne Smanjenje rizika kroz stalno testiranjeNapredak se prati kroz produkte, ne kroz dokumentaciju4747Realizacije forsiraju tim da zavre projekat u odreenom vremenuNe sme da postoji fenomen da je 90% zavreno sa jo 90% preostalog poslaMogue je neke od problema, karakteristike ili promena ostaviti za kasnije cikluse, tako da se ne poremeti postojei produktSvi koji uestvuju u projektu (testeri, pisci dokumentacije, itd.) mogu bolje da organizuju posao

    1414Actor je bilo ko ili bilo ta, to mora da komunicira sa sistemom koji razvijamoNa osnovu opisa sistema moemo izdvojiti sledee: Slubenik Profesor Student Naplatni sistem

    1515Use-case je ablon ponaanja delova sistemaSvaki use-case je sekvenca bliskih transakcija koje izvodi actor u dijalogu sa sistemomActor-i se ispituju da bi se ustanovila njihova uloga Slubenik -- izrauje plan semestra Profesor -- zahteva listu slualaca Student -- koristi listu ponuenih predmeta Naplatni sistem -- prima informacije o registraciji1616Dokumentacija se moze dobiti iz projektaDokumentacija toka dogaaja se kreira za svaki use-case Napisan je sa gledita actor-aDetalji o tome ta sistem treba da obezbedi prema actor-u kada se aktivira use-caseTipian sadraj Kako use-case poinje i kako se zavrava Normalan tok dogaaja Alternativan tok dogaaja Tok i obrada izuzetaka

    1818Use case dijagrami se kreiraju da bi vizualizovali vezu izmeu actor-a i use-case-ovaSlubenik -- izrauje plan semestra Profesor -- zahteva listu slualaca Student -- koristi listu ponuenih predmeta Naplatni sistem -- prima informacije o registraciji1919Posle dokummentovanja odreenog use-case-a mogu se uoiti i drugi use-case-oviMogue je strukturirati use-case-ove preko uses i extends veza: Uses veza prikazuje ponaanje koje je zajedniko za jednog ili za vie use-case-va. Extends veza prikazuje opciono ponaanje