Хей, GeorgiSokolov, преди много време се опитах да направя софтуер за напълнно автоматично генериране на работно разписание с напълно конфигурируеми параметри, само че не за ПУ, а за "Окръжна Болница гр. Плевен". Аз се имам за кадърен и мислещ програмист, но въпреки това резултатът беше плачевен и там все още си правят разписанието на ръка - по-добре става отколкото с моята програма! В последствие установих, че и други умни глави са се провалили в това начинание, което ме наведе на мисълта, че може би задачата не е чак толкова проста, колкото изгледа на пръв поглед!
Пожелавам ти успех ако решиш да се захванеш и ако направиш прототип, който наистина работи, било то напълно или частично автоматизирано - ще се радвам да споделиш как си го постигнал!
Трудността в начинанието идва от факта, че програмата трябва да се съобразява с много разнообразни параметри като само част от тях са:
1) Брой различни заемани длъжности.
2) Брой кадри.
3) Асоциация кадри към длъжности (теоретично един кадър може да заема повече от една длъжност).
4) Минимална и максимална часова заетост за всяка длъжност(за ден, седмица, месец, година).
5) Равномерно разпределяне (натовареност на кадъра) на дневна, седмична, месечна и годишна база.
6) Трябва да се имат предвид официалните празници, които в зависимост от заеманата длъжност може и да влияят на натовареността на кадъра на ххх-на база.
Към всичко това прибави броя на възможните аудитории (в случая с ПУ), броя на различните потоци студенти, предметите, които изучават, за колко време трябва да се изучат, колко кадърра се заемат с всеки един предмет х курс (обикновено един доцент и един асистент)...
Бозата става пълна, когато разбереш, че някои кадри имат претенции да работят или да не работят еди-кога-си (което трябва да е конфигурируемо в програмата) или да работят/не работят еди-къде-си или с еди-кого-си.
Прищевки колкото искаш, параметри колкото искаш и накрая продуктът върши всичко друго, но не и това, за което е предназначен!
В случая с ПУ ще е по-трудно отколкото с болницата, защото в болницата имах само кадри (лекари) и работни местоположения + някои дребни детайли, с които трябваше да се съобразявам. За случая с ПУ имаме кадри, аудитории, учебни предмети и потоци от студенти + още неща, които сигурно изпускам!
Светослав Енков е напълно прав, че пълна автоматизация е 99% (мое мнение) невъзможна, но само с някои параметри би могло да се постигне частична автоматизация!
Подкрепям идеята това да се превърне в дипломна работа, дори мисля, че задачата е много добра и ще размърда мозъка на дипломанта, ако някой изобщо се навие, след като осъзнае с какво всъщност се захваща!
И един конкретен въпрос към Светослав Енков: кои са най-важните параметри, които имат реално значение и трябва да се реализират в случая с ФМИ, за да има полза от програмата при частична автоматизация? При достатъчно разумен брой параметри задачата има решение (предполагам)!