Razvoj IS u distribuiranom okruženju
Karakteristike razvoja IS u distribuiranom okruženju Pojam i namena modela, ciljevi modeliranja Logički i fizički aspekti modela Statički i dinamički aspekti modela Model životnog ciklusa razvoja IS Iterativno – inkrementalni razvoj
Pojam i namena modela Model je simplifikacija realnosti Model nekog sistema je apstrakcija tog realnog sistema iz određenog ugla posmatranja Namena modela: bolje razumevanje sistema koji se razvija
Šta je vizuelno modeliranje? Računarski sistem Poslovni proces Narudžbina Stavka Dostava “Modeliranje ‘snima’ bitne delove sistema.” Dr. James Rumbaugh Vizuelno modeliranje je modeliranje korišćenjem standardnih grafičkih notacija
Ciljevi modeliranja omogućava da se specificira struktura i ponašanje sistema daje šablon koji usmerava konstrukciju sistema dokumentuje projektne odluke koje se donose pomaže vizuelizaciju sistema omogućava ispitivanje projektnih odluka po relativno niskoj ceni
Vizuelno modeliranje olakšava ponovno korišćenje koda (reuse) Različiti sistemi Komponente (reusable components)
DO 1970, KOD MNOGIH TRAJE I DALJE ISTORIJA “HEROJSKO DOBA” - REŠAVANJE PROBLEMA ISKLJUČIVO PROGRAMIRANJEM DO 1970, KOD MNOGIH TRAJE I DALJE STRUKTURNE METODE: STRUKTURNA ANALIZA I STRUKTURNO PROJEKTOVANJE 1965 –1985 KONVENCIONALNI PRISTUP (danas): MODELI PODATAKA, BAZE PODATAKA I JEZICI IV GENERACIJE 1980 – TRAJE I DALJE OBJEKTNE METODE 1980 – I DALJE STANDARDI - UML 1998 I DALJE
ISTORIJA podaci u programima upravljanje datotekama upravljanje bazama podataka upitni jezici transakcioni izveštaji fleksibilni izveštaji ad hoc izveštaji batch obrade t Evolucija obrade podataka
ISTORIJA simbolički modeli mašine za računanje kompjuterski modeli interaktivni modeli t Evolucija modela
Konvergencija evolucija obrade podataka ISTORIJA upitni jezici podaci interaktivni modeli modeliranje korisnik dijalog Konvergencija evolucija obrade podataka i modeliranja
Logički i fizički aspekti modela
Logički i fizički aspekti modela Logički model sistema opisuje postojanje i značenje ključnih apstrakcija i mehanizama koji obrazuju prostor problema ili definišu arhitekturu sistema Fizički model sistema opisuje konkretnu softversku i hardversku kompoziciju
Logički i fizički aspekti modela Logički model: struktura i relacije između klasa i struktura i relacije između objekata Fizički model: arhitektura modula i arhitektura procesa
Statički i dinamički aspekti modela
Statički i dinamički aspekti modela Statički aspekti modela se fokusiraju na njegovu strukturu (model podataka) Dinamički aspekti modela se fokusiraju na njegovo ponašanje (model procesa) Realni sistemi imaju dinamičko ponašanje: objekti se kreiraju i uništavaju objekti šalju poruke nekim redosledom u mnogim sistemima spoljašnji događaji izazivaju operacije izvesnih objekata
Pretpostavke za kvalitetan IS JEDINSTVEN SISTEM OZNAČAVANJA Paralelni sistem označavanja Katalog predmeta poslovanja Interni standardi i standari kvaliteta (ISO 9000) JEDINSTVEN MODEL SISTEMA Dekompozicioni dijagrami Dijagrami toka podataka Entitetni dijagrami UML dijagrami JEDINSTVENA (ne nužno jedna) BAZA PODATAKA DISTRIBUIRANE APLIKACIJE
Model životnog ciklusa razvoja IS
Model životnog ciklusa razvoja IS (Waterflow) definisanje strategije snimanje postojećeg stanja projektovanje aplikativno modeliranje implementacija održavanje
Model životnog ciklusa razvoja IS Definisanje strategije Snimanje postojećeg stanja Projektovanje Aplikativno modeliranje Implementacija Održavanje
Definisanje strategije Definisanje strategije i ciljeva razvoja IS u skladu sa strategijom i ciljevima preduzeća Istraživanje savremenih pravaca razvoja informacionih sistema Sagledavanje mogućnosti savremenih informacionih tehnologija Utvrđivanje mogućnosti primene savremenih informacionih tehnologija Definisanje plana razvoja IS
Model životnog ciklusa razvoja IS Definisanje strategije Snimanje postojećeg stanja Projektovanje Aplikativno modeliranje Implementacija Održavanje
Analiza zahteva korisnika Definisanje zahteva iz dokumenata Postupak odozdo-na-gore Ulazna dokumenta, Kartoteke, fascikle (skladišta podataka) Izlazna dokumenta Uzorci izveštaja, Organizacioni propisi o načinu rada Da li postoje i koliko se poštuju Da li postoji služba interne standardizacije Da li su definisani normativi rada
Analiza zahteva korisnika: Definisanje zahteva intervjuom Postupak odozgo-na-dole Pripreme za izvođenje intervjua Liste rukovodilaca i vremenski raspored intervjua, Teme za razgovor i potvrda termina, Izbor opštih pitanja i probni intervju Sagledavanje poslovanja top menadžmenta Dekompozicija ciljeva, funkcija, procesa, potreba, problema, projekata, organizacije, lokacije Bolji odnosi tima i rukovodioca Definisanje prioriteta i preporuka
Snimanje postojećeg stanja Dokumentovanje - Strukturna sistem analiza jasna grafička specifikacija, pogodna za komunikaciju sa korisnikom jasan i detaljan opis sistema (primenom metode apstrakcije, sistem se na višim nivoima apstrakcije opisuje jasno, a na nižim detaljno) logička specifikacija procesa, (kako sistem sada radi, kako budući sistem treba da radi - ne kako će biti implementiran)
Najčešći nalazi snimka postojećeg stanja: Razvijene parcijalne aplikacije Nejedinstven sistem označavanja Nekonsultovanje zahteva korisnika Nepostojanje adekvatne dokumentacije
Model životnog ciklusa razvoja IS Definisanje strategije Snimanje postojećeg stanja Projektovanje Aplikativno modeliranje Implementacija Održavanje
Analiza strukture sistema Projektovanje Analiza strukture sistema Identifikacija procesa u sistemu Definisanje tokova podataka Definisanje skladišta podataka Identifikacija interfejsa koji učestvuju u tokovima podataka Izrada modela sistema Definisanje objekata sistema Definisanje veza i relacija između objekata sistema
Po završetku projekta - Definisanje načina realizacije informacionog sistema Izbor sistemskog softvera Izbor koncepta skladištenja podataka Izbor softverskih alata Utvrđivanje nosioca realizacije razvoja Specifikacija potrebnih resursa
Model životnog ciklusa razvoja IS Definisanje strategije Snimanje postojećeg stanja Projektovanje Aplikativno modeliranje Implementacija Održavanje
Aplikativno modeliranje Fizička realizacija IS Generisanje baza podataka Izrada aplikacija Programiranje logike aplikacije Kreiranje grafičkog interfejsa prema korisniku Definisanje menija, izgleda formi, upita Definisanje standardnih izveštaja Testiranje aplikacija Definisanje rasporeda softverskih komponenti
Model životnog ciklusa razvoja IS Definisanje strategije Snimanje postojećeg stanja Projektovanje Aplikativno modeliranje Implementacija Održavanje
Implementacija Postavljanje i fizičko povezivanje opreme Instaliranje softvera Instaliranje sistemskog softvera Postavljanje baze podataka Instaliranje aplikacija Inicijalno formiranje baze podataka Izrada pomoćnih aplikacija za formiranje baze podataka Prikupljanje podataka za bazu podataka Unos podataka u pomoćne datoteke Prečišćavanje i sređivanje podataka Punjenje baze podataka Obuka neposredni korisnici, priprema, operativno rukovodstvo, top menadžment
Model životnog ciklusa razvoja IS Definisanje strategije Snimanje postojećeg stanja Projektovanje Aplikativno modeliranje Implementacija Održavanje
Održavanje Korekcije Inovacije detaljna analiza ! testiranje ! dokumentovanje !
NEDOSTACI: SOFTVERSKA KRIZA 1. “FRONTALNI” PRISTUP, RAZVOJ SISTEMA U JEDNOM PROLAZU Analiza celog sitema, projektovanje celog sistema, implementacija celog sistema, uvođenje celog sistema 2. SLABA EFIKASNOST - DUGO VREME UVOĐENJA Realni rizik da se sistem promeni do završetka svih faza ciklusa. 3. NISKA EFEKTIVNOST "U proseku, samo oko 30% novih informacionih sistema u potpunosti zadovoljava korisnika" – citat iz ranih 80-tih godina SOFTVERSKA KRIZA
Evolutivni prototipski razvoj IS
Evolutivni prototipski razvoj IS prototipsko formiranje ... zahtev (?) evolutivni specifikacija model program validacija održavanje
Evolutivni prototipski razvoj IS Višestruko ponavljanje životnog ciklusa, pri čemu rezultat svake iteracije predstavlja jedan relativno mali, po pravilu korisniku značajan, deo projekta (inkrement). KRITERIJUM: Dva do tri meseca razvoja za jedan inkrement
Iterativno – inkrementalni razvoj Objektno-orijentisani pristupi kao osnovnu paradigmu imaju iterativno-inkrementalni razvoj: “PLANIRAJ MALO, ANALIZIRAJ MALO, PROJEKTUJ MALO, IMPLEMENTIRAJ MALO!”
Iterativni životni ciklus: Planiran i organizovan Predvidiv Pravi izmene uz manje ‘potrese’ Baziran je na razvoju izvršnih komponenti, ne dokumentacije Korisnik i projektant kroz proces formiraju međusobni odnos Manje rizičan Iterativni ciklus je nov pristup projektovanju sistema korištenjem UML-a. Ovaj pristup omogućuje kontrolisan i predvidiv ciklus razvoja sistema. On je planiran i organizovan, predvidiv, pravi izmene uz manje ‘potrese’, baziran je na razvoju izvršnih komponenti, ne dokumentacije, daje odnos korisnika i onoga ko razvija sistem kroz proces, manje riskantan. 45 45
Tri važne karakteristike iterativnog životnog ciklusa Kontinuirana integracija Frekventne izvršne realizacije Smanjenje rizika kroz stalno testiranje Iterativni ciklus je nov pristup projektovanju sistema korištenjem UML-a. Ovaj pristup omogućuje kontrolisan i predvidiv ciklus razvoja sistema. Njegove tri važne karakteristike su: Kontinuirana integracija Ne rešenje napravljeno što bliže vremenu isporuke Frekventne izvršne realizacije Neke interne, neke eksterne Smanjenje rizika kroz stalno testiranje Napredak se prati kroz produkte, ne kroz dokumentaciju 46 46
Krajnja dobit Tim je u stanju da završi projekat u određenom vremenu Moguće je neke od problema ostaviti za kasnije cikluse Svi koji učestvuju u projektu mogu bolje da organizuju posao Realizacije forsiraju tim da završe projekat u određenom vremenu Ne sme da postoji fenomen da je “90% završeno sa još 90% preostalog posla” Moguće je neke od problema, karakteristike ili promena ostaviti za kasnije cikluse, tako da se ne poremeti postojeći produkt Svi koji učestvuju u projektu (testeri, pisci dokumentacije, itd.) mogu bolje da organizuju posao 47 47
CASE - Computer Aided Software Engeneering min vreme max produktivnost max kvalitet max pouzdanost standardizacija SW
Alati za razvoj IS - CASE alati BpWin - Platinum ErWin - Platinum Oracle Designer Rational Rose - IBM Paradigm Plus
Podele CASE horizontalna vertikalna prema broju korisnika za više faze životnog ciklusa (analiza, dizajn) za srednje faze životnog ciklusa (izrada aplikacija, implementacija) za niže faze (podrška eksploataciji) vertikalna upravljanje, planiranje, praćenje tehnički alati podrška projektu (rečnici, skladišta) prema broju korisnika jednokorisnički višekorisnički (mrežni)