Softverski obrasci i komponente
Upoznavanje sa predmetom
Kreirano 2024-09-28 Sat 11:15, pritisni ESC za mapu, m za meni, Ctrl+Shift+F za pretragu
1. Opšte informacije
- Broj ESPB: 5
- Fond časova: 2+2
- Predmetni nastavnik: Prof. dr Igor Dejanović, igord na uns.ac.rs
- Predmetni asistent: MSc Danijel Radaković, danijelradakovic na uns.ac.rs
- Materijali sa predavanja su dostupni na linku
https://www.igordejanovic.net/courses/sok/
- Materijali za vežbe biće dostupni preko GitHub-a i Google grupe.
- Komunikacija i obaveštenja se obavljaju preko Google grupe:
- Dogovor i obaveštenja o usmenim ispitima se obavljaju preko Google grupe:
2. Cilj predmeta
- Osposobljavanje za prepoznavanje i primenu softverskih obrazaca
- Osposobljavanje za primenu komponentno baziranog razvoja (Component-Based
Development - CBD)
- Savladavanje modernih tehnologija baziranih na komponentnom razvoju
- Integracija postojećih, slobodno dostupnih komponenti i rešenja u cilju
izgradnje složenih softverskih proizvoda
3. Struktura ocene
Praktični deo |
Teorija |
60% |
40% |
4. Projekat
- Timski rad - timovi od 4 ± 1 studenta
- Obavezna upotreba sistema za kontrolu verzija (git)
- Obavezna upotreba sistema za upravljanje projektom (GitHub)
5. Projekat - raspodela bodova
Aktivnost |
Bodovi |
Model komponenti |
10 |
Implementacija komponenti |
20 |
Implementacija projekta |
18 |
Git aktivnost |
6 |
GitHub aktivnost |
6 |
Ukupno |
60 |
6. Kontrolna tačka - diskusija
- Datum će biti naknadno određen.
- Nekoliko najboljih timova radi prezentaciju.
- Ne ocenjuje se. Cilj je diskusija i pomoć sporijim timovima.
7. Ukus SOK-a - prezentacije starijih generacija
- Gen. 2007/08 – Generički IDE za razvoj (Code Editor – CodEd): Swing,
OSGI(Apache Felix)
- Multi-level tim – cela nastavna grupa je veliki tim koji se deli na
podtimove
- Podrška za proizvoljne programske jezike (specijalizacija za Javu): custom
parser, syntax highlighting, code outline, search/replace…
8. Ukus SOK-a - prezentacije starijih generacija
- Gen. 2008/09 – Extensible Graph Analysis and Transformation Engine (ExGATE):
Swing, OSGI (Eclipse Eqinox).
- Pojedinačni timovi
- Generiči editor za kreiranje, analizu, transformaciju i vizuelizaciju
grafova
- Podrška za pretrage grafova, layouting, generisanje…
9. Prezentacija ExGERM tima
10. Generacija 2011-2015
- Ex tensible P latform for S tructure V isualization and N avigation
(ExPreSsiVeNess)
- Vizualizacija i navigacija nad strukturama tipa grafa
- Promenjivi modeli: razne vrste POJO objektnih grafova
- Promenjive konkretne sintakse
- Brz pregled i navigacija
- Operacije: pan, point zoom in/out, tree outline, bird-view, filter,
search, dobijanje detalja o tekućem objektu itd
- Opciono: konzola za upravljanje platformom: izmena sintaksi,
izmena modela itd
- Tehnologije:
- Integraciona platforma – Eclipse Equinox (OSGi)
- GUI – Eclipse Rich Client Platform (RCP) + SWT/JFace
- Vizualizacija grafova – GEF (Draw2d, Zest)
- I naravno: git i GitLab
11. Generacija 2016-
- Ex tensible P latform for S tructure V isualization and N avigation
(ExPreSsiVeNess)
- Vizualizacija i navigacija nad strukturama tipa grafa
- Promenjivi modeli: razne vrste POPO objektnih grafova
- Promenjive konkretne sintakse
- Brz pregled i navigacija
- Operacije: pan, point zoom in/out, tree outline, bird-view, filter,
search, dobijanje detalja o tekućem objektu itd
- Opciono: konzola za upravljanje platformom: izmena sintaksi,
izmena modela itd
- Tehnologije:
12. Literatura
- E. Gamma, R. Helm, R. Johnson, and J. M. Vlissides, Design Patterns: Elements
of Reusable Object-Oriented Software, Addison-Wesley Professional, 1994
- C. Szyperski, Component Software: Beyond Object-Oriented Programming,
Addison-Wesley Longman Publishing Co., Inc., 2002
- The Python Tutorial
- Allen B. Downey, Think Python 2nd Edition
- Package Discovery and Resource Access using pkg_resources