76
Uvod u softversko inženjerstvo Uvod u softversko inženjerstvo dr Zoran Jeremić [email protected] 1 T1: Uvod u softversko inženjerstvo

T-1 Uvod u Softversko Inzenjerstvo (2011)

Embed Size (px)

Citation preview

Page 1: T-1 Uvod u Softversko Inzenjerstvo (2011)

Uvod u softversko inženjerstvoUvod u softversko inženjerstvo

dr Zoran Jeremić[email protected]

1T‐1: Uvod u softversko inženjerstvo

Page 2: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržajj

1. Osnovne informacije o predmetu

2. Softver i njegov značaj

3 S ft k i ž j t3.Softversko inženjerstvo

4 Osnovni pojmovi i osnovne paradigme4. Osnovni pojmovi i osnovne paradigme

2T‐1: Uvod u softversko inženjerstvo

Page 3: T-1 Uvod u Softversko Inzenjerstvo (2011)

Informacije o predmetuj p

Naziv: Softversko inženjerstvoj

ESPB: 6

Uslov: Uvod u objektno programiranje Uslov: Uvod u objektno programiranje

Semestar: 5

Predavanja: 2 Predavanja: 2

Laboratorijske vežbe: 2

Auditorne vežbe: 1 Auditorne vežbe: 1

Broj časova aktivne nastave: 75

3T‐1: Uvod u softversko inženjerstvo

Page 4: T-1 Uvod u Softversko Inzenjerstvo (2011)

Cilj predmetaj p

Upoznavanje sa savremenim softverskim inženjerstvom, p j j ,teorijom i praktičnim postupcima u procesu razvoja softvera u svim fazama njegovog životnog ciklusa.

Ishod predmeta: Studenti će biti osposobljeni da projektuju jednostavne

softverske sisteme na bazi poznavanja rada alata koji će bitisoftverske sisteme na bazi poznavanja rada alata koji će biti prikazani tokom kursa.

4T‐1: Uvod u softversko inženjerstvo

Page 5: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržaj predmetaj p

1. Uvod u softversko inženjerstvo. j

2. Metodologije razvoja softvera.

3 Životni ciklus razvoja sofvera3. Životni ciklus razvoja sofvera.

5T‐1: Uvod u softversko inženjerstvo

Page 6: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržaj predmeta (2)j p ( )

4. Uvod u modelovanje korišćenjem ULM-a.j j

5. Definisanje zahteva korišćenjem UML Use Case dijagrama.

6T‐1: Uvod u softversko inženjerstvo

Page 7: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržaj predmeta (3)j p ( )

6. Definisanje strukture korišćenjem UML dijagrama j j j gklasa. Realni domen Domen modela

autobus

vozilo

automobil

autobus

modeluje

modeluje

solja

modeluje

7T‐1: Uvod u softversko inženjerstvo

Page 8: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržaj predmeta (4)j p ( )

7. Modelovanje ponašanja korišćenjem UML dijagrama j p j j j ginterakcija.

8T‐1: Uvod u softversko inženjerstvo

Page 9: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržaj predmeta (5)j p ( )

8. Modelovanje stanja korišćenjem UML statechart dijagrama.

Marital

single

Marital

married

divorced

9T‐1: Uvod u softversko inženjerstvo

Page 10: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržaj predmeta (6)j p ( )

9. Dijagrami aktivnosti. Camera Behavior

Check Objects

Safety Controller Behavior

Side Object Detectedj

in Camera

Is object Detected?[no] Detection data

Side Object Detected

[yes]

Alarm Deciding

Side?

[left] [right]

Left Alarm Right Alarm

[left] [right]

10T‐1: Uvod u softversko inženjerstvo

Page 11: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sadržaj predmeta (7)j p ( )

10. Pregled CASE alata za UML modelovanje.

11. Dizajn paterni.

12. Testiranje softvera i upravljanje kvalitetom.

13. Evolucija softvera i održavanje.

11T‐1: Uvod u softversko inženjerstvo

Page 12: T-1 Uvod u Softversko Inzenjerstvo (2011)

Praktična nastava

U skladu sa temom obrađenom u okviru predavanja.

Demonstracija praktičnog razvoja softverskih sistema tehnikama predstavljenim na predavanjima, korišćenjem odabranih CASE alataodabranih CASE alata.

Program predmeta usklađen sa preporukama IEEE/ACMProgram predmeta usklađen sa preporukama IEEE/ACM Computing Curriculum:CE2004 Computer Engineering Body of Knowledge: CE-SWE 0-9.

12T‐1: Uvod u softversko inženjerstvo

Page 13: T-1 Uvod u Softversko Inzenjerstvo (2011)

Literaturate atu a

Osnovna: prezentacije sa predavanja UML vodič za korisnike, Booch, Rumbaugh, Jacobson, 506 strana

(ili bilo koje drugo uputstvo za UML)( j g p )

Dodatna: I. Sommerville, Software Engineering, 6th ed., Addison-Wesley,

Reading MA 2000 (ISBN: 020139815X)Reading, MA, 2000. (ISBN: 020139815X) R.S. Pressman, Software Engineering: A Practitioner's Approach,

McGraw Hill, NY, 5th ed., 2001. (ISBN: 0072496681) M F l K S tt UML Di till d A B i f G id t th St d d M. Fowler, K. Scott, UML Distilled: A Brief Guide to the Standard Object Modeling Language, 2nd ed., Addison-Wesley, Reading, MA, 1999. (ISBN: 020165783X) G Booch Object Oriented Analysis and Design with Applications G. Booch, Object-Oriented Analysis and Design with Applications, 2nd ed., Addison-Wesley, Reading, MA, 1994. (ISBN: 0805353402) 13T‐1: Uvod u softversko inženjerstvo

Page 14: T-1 Uvod u Softversko Inzenjerstvo (2011)

Ocena znanjaj

Predispitne obaveze Poena Završni ispit Poena

Praktična nastavaPraktična nastava(vežbe)-2 zadatka x 15 bodova

30 2 kolokvijumaili pismeni ispit iz 2 dela 50

Akti t i ž jAktivnost i angažovanje-2x10 bodova 20

14T‐1: Uvod u softversko inženjerstvo

Page 15: T-1 Uvod u Softversko Inzenjerstvo (2011)

Studentski zadaci

2 zadatka koji se realizuju radom po grupamaj j p g p

Svaki zadatak nosi po 25% od konačne ocene: 10% za učešće u aktivnostima na dodeljenom zadatkuj 15% za izvršenje dodeljenih aktivnosti

Zadaci predstavljaju softverske probleme koji prate d j i d d lj j t d ti t k tpredavanja i dodeljuju se studentima u toku semestra na

vežbama u zakazanim terminima.

Student na raspolaganju ima 3 sedmice predviđene za Student na raspolaganju ima 3 sedmice predviđene za ispunjenje datih obaveza, nakon čega nije moguće predati zadatak.

T‐1: Uvod u softversko inženjerstvo 15

Page 16: T-1 Uvod u Softversko Inzenjerstvo (2011)

Studentski zadaci

Da bi se u potpunosti realizovao zadatak student treba p pda izvrši 3 aktivnosti: Brainstorming (prezentovanje ideje) :

• Student iznosi svoju ideju za rešavanje problema• Student komentariše ideje svojih kolega• Student ocenjuje ideje svojih kolega

Ocenu ove aktivnosti čine:• Ocene koje je student dobio od svojih kolega,• Ocene koju je student dobio od nastavnika,• Aktivnosti i angažovanju studenta na realizaciji zadatka, kritičkom

osvrtu na ideje svojih kolega,• Ocene koju je student dobio za procenu ideja svojih kolega,

T‐1: Uvod u softversko inženjerstvo 16

Page 17: T-1 Uvod u Softversko Inzenjerstvo (2011)

Studentski zadaci

Predlaganje sopstvenog rešenja• Student koristi ArgoUML alat da kreira sopstveni UML dijagram koji

predstavlja rešenje problema. Procena rešenja kolega

• Student vrši procenu rešenja najmanje četvorice kolega na osnovu definisanih kriterijuma,

Ocenu ove aktivnosti čine:• Procene rešenja koje su dali drugi studenti,• Procena rešenja koju je dao nastavnik,• Aktivnost i angažovanje koje je student ispoljio prilikom izvršenja os a ga o a je oje je s ude spo j o p o še ja

aktivnosti,• Kvalitet procene koju je student izvršio.

T‐1: Uvod u softversko inženjerstvo 17

Page 18: T-1 Uvod u Softversko Inzenjerstvo (2011)

Studentski zadaci

Pored opisanih zadataka, student je u obavezi da popuni p , j p p3 dodatne ankete koje se odnose na realizovane aktivnosti.

Prva anketa se popunjava pre podele zadataka, a zatim po jedna anketa nakon svakog zadatka.

T‐1: Uvod u softversko inženjerstvo 18

Page 19: T-1 Uvod u Softversko Inzenjerstvo (2011)

2010/2011

jan-okt 2011 j Prijavljeno 67 studenta Položilo 39 studenta (58,21%) Struktura ocena

6 7 8 9 10

Prosečna ocena 8,59

6 7 8 9 10

0 7 13 8 11

19T‐1: Uvod u softversko inženjerstvo

Page 20: T-1 Uvod u Softversko Inzenjerstvo (2011)

2009/2010

jan-okt 2010 j Prijavljeno 73 studenta Položilo 44 studenta (60,27%) Struktura ocena

6 7 8 9 10

Prosečna ocena 8,61

6 7 8 9 10

3 7 10 8 16

20T‐1: Uvod u softversko inženjerstvo

Page 21: T-1 Uvod u Softversko Inzenjerstvo (2011)

Registracija studenatag j

Obavezna za sve studente (rok 30.10.2011)( ) http://viser.learningdesignpatterns.org

T‐1: Uvod u softversko inženjerstvo 21

Page 22: T-1 Uvod u Softversko Inzenjerstvo (2011)

T‐1: Uvod u softversko inženjerstvo 22

Page 23: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softver i softversko inženjerstvoSoftver i softversko inženjerstvo

Osnovni pojmovi i paradigme

23T‐1: Uvod u softversko inženjerstvo

Page 24: T-1 Uvod u Softversko Inzenjerstvo (2011)

Motivacijaot ac ja

Značaj softveraj

Softver ima ogroman uticaj na bilo koji aspekt društva

24T‐1: Uvod u softversko inženjerstvo

Page 25: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softver je svuda

25

Page 26: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softver je svudaSo t e je s uda

26T‐1: Uvod u softversko inženjerstvo

Page 27: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softver je svudaSo t e je s uda

27T‐1: Uvod u softversko inženjerstvo

Page 28: T-1 Uvod u Softversko Inzenjerstvo (2011)

Neki popularnip p

Socijalna mreža nastala 2004. godine

Mark Zuckerberg (Harvard)

Više od 500 miliona aktivnih korisnika

50% aktivno svaki dan

Najbrže rastuća demografska grupa su oni od 35 i više godina

Više od milion software developera i preduzimača.

Više od 350,000 aktivnih aplikacija na Facebook platformi.

Više od 250 aplikacija sa više od milion mesečno aktivnih korisnika.

Blokiran u nekoliko zemalja: Pakistan, Sirija, Kina, Vijetnam, Iran i S.Koreja.j

T‐1: Uvod u softversko inženjerstvo 28

Page 29: T-1 Uvod u Softversko Inzenjerstvo (2011)

Neki popularnip p

Preko 78 miliona videa ukupno

Preko 6 miliona videa mesečno.

Preko 200,000 videa dnevno.

45 terabajta prostora.

100 miliona posetilaca mesečno.

A sve je počelo kada su 3 momka 2005 godine napravili softver zbog A sve je počelo kada su 3 momka 2005. godine napravili softver zbog problema koji su imali da međusobno razmene video fajlove sa žurke.

Novembra 2005 YouTube je zvanično započeo sa radom, a oktobra 2006. godine Google ga je otkupio za 1 65 milijardi $godine Google ga je otkupio za 1,65 milijardi $.

Kritike na račun: distribucije copyright materijala, zaštite privatnosti, kontraverznih sadržaja

U nekim zemljama zabranjen pristup

T‐1: Uvod u softversko inženjerstvo 29

Page 30: T-1 Uvod u Softversko Inzenjerstvo (2011)

Trenutno stanje civilizacijee ut o sta je c ac je

30T‐1: Uvod u softversko inženjerstvo

Page 31: T-1 Uvod u Softversko Inzenjerstvo (2011)

Značaj softvera u ljudskim životima

• Milenijumski Bug (Y2K) !

Značaj softvera u ljudskim životima

– Upozorenje o Y2K dekadu pre2000.B dž t Kli t l d Y2K– Budžet Klintonove vlade za Y2K oko 3.4 milijarde USD

31

Page 32: T-1 Uvod u Softversko Inzenjerstvo (2011)

Značaj softvera

Postao je

Značaj softvera

Postao je pokretačka 

snaga

Značaj Motor koji 

pokreće proces Ključna razlika modernih  j

softverap pdonošenja odluka

proizvoda i usluga

Osnova za moderna nauučna istraživanja i rešavanja problema

32

Page 33: T-1 Uvod u Softversko Inzenjerstvo (2011)

Značaj softveraačaj so t e a

Ugnježden je u sisteme svih vrsta: transportne, g j j p ,medicinske, telekomunikacione, vojne industrijske procese, održavanje, kancelarijske proizvode,... Lista je skoro beskonačnaskoro beskonačna.

Softver je praktično neizbežan u modernom svetu.

Ulaskom 21 ek polako će postati pokretač no ih Ulaskom u 21 vek, polako će postati pokretač novih napredaka u svim oblastima od osnovnog obrazovanja do genetskog inženjerstva.

33T‐1: Uvod u softversko inženjerstvo

Page 34: T-1 Uvod u Softversko Inzenjerstvo (2011)

Vrste softvera

Desktop aplikacijep p j Aplikacije koje se izršavaju na lokalnim računarima. Obuhvataju

sve neophodne fukncionalnosti i ne moraju biti povezani na računarsku mrežu ili Internetračunarsku mrežu ili Internet.

Interaktivne aplikacije Aplikacije koje se izvršavaju na udaljenom računaru a kojima p j j j j j

korisnici pristupaju sa svoji PC računara ili terminala. Ove aplikacije obuhvataju i web aplikacije kao što su komercijalne aplikacije.

Ugnježdeni kontrolni sistemi Kontrolni sistemi koji kontrolišu i upravljaju hardverskim

uređajima Brojčano najviše je ovakvih tipova aplikacijauređajima. Brojčano, najviše je ovakvih tipova aplikacija.

34T‐1: Uvod u softversko inženjerstvo

Page 35: T-1 Uvod u Softversko Inzenjerstvo (2011)

Vrste softvera

Sistemi za serijsku obraduj Poslovni sistemi namenjeni za obradu podataka u velikim

serijama. Obrađuju veliki količinu ulaznih podataka i kreiraju izlazizlaz.

Aplikacije za zabavu Softver namenjen prvenstveno ličnoj upotrebi i zabavi korisnika.j p j p

Sistemi za modelovanje i simulacije Ovo su sistemi koje su razvili naučnici i inženjeri za modelovanje

fizičkih procesa i situacija.

T‐1: Uvod u softversko inženjerstvo 35

Page 36: T-1 Uvod u Softversko Inzenjerstvo (2011)

Problemi u razvoju softvera

36T‐1: Uvod u softversko inženjerstvo

Page 37: T-1 Uvod u Softversko Inzenjerstvo (2011)

Najčešći problemiajčešć p ob e

Finalni softverski proizvod ne ispunjava očekivanja p p j jkorisnika.

Teško ga je proširiti i unaprediti: Ukoliko kasnije želite da dodate novu funkcionalnost što je skoro nemoguća misija.

Loša dok mentacija Loša dokumentacija.

Loš kvalitet: česte greške, komplikovano korišćenje,...

Viš i ći šk i š j č ki Više vremena i veći troškovi nego što je očekivano.

37T‐1: Uvod u softversko inženjerstvo

Page 38: T-1 Uvod u Softversko Inzenjerstvo (2011)

38T‐1: Uvod u softversko inženjerstvo

Page 39: T-1 Uvod u Softversko Inzenjerstvo (2011)

NaravnoNaravno

Ovakve stvari se nikada ne dešavaju.dešavaju.

P š39

PogrešnoT‐1: Uvod u softversko inženjerstvo

Page 40: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softverski horor

• Greška na lanserut lit A i 5 jsatelita Ariane 5 je

uzrokovana greškom u softverkoj funkciji za j jkonvertovanje iz 64-bitne float vrednosti u 16-bitnu celobrojnu vrednostcelobrojnu vrednost.

40

Page 41: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softverski horor

• Klimatski orbiter se srušioM t bna Mars u septembru

1999. zbog “glupe greške” : pogrešnih g p gjedinica u programu.

41

Page 42: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softverski horor

• Nekoliko smrtnih l č j (1985 1987)slučajeva (1985-1987)

pacijenata koji su se lečili od raka usled prevelike pdoze zračenja koja je nastala kao posledica greške (nepravilnogreške (nepravilno rešavanje konkurentnih aktivnosti) u softveru Th 25Therac-25

42

Page 43: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softverski horor

• Sistem za kontrolu leta u D l j j 1989Dalasu je u jesen 1989. godine poludeo a kontrolori su morali da prate avione na papiru.

43

Page 44: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softverski horor

• Strateška vazdušna k d SAD jkomanda SAD‐a je 9.novembra 1979. god. dobila uzbunu jer je vojni kompjuterski komandni i kontrolni sistem izvestio o lansiranju sovjetskih raketalansiranju sovjetskih raketa prema SAD‐u, što je bila posledica toga da je i li i dsimulirani napad interpretiran kao stvarni.

44

Page 45: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softverski horor

• Za vreme zalivskog rata 1991 di S d j k il1991. godine Scud projektil je ubio 28 i ranio 98 američkih vojnika, jer je sistem za kontrolu Patriot antiraketnog sistema zakazao zbog greškezakazao zbog greške (akumuliranja vremenskog vakuma)

45

Page 46: T-1 Uvod u Softversko Inzenjerstvo (2011)

CHAOS izveštaj o uspehu projekataC OS eštaj o uspe u p oje atawww.standishgroup.com/

46T‐1: Uvod u softversko inženjerstvo

Page 47: T-1 Uvod u Softversko Inzenjerstvo (2011)

Zaključak

Programiranje nije dovoljno!

Nije dovoljno dati sve od sebe: moraš znatij jšta treba da uradiš, i onda dati sve od sebe.

- W. Edwards Deming -

47T‐1: Uvod u softversko inženjerstvo

Page 48: T-1 Uvod u Softversko Inzenjerstvo (2011)

I s obzirom na tos ob o a to

Pametna osoba rešava problemPametna osoba rešava problem.Mudra osoba ih izbegava.

- Albert Einstein -

48T‐1: Uvod u softversko inženjerstvo

Page 49: T-1 Uvod u Softversko Inzenjerstvo (2011)

RešenjeRešenje

Softversko inženjerstvo

T‐1: Uvod u softversko inženjerstvo 49

Page 50: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softversko inženjerstvoj

Inženjerska disciplina koja se bavi svim aspektima j p j pprodukcije softvera od ranih faza specifikacije sistema do održavanja sistema nakon stavljanja u upotrebu.

Inženjerska disciplina Korišćenjem odgovarajućih teorija i metoda rešavanja problema i

imajući u vidu specifičnosti organizacije i finansijska ograničenja.imajući u vidu specifičnosti organizacije i finansijska ograničenja.

Svi aspekti produkcije softvera Ne samo tehnički proces razvoja. Takođe obuhvata upravljanje

projektom, razvoj alata, metoda, itd., koji podržavaju proces produkcije softvera.

50T‐1: Uvod u softversko inženjerstvo

Page 51: T-1 Uvod u Softversko Inzenjerstvo (2011)

Najčešće postavljana pitanja u vezi softverskog i ž j tinženjerstva

Pitanje Odgovorj g

Koji su to ključni izazovi sa kojima sesuočava softversko inženjerstvo?

Borba sa sve većim razlikama, zahtevima za smanjenjemvremena isporuke i razvojem pouzdanog softvera.

Koji su troškovi softverskog inženjerstva? Oko 60% su troškovi razvoja softvera, 40% su troškovitestiranja Za softver prilagođen korisniku troškovitestiranja. Za softver prilagođen korisniku, troškovievaluacije često prevazilaze troškove razvoja.

Koje su najbolje tehnike i metodesoftverskog inženjerstva?

Upravljanje svim softverskim projektima i njihov razvojmoraju biti profesionalni. Različite tehnike su pogodne zarazličite tipove sistema. Na primer, igre se uvek razvijajup p , g j jkorišćenjem velikog broja prototipova dok se sistemi zakontrolu zahtevaju razvoj kompletne i detaljnespecifikacije. S toga, nema najbolje metode.

Koje novine je uneo Web u softversko Web je doveo do pojave softverskih servisa i mogućnostiinženjerstvo? razvoja distribuiranih servisno orjentisanih sistema. Razvoj

Web sistema je doveo do značajnog napredka u razvojuprogramskih jezika i višestruke upotrebe softvera.

51T‐1: Uvod u softversko inženjerstvo

Page 52: T-1 Uvod u Softversko Inzenjerstvo (2011)

Osnovne karakteristike dobrog softverag

Karakteristika OpisKarakteristikaproizvoda

Opis

Održivost Softver mora biti napravljen na takav način da može lako daevaluaira u skladu sa promenama zahteva korisnika. To je kritičnakarakteristika s obzirom na promenljivost poslovnog okruženjakarakteristika s obzirom na promenljivost poslovnog okruženja.

Poudanost i bezbednost Softverska pouzdanost obuhvata skup karakteristika kao što supouzdano izvršenje funkcija, bezbednost i sigurnost. Pouzdansoftver ne sme da uzrokuje dovede do fizičkih ili ekonomskihposledica u slučaju otkaza. Zlonamerni korisnici ne smeju biti umogućnosti da pristupe sistemu ili ga ugroze.

Efikasnost Softver ne sme nepotrebno da troši sistemske resurse kao što sumemorija i procesorsko vreme. Efikasnost stoga obuhvata vreme

d b d i k išć j ij itdodgovora, vreme obrade, iskorišćenje memorije, itd.

Prihvatljivost Softver mora biti prihvatljiv za one korisnike za koje je napravljen.Ovo znači da mora biti razumljiv, upotrebljiv i kompatibilan sadrugim sistemima koji se koriste.

T‐1: Uvod u softversko inženjerstvo 52

g j

Page 53: T-1 Uvod u Softversko Inzenjerstvo (2011)

Značaj softverskog inženjerstvaj g j

Sve više, pojedinci i društvo zavise od složenih , p jsoftverskih sistema. Neophodno je da brzo i ekonomično proizvodimo pouzdane sisteme.

Mnogo je jeftinije (gledano dugoročno) korišćenje metoda i tehnika softverskog inženjerstva za izradu softverskih sistema nego jednostavna implementacijasoftverskih sistema nego jednostavna implementacija programa kao što se to radi na malim programima za ličnu upotrebu.

Za većinu tipova sistema, većina troškova su troškovi promene softvera nakon što je stavljen u upotrebu.

T‐1: Uvod u softversko inženjerstvo 53

Page 54: T-1 Uvod u Softversko Inzenjerstvo (2011)

Aktivnosti softverskog procesag p

Specifikacija softvera – korisnici i inženjeri definišu p j jsoftver koji treba izraditi i ograničenja u toku tog procesa.

Razvoj softvera – softver se dizajnira i implementira.

Kontrola i validacija softvera – softver se proverava da bi se utvrdilo da li ispunjava korisničke zahteve.

Evolucija softvera – softver se modifikuje u skladu sa promenama zahteva korisnika i tržišta.

T‐1: Uvod u softversko inženjerstvo 54

Page 55: T-1 Uvod u Softversko Inzenjerstvo (2011)

Zbog čega je softversko inženjerstvo složeno?bog čega je so t e s o e je st o s o e o

55T‐1: Uvod u softversko inženjerstvo

Page 56: T-1 Uvod u Softversko Inzenjerstvo (2011)

Sistemski pristup razvoju softverap p j

Cilj softverskog inženjerstva je da razvoj softvera približi j g j j j pnauci i inženjerstvu i udalji ga od ad-hoc pristupa razvoju čiji su ishodi nepredvidljivi a koji su intenzivno korišćeni u prošlosti i dalje se koristeprošlosti i dalje se koriste.

56T‐1: Uvod u softversko inženjerstvo

Page 57: T-1 Uvod u Softversko Inzenjerstvo (2011)

Veličina projektap j

Razvoj veoma velikih sistema zahteva korišćenje j jrazličitog skupa metoda u poređenju sa razvojem malih sistema,

57T‐1: Uvod u softversko inženjerstvo

Page 58: T-1 Uvod u Softversko Inzenjerstvo (2011)

Osnovni principi softverskog inženjerstvap p g j

Osnovni principi koji se mogu primeniti na sve vrste p p j g psoftverskih sistema, bez obzria na razvojne tehnike koje se koriste:

Si t t b ij ti k išć j lji i j Sisteme treba razvijati korišćenjem upravljivog i jasnog razvojnog procesa. Naravno koriste se različiti procesi za različite tipove softvera.P d i f č j i Pouzdanost i performanse su značajne za sve vrste sistema.

Veoma je bitno razumevanje i upravljanje specifikacijom i zahtevima softvera (šta softver treba da radi).

Tamo gde je to moguće bolje je koristiti postojeći softver nego razvijati novi.

T‐1: Uvod u softversko inženjerstvo 58

Page 59: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softversko inženjerstvo i Webj

Web je danas platforma za izvršenje aplikacija i j p j p jogranizacije češće koriste Web aplikacije nego lokalne sisteme.

Web servisi omogućavaju da se aplikativnim funkcijama pristupa preko Weba.

Clo d comp ting je prist p obe beđi anj rač narskih Cloud computing je pristup obezbeđivanju računarskih servisa gde se pokreću udaljene aplikacije. Korisnici ne kupuju softver nego plaćaju njegovu upotrebu.p j g p j j g p

T‐1: Uvod u softversko inženjerstvo 59

Page 60: T-1 Uvod u Softversko Inzenjerstvo (2011)

Softversko inženjerstvo za Webj

Ponovna upotreba softvera je dominantan pristup za p j p pkonstruisanje Web aplikacija. Prilikom izgradnje ovakvih sistema treba razmišljati o upotrebi

postojećih softverskih komponenti i sistemapostojećih softverskih komponenti i sistema.

Web sistemi se mogu razvijati i isporučivati inkrementalno. Jasno je da nije praktično definisanje svih zahteva za ovavke j j p j

sisteme unapred.

Korisnički interface je ograničen mogućnostima Web browserabrowsera. Tehnologije kao što je AJAX omogućavaju bogat korisnički interfejs

koji se kreira unutar Web browsera.

T‐1: Uvod u softversko inženjerstvo 60

Page 61: T-1 Uvod u Softversko Inzenjerstvo (2011)

Studija slučaja – Bolnički informacioni sistemj j

Informacioni sistem koji se koristi u bolnicama i jklinikama.

Koristi centralizovanu bazu podataka o pacijentima, ali je takođe moguće pokrenuti je na lokalnom PC, tako da se može koristiti i u bolnicama koje nemaju mrežnu infrastrukturu.infrastrukturu.

Kada lokalni sistemi imaju siguran mrežni pristup, koriste informacije o pacijentu iz baze podataka, ali mogu downloadovati i koristiti lokalne kopije o pacijentima koje nisu povezane sa bazom podataka.

T‐1: Uvod u softversko inženjerstvo 61

Page 62: T-1 Uvod u Softversko Inzenjerstvo (2011)

Bolnički informacioni sistem - ciljevij

Da se generišu informacije koje omogućavaju g j j g jmenadžerima u zdravstvu da izvrše da li je funkcionisanje institucije usklađeno sa lokalnim i vladinim propisimavladinim propisima.

Da obezbede medicinskom osoblju pravovremene informacije kojima se olakšava tretman pacijenata.informacije kojima se olakšava tretman pacijenata.

T‐1: Uvod u softversko inženjerstvo 62

Page 63: T-1 Uvod u Softversko Inzenjerstvo (2011)

Organizacija bolničkog informacionog sistemag j g g

T‐1: Uvod u softversko inženjerstvo 63

Page 64: T-1 Uvod u Softversko Inzenjerstvo (2011)

Bolnički informacioni sistem – osnovne karakteristike

Prećenje procesa lečenja bolesnikaj p j Lekari mogu kreirati zapise za pacijente, menjati informacije u

sistemu, pratiti istoriju lečenja itd. Sistem podržava zbirne preglede informacija o pacijentu tako da doktori mogu brzo steći uvid uinformacija o pacijentu, tako da doktori mogu brzo steći uvid u osnovne probleme i tretmane koji su primenjivani.

Praćenje pacijenta Sistem nadgleda zapise o pacijentima koji su uključeni u tretman i

upozorenja o detektovanim potencijalnim problemima.

Administrativno izveštavanje Administrativno izveštavanje Sistem generiše mesečne menadžerske izveštaje koji prikazuju

broj lečenih pacijenata na svakom odeljenju koji su primljeni i otpušteni lekovi koji su prepisani troškovi lečenja itdotpušteni, lekovi koji su prepisani, troškovi lečenja, itd.

T‐1: Uvod u softversko inženjerstvo 64

Page 65: T-1 Uvod u Softversko Inzenjerstvo (2011)

Bolnički informacioni sistem – potencijalni problemip j p

Privatnost Veoma je bitno voditi računa o poverljivosti informacija o

pacijentu. One ne smeju biti dostupne nikome osim autorizovanom medicinskom osoblju i samom pacijentuautorizovanom medicinskom osoblju i samom pacijentu.

Pouzdanost Neke vrste bolesti uzrokuju da pacijenti postanu rizični, za sebe, j p j p , ,

za okolinu. Sistem mora upozoriti medicinsko osoblje o takvim pacijentima.

Sistem mora biti dostupan kada je potreban. U suprotnom je p j p p jmoguće da lekar ne može da prepiše odgovarajuću terapiju pacijentu.

T‐1: Uvod u softversko inženjerstvo 65

Page 66: T-1 Uvod u Softversko Inzenjerstvo (2011)

Workshop - različite studije slučajap j j

IS studentske službe IS aerodroma

IS digitalne biblioteke

IS za poslovnu

IS GSP-a

IS poreske uprave IS za poslovnu korespodenciju

IS banke

IS poreske uprave

IS apoteke

IS kadrovske službe IS za praćenje

dokumenata u l k ž j

IS kadrovske službe

IS za dijagnostiku vozila

poslovnom okruženju

Knjigovodstveni IS

...

T‐1: Uvod u softversko inženjerstvo 66

Page 67: T-1 Uvod u Softversko Inzenjerstvo (2011)

Workshop - različite studije slučajap j j

Osnovne informacijej

Ciljevi

Organizacija Organizacija

Osnovne karakteristike

Potencijalni problemi Potencijalni problemi

T‐1: Uvod u softversko inženjerstvo 67

Page 68: T-1 Uvod u Softversko Inzenjerstvo (2011)

IS studentske službe – grupa I g p

Pristup studentima i profesorimap p

Čuvanje informacija o studentima

Korisnici sistema: studenti profesori i administratori Korisnici sistema: studenti, profesori i administratori

Prijavljivanje ispita

Raspoloživost sistema dostupnost sa udaljene lokacije Raspoloživost sistema, dostupnost sa udaljene lokacije

Treba da bude pouzdan

Mogućnost izmene podatakaMogućnost izmene podataka

Funkcionalnosti za studente (javno dostupne), funkcionalnosti za nastavnike i administracijufunkcionalnosti za nastavnike i administraciju.

T‐1: Uvod u softversko inženjerstvo 68

Page 69: T-1 Uvod u Softversko Inzenjerstvo (2011)

IS studentske službe

Baza podataka – centralizovana, data layer, p , y ,sinhronizacija baza podataka

Web aplikacija – Web browser pristup,

Pretraga za studente

Različit stepen privilegijap p g j

Prijave ispita

Praćenje finansijskog stanja Praćenje finansijskog stanja

Uvid u profile studenata (ograničen)

T‐1: Uvod u softversko inženjerstvo 69

Page 70: T-1 Uvod u Softversko Inzenjerstvo (2011)

IS studentske službe

Problemi mogućnost pojave greške, narušavanje g p j g , jprivatnosti, regulisanje posebnih slučajeva

T‐1: Uvod u softversko inženjerstvo 70

Page 71: T-1 Uvod u Softversko Inzenjerstvo (2011)

Bankarski IS – grupa IIg p

Baza podataka sa korisničkim nalozima,p ,

Pregleda stanja računa

Klijenti i zaposleni Klijenti i zaposleni

Klijenti pristupaju preko Interneta, zaštićen pristup pin, password.p

Pristup preko mreže, plaćanje, provera računa, stanja

Distribuirana organizacija, glavni server i filijale sa Distribuirana organizacija, glavni server i filijale sa lokalnim serverima – sinhronizacija podatak

Pristup računima preko filijale, Interneta, bankomata

T‐1: Uvod u softversko inženjerstvo 71

Page 72: T-1 Uvod u Softversko Inzenjerstvo (2011)

Bankarski IS

Plaćanje karticomj

SMS obaveštavanje

Uvid u kreditnu sposobnost građana Uvid u kreditnu sposobnost građana

Problemi: sigurnost računa korisnika

Privatnost o transakcijama korisnika Privatnost o transakcijama korisnika,

Konstantno održavanje napajanja sistema i pouzdanost

T‐1: Uvod u softversko inženjerstvo 72

Page 73: T-1 Uvod u Softversko Inzenjerstvo (2011)

IS GSP-a – grupa IIIg p

Informacije o linijama, informacije o prijavama, j j , j p j ,informacije o prodajnim mestima.

Svakodnevni uvid putnika, SMS obaveštavanje, pitanja građana

Problemi: Pouzdanost sistema, pouzdanost mreže operatoraoperatora

Umreženi IS.

T‐1: Uvod u softversko inženjerstvo 73

Page 74: T-1 Uvod u Softversko Inzenjerstvo (2011)

Bibliotečki IS – grupa IVg p

Administrativni softver za ažuriranjej

Dostupan i radnicima i čitaocima

Radne stanice i server Radne stanice i server

Provera klijenata koji su u biblioteci

Ciljevi: upis članova ažuriranje knjiga izdavanje knjiga Ciljevi: upis članova, ažuriranje knjiga, izdavanje knjiga, poštovanje ograničenja,

Organizacija bazirana na ograničenom pristupu Organizacija bazirana na ograničenom pristupu

2 baze međusobno povezane: knjige i korisnici

T‐1: Uvod u softversko inženjerstvo 74

Page 75: T-1 Uvod u Softversko Inzenjerstvo (2011)

Bibliotečki IS

Backup sistemp

Problem: pristupanje preko Interneta, brzina i količina podataka.

T‐1: Uvod u softversko inženjerstvo 75

Page 76: T-1 Uvod u Softversko Inzenjerstvo (2011)

Uvod u softversko inženjerstvoUvod u softversko inženjerstvo

dr Zoran Jeremić[email protected]

76T‐1: Uvod u softversko inženjerstvo