Transcript

2

Razvoj informacionih sistema

Struktura softverskog inženjeringaRazvojni principi,

Metodi,

Sredstva (alati) i

Procedure.

Izbor uslovljen: individualnim i kreativnim

postupkom razvoja, različitošću sistema i

različitošću okruženja.

3

Razvoj informacionih sistema

Razvoj informacionog sistema

Metode

IntervjuGrupno ispitivanjeBrain-stormingSWOT analiza

Funkcionalno orijentisanoStrukturisanoObjektno orijentisanoPlaniranje znanja

Tabele odlučivanjaProcesno orijentisano programiranjeStruktruno planiranje programaObjektno orijentisano programiranje

Faza

analize

Planiranje

Izvedba

SredstvaDijagramiTabeleSheme/Slike/Prikazi

DijagramiTabeleI/O analizaHIPOIPO

Blok dijagramiStrukturogramiDijagrami strukture

CASE alati4GL tehnikeSQL standard

Nadzor

sistema

Izvedba

Planiranje

Faza

analize

PrincipiDvo-nivoosko planiranjeIterativost (???)OdlučnostProjektni radOdložene odlukeOsiguranje kvalitetaModelsko posmatranjeSamodokumentovanje

Posmatranje sa aspekta životnog ciklusaFunkcionišući modeliSpiralni modelV model

Koraci razvoja

Opšta

očekivanja

4

Razvoj informacionih sistema

Razvojni principi - određuju način izvršenja rada.

Opšti principi - modelovanja, iteracija,

dokumentovanja, ..

Metodološki koraci - modeli razvoja softvera

(model životnog ciklusa, model vodopada,

spiralni model, 4GT model, model prototipskog

razvoja, kombinovani model).

Metodi - propisani sistematski načini u izvršavanju

pojedinih zadataka razvoja softvera.

Mogu se kombinovati i ne postoji najbolji.

Strukturiraju se po različitim kriterijumima.

Pravilan izbor podrazumeva minimalne troškove i

visoki kvalitet proizvoda.

5

Razvoj informacionih sistema

Alati - automatizovana ili poluautomatizovana

podrška metodima.

CASE tehnologije.

Procedure - sistemi metoda i alata u realizaciji

razvoja.

Opredeljuje ih - priroda problema i očekivanje

korisnika.

Definišu - redosled metoda/koraka, rezultate -

izlaze koraka, kontrole radi obezbeđenja

kvaliteta.

6

Razvoj informacionih sistema

Metodologije - jedinstveni sistemi metoda.

SADT,

ISAC,

James Martin,

Gane and Sarson,

SSADM,

De Marco,

SDM- Pandata,

Lorensen,

Martin and Odell,

RUP

7

Razvoj informacionih sistema

Životni ciklus:

Prilikom idealnog razvoja informacionog

sistema, proces razvoja je linearan.

Identifikacija i izbor projekata

Inicijalizacija projekata

i planiranje

Analiza sistema

Dizajn sistema

Implemen-tacija

sistema

Održavanjesistema

8

Razvoj informacionih sistema

Životni ciklus:

Nakon implementacije prve verzije javljaju se –

novi ili izmenjeni zahtevi korisnika, potrebe za

algoritmima koji će ubrzati rad softvera, okruženje

postavlja svoje zahteve, tehnološki razvoj nameće

potrebu za daljim izmenama, ...

Ciklus se ubrzo ili za godinu-dve ponavlja.

9

Razvoj informacionih sistema

U zavisnosti od značaja koji se pojedinim fazama razvoja softvera i informacionog sistema pridaje, forme organizacije i upravljanja razvojem, iskustva zaposlenih i prirode proizvoda, razlikuju se:

Preskriptivni procesni modeli razvoja –konvencionalni procesni modeli sa delimično različitim tokom procesa razvoja ali sa istim generičkim aktivnostima;

Model vodopada,

Inkrementalni procesni modeli razvoja

Inkrementalni model,

RAD model,

10

Razvoj informacionih sistema

Razvojni procesni modeli:

Model prototipskog razvoja,

Spiralni model,

Specijalizovani procesni modeli:

Model zasnovan na komponentama,

Procesni model sjedinjenog procesa

(Unified Process)

Kombinovani procesni model

11

Razvoj informacionih sistema

Procesni modeli agilnog razvoja:

Extreme Programming (XP)

Adaptive Software Development (ASD)

Dynamic Systems Development Method

(DSDM)

Scrum

Crystal

Feature Driven Development (FDD)

Agile Modeling (AM)

12

Procesni modeli razvoja informacionih sistema

Model vodopada

Analiza zahteva

Verifikacija

Promene u zahtevima

Verifikacija

Specifikacija zahteva

Verifikacija

Projektovanje

Verifikacija

Implementacija

Verifikacija

Integracija

Verifikacija

Funkcionisanje i

održavanje

Isporuka

proizvoda

Razvoj

Održavanje

13

Procesni modeli razvoja informacionih sistema

Karakteristike:

Sačinjavaju ga aktivnosti koje se

sukcesivno obavljaju;

Iterativne interakcije između susednih

aktivnosti;

Svaka aktivnost poseduje strogo definisane

ulaze i izlaze;

Pretpostavka realizacije naredne aktivnosti

su rezultati realizacije prethodne aktivnosti;

14

Procesni modeli razvoja informacionih sistema

Karakteristike:

Realizacija softvera je posledica obavljenih

svih aktivnosti razvoja bez izuzeća;

Najstariji model koji je najšire i najviše

primenjivan do danas;

Kombinuje se sa ostalim modelima, većini

čini osnovu;

Obezbeđuje solidnu dokumentaciju i lakše

održavanje;

15

Procesni modeli razvoja informacionih sistema

Prednosti modela vodopada:

strogo definisani i kontrolisani proces,

kojeg karakterišu standardizovane i

detaljno opisane aktivnosti u svim fazama

razvoja,

uključeno testiranje odnosno verifikacija

izvršenih aktivnosti i dobijenih rezultata na

kraju svake faze razvoja,

detaljna i kvalitetna dokumentacija, koja se

generiše u svim fazama razvoja,

istovremeno kada se izvršavaju pojedine

aktivnosti i

relativno laka zamena pojedinih učesnika u

procesu razvoja.

16

Procesni modeli razvoja informacionih sistema

Nedostaci modela vodopada:

nefleksibilna podela aktivnosti razvoja u

posebne faze i nedostatak povratne sprege

između faza,

greške koje se ne otklone u pojedinim

fazama razvoja kada se vrši testiranje ili

verifikacija proizvoda, mogu imati stravično

distorziono dejstvo na razvoj u celini,

nemogućnost obavljanja iteracija tokom

realizacije razvoja jer iste izazivaju ozbiljne

probleme i konfuziju u primeni modela,

teška prilagodljivost neizvesnosti koja

uglavnom egzistira na startu projekta, kada

je korisniku veoma teško da eksplicitno

navede sve svoje zahteve prema softveru,

17

Procesni modeli razvoja informacionih sistema

Nedostaci modela vodopada:

dugotrajan proces razvoja te korisnik mora

biti veoma strpljiv i istrajan jer su mu radne

verzije softvera dostupne tek na kraju

aktivnosti razvoja, a do tada postoji samo

pisana specifikacija funkcionalnosti

budućeg softvera,

samo potpuno gotov proizvod je upotrebljiv

od korisnika,

visoki razvojni troškovi.

18

Procesni modeli razvoja informacionih sistema

Inkrementalni model

Inicijalni koncept

funkcionalnosti

Analiza zahteva

Projektovanje

arhitekture

Faza 1: Detaljni dizajn, kodiranje,

testiranje i distribucija

Faza 2: Detaljni dizajn, kodiranje,

testiranje i distribucija

Faza n: Detaljni dizajn, kodiranje,

testiranje i distribucija

19

Procesni modeli razvoja informacionih sistema

Inkrementalni model

Karakteristike:

Model u osnovi poseduje model vodopada

pošto svaki inkrement predstavlja

pojedinačno primenjen model vodopada;

Potpuno se razvija inicijalni podskup

softvera, a zatim u sekcesivnim koracima

kao nadgradnja stalno novije i

komplikovanije verzije;

Svaki inkrement je kvalitetan ali zadovoljava

samo podskup korisničkih zahteva;

Inkrementi su mali dodaci kojima se

upotpunjuju funkcije softvera;

20

Procesni modeli razvoja informacionih sistema

Prednosti inkrementalnog modela:

obezbeđuje transparentan razvoj

proizvoda, sa stalno vidljivim razultatima,

uvek raspoloživ funkcionalno upotrebljiv

proizvod, koji zadovoljava određeni

podskup korisničkih zahteva,

lako razumevanje i testiranje

novorazvijenih inkremenata proizvoda jer

oni samo dodaju nove funkcionalnosti

postojećem upotrebljavanom softveru i na

taj način premošćavanje traumatskih

efekata uvođenja kompletno novog

proizvoda odjednom,

21

Procesni modeli razvoja informacionih sistema

Prednosti inkrementalnog modela:

postojanje povratne sprege i permanentne

mogućnosti ugradnje bogatog korisničkog

iskustva u redefinisani proizvod na manje

skup način, putem novih inkremenata

odnosno novih funkcionalnosti proizvoda,

umanjeni rizik od neuspeha razvoja celine,

jer se problemi uglavnom uočavaju u

pojedinim inkrementima,

skromniji obim kapitalnih ulaganja u razvoj

proizvoda i brži povrat investicija,

manji broj angažovanih osoba u procesu

razvoja.

22

Procesni modeli razvoja informacionih sistema

Nedostaci inkrementalnog modela:

dekompozicija proizvoda na inkremente, da

bi se oni mogli integrisati, nije trivijalan

zadatak, kao ni sam proces integracije, a

da se pri tome ne ugrozi kvalitet već

postojećeg proizvoda,

specifikacija detaljnih korisničkih zahteva

se kod svakog inkrementa izrađuje

neposredno pre nego što se on razvija,

integracija može uvek doneti neočekivane

probleme i potrebe za reorganizacijom,

koja može imati posledice po efikasnost i

održavanje,

korisnici imaju stalnu želju da menjaju

svoje zahteve.

23

Procesni modeli razvoja informacionih sistema

RAD model

Model podrazumeva inkrementalni razvoj sa

veoma kratkim vremenskim ciklusom od 60-90

dana.

Brza modifikacija modela vodopada u kojem

svaki ciklus rezultira potpuno funkcionalnim

sistemom.

Razvoj se odvija u malim integrisanim

timovima sa korisnicima, neformalnih

komunikacija.

RAD model čine sledeće faze: modelovanje

organizacije, planiranje zahteva, dizajn

aplikacija, konstrukcija, implementacija.

24

Procesni modeli razvoja informacionih sistema

Modelovanje

organizacije

Planiranje

zahteva

Dizajn

aplikacija

Konstrukcija

Implementacija

Tim #2

Modelovanje

organizacije

Planiranje

zahteva

Dizajn

aplikacija

Konstrukcija

Implementacija

Tim #1

Modelovanje

organizacije

Planiranje

zahteva

Dizajn

aplikacija

Konstrukcija

Implementacija

Tim #3

25

Procesni modeli razvoja informacionih sistema

Prednosti RAD modela:

Povećana brzina razvoja primenom metoda

prototipskog razvoja,

Umanjena funkcionalnost za korisnika i umanjena

kompleksnost,

Veći naglasak na jednostavnost i upotrebljivost

dizajna korisničkog interfejsa.

Nedostaci RAD modela:

Skromnije karakteristike proizvoda u ranijim

ciklusima,

Ubrzanje procesa razvoja dovodi do gubitka pregleda

nad celinom sistema,

Brzina može postati sama sebi svrha pa se izrađuju

privremena i priručna rešenja,

26

Procesni modeli razvoja informacionih sistema

Nedostaci RAD modela:

Veliki projekti pri razvoju ovim modelom zahtevaju

dosta resursa da bi se kreirao odgovarajući broj RAD

timova,

Teška i problematična gradnja komponenti sistema

ukoliko se sistem ne može razložiti na module,

RAD je neodgovarajući model ukoliko je tehnički rizik

razvoja visok.

27

Hvala na pažnji!


Recommended