• Login
  • Hrvatski
  • English


Baze podataka i baze znanja

Izbornik:
Osnovni podaci
Ishodi učenja
Sadržaj predavanja
Sadržaj vježbi
Literatura
Slični predmeti

[na vrh]
Osnovni podaci

Naziv: Analiza i razvoj programa
Nositelji:
    Izvođači:
      Suradnici:
        ECTS bodovi: 5
        Satnica:
        Predavanja: 30
        Vježbe: 30
        Obavezni na studiju: Informacijsko i programsko inženjerstvo
        Cilj kolegija:
        Cilj kolegija Analiza i razvoj programa je upoznavanje studenata s životnim ciklusom i razvojnim fazama suvremenog programskog proizvoda. Razvoj programa postao je važna grana industrije koja ima svoje zakonitosti i specifične standarde. Kolegij prolazi sve faze životnog ciklusa koje pri nastanku prolazi novi programski produkt: analizu domene sustava, specifikaciju programskih zahtjeva, metode i tehnike modeliranja programa, razvoj programa, ispitivanje programa i uklanjanje grešaka. Pri tome studenti uče temeljne pristupe korištene pri razvoju i inženjerstvu složenih programskih sustava te suvremene alate koji te postupke olakšavaju.


        [na vrh]
        Ishodi učenja predmeta
        • Znati koristiti Microsoft Compact Framework i C#.Net za razvoj aplikacija za PDA uređaje
        • Znati koristiti nove tehnologije za razvoj mobilnih programskih proizvoda
        • Znati kreirati i koristiti mobilne baze podataka
        • Znati kreirati i koristiti servisno orijentirane arhitekture informacijskog sustava
        • Znati postaviti plan ispitivanja programskog proizvoda
        • Znati primijeniti metodološki pristup u razvoju programskih proizvoda
        • Znati primjeniti odgovarajuće metode i tehnike razvoja programskog proizvoda u svakoj fazi životnog ciklusa

        Ishodi učenja programa
        • Analizirati i ocijeniti učinkovitost uvođenja i korištenja ICT (programskog rješenja i pripadajuće opreme) za konkretne problemske domene informacijskih i poslovnih sustava
        • Analizirati i procijeniti uvjete za primjenu suvremenih informacijskih i komunikacijskih tehnologija (ICT), savjetovati druge u primjeni iste te u zadanom kontekstu odrediti utjecaj primjene na pojedinca, organizaciju i društvo.
        • Analizirati poslovne procese i preporučiti primjenu odgovarajuće informacijske i komunikacijske tehnologije za unapređenje poslovnih procesa
        • Analizirati uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz metodološke pristupe razvoju organizacijskih i informacijskih sustava
        • Modeliranje problema iz područja informacijskih i poslovnih sustava korištenjem matematičkih metoda, metoda razvoja informacijskih sustava i koncepata planiranja, upravljanja i poslovanja
        • Oblikovati softversku arhitekturu složenog informacijskog sustava, odabrati i postaviti odgovarajuću tehnološku platformu i programirati najsloženije dijelove složenog sustava
        • Odabrati i primijeniti metode i tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
        • Osmisliti projekt učinkovitog unapređenja poslovne tehnologije poslovnog sustava uz korištenje suvremenih ICT te realizirati takav projekt vlastitim razvojem ili izborom prikladnog standardnog softvera
        • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz ključne aspekte primjene i razvoja informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja)
        • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)

        [na vrh]
        Sadržaj predavanja
        • Paradigme razvoja programskih sustava
          Životni ciklus programskog proizvoda. Odnos razvojnog i životnog ciklusa. Pristupi razvoju programskog sustava i moguće varijacije: vodopadni, spiralni. Kompleksni razvojni ciklusi (paralelni razvoj, povratna veza).
        • Projekt razvoja programskog sustava
          Specifičnosti projekata u programskoj industriji. Veza projekta i razvojnog ciklusa programskog proizvoda. Karakteristične metode planiranja i praćenja projekata u razvoju programskog proizvoda. Troškovi projekta. Projektni timovi i njihove karakteristike: područja specijalizacije, potrebna znanja, preklapanje područja znanja. Virtualni projektni timovi i alati koji podržavaju grupni rad (teamware, groupware).
        • Analiza zahtjeva na programski sustav – korisnički zahtjevi
          Definicija korisničkih zahtjeva. Poslovni procesi i utjecaj na korisničke zahtjeve. Izvori korisničkih zahtjeva. Organiziranje korisničkih zahtjeva. Tehnike prikupljanja korisničkih zahtjeva: intervjui, upitnici, poslovni dokumenti,...
        • Analiza zahtjeva na programski sustav – sistemski zahtjevi
          Definicija sistemskih zahtjeva. Vrste sistemskih zahtjeva. Mapiranje korisničkih i sistemskih zahtjeva. Funkcionalni i nefunkcionalni zahtjevi. Prijelazno i dinamičko modeliranje. Organiziranje funkcionalnih zahtjeva.
        • Modeliranje programskog sustava
          Arhitektura programskog sustava i temeljni gradivni elementi. Dijagramske tehnike i notacije za modeliranje programskog sustava. Objektno orijentirana notacija. Temelji koncepti OO pristupa. Nasljeđivanje, enkapsulacija, polimorfizam. Objektno orijentiran pristup u programskim jezicima i alatima.
        • UML paradigma
          RUP metoda. UML dijagrami.
        • Koncepti razvojnog dizajna programskog proizvoda
          Definicija razvojnog dizajna programskog proizvoda. Osnovna pitanja razvoja arhitekture (npr. postojani podaci, upravljanje memorijom, iznimke, itd.). Kontekst dizajna unutar višestrukih životnih ciklusa razvoja programskog sustava. Principi dizajna (skrivanje informacija, kohezija i uparivanje). Interakcije između dizajna i funkcionalnih i nefunkcionalnih zahtjeva. Dizajn usmjeren na kvalitetu atributa (npr. pouzdanost, iskoristivost, izvedba, mogućnost testiranja, tolerancija grešaka, itd.). Arhitekturalni stilovi, predlošci, ponovna iskoristivost. Interoperabilnost.
        • Alati za potporu razvoju i modeliranju programskog proizvoda
          Vrste alata za razvoj i modeliranje programskog proizvoda (npr. arhitekturalni, za statičku analizu, za dinamičku procjenu, itd.). Tipične arhitekture alata. Mogućnosti i ograničenja alata, provjera konzistentnosti modela (afinitetna analiza, nasljeđivanje, itd.). Veza modela i generatora aplikacije.
        • Arhitektura programskog sustava
          Slojevi arhitekture programskog sustava i tipične arhitekture. Karakteristične tehnologije po svakom od slojeva. Povezivanje slojeva i integracija programskog sustava. Utjecaj arhitekture na svojstva programskog sustava (otpornost na ispade, kvarove, brzinu).
        • Komponente i integracija
          Komponentna paradigma. Promišljanje ponovne iskoristivosti programskog koda. Vrste programskih komponenata. Tehnologije za razvoj programskih komponenata (CORBA, EJB, COM+). Upravljanje transakcijama komponenata. Integracija komponenti. Tržište programskih komponenti.
        • Humano korisničko sučelje
          Opći principi dizajna humanog računalnog sučelja. Korištenje modova, navigacija. Tehnike kodiranja i vizualni dizajn (npr. boje, ikone, vrste slova, itd.). Vrijeme odziva i povratna informacija. Načini dizajna (npr. orijentiran na meni, forme, pitanja-odgovori, itd.); Lokalizacija i internacionalizacija. Metode dizajna humanog računalnog sučelja. Multimedija (npr. I/O tehnike, glas, prirodni jezik, web-stranica, zvuk, itd.). Metafore i konceptualni modeli. Psihologija humanog računalnog sučelja.
        • Prototipiranje
          Razlog i svrha prototipa. Vrste prototipa: horizontalni i vertikalni. Osmišljavanje prototipa. Dokumentiranje prototipa. Ispitni scenariji. Odnos prototipa i stvarnog sustava. Programski alati za razvoj prototipa.
        • Metrike u razvoju programskih proizvoda
          Smisao metrika programskog proizvoda i njihova primjenjivost. Vrste metrika: linije programskog koda, funkcijske točke. Metrike i životni ciklus. Metode procjene složenosti programskog sustava na početku životnog ciklusa.
        • Nadzor i ispitivanje programskog sustava
          Značaj i pristupi ispitivanju programskog sustava. Ispitivanje komponenti i cjelovitog sustava. Odnos prema korisnički zahtjevima. Scenariji ispitivanja. Analiza opsega ispitivanja (npr. ogranak, temeljna putanja, višestruki uvjeti, tok podataka, iznimke itd.). Obrada iznimaka (pisanje ispitnih primjera za pokretanje obrade iznimaka). Tehnika ispitivanja funkcionalnosti. Integracijsko ispitivanje. Razvijanje ispitnih primjera temeljenih na slučajevima upotrebe i/ili izjavama korisnika. Ispitivanje temeljeno na operacijskim profilima.
        • Specifične programske arhitekture
          Transakcijske i analitičke programske arhitekture. Kritični zahtjevi. Suprotni ciljevi dizajna i razvoja programskog sustava u zavisnosti od vrste arhitekture. Skladišta podataka, OLAP sustavi, arhitekture za rudarenje podataka, ERP sustavi, distibuirani sustavi.

        [na vrh]
        Sadržaj seminara/vježbi
        • Vježbe
          U okviru vježbi studenti će raditi s alatom za modeliranje i dizajn programskog sustava. Pri tome će se intenzivno obrađivati UML paradigma. Alat će biti povezan s generatorom aplikacija i razrađivati će se prijelaz od modela prema programskoj aplikaciji.

        [na vrh]
        Literatura - osnovna
        • Materijali s predavanja dostupni na: http://www.foi.hr/studiji/dodiplomski/IS/kolegiji/pinz/index.html
        • Stevens, R.; Brook, P.; Jackson, K.; Arnold, S. Systems Engineering, Coping with Complexity. Prentice Hall, 1998.
        • Fowler, M.; Scott, K. UML Distilled: Applying the Standard Object Modelling Language. Addison-Wesley, 1997.
        • Bennett, S.; McRobb, S.; Farmer, R. Object-Oriented Systems Analysis and Design using UML. McGraw-Hill, 1999.
        • Stevens, P.; Pooley, R. Using UML - software engineering with objects and components. Addison Wesley, 2000.
        • Sommerville, Software Engineering. 5th edition, Addison-Wesley, 1996.
        • Pressman, R.S. Software Engineering: A Practioner's Approach. 5th edition, McGraw-Hill, 2000. (or the European adaptation by D. Ince).
        • Gilb, T. Principles of Software Engineering Management. Addison-Wesley, 1988.
        Literatura - dopunska


          [na vrh]
          Slični predmeti
          jankovic@marko-jankovic1.from.hr info@marko-jankovic1.from.hr admin@marko-jankovic1.from.hr markec@marko-jankovic1.from.hr mj@marko-jankovic1.from.hr glavni@marko-jankovic1.from.hr marijana-tkalec1.from.hr web.marijana-tkalec1.from.hr www.marijana-tkalec1.from.hr marko-jankovic1.from.hr www.marko-jankovic1.from.hr www.marko-jankovic1.from.hr ivan@rupica.org boris@rupica.org ana@rupica.org thomas@rupica.org www.rupica.org