Пројектовање софтвера — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
мНема описа измене
Нема описа измене
 
(Није приказано 17 међуизмена 3 корисника)
Ред 8: Ред 8:
| следећи  = Рачунарска графика
| следећи  = Рачунарска графика
}}
}}
 
'''Пројектовање софтвера''' је неизбежан предмет у петом семестру за СИ, а изборни у седмом семестру за РТИ. ''Ђаво је у детаљима.''
'''ИНФОРМАЦИЈЕ ИСПОД СУ ДЕЛИМИЧНО АЖУРИРАНЕ НАКОН ПРОМЕНЕ ПРОФЕСОРА НА ПРЕДМЕТУ ШКОЛСКЕ 2024/2025'''
 
'''Пројектовање софтвера''' је неизбежан предмет у петом семестру за СИ, а изборни у седмом семестру за РТИ, у духу свих предмета које држи Гаги.


== Корисне везе ==
== Корисне везе ==
Ред 20: Ред 17:
* [https://studentetfbgacrs-my.sharepoint.com/:b:/g/personal/sa190595d_student_etf_bg_ac_rs/EZn3Myy8GgZKohr0hCgOXh8Btt9JVmgpK7EDHtz6V4qhUA Документ са пречицама за алат ''StarUML'']
* [https://studentetfbgacrs-my.sharepoint.com/:b:/g/personal/sa190595d_student_etf_bg_ac_rs/EZn3Myy8GgZKohr0hCgOXh8Btt9JVmgpK7EDHtz6V4qhUA Документ са пречицама за алат ''StarUML'']
* [https://github.com/Jovan11111/DesignPatterns Пројектни узорци имплементирани у Јави и C++]
* [https://github.com/Jovan11111/DesignPatterns Пројектни узорци имплементирани у Јави и C++]
===Књига која се користи за пројектне узорке у ПДФ формату===
 
{{#dpl:
* [https://cet.rs/proizvod/gotova-resenja-design-patterns-elementi-objektno-orijentisanog-softvera/ Готова решења - Елементи објектно оријентисаног кода (Design Patterns: Elements of Reusable Object-Oriented Software) - CET]
| namespace      = File
| titleregexp    = DesignPatterns
| noresultsheader = Тренутно нема докумената.
| format          = ,\n* [[Медија:%TITLE%|²{#invoke:String¦sub¦%PAGE%}²]],,
}}


== Настава ==
== Настава ==
На предавањима на предмету се предају две области: UML и пројектни узорци. Њихова подела иде овако:
На предавањима на предмету се предају две области: UML и пројектни узорци. Њихова подела иде овако:
* '''Први блок:'''
* '''Први блок:'''
** Предају се комплетни пројектни узорци, све у првом блоку. Ради се по књизи, презентације коришћене на предавањима су преведени делови књиге.
** Предају се сви пројектни узорци, подељени између предавања и вежби, тако да је потребно пратити оба. На последња два часа вежби се обрађују задаци слични онима који долазе на колоквијуму.
** На првом колоквијуму долазе два задатка, сваки по 10 поена. Заснивају се на употреби и имплементацији пројектних узорака у Јави. У првом се у потпуности имплементира један пројектни уѕорак на простом, не превише обимном примеру. у другом се дата имплементација надограђује и модификује кроѕ примену неког пројектног узорка.
** За припрему првог колоквијума могу се, до неке мере, користити некадашње лабораторијске вежбе. Поред тога, за разумевање образаца у великој мери може помоћи књига ''Design Patterns, Elements of Reusable Object-Oriented Software''.
* '''Други блок:'''  
* '''Други блок:'''  
** UML - Увод, употреба, основна синтакса. Дијаграми: Класа, Пакета  
** UML - Увод, употреба, основна синтакса. Дијаграми: Класа, Пакета (на предавањима овај део креће у првом блоку, и прелива се делом у трећи блок).
** На другом колоквијуму се на основу датог описа система у StarUML праве тражени дијаграми.
** За припрему другог колоквијума могу се користити некадашње лабораторијске вежбе. При том, треба имати у виду да фокус другог колоквијума на УМЛ, и да ће фокус на пројектне узорке бити мањи у односу на лабораторијске вежбе.
* '''Трећи блок:'''  
* '''Трећи блок:'''  
** Јос увек непоѕнато
** На предавањима се раде архитектурални обрасци (слојевита архитектура, микросервиси, архитектура вођена догађајима...) и њихово моделовање. На вежбама се пролазе ствари за пројекат.


== Домаћи ==
== Лабораторијске вежбе ==
===Ово је по старим пропозицијама, од школске 2024/2025 нема домаћих===
'''''Овај блок је писан у складу са старим пропозицијама на предмету, од школске 2024/2025 нема лабораторијских вежби'''''
За разлику од [[ОО1#Домаћи|ОО1]], домаћи служе само за припрему, не предају се, а на лабораторијским вежбама се добијају решени домаћи. За домаћи задатак се обично добије опис једног система за који треба да се саставља један или више UML дијаграма.


== Лабораторијске вежбе ==
===Ово је по старим пропозицијама, од школске 2024/2025 нема лабораторијских вежби===
Исто као и на [[ОО1#Лабораторијске вежбе|ОО1]], осим што се домаћи задаци не предају, већ се на самој лабораторијској вежби добије готово решење.
Исто као и на [[ОО1#Лабораторијске вежбе|ОО1]], осим што се домаћи задаци не предају, већ се на самој лабораторијској вежби добије готово решење.


Ред 56: Ред 45:


==Пројекат==
==Пројекат==
Од школеске 2024/2025 постоји пројекат на предмету. Пројекат носи 30 поена и није обавезан. Брани се у јануару. Додатни детаљи ће бити касније познати.
Од школеске 2024/2025 постоји пројекат на предмету. Пројекат носи 30 поена и није обавезан. Брани се у јануарском, фебруарском или августвоском испитном року.
 
* [https://web.archive.org/web/20251211142709/https://ps.etf.bg.ac.rs/domaci/Projektni%20zadatak%202024%20v1.1.pdf Пројекат - школска 2024/2025, 2025/2026 (Wayback machine)]


== Испитни рокови ==
== Испитни рокови ==
Ред 63: Ред 54:
Уколико желите да додате рок, посетите '''[[Project:Направи#Moodle|страницу за прављење рока]]'''.
Уколико желите да додате рок, посетите '''[[Project:Направи#Moodle|страницу за прављење рока]]'''.


=== Пробни тестови ===
=== Колоквијум 1 ===
{{#dpl:
| category    = Пројектовање софтвера
| category    = Рокови
| titleregexp = Пројектовање софтвера/К1
| nottitleregexp = ^Пројектовање софтвера/К1 20[01][0-9]$
| nottitleregexp = ^Пројектовање софтвера/К1 202[0-3]$
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦23¦-1}²]]</span>,
| ordermethod = title
| include    = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl
}}
 
=== Колоквијум 2 ===
{{#dpl:
| category    = Пројектовање софтвера
| category    = Рокови
| titleregexp = Пројектовање софтвера/К2
| nottitleregexp = ^Пројектовање софтвера/К2 20[01][0-9]$
| nottitleregexp = ^Пројектовање софтвера/К2 202[0-3]$
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦23¦-1}²]]</span>,
| ordermethod = title
| include    = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl
}}
 
=== Испит ===
{{#dpl:
| category    = Пројектовање софтвера
| category    = Рокови
| titleregexp = Пројектовање софтвера/.* \d+$
| nottitleregexp    = Пројектовање софтвера/.* 201[0-9]$
| nottitleregexp    = Пројектовање софтвера/.* 202[0-4]$
| nottitleregexp  = Пројектовање софтвера/К\d
| nottitleregexp  = Пројектовање софтвера/Пробни тестови
| nottitleregexp  = Пројектовање софтвера/Лаб
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦23¦-1}²]]</span>,
| ordermethod = title
| include    = {nerešeno}.dpl, {delimično rešeno}.dpl, {нерешено}.dpl, {делимично решено}.dpl
}}
 
=== Стари рокови (пре 2024/2025)===
 
==== Пробни тестови ====
Овде се налазе пробни тестови дати за вежбу пред колоквијум на Moodle платформи.
Овде се налазе пробни тестови дати за вежбу пред колоквијум на Moodle платформи.
{{#dpl:
{{#dpl:
Ред 71: Ред 103:
}}
}}


=== Колоквијум 1 ===
==== Колоквијум 1 ====
{{#dpl:
{{#dpl:
| category    = Пројектовање софтвера
| category    = Пројектовање софтвера
| category    = Рокови
| category    = Рокови
| titleregexp = Пројектовање софтвера/К1
| titleregexp = ^Пројектовање софтвера/К1 20[01][0-9]$
| titleregexp = ^Пројектовање софтвера/К1 202[0-3]$
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦23¦-1}²]]</span>,
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦23¦-1}²]]</span>,
| ordermethod = title
| ordermethod = title
Ред 81: Ред 114:
}}
}}


=== Колоквијум 2 ===
==== Колоквијум 2 ====
{{#dpl:
{{#dpl:
| category    = Пројектовање софтвера
| category    = Пројектовање софтвера
| category    = Рокови
| category    = Рокови
| titleregexp = Пројектовање софтвера/К2
| titleregexp = ^Пројектовање софтвера/К2 20[01][0-9]$
| titleregexp = ^Пројектовање софтвера/К2 202[0-3]$
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦23¦-1}²]]</span>,
| format      = ,\n* <span class="rok,">[[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦23¦-1}²]]</span>,
| ordermethod = title
| ordermethod = title
Ред 91: Ред 125:
}}
}}


=== Испит ===
==== Испит ====
{{#dpl:
{{#dpl:
| category    = Пројектовање софтвера
| category    = Пројектовање софтвера
| category    = Рокови
| category    = Рокови
| titleregexp    = Пројектовање софтвера/.* \d+$
| titleregexp    = Пројектовање софтвера/.* 201[0-9]$
| titleregexp    = Пројектовање софтвера/.* 202[0-4]$
| nottitleregexp  = Пројектовање софтвера/К\d
| nottitleregexp  = Пројектовање софтвера/К\d
| nottitleregexp  = Пројектовање софтвера/Пробни тестови
| nottitleregexp  = Пројектовање софтвера/Пробни тестови

Тренутна верзија на датум 22. фебруар 2026. у 16:06

Пројектовање софтвера је неизбежан предмет у петом семестру за СИ, а изборни у седмом семестру за РТИ. Ђаво је у детаљима.

Корисне везе

Настава

На предавањима на предмету се предају две области: UML и пројектни узорци. Њихова подела иде овако:

  • Први блок:
    • Предају се сви пројектни узорци, подељени између предавања и вежби, тако да је потребно пратити оба. На последња два часа вежби се обрађују задаци слични онима који долазе на колоквијуму.
    • За припрему првог колоквијума могу се, до неке мере, користити некадашње лабораторијске вежбе. Поред тога, за разумевање образаца у великој мери може помоћи књига Design Patterns, Elements of Reusable Object-Oriented Software.
  • Други блок:
    • UML - Увод, употреба, основна синтакса. Дијаграми: Класа, Пакета (на предавањима овај део креће у првом блоку, и прелива се делом у трећи блок).
    • За припрему другог колоквијума могу се користити некадашње лабораторијске вежбе. При том, треба имати у виду да фокус другог колоквијума на УМЛ, и да ће фокус на пројектне узорке бити мањи у односу на лабораторијске вежбе.
  • Трећи блок:
    • На предавањима се раде архитектурални обрасци (слојевита архитектура, микросервиси, архитектура вођена догађајима...) и њихово моделовање. На вежбама се пролазе ствари за пројекат.

Лабораторијске вежбе

Овај блок је писан у складу са старим пропозицијама на предмету, од школске 2024/2025 нема лабораторијских вежби

Исто као и на ОО1, осим што се домаћи задаци не предају, већ се на самој лабораторијској вежби добије готово решење.

На првој лабораторијској вежби демонстратори пролазе референтно решење домаћег задатка, а затим над њом раде модификације које пишу у задатку. За другу лабораторијску вежбу долази градиво закључно са дијаграмима стања и пројектног узорка Стање, док за трећу лабораторијску вежбу долази градиво закључно са дијаграмима активности и пројектним узорком Заступник.

Неке претходне лабораторијске вежбе могу се наћи међу драјвовима у одељку са корисним везама. Неке лабораторијске вежбе објављиване су на страници предмета, па су сада архивиране:

Пројекат

Од школеске 2024/2025 постоји пројекат на предмету. Пројекат носи 30 поена и није обавезан. Брани се у јануарском, фебруарском или августвоском испитном року.

Испитни рокови

Слична прича као и за ОО1. Доступни су и испитни примери који нису категорисани по роковима.

Уколико желите да додате рок, посетите страницу за прављење рока.

Колоквијум 1

Колоквијум 2

Испит

Стари рокови (пре 2024/2025)

Пробни тестови

Овде се налазе пробни тестови дати за вежбу пред колоквијум на Moodle платформи.

Колоквијум 1

Колоквијум 2

Испит

Начин оцењивања

Исто као и на ОО1. Школске 2022/23. године је, због друге лабораторијске вежбе која није била прегледана до пар сати пред трећу лабораторијску вежбу, било омогућено да поправна лабораторијска вежба надокнађује другу, трећу, или и другу и трећу лабораторијску вежбу (студенти су тај избор морали да направе пре саме лабораторијске вежбе).

Потребна помоћ

  • На овом предмету фале поставке рокова. Помозите викију памћењем/преписивањем рокова и постављањем на вики.
    • Од користи су такође модификације добијене на лабораторијским вежбама, како би студенти знали отприлике шта их на лабораторијским вежбама чека.