Objektni softverski inžinjering
-
Upload
igor-karanovic -
Category
Documents
-
view
27 -
download
4
description
Transcript of Objektni softverski inžinjering
-
Objektni softverski ininjering
Prof. dr Pere [email protected]
-
Softver i softverski ininjering
Softverski proizvod i softver - skup raunarskih programa, datoteka i dokumentacije namenjenih realizaciji odreenih zadataka (JUS ISO 9127/94).
Softverska podrka - rad na odravanju softvera i pratede dokumentacije u funkcionalnom stanju.Pruaju je proizvoa, predstavnik, distributer i dr.
-
Softver i softverski ininjering
Softverski ininjering - primena sistematinog, disciplinovanog i merljivog pristupa razvoju, uvoenju i odravanju softvera.
Softverski ininjering - primena ininjeringa, naunih i matematikih principa i metoda u ekonominoj proizvodnji kvalitetnog softvera.
Fritz Bauer, 1968.
-
Istorijat razvoja softvera
Prva etapa: proizvoai hardvera za sopstvenu raunarsku opremu izrauju softver, specifian softver batch orijentacije, sopstvenim kadrovima, niski trokovi,..
Druga etapa: opteupotrebiv softver, iroke namene i on-line orijentacije, softverske kude, ...
Trea etapa: softver za distribuirane sisteme, univerzalni softver sa jedinstvenim nainom koridenja i smanjenim trokovima primene, grafiki korisniki interfejs, ...
etvrta etapa: softver za primenu na PC povezanim u mreu, pojava novih tipova informacionih sistema, korisnici i samostalno razvijaju softver, koridenje Interneta, ...
-
Faktori razvoja softvera:
Eksplozija informacija,
Pojava softverskih kuda,
Raznovrsna i brojna primena raunara,
Potreba za lakoupotrebivim i jeftinim softverom,
Brze i stalne promene u drutvu,
Zahtevi za visokim nivoom kvaliteta softvera,
Brza realizacija odnosno krade vreme dostupnosti,
Zahtevi za univerzalnom primenom, ...
-
Zahtevi trita - uslov industrijske proizvodnje softvera:
Opta primenljivost softvera (zadovoljenje razliitih potreba),
Razvoj softvera uz raunarsku podrku i CASE,
Realizacija jeftinijeg softvera za korisnika obzirom na veliki broj kupaca,
Krade vreme realizacije softvera,
Savremeniji i delotvorniji softveri realizovani od strunijih i kompetentnijih osoba,
Visok nivo kvaliteta softvera, ...
-
Strukturu softverskog ininjeringa ine:
Razvojni principi,
Metodi,
Sredstva (alati) i
Procedure (postupci).
Izbor uslovljen: individualnim i kreativnim postupkom razvoja, razliitodu sistema za koji se softver razvija i razliitodu okruenja, nepostojanja recepta za izbor.
-
Razvojni principi - odreuju nain izvrenja rada.
Opti principi
Modelovanje - koje podrazumeva izbor modela, rukovanje razliitim nivoima detaljnosti modela,vezu modela prema stvarnosti, nezavisnost pogleda na celoviti sistem,...
Apstrakcija - kao rezultat modelovanjem steenih rezultata, daje specifikaciju modela koja je nedvosmislena, razumljiva, jedinstvena, nezavisna od sistema i lako izmenljiva,
-
Opti principi
Iteracija - ponovljiv ciklus aktivnosti koji je uzrokovan razliitim razlozima: nemogudnost definisanja informacionih zahteva u jednom prolazu usled nepoznavanja ili stalnog usavravanja zahteva od korisnika, veliki broj neoekivanih situacija, duina perioda razvoja, potreba za finim usaglaavanjem, doterivanjem i preciziranjem, podizanje nivoa kvaliteta proizvoda, ....
-
Opti principi
Arhitektura - dekomponovanje sloene strukture proizvoda na njegove segmente odnosno arhitekturu bilo u analizi i dizajnu, bilo u odravanju.
Razlozi za strukturiranje su: laka razumljivost sloenih sistema, jednostavnije organizovanje razvojnog procesa, laka ugradnja elemenata u celinu sistema, upravljiviji su kompleksni i sloeni sistemi.
-
Opti principi
Arhitektura izraava: elemente sistema, njihovu organizaciju, ponaanje strukturnih elemenata, zajedniko ponaanje, nain meusobne povezanosti, organizovanje u sloenije celine i dr.
Dokumentovanje - , ..
-
Razvojni principi - odreuju nain izvrenja rada.
Metodoloki koraci - definiu redosled izvrenja aktivnosti, njihove ulaze i izlaze.
Preskriptivni modeli (model vodopada, ikrementalni model),
Razvojni modeli (model prototipskog razvoja, spiralni model),
Specijalizovani modeli,
Model sjedinjenog procesa,
Modeli agilnog razvoja.
-
Metodi - propisani sistematski naini u izvravanju pojedinih zadataka razvoja softvera.
Mogu se kombinovati i ne postoji najbolji.
Strukturiraju se po razliitim kriterijumima a najede prema fazama razvoja informacionog sistema.
Pravilan izbor podrazumeva minimalne trokove i visoki kvalitet proizvoda.
-
Alati - su automatizovana ili poluautomatizovana podrka metodima.
CASE tehnologije - posebna vrsta alata.
Procedure su sistemi metoda i alata u realizaciji razvoja informacionog sistema.
Opredeljuje ih - priroda problema i oekivanje korisnika.
Definiu - redosled metoda/koraka, rezultate -izlaze koraka, kontrole radi obezbeenja kvaliteta realizacije koraka.
-
Metodologije - sainjavaju brojne komponente koje definiu:
Kako projekat dekomponovati na faze?
Koji zadaci se reavaju u kojim aktivnostima?
Koji se izlazi dobijaju u svakoj fazi?
Kada i pod kojim uslovima se oni dobijaju?
Koja ogranienja se moraju uzeti u obzir?
Koje osobe de biti angaovane?
Kako de se rukovoditi projektom i kako de se isti kontrolisati?
Koja se sredstva podrke mogu primeniti?
-
STRADIS
BSP
Yourdon SystemsMethod
SADT
ISAC
James Martin IE
Gane and Sarson
SSADM
De Marco
RAD
SDM - Pandata
Lorensen
Martin and Odell
RUP
XP
SCRUM
FDD
Crystal
-
Znaaj softverskog ininjeringa
Sistematski pristup razvoju, implementaciji, odravanju softvera kroz ivotni ciklus,
Razliito kombinovanje metoda, alata i procedura.
-
Ciljevi softverskog ininjeringa
Izrada pouzdanog softvera,
Izrada softvera prema originalnim specifikacijama,
Izrada softvera prilagodljivog promenama,
Izrada softvera koji se moe ponovo upotrebiti,
Izrada softvera koji zadovoljava korisnika,
Razvoj izveden na vreme i efektivno sa aspekta trokova.
Razvoj koji zadovoljava korisnike zahteve i
Razvoj koji obezbeuje kvalitetan proizvod.
-
Karakteristike softverskog ininjeringa
Jedinstvenost i kompleksnost
Maksimum principa i ciljeva softverskog ininjeringa, Funkcionalnost (korektno i tano),
Performantnost (vreme pristupa, protok, brzina,..)
Temeljitost u analizi zahteva,
Upotreba metodologija i CASE alata,
Razvoj odgovarajude dokumentacije za operativni rad i odravanje,
Sposobnost prilagoavanja promenama,
Dobro definisani korisniki interfejs,
Efektivnost,....
-
Razvoj softvera u praksi
Korisnik se bavi svojim svakodnevnim poslom, govori argonski, ne veruje u promene,
este izmene korisnikih zahteva,
Kompleksan posao,
Veliki broj greaka u testiranju, dosta vremena i novca za njegovu ispravku,
Timski rad, koji nije familijaran softver ininjerima,
Veliki obim dokumentacije prati sloenost posla, dr.
-
Hvala na panji!