Računalno Inženjerstvo

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Sveučilište u Mostaru

Fakultet prirodoslovno-matematičkih i odgojnih znanosti


Studij: Informatika

RAČUNALNO INŽENJERSTVO
SEMINARSKI RAD

Kolegij: Metodika nastave informatike 1

Profesor: dr.sc. Krešimir Rakić

Ime i prezime studenta i br. Indexa:

Anđela Kvesić, 4181DS/R

Mostar, studeni 2020


SADRŽAJ

1. UVOD..................................................................................................................................................1
1. ELEKTRONIČKO INŽENJERSTVO......................................................................................................2
1.1. Što su elektronički suustavi?...................................................................................................2
1.2. Što su ugradbeni računalni sustavi?.......................................................................................2
2. RAČUNARSTVO...............................................................................................................................3
2.1. Procesi, postupci i računala....................................................................................................3
3. SOFTVERSKO INŽENJERSTVO..........................................................................................................5
3.1. Je li softversko inženjerstvo inženjerska disciplina?...............................................................5
3.2. Softverski produkt i softversko inženjerstvo...........................................................................5
3.3. Modeli za softverski proces....................................................................................................6
3.3.1. Model vodopada................................................................................................................7
4. ZAKLJUČAK.....................................................................................................................................8
5. LITERATURA....................................................................................................................................9
1. UVOD
Kako se računalo razvijalo ne samo do stroja koji se mogao koristiti samo za matematičke
proračune, već i za mnoge druge svrhe, područje računalne znanosti steklo je svoju
popularnost 20 godina kasnije (oko 1950-ih), ustpostavljena je prvi stupanj informatike. No,
desetljeće kasnije, zajednica je počela shvaćati vrijednost radne snage koja je mogla razumjeti
kako rade računala i kako su integrirana, a potom se pojavilo područje računalnog
inženjerstva. Kao rezultat toga, prvi stupanj računalnog inženjerstva osnovan je početkom
1970-ih.

Što je računalno inženjerstvo?

Računalno inženjerstvo (inženjerstvo računalnih sustava) disciplina koja kombinira


elektrotehniku i računarstvo. Računalno inženjerstvo usredotočeno je na znanje potrebno za
razvoj računalnih sustava. Računalni inženjeri obično stječu obrazovanje iz elektrotehnike,
dizajna softvera i integracije softverskih i hardverskih komponenata. Dakle, računalni
inženjeri posjeduju znanje i o softverskom i o hardverskom aspektu računarstva, što ukjučuje
dizajn procesora, osobnih računala, mobilnih računala, superračunala, sklopova i ugrađenih
sustava. Računalni inženjeri obično razumiju kako se stvari integriraju u širu sliku, a povrh
toga kako stvari funkcioniraju. Računalni inženjeri obično razvijaju softver za razne sustave
poput ugrađenih mikrokontrolera, dizajniraju VLSI mikročipove, analogne senzore, pločice i
operativne sustave. Zbog znanja o digitalnim sustavima, motorima i senzorima računalnih
inženjera, oni su prikladni i za istraživanje robotike.

Korištenje računala postalo je sastavni dio posla i život mnogih ljudi, posebno inženjera.
Računalo je postalo neizostavni dio opreme u uredu i kod kuće. Stvaranje računala izazvalo je
revolucionarni zaokret u društvu tako da je ono danas zapravo nemoguće izmjeriti prednosti
korištenja računala u brojnim i raznim područjima operacija [1].

Računalno inženjerstvo ili računalno sistemsko inženjerstvo, znanstvena je disciplina koja


spaja nekoliko polja primjnjenih znanosti u razvoju računalnih sustava. Računalni inženjeri
obično su školovani u sljedećim disciplinama: elektroničko inženjerstvo, računalnu znanost i
softversko inženjerstvo. Te discipline su nužne u savladavanju problema između softvera i
sklopovlja [2].
1. ELEKTRONIČKO INŽENJERSTVO
Elektroničko i računalno inženjerstvo obuhvaća multidisciplinarna znanja hardvera i softvera
za izgradnju cjeloviti elektroničkih sustava za prikupljanje, obradu i komunikaciju signala i
informacija u današnjem povezanom svijetu.

1.1. Što su elektronički suustavi?


Elektronički sustavi su posvuda- u mobitelima, automobilima i zrakoplovima, robotima i
tvornicama. Oni spajaju stvari na internet, prate zdravlje, čine dom pametnim. U interakciji s
okolinom, korisnikom ili drugim sustavom prikupljaju i razmjenjuju podatke te mijenjaju
okolinu. Čine ih međusobno povezane elektroničke komponente- analogni i digitalni sklopovi
različitog stupnja integracije kojima upravlja ugradbeni softver. U njihovoj izgradnji povezuju
se prirodoslovna i tehnološka znanja s izvedbenim vještinama.

1.2. Što su ugradbeni računalni sustavi?


Ugradbeni računalni sustavi su računala posebne namjene ugrađena kao „mozak“ složenih
elektroničkih sustava. Njihova funkcija je specijalizirana i sustavu u koji se ugrađuju
omogućuju visoku pouzdanost, predvidljivost i rad u stvarnom vremenu. Odlikuju ih
ograničeni i optimirani sklopovski i programski resursi radi minimizacije složenosti,
dimenzija, potrošnje i cijene. U procesu njihovog razvoja isprepliću se sklopovsko i
programsko projektiranje. Obuhvaćaju sve razine složenosti i tehnologija: od mikrokontrolera
i procesora za obradu signala (DSP), preko programabilnih sklopova (FPGA) do aplikacijskih
procesora prikladnih za izvođenje operacijskih sustava opće namjene (npr. Linux). Područja
primjene nalaze u svim granama tehnologije, a osebnu važnost imaju u automobilskoj
industriji, komunikacijama, internetu stvari, nosivim uređajima, mjernoj tehnici,
biomedicinskoj elektronici itd [3].
2. RAČUNARSTVO
Računarstvo ( računarska znanost ili znanost o računalima) se bavi proučavanjem teoretskih
osnova informacije i računanja, te njihovim implementacijama i primjenama u računalnim
sustavima. Računarstvo ima mnogo potpolja; neki naglašavaju računanje i specifične rezultate
( kao što je računalna grafika), dok drugi naglašavaju svojstva računskih problema ( kao što je
računska teorija složenosti. Treći se usredotoče na izazove u ostvarenju računanja [4].

Računarstvo je ultimativno mentalno pojačalo- računala mogu mehanizirati bilo koju


intelektualnu aktivnost koju možemo zamisliti. Automatsko računanje radikalno mijenja način
na koji ljudi rješavaju probleme, pa čak i vrste problema koje možemo zamisliti da rješavamo.
Računarstvo je promijenilo svijet više od bilo kojeg drugog izuma proteklih stotinu godina i
prošao je gotovo sva ljudska nastojanja. Još, tek smo na početku računalne revolucije;
današnje računarstvo nudi samo uvid u potencijalni utjecaj računanja.

Dva su razloga zašto bi svi trebali učiti o računarstvu:

 Gotovo sve najuzbudljivije i najvažnije tehnologije, umjetnosti i znanosti danas i sutra


pokreće računarstvo.
 Razumijevanje računanja osvjetljava duboke uvide i pitanja u prirodu našeg uma, naše
kulture i našeg svemira.

2.1. Procesi, postupci i računala


Računalstvo je proučavanje informacijskih procesa. Proces je slijed određenih koraka. Svaki
korak na neki način mijenja stanje svijeta i rezultat svih koraka stvara neko ciljno stanje. Na
primjer, pečenje kolača, stanje pisma i sadnja drveta sve su to postupci. Budući da uključujju
fizičke stvari poput šećera i prljavštine, oni nisu čisti informacijski procesi. Računarstvo se
usredotočuje na procese koji prije uključuju apstraktne informacije nego fizičke stvari.

Granice između fizičkog svijeta i čistih informacijskih procesa, međutim, često su nejasne.
Prva računala djeluju u fizičkom svijetu: dobiti unos fizičkim sredstvima (npr. Korisnik
pritiskom tipke na tipkovnici proizvodi električni implus) i proizvodi fizički izlaze ( npr. Slika
prikazana na zaslonu). Fokusiranjem na apstraktne informacije, umjesto na fizičkim načinima
predstavljanja i manipuliranja informacijama, pojednostavljujemo računanje do njegove
suštine kako bismo bolje omogućili razumijevanje i obrazloženje.

Postupak je opis postupaka. Može se opisati jednostavan postupak samo nabrajanjem koraka.
Popis koraka je postupak. Postipak koji se može slijediti bez ikakvog razmišljanja jest
algoritam koji se naziva mehanički postupak. Algoritam je mehanički postupak koji je
zajamčeno da će na kraju završiti [5].

Računalo je stroj koji može:


 Prihvatite unos. Unos se može unijeti ljudskim tipkanjem po tipkovnici, primljeni
preko mreže ili automatski osigurani od senzora spojenih na računalo.
 Izvršite mehanički postupak, odnosno u kojem svaki korak može biti pogubljen bez
ikakvog razmišljanja.
 Proizvoditi izlaz. Izlaz mogu biti podaci prikazani čovjeku, ali mogu također biti sve
što utječe na svijet izvan računala, poput električnih signala koji kontroliraju način
rada uređaja.

Računala postoje u širokom rasponu oblika, a tisuće računala skriveno je u uređajima koje
svakodnevno koristimo, ali o kojima ne razmišljamo kao o računalima poput automobila,
telefoni televizori, mikrovalne pećnice i pristupne kartice. Naš primarni fokus je na
univerzalnim računalima, to su računala koja mogu izvoditi sva moguća mehanička
izračunavanja na diskretnim ulazima, osim praktičnih ograničenja vremena i prostora [5].

Računalni znanstvenici usredotočeni su na izmišljanje algoritma koji stvaraju i transformiraju


informacije te stavaranje apstrakcija složenih sustava. Računarstvo se pojavilo kao posebna
akademska disciplina tijekom 1950-ih. Prvi stupanj računalne znanosti koje je ponudilo
Sveučilište u Cambridgue 1953.godine [1].
3. SOFTVERSKO INŽENJERSTVO
Softversko inženjerstvo kao inženjersko zanimanje.

Što je softversko inženjerstvo?

Softversko inženjerstvo je „sustavni pristup analizi, dizajniranju, procjeni, implementaciji,


ispitivanju, odtžavanju i reinženjering softvera, odnosno primjena inženjerstva na softver. U
softveru inženjerski pristup, definirao je nekoliko modela za životni ciklus softvera, i mnoge
metodologije zadefiniranje i procjenu različitih faza modela životnog ciklusa. Zanimanje
softverskog inženjerstva obuhvaća sve aspekte začeća, komuniciranja, specificiranja, izrade,
ispitivanja i održavanja softverskih sustava. Aktivnosti softverskog inženjerstva također
uključuju sve vezano uz proizvodnju artefakata povezanih sa softverskim inženjerstvom kao
što su dokumenti i alati.

Postoje mnoge duge pomoćne aktivnosti u softverskom inženjerstvu, jedna od njih je


programiranje koda ili kodiranje. Ali ako bi te zaustavili na ulici od strane pječaka i zatražili
da dadneš definiciu od jedne riječi za softverski inženjering, vaš bi odgovor trebao biti
„modeliranje“. Da ste imali dvije riječi koje biste mogli reći to bi vjerojatno bilo
„modeliranje“ i „optimizacija“. Modeliranje je prevodilačka djelatnost. Preveden je koncept
softverskog proizvoda u specifikaciju zahtjeva. Zahtjevi se pretvaraju u dizajn. Zatim se
dizajn pretvara u kod koji se automatski prevodi u kompajlerski i asemblerski kod, koji
proizvode strojno izvršni kod. Međutim, u svakom od ovih koraka prijevoda vjerojatno će se
pojaviti pogreške bilo da je riječ o ljudima ili alatima koje koriste. Dakle, praksa softverskog
inženjerstva uključuje smanjenje pogrešaka prilikom prijevoda primjenjujući ispravne
principe.

3.1. Je li softversko inženjerstvo inženjerska disciplina?


Odgovor na ovo pitanje ovisi o tome koga pitamo. Mnogi čitatelji tvrde da je softversko
inženjerstvo nije prava inženjerska disciplina jer ne postoje temeljni teoremi utemeljeni
zakonima fizike. Čak bi neki stručnjaci za softversko inženjerstvo dodali da postoji još uvijek
previše „umjetnosti“ u softverskom inženjerstvu. Da bi dodatno pokvarili ugled softverskog
inženjerstva, mnogi samozvani praktičari nemaju odgovarajuću pozadinu za angažiranje u
softverskom inženjerstvu. Te prijevare pomažu u širenju najgorih stereotipa primjenom onoga
što softversko inženjerstvo nije i ne bi trebalo biti. Možda najveći napad na ugled softverskog
inženjerstva i inženjera javlja se zbog nestrpljivosti da se softver iznese na tržište. Od svih
simptoma lošeg softverskog inženjerstva, ovo je najvjerojatnije opravdanje. Ipak, softversko
inženjerstvo pokušava postati disciplina kroz razvoj rigoroznijih pristupa, evangelizacije
standarda, njegovanje prihvaćenog tijela znanja za struku i pravilno obrazovanje softverskog
inženjerstva [6].

3.2. Softverski produkt i softversko inženjerstvo


Softverski produkt je skup računalnih programa i pripadne dokumentacije, stvoren zato
da bi se prodao. Može biti razvijen za sasvim određenog korisnika ili općenito za
tržište. Softverski produkt često ćemo kraće nazivati softver ili sustav.

Za današnji softver se podrazumijeva da on mora biti kvalitetan. Preciznije, od


softverskog produkta se očekuje da se on odlikuje sljedećim atributima kvalitete.

 Mogućnost održavanja. Softver se mora moći mijenjati u skladu s


promijenjenim potrebama korisnika.
 Pouzdanost i sigurnost. Softver se mora ponašati na predvid način, te ne smije
izazivati fizičke ili ekonomske štete.
 Efikasnost. Softver mora imati zadovoljavajuće performanse, te on treba
upravljati strojnim resursima na štedljiv način.
 Upotrebljivost. Softver treba raditi ono što korisnici od njega očekuju, sučelje
mu treba biti zadovoljavajuće, te za njega morapostojati dokumetacija.

Softversko inženjerstvo je znanstvena i stručna disciplina koja se bavi svim aspektima


proizvodnje softvera. Dakle, softversko inženjerstvo bavi se modelima, metodama i
alatima koji su nam potrebni da bi na što jeftiniji način mogli proizvoditi što kvalitetnije
softverske produkte.

Softversko inženjerstvo počelo se razvijati krajem 60-tih godina 20-tog stoljeća, kao
odgovo na takozvanu „softversku krizu“. Naime pojavom računala treće generacije
( npr. IBM serija 360) stvorila se potreba za složenijim softverom ( npr. Multi-tasking
operacijski sustav). Pokrenuti razvojni projekti višestruko su premašili planirane
troškove i rokove. Vidjelo se da se dotadašnje neformalne tehnike individualnog
programiranja ne mogu uspješno „skalirati“ na velike programe gdje sudjeluje velik broj
programera. Osjećala se potreba za složnijim metodama razvoja softvera, koje bi ličile
na metode iz tradicionalnih tehničkih struka ( npr. mostogradnja) te bile u stanju
kontrolirati kompleksnost velikog softverskog projekta.

Od 60-tih godina do danas, softversko inženjerstvo uspjelo se etablirati kao važni dio
tehnike i računastva. Softver se danas proizvodi daleko predvidljivije i efikasnije nego
prije. Ipak, još uvijek postoji prostor za zrelu fazu, te u njoj nema „jednoumlja“.

3.3. Modeli za softverski proces


U svim modelima više ili manje su prisutne sljedeće osnovne aktivnosti koje čine
softverski proces:

 Specifikacija – analiziraju se zahtjevi korisnika, i utvrđuje se što softver treba


raditi.
 Oblikovanje – oblikuje se građa sustava, način rada komponenti, te sučelje
između komponenti. Dakle projektira se rješavanje koje određuje kako će softver
raditi.
 Implementacija - oblikovano rješenje realizira se uz pomoć raspoloživih
programskih jezika i alata.
 Verifikacija i validacija - provjerava se da li softver radi prema specifikaciji,
odnosno da li rado ono što korisnik želi, a to se obično svodi na testiranje mada
postoje i druge tehnike.
 Održavanje odnosno evolucija - nakon uvođenja u upotrebu, softver se dalje
popravlja, mijenja i nadograđuje, u skladu s prominjenjenim potrebama
korisnika.

Modeli se razlikuju po načinu odvijanja i međusobnog povezivanja osnovnih aktivnosti.


Navest ću jedan primjer modela, a to je model vodopada.

3.3.1. Model vodopada


Model vodopada nastao je u ranim 70-tim godinama 20.stoljeća, kao neposredna
analogija s procesima iz drugih inženjerskih struka. Softverski proces je građen kao niz
vremenskih odvojenih aktivnosti, u skladu sa slikom 1.

Slika 1. Softverski procesi prema modelu vodopada.

Predonosti modela vodopada su sljedeće:

 Model omogućuje lagano praćenje stanja u kojem se softverski proces nalazi.


 Model je dobro prihvaćen od managementa.

Mane modela vodopada su sljedeće:

 Navedene faze u praksi je teško razdvojiti, pa dolazi do nakdanog otkrivanja


grešaka i vraćanja u prethodne faze.
 Zbog tendencije da se zbog poštovanja rokova u određenom trenutku „zamrzne“
pojedina faza, može se desiti da je sustav u trenutku puštanja u rad već neažuran
i zastario.

Model treba joristiti za velike sustave gdje postoje jasni zahtjevi [7].
4. ZAKLJUČAK
Softver seže u sve pore svijeta koji nas okružuje, ali mi ponekad nismo ni svijesni koliko on
čini naš život udobnijim i uspješnijim. Na primjer, posmatrajmo jednostavne radnje koje
koristimo za pripremanje tosta za doručak. Programski kôd koji se nalazi u tosteru kontrolira
koliko će kruh da se prepeče i kada će iskočiti iz aparata. Programi kontroliraju i reguliraju
isporuku električne energije u našem domu, a softver obračunava njen utrošak. U stvari,
možemo da koristimo automatizirane programe za plaćanje računa za struju, naručivanje
namirnica, čak i za kupovinu novog tostera! U današnje vrijeme rad softvera, kako onaj koji je
svima vidljiv, tako i onaj koji je sakriven, prisutan je u gotovo svim aspektima našeg života,
uključujući i sustave od presudnog značaja za naše zdravlje i sveukupno stanje. Iz tog razloga,
softversko inženjerstvo je danas važnije nego ikada. Dobra softver-inženjerska praksa mora
da se omogući da softver daje pozitivan doprinos načinu na koji živimo.
5. LITERATURA

[1] https://hr.strephonsays.com/computer-science-and-vs-computer-engineering-
14921

[2] https://hr.wikipedia.org/wiki/Ra%C4%8Dunalno_in%C5%BEenjerstvo

[3] https://www.fer.unizg.hr/_download/repository/b5_Elektronicko_i_racunalno
_inzenjerstvo.pdf ”

[4] https://hr.wikipedia.org/wiki/Ra%C4%8Dunarstvo

[5] L. Robinson, “Introduction to computing,” Int. J. Inf. Manage., vol. 13, no. 5, p.
390, 1993.

[6] F. Group, “The Profession of Software Engineering,” pp. 1–14, 2007.

[7] R. Manger, “Softversko inženjerstvo,” Sveučilište u Zagreb. Prirodosl. Mat.


Fak., 2005.

You might also like