Софтверски обрасци и компоненте

Упознавање са предметом

Проф. др Игор Дејановић (igord at uns ac rs)

Креирано 2025-11-04 Tue 20:22, притисни ESC за мапу, Ctrl+Shift+F за претрагу, "?" за помоћ

1. Опште информације

  • Број ЕСПБ: 5
  • Фонд часова: 2+2
  • Предметни наставник: Проф. др Игор Дејановић, igord на uns.ac.rs
  • Предметни асистент: MSc Данијел Радаковић, danijelradakovic на uns.ac.rs
  • Материјали са предавања су доступни на линку https://www.igordejanovic.net/courses/sok/
  • Материјали за вежбе биће доступни преко GitHub-а и Google групе.
  • Комуникација и обавештења се обављају преко Google групе:
  • Договор и обавештења о усменим испитима се обављају преко Google групе:

2. Циљ предмета

  • Оспособљавање за препознавање и примену софтверских образаца
  • Оспособљавање за примену компонентно базираног развоја (Component-Based Development - CBD)
  • Савладавање модерних технологија базираних на компонентном развоју
  • Интеграција постојећих, слободно доступних компоненти и решења у циљу изградње сложених софтверских производа

3. Структура оцене

Практични део Теорија
60% 40%

4. Пројекат

  • Тимски рад - тимови од 4 ± 1 студента
  • Обавезна употреба система за контролу верзија (Git)
  • Обавезна употреба система за управљање пројектом (GitHub)

5. Пројекат - расподела бодова

Активност Бодови
Модел компоненти 10
Имплементација компоненти 20
Имплементација пројекта 18
Git активност 6
GitHub активност 6
Укупно 60

6. Контролна тачка - дискусија

  • Датум ће бити накнадно одређен.
  • Неколико најбољих тимова ради презентацију.
  • Не оцењује се. Циљ је дискусија и помоћ споријим тимовима.

7. Укус СОК-а - презентације старијих генерација

  • Ген. 2007/08 – Генерички IDE за развој (Code Editor – CodEd): Swing, OSGI(Apache Felix)
    • Multi-level тим – цела наставна група је велики тим који се дели на подтимове
    • Подршка за произвољне програмске језике (специјализација за Јаву): custom parser, syntax highlighting, code outline, search/replace

CodEd-StrukturniPogled.png

8. Укус СОК-а - презентације старијих генерација

  • Ген. 2008/09 – Ex tensible G raph A nalysis and T ransformation E ngine (ExGATE): Swing, OSGI (Eclipse Eqinox).
    • Појединачни тимови
    • Генеричи едитор за креирање, анализу, трансформацију и визуелизацију графова
    • Подршка за претраге графова, аутоматско распоређивање елемената, генерисање…

ExGERM-visualizer.jpg

9. Презентација ExGERM тима

10. Генерација 2011-2015

  • Ex tensible P latform for S tructure V isualization and N avigation (ExPreSsiVeNess)
  • Визуализација и навигација над структурама типа графа
  • Промењиви модели: разне врсте POJO објектних графова
  • Промењиве конкретне синтаксе
  • Брз преглед и навигација
  • Операције: pan, point zoom in/out, tree outline, bird-view, filter, search, добијање детаља о текућем објекту итд.
  • Опционо: конзола за управљање платформом: измена синтакси, измена модела итд.
  • Технологије:
    • Интеграциона платформа – Eclipse Equinox (OSGi)
    • GUI – Eclipse Rich Client Platform (RCP) + SWT/JFace
    • Визуализација графова – GEF (Draw2d, Zest)
    • И наравно: Git и GitLab

11. Генерација 2016-

  • Ex tensible P latform for S tructure V isualization and N avigation (ExPreSsiVeNess)
  • Визуализација и навигација над структурама типа графа
  • Промењиви модели: разне врсте ПОПО објектних графова
  • Промењиве конкретне синтаксе
  • Брз преглед и навигација
  • Операције: pan, point zoom in/out, tree outline, bird-view, filter, search, добијање детаља о текућем објекту итд.
  • Опционо: конзола за управљање платформом: измена синтакси, измена модела итд.
  • Технологије:
    • Интеграциона платформа – Python setuptools
    • Сервер страна: Django
    • База: MongoDB, SQLite или PostgreSQL
    • GUI – HTML, CSS, JavaScript
    • Визуализација графова – D3.js

12. План предавања

13. Литература