Lekcija 1 - Uvod Flashcards
1.1 Šta je Softversko inženjerstvo? Zašto je ono važno? Šta je razlika softverskog inženjerstva i računarskih nauka?
Softversko inženjerstvo je inženjerska disciplina koja se bavi svim aspektima proizvodnje softvera, od ranih faza specifikacije sistema, do održavanja nakon završetka izrade softvera.
Značajno je jer društvo sve više zavisi od softvera, a i jeftinije je koristiti metode SI umesto pisanja programa.
Računarska nauka se bavi teorijom i metodama od kojih zavise računari, a SI se bavi praktičnim problemima proizvodnje softvera.
1.2 Šta je softverski proizvod? Koje dve vrste softverskih proizvoda postoje?
Sofrverski proizvod čine programi, njegova dokumentacija i podaci o konfigurisanju.
Dve vrste softveresrskog procesa su generički proizvod (za prodaju na tržištu i mogu ga koristiti različiti korisnici, za razvoj specifikacije definiše onaj koji razvija softver) i proizvodi razvijeni po narudžbini (kupac definiše zahteve). U praksi ova podela nije uvek jasna.
1.3 Koji su atributi dobrog softvera?
- Održivost - mogućnost promene softvera
- Pouzdanost i bezbednost - podaci su zaštićeni, pri padu sistema ne dolazi do štete
- Efikasnost - ne troši resurse bez razloga, ima dobru brzinu odziva
- Prihvatljivost - razumljiv korisniku
1.4 Šta je softverski proces? Koje su četiri osnovne aktivnosti softverskog procesa?
Sofverski proces je sistemski pristup proizvodnji softvera.
Četiri osnovne aktivnosti su:
- Specifikacija - šta je potrebno
- Razvoj - projektovanje i programiranje
- Validacija - da li su zahtevi zadovoljeni
- Evolucija - promene softvera
1.5 Koji su ključni izazovi softverskog inženjerstva?
Rad u heterogenom okruženju, brzo prilagođavanje novim zahtevima i bezbednost informacija.
1.6 Koji tipovi softverskih aplikacija postoje?
- Samostalne aplikacije
- Interaktivne transakcione aplikacije
- Ugrađeni upravljački sistemi
- Sistemi paketne obrade podataka
- Sistemi za zabavu
- Sistemi za modelovanje i simulaciju
- Sistemi za prikupljanje podataka
- Sistemi sistema
1.7 Koje su osnovne postavke softverskog inženjerstva koje su primenljive za sve tipove softverskih sistema?
- Heterogenost - rad na različitim računarima u različitom softveru
- Poslovne i društvene promene - zahteva se što kraće vreme za razvoj novog softvera
- Bezbednost i poverenje - zaštita od neovlašćenih korisnika
1.8 Koji su troškovi izraženi u softverskom inženjerstvu?
Troškovi inicijalnog razvijanja sistema, kasnije održavanja i
nadograđivanja sistema.
1.9 Do kojih promena je došlo u Softverskom inženjerstvu zbog uticaja Interneta?
Postoje dobre i loše strane interneta kada se gleda iz konteksta razvoja softvera. Sa jedne strane, internet i sva dokumentacija na njemu, kao i povezanost sa drugim ljudima čine softversko inžinjerstvo lakšim nego ikad. Sa druge strane, postoji opasnost od napada, pa mora da se stavi veći fokus na bezbednost sistema. Takođe, razvoj softvera koji radi na internetu je drugačiji, jer mu ljudi samo pristupaju svojm uređajima, a sam softver je na nekom drugom uređaju.
1.10 Zašto dolazi do grešaka u radu softvera?
- Povećani zahtevi - česte promene ili zahtev za brži razvoj
- Razvoj softvera se ne shvata kao inženjerska disciplina - slaba ili neadekvatna primena tehnika razvoja softvara
1.11 Koji su standardi prihvatljivog ponašanja softverskih inženjera?
- Poverljivost - čuvajte tajne poslodavaca
- Kompetentnost - ne uzimajte posao za koji niste kompetentni
- Pravo intelektualne svojine - štitite intelektualnu svojinu poslodavaca i klijenata
- Zloupotreba kompjutera - ne koristite znanje u zlonamerne svrhe
1.12 Šta su principi ponašanja? Koji su osam principa ponašanja softver inženjera?
- Javni interes - delovanje u skladu sa javnim interesom
- Klijent i poslodavac - delovanje u najboljem interesu klijenata i poslodavca
- Proizvod - proizvod mora da se zasniva na profesionalnim standardima
- Rasuđivanje - čuvanje integriteta i nezavisnosti pri donošenju profesionalnih odluka
- Upravljanje - primenjujte etički pristup
- Profesija - unapređujte integritet i reputaciju u skladu sa javnim interesom
- Kolege - budite fer prema kolegama
- Lično - stalno nadograđuj svoje stručno znanje