Professional Documents
Culture Documents
Dokument
Dokument
Dokument
UNIVERZITET U KRAGUJEVCU
FAKULTET TEHNIČKIH NAUKA U ČAČKU
SEMINARSKI RAD
Predmet: Standardizacija
Profesor:
Sandra Milunović Koprivica
2020. godina
1
SADRŽAJ
1. UVOD ………………………………………………………….......................….........……….3
2. SOFTVER-POJAM I PODELA…………………………………………….............………..4
3. DIZAJN SOFTVERA…………………………………..……...........................……….…5,6,7
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
ZAKLJUČAK……………………………………………….......................................……………….8
LITERATURA………………………………………………………......................................….....….9
REFERENCE..........................................................................................................................................
2
1. UVOD
Informacioni sistem je uređeni sistem koji čine ljudi, podaci, procesi i interfejsi koji međusobno
sarađuju na podršci i unapređivanju svakodnevnih operacija u poslovanju i omogućavaju
rešavanje problema u donošenju odluka upravi i korisnicima.1
Razvoj informatike i računarstva u zadnjim decenijama uveo je softver u sve oblasti života.
Razvijeni su mnogobrojni softverski proizvodi sa veoma različitim namenama. Softver je
postao prisutan u gotovo svim oblastima društva: zdravstvu, obrazovanju, medijima, privredi,
zatim komunikacijama, politici, poslovanju itd.
Softver jeste program u kome je sadržana naredba koja se upotrebljava za željeno ponašanje
računara, tj. instrukcija pomoću kojih će računar da obavi željenu funkciju.
Osnovna podela softvera jeste na sistemski (operativi) softver, koji je zadužen da omogući rad
svih računarskih delova i softver aplikacija (aplikativni softver) koja se bavi izučavanjem tačno
određenih poslova.
Softversko inženjerstvo (SI) je disciplina koja se bavi tehnikama razvoja i održavanja softvera.
Njen cilj je razvoj kvalitetnijeg softvera uz niže troškove. Objekti posmatranja softverskog
inžinjerstva jesu softver (programski proizvod) i proces njegovog razvoja i održavanja.
Da bi se postigao cilj softverskog inžinjerstva, razvijaju se nove tehnike u razvoju softvera koje
su slične inženjerskim. Na taj način softver se razvija po fazama te se tako njegov razvoj kao i
utrošak resursa može bolje nadgledati.
Predmet izučavanja u ovom radu jeste dizajn sofrvera. Naučni cilj rada jeste da se na temelju
proučavanja relavantne kako domaće, tako i strane literature, i Internet izvora uz komparaciju
sa saznanjima iz dugogodišnje prakse autora, javnost, ja, mentor i ostali profesori upoznaju sa
pojmom i podelom softvera, pojmom dizajna softvera i svime ostalog što on obihvata. Širi
3
društveni cilj jeste pružanje korisnih informacija korisnicima koji imaju nameru da se bave
dizajnom sofrvera.
2 https://en.wikipedia.org/wiki/History_of_software
3 http:/pcpress.rs/10-popularnih-programskih-jezika/
4 https://bs.wikipedia.org/wiki/Aplikativni_softver
5https://sr.wikipedia.org/wiki/%D0%A1%D0%BE%D1%84%D1%82%D0%B2%D0%B5%D
1%8
4
namene i softver masovne distribucije. Softver za specifične namene može da razvije osoblje
kompanije, ili s druge strane, kompanija može sama da iznajmi nekog spolja ko će razviti takav
softver. S druge strane, softver masovne distribucije namenjen je za široku upotrebu.
3.DIZAJN SOFTVERA
Softverski dizajn jeste aktivnost životnog ciklusa softverskog inžinjerstva u kome se softverski
zahtevi analiziraju u cilju proizvodnje opisa interne strukture softvera koja će služiti kao osnova
za konstrukciju. Jos preciznije, softverski dizajn mora opisati softversku arhitekturu, tj. kako je
softver razložen i u komponente organizovan, kao i kakav je interfejs između ovih komponenti.
Softverski dizajn mora da opiše komponente na nivou detalja koji omogućavaju njihovu
konstrukciju. Softverski dizajn igra bitnu ulogu u razvoju softvera, dozvoljavajući softver
inžinjerima da proizvedu svakojake modele koji formiraju neke vrste nacrta za rešenje koje se
implemenira. Softverski inženjeri zaduženi su za mnogobrojne aktivnosti prilikom dizajniranja
softverske arhitekture, kao što su: izvođenje hardver/softver analize i balansa, dizajniranje
interfejsa ka eksternim komponentama, odlučivanje o centralizovanoj ili distribuiranoj šemi itd.
Gledajući opseg oblasti softverskog dizajna, postojeći opis oblasti neobuhvata svaku temu koja
5
sadrži pojam oblast. Pre svega, ova oblast se bavi pre svega sa D-dizajnom. S obzirom na
konstantno rastuće polje softverske arhitekture, postoji takođe i FP-dizajn, čija je glavna namera
uspostavljanje iskoristive unificiranosti u softverskoj porodici.
Generalni koncepti dizajna. Softver nije jedino polje koje uključuje dizajn. Gleda se dizajn
kao forma za rešavanje problema, gde postoje i limiti dizajna. U tom smislu priča se i o
generalnim konceptima dizajna, rešenjima, alternativama, ograničenjima kao i ciljevima.
Kontekst dizajna softvera. Za shvatanje uloge dizajna softvera bitno je razumeti kontekst u
kome se primenjuje životni ciklus softverskog inžinjerstva. Bitno je razumeti glavne
karakteristike i odnose između analize softverskih zahteva, dizajna softvera, konstrukcije
softvera i testiranja softvera.
Proces dizajna softvera. Dizajn softvera se sastoji od dve bitne vrste procesa i to su sledeći:
1. Detaljni dizajn, koji opisuje specifično ponašanje ovih komponenti, i izlaz iz ovog
procesa jeste skup modela i artifakata koji odslikavaju glavne odluke koje su donete .
2. Arhitektonski dizajn, koji objašnjava na koji je način softver dekomponovan i u
komponente organizovan.
6
i sprezanje, dekompozicija i modularizacija, skrivanje podataka, zatim odvajanje
interface-a i implementacije, jednostavnost, dovoljnost i savršenost.
7
Ima nekoliko glavnih tema koje treba uzeti u obzir prilikom dizajniranja softvera.
Jedna od njih jeste obezbeđivanje kvaliteta. Zatim, druga bitna stvar jeste kako
dekomponovati, organizovati i pakovati softverske komponente. Svaki
dizajnerski pristup obavezno mora uzeti u obzir ove fundamente na jedan ili drugi
način.
Nasuprot tome, druge teme se bave nekim aspektom ponašanja softvera koje nije
u domenu aplikacija. Te teme koje obično daju poprečni presek funkcionalnosti
sistema tretiraju se kao aspekti. Glavna pitanja dizajna softvera su sledeća:
8
rezultujućeg softvera, način na koji je organizovan i konstruisan. U zadnjoj
deceniji softverska arhitektura počinje da se javlja kao šira disciplina, uključujući
proučavanje softverske strukture i arhitekture na više opšti način. Kao rezultat
svega toga, razvija se i broj ideja o softverskom dizajnu na različitim nivoima
apstrakcije. Neki od ovih koncepata mogu biti od koristi tokom arhitektonskog
dizajna datig softvera, kao i za vreme detaljnog dizajna.
Ovo jeste podoblast koja se oslanja na oblast znanja "kvalitet softvera". Obrađuje teme iz oblasti
kvaliteta i dizajna koje su specifično povezane sa softverskim dizajnom.
Atributi kvaliteta (Quality Attributes). Više različitih atributa se smatra veoma bitnim za
sprovođenje kvalitetnog softverskog dizajna i to su:
2. Correctness,Robustness,itd.
9
Merenja. Merenja mogu da se upotrebljavaju za kvantitativnu procenu različitih aspekata:
veličine, strukture ili kvaliteta softverskog dizajna. Najviše mera koje su predložene generalno
zavise od pristupa korišćenog za izvođenje dizajna. Ove mere su klasifikovane u dve široke
kategorije i to su:
Postoje mnoge notacije i jezici za predstavu artifakata softverskog dizajna. Neki od njih se
upotrebljavaju za opis strukturalne organizacije dizajna, dok se drugi upotrebljavaju za
predstavljanje ponašanja softvera. Određene notacije se upotrebljavaju uglavnom tokom
architectural design-a, a ostali uglavnom tokom detailed design-a, mada se iste notacije mogu
upotrebljavati u oba koraka.
Neke notacije se pre svega upotrebljavaju u kontekstu specifičnog metoda (veza sa Software
Design Strategies and Methods). Software Design Notations obuhvata:
10
1. Divide-and-Conquer and Stepwise Refinement (postepeno prečišćavanje);
4. korišćenje heuristika;
Postoje brojne metode softverskog dizajna zasnovane na objektima. Ovo polje se razvijalo u
poslednje dve decenije od početnog Object-Based dizajna (noun = object; verb = method;
adjective = attribute) preko objektno orijentisanog dizajna (gde nasleđivanje i polimorfizam
igraju ključnu ulogu), do Component-Based dizajna, gde je moguće definisati i pristupiti meta
informacijama.
11
vezane za obezbeđivanje, razvoj i integraciju takvih komponenti u cilju poboljšanja ponovne
upotrebe (Reuse).
ZAKLJUČAK
Pitanjima poput «Šta postoji?» i «Kakve su veze između onoga što postoji?» bavi se filozofske
disciplina koja se zove ontologija. Ontologija dizajna softvera treba da da odgovore na pitanja
koji sve entiteti postoje u dizajnu softvera i kakve su međusobne veze između tih entiteta. To
bi omogućilo da dizajneri mogu da komuniciraju globalno i da se razumeju nezavisno od toga
gde su učili dizajn softvera i i koje metodologije primenjuju.
Nakon ovog brzog objašnjenja šta je softver, kako se deli, šta je dizajn softvera i koje su njegove
karakteristike, nadam se da smo naučili dublje razmišljati o soffveru kojeg svaki dan koristimo,
o dizajniranju softvera, imamo li potpunu kontrolu nad njime i obrnuto.
Dizajn je proces primene raznih tehnika i principa u cilju definisanja nekog uredjaja, procesa,
ili sistema, u dovoljno detalja da omogući njegovu fizičku realizaciju’.
12
LITERATURA
1. Agarwal B.B., Tayal S.P., Software Engineering, 3rd Ed, Lolxmi, 2016.
2. D. Bojić, Testiranje softvera, Skripta, Elektrotehnički fakultet Beograd, 2010.
3. Dragica Radosav, Softversko inžinjetstvo, Tehnički fakultet, Mihajlo Pupin, Zrenjanin,
2005
4. K. Bošnjak, R. Dejanović, DZ. Medić, Informacioni sistem Univerziteta u Banjaluci,
Praksa br. 4 Beograd. 1982, str. 133-135.
5. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, Addison-
Wesley, 1998.
6. L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, second ed.,
Addison-Wesley, 1998.
7. Mišković V., Projektovanje informacionih sistema (predavanja), Univezitet
Singidunum, 2020.
8. Prof. dr Dragan, Milan Banić, Predavanje Softver i softversko inžinjerstvo, Mašinski
fakultet, Univerzitet u Nišu, 2015.
9. R. Dejanović, Lj. Preradović, Informacione tehnologije-2 izdanje, Grafid- Banjaluka,
2005 godina.
10. R. Dejanović, Lj. Preradović, Softverski inžinjering, Elektrotehnički fakultet,
Banjaluka, 2007.
13
11. S. Marić, R. Dejanović, K. Bošnjak, Razvoj kompleksnih informacionih sistema.,
Automatizacija informacionih sistema u državnim organima Republike Srpske,
Banjaluka, 1993.
12. S.L. Pfleeder, J.M. Atlee, Softversko inžinjerstvo, teorija i praksa, Beograd, 2006.
13. S. Minić, Osnovi informatike i računarstva, Učiteljski fakultet, Univerzitet u Kosovskoj
Mitrovici, Leposavić, 2005.
14. Informacione tehnologije je savremeni izraz koji označava kombinaciju računarskih i
telekomunikacionih tehnologija koje se upotrebljavaju u prikupljanju, obradi,
skladištenju, razmeni i izdavanju informacija.
15. https://en.wikipedia.org/wiki/History_of_software
16. http:/pcpress.rs/10-popularnih-programskih-jezika/
17. https://bs.wikipedia.org/wiki/Aplikativni_softver
18. https://sr.wikipedia.org/wiki/%D0%A1%D0%BE%D1%84%D1%82%D0%B2%D0%
B5%D1%8
REFERENCE
14