Rešavanje problema pomoću računara

Slides:



Advertisements
Сличне презентације
ARITMETIČKO LOGIČKA JEDINICA
Advertisements

Упити Queries.
Konto, kontni okvir, kontni plan
Građevinski fakultet u Beogradu, školska 2018/19 godina
Univerzitet u Novom Sadu, Fakultet tehničkih nauka
Data mining Izdvajanje informacije iz skupa podataka i transformacija u jasnu strukturu za buduće korišćenje Data Mining koristi/prati isti opšti pristup.
Програмски језик Parallaxis
Olivera Hrnjaković, Marko Tot, Aleksandar Kupusinac, Rade Doroslovački
Изборни предмети -докторске студије-
Uvod u programiranje - matematika – XII predavanje Moduli. OOP
Показивачи у програмском језику C Дамјан Илић; Е32 Габриела Миленковић
RANGIRANJE UNIVERZITETA KAO PODSTICAJ RAZVOJA
Aleksandar Kupusinac, Rade Doroslovački, Ilija Kovačević 2019
UPOREDNA ANALIZA NAUČNE PRODUKCIJE
Planiranje i analiza poslovanja
Programski jezici.
G4 Tim: Tatjana Ružman Krešo Barić Marija Đapić Darko Jovišić.
3. 4. Дизајн статичких веб страна
PROJEKTOVANJE SOFTVERA
Nenad Grahovac, Miodrag Žigić
Lokalna razvojna strategija
OSNOVNI ELEMENTI PLC KONTROLERA
DIGITALNI NOVČANICI Uobičajeni novčanik možemo nazvati «analogni novčanik». Digitalni novčanik teži da po funkcionalnosti liči na neki analogni novčanik.
OPERA.
Предавач: Маја Димитријевић Асистент: Јована Сабљић
Primena softvera u usvajanju strategija samoregulacije
INOVACIJE KAO PREDMET IZUČAVANJA NA SAVREMENIM UNIVERZITETIMA
PC Istorija računara.
METODE I TEHNIKE ZA ANALIZU I UNAPREĐENJE KVALITETA
Mogućnosti dodjele bespovratnih sredstava - Proces odabira i najčešće pogreške kod izrade projektne prijave Organizacija događaja sufinancirana je sredstvima.
OSI referentni model Miljan G. Jeremić.
Seminarski rad: Referentni sistemi
LOKALNO POLITIČKO-PRAVNO OKRUŽENJE
Техничка школа Шабац Предмет: рачунарство и информатика
Strukturni (međusektorski) modeli
INTERNET Internet predstavlja globalnu računarsku mrežu, tj. mrežu svih mreža koja nema vlasnika i ne pripada nijednoj državi, a na njoj se mogu naći.
UNUTARNJA REVIZIJA U JAVNOM SEKTORU SJEVERNE MAKEDONIJE – PRVI KORACI, POSTIGNUĆA I DALJNJI IZAZOVI – Mite Mitevski, voditelj Središnje harmonizacijske.
Специјализована ИТ одељења
BAZE PODATAKA.
Bezbednost u MySql-u.
POSLOVNE MREŽE U DIGITALNOJ EKONOMIJI
Revenue Administration Modernization Project External and internal communication modernization Veljača 2012.
UPRAVLJANJE OSNOVNIM SREDSTVIMA SA POSEBNIM OSVRTOM NA DALEKOVODE
Čemu služi računalo?.
NetLogo – novo okruženje za podučavanje informatike
Primena softvera u aktuarstvu na pragu IV industrijske revolucije
Дистрибуција и права коришћења програмских производа
Relacione baze –primer modelovanja baze
Programski jezici.
PROFIL INTERNET Internetski servisi.
Integrisani informacioni sistemi
Algoritmi Vladimir Filipović
Testiranje novog proizvoda
Izrada plana kapitalnih investicija
Prof. dr Vlado Simeunović OSNOVE RAČUNARSKE TEHNIKE vlado
Hrvatski jezik online.
2. Sklopovlje i prog. podrška
OPERATIVNI SISTEMI 1.Struktura operativnog sistema
Principi programiranja
Sadržaj predavanja Uvod u postupak procjene Metodologija procjene
NOVE ULOGE ODS-A NA MALOPRODAJNOM TRŽIŠTU I
Metodologije izgradnje RIS-a
INTERNET TRGOVINA Specifikacija dizajna aplikacije
Definicija i osobine digitalnih biblioteka
ЗНАЧАЈ ОСПОСОБЉАВАЊА, ИНФОРМИСАЊА И ИЗГРАДЊЕ СВЕСТИ О БЗР др Биљана Гемовић др Аница Милошевић мр Тања Крунић мр Наташа Субић.
Pretaživanje brodskih resursa SDS
MREŽNA TOPOLOGIJA I LOGIČKA ORGANIZACIJA MREŽE
Тема 10: Евалуација Филип Марић, Данијела Шћепановић 1.
Синтакса програмских језика и опис синтаксе
Транскрипт презентације:

Rešavanje problema pomoću računara Vladimir Filipović vladaf@matf.bg.ac.rs

Softversko inženjerstvo Šta podrazumevamo pod softverskim inženjerstvom? Prevođenje sa viših programskih jezika na mašinski orijentisane jezike Konstrukcija prevodilaca Upravljane kompleksnim skupovima podataka Baze podataka ? Softversko inženjerstvo

Neke definicije: Softversko inženjerstvo (SI) je disciplina koja ima za cilj ekonomičan razvoj visoko-kvalitetnog softvera (Pagel, 1994.) SI je inženjerska disciplina povezana sa praktičnim problemima razvoja velikih softverskih sistema. (Sommerville, 1992.) SI je definisan, korak po korak proces koji olakšava specifikaciju, dizajn, implementaciju i testiranje softverskog rešenja za skup postavljenih zahteva na najekspeditivniji i najjeftiniji način (Kehoe, 1995.)

Softversko inženjerstvo Softversko inženjerstvo nije jedna specijalna oblast računarstva, već kombinacija raznih računarskih oblasti. Konstrukcija prevodilaca Baze podataka Komunikacija sa računarom . Veštačka inteligencija . . . . . Softversko inženjerstvo

Softversko inženjerstvo Koje oblasti pripadaju softverskom inženjerstvu? Upravljanje projektom Specifikacija softvera Korisnička dokumentacija Dizajn korisničkog interfejsa Dizajn softvera Specifikacija hardvera Programiranje Testiranje Softversko inženjerstvo

Procesi (aktivnosti) u kreiranju softvera Jedan od modela za opis glavnih aktivnosti u SI je tzv. “Vodopadni model”. Analiza i definicija Dizajn Implementacija Testiranje Korišćenje i podrška Ovo je klasičan model procesa kreiranja softvera, ali postoje i drugi modeli (spirala, kodiraj-pa-popravi, evolutivna isporuka itd)

Analiza i definicija softvera Ciljevi faze analize i definicije su: Analiza problema koji treba da bude rešen Definicija zahteva nad softverskim proizvodom (šta sve treba da zadovoljava softver koji treba da se kreira). U fazi analize razlikuju se dve podfaze: Faza planiranja (studija izvodljivosti: rečnik (glosarijum), preliminarna specifikacija zahteva, procena cene, projektni plan) Faza definisanja (definicija proizvoda: specifikacija zahteva, model proizvoda, korisnički interfejs, uputstvo korisniku) Rezultat faze analize i definicija treba da bude nekoliko dokumenata, kao što su: struktura projekta, osnova ugovora, osnova dizajna, …

Zahtevi Zahtevi predstavljaju najvažnije elemente faze analiza. Šta podrazumevamo pod zahtevima? Zahtevi predstavljaju verbalni opis onoga šta proizvod treba da zadovoljava. Možemo razlikovati: Funkcionalne (operacione) zahteve (funkcionalnost, podaci tj. logičko viđenje), korisnički interfejs) Zahtevi aplikacionog okruženja ( aplikaciona situacija, korisnički profil) Tehnički zahtevi (jezik implementacije, operativni sistem, hardver) Performansni zahtevi (efikasnost, obim podataka) Zahtevi validnosti (pripremanje testova, specijalni slučajevi za testiranje)

Zahtevi kvaliteta (prijateljski orijentisan softver, pouzdan,…) Zahtevi realizacije (model procesa, dokumentacija, regulisanje krajnjih rokova, cena) Pojedini zahtevi zavisiće i od oblasti primene softvera (to su specifični zahtevi vezani za oblast primene). Na osnovu preporuka IEEE, treba navesti i neke opšte opise, kao što su: Perspektiva proizvoda Funkcije proizvoda Karakteristike korisnika Ograničenja Pretpostavke i zavisnosti

Objektno-orijentisana analiza Glavni aspekti OO analize su: Model-paradigma (dekompozicija softverskog sistema u objekte) Jezik modeliranja (UML - Unified Modeling Language) Metodologija (Kako razviti model?) Alati (Together, Rational Rose, …) Za realizaciju OO analize ključni pojmovi su objekat i klasa. Kao rezultat OO analize treba da se dobije pseudo-kod u kojem su opisani: glavni zadatak klase, atributi i glavne operacije. Treba opisati i kako se klase grupišu u pakete.

Dizajn softvera Dizajn softvera je drugi proces u “Vodopadnom modelu” Računarski fakultet Uvod u programiranje Dizajn softvera Dizajn softvera je drugi proces u “Vodopadnom modelu” Za fazu dizajna važna su sledeća pitanja: Dokumenti dizajn faze Kriterijumi kvaliteta Metodi dizajna Uticajni faktori na softversku arhitekturu Slojevita softver arhitektura Klijent/server softverska arhitektura Web softverska arhitektura

U okviru softver-dizajna, možemo razlikovati: Dizajn arhitekture i Dizajn implementacije Dizajn arhitekture sastoji se od navođenja sistemskih komponenti i relacija među njima. (Kao komponente arhitekture pojavljuju se: atomi, funkcije, moduli, klase, podsistemi, …) Sistemska komp. 1 Sistemska komp. 2 Sistemska komp. 3

Za dobre softverske arhitekture karakteristična je slaba povezanost i jaka kohezija (svi elementi komponente služe rešavanju zajedničkog zadatka). Interfejs (između komponenti) treba da je sto jednostavniji. Na taj način su komponente lakše za razumevanje i modifikaciju. Kako glavni metodi dizajna pojavljuju se: funkcionalna apstrakcija i apstrakcija podataka. Najbitniji uticajni faktori na arhitekturu softvera su: definicija proizvoda i implementacija jezika. Slojem nazivamo podsistem čije komponente logički treba da budu zajedno. Kod kompleksnih sistema, normalno je da se proizvod sastoji iz više slojeva. Slojevi mogu biti uređeni na razne načine - bitno je da su sve komponente unutar sloja jednako dostupne.

Objektno-orijentisani dizajn U OO-dizajnu razlikujemo: 1. Fazu arhitekture Ova faza se sastoji od OO-dizajna modela. Mogu se razlikovati sledeći modeli: proširen modifikovan optimizovan prilagođen okolini 2. Faza implementacije sastoji se od modifikacija koje treba napraviti prilikom prilagođavanja ciljnom jeziku.

Implementacija i testiranje softvera Implementacija se realizuje korišćenjem (najčešće) jednog programskog jezika. Međutim, ima i kompleksnih implementacija gde se može koristiti veći broj jezika. Kasnije se prevedeni moduli povezuju međusobno. Testiranje softvera - značajna faza u kojoj se ispituje da li softver ispunjava postavljene zahteve. Tester softvera - posebno zanimanje. Dijkstra: “Testiranjem se ne može dokazati da je program ispravan, već se samo može dokazati da u programu ima grešaka”. Glavni postupak prilikom testiranja je izbor podataka za koje je unapred poznat rezultat i provera da li se pomoću softvera zaista dobija taj rezultat. Problem nastaje kada je teško naći takve podatke.

Društveni aspekti softverskog inženjerstva Odgovornost stručnjaka Rizici i pouzdanost Intelektualna svojina Internet - softver - društvo Veštačka inteligencija i čovek.