CeleAbsolwent kursu Inżynieria oprogramowania II nabędzie umiejętności w dziedzinie inżynierii wymagań, zaawansowanych technologii zintegrowanego projektowania oprogramowania (UML) oraz zarządzania projektem informatycznym. Wzbogacone to będzie przez umiejętności stosowania zaawansowanych technologii bazodanowych, tworzenia aplikacji internetowych, czy wreszcie administrowania systemem UNIX/Linux. Absolwent będzie mógł pracować w zespołach (jako członek lub kierownik projektu) wytwarzających zaawansowane oprogramowanie należące do szerokiej klasy: systemy informatyczne, bazy danych, aplikacje internetowe, systemy czasu rzeczywistego.
Profil słuchacza / wymogiStudia podyplomowe są skierowane do absolwentów studiów licencjackich/inżynierskich, zarówno w zakresie informatyki, jak i studiów pokrewnych. Absolwent kursu Inżynieria oprogramowania I będzie legitymował się bardzo dobrymi umiejętnościami programowania w C/C++, stosowania technik komponentowych, rozumiał podstawowe zasady inżynierii oprogramowania oraz analizy systemów informatycznych. Ponadto nabędzie umiejętności w dziedzinie konstruowania baz danych.
Szczegółowe informacjeCharakterystyka studiów
Studia podyplomowe trwają jeden lub dwa semestry, w zależności od kwalifikacji i potrzeb kandydatów.
Pierwszy semestr dotyczy podstaw inżynierii oprogramowania: programowanie (C/C++), projektowanie systemów informatycznych, konstruowanie baz danych, technologie komponentowe.
Drugi semestr (możliwa kontynuacja) jest przeznaczony dla osób programujących na poziomie średnim i znających podstawy w dziedzinie informatyki. Program tej części zawiera przedmioty rozszerzające i pogłębiające wiedzę w dziedzinach zaawansowanych technologii wytwarzania oprogramowania, projektowania i wdrażania baz danych, technologii internetowych, zarządzania projektem informatycznym
Program studiów
Inżynieria oprogramowania I
- Duży nacisk położony jest na zdobycie umiejętności programowania w językach C/C++ na odpowiednio wysokim, zaawansowanym poziomie. Realizowane jest to m.in. poprzez dużą liczbę godzin dydaktycznych, pozwalających przećwiczyć wszystkie zasadnicze zagadnienia związane z programowaniem w tych językach.
- Rozszerzeniem ostatniego wątku są także technologie obiektowe, które są poznawane zarówno w ujęciu ogólnym (analiza i projektowanie), jak i zorientowanym na konkretne języki.
- Technologie komponentowe, jako odgrywające coraz większą rolę przy tworzeniu oprogramowania, poznawane są od najprostszych rozwiązań, jednak z możliwością przejścia do zagadnień jeszcze bardziej zaawansowanych. Główny nacisk położony jest na część praktyczną tworzenia komponentów.
- Konstruowanie baz danych towarzyszy wielu przedsięwzięciom i dlatego niezbędne jest poznanie podstawowych zagadnień związanych ze strukturą, organizacją, przetwarzaniem i tworzeniem zapytań w bazach danych. Realizowane jest to zarówno poprzez zajęcia teoretyczne, jak i ćwiczenia praktyczne.
- Inżynieria oprogramowania posiada swoje metody niezbędne przy profesjonalnym tworzeniu i modelowaniu oprogramowania. Modelowanie systemu wymaga zrozumienia jego struktury, logiki i cyklu życia. Jest to naturalne domknięcie całego procesu dydaktycznego tego kursu.
Inżynieria oprogramowania II
- Coraz większe znaczenie w projektowaniu systemów informatycznych odgrywają zintegrowane systemy projektowania pozwalające ująć ten proces w sposób całościowy, we wszystkich aspektach działania systemu i na wszystkich etapach jego tworzenia. Główne znaczenie ma tu język/notacja UML, która jest poznawana zarówno od strony teoretycznej, jak i poprzez samodzielne wykonanie projektów systemów.
- Z każdym projektem informatycznym związana jest inżynieria wymagań, której metody i narzędzia zarówno poprzedzają sam projekt, jak i towarzyszą w trakcie budowania systemu. Odpowiednie metody przekazywane są w trakcie zajęć teoretycznych i praktycznych.
- Zaawansowane technologie baz danych są kontynuacją odpowiedniego wątku z kursu podstawowego, dotyczącego konstruowania baz danych. Realizowane jest to również poprzez zajęcia teoretyczne, jak i ćwiczenia praktyczne.
- Aplikacje internetowe odgrywają coraz większą rolę we współczesnej informatyce. W zakres zainteresowania wchodzi tu zarówno problematyka prostych jak i złożonych formatów dokumentów, różne języki skryptowe wykorzystywane do programowania po stronie serwera lub klienta czy mający dominującą pozycję język Java.
- Problematyka administrowania systemami wiąże się nieodzownie z systemami UNIX czy Linux. Przedstawiając odpowiednie zagadnienia duży nacisk położono na ćwiczenia praktyczne.
- Zarządzanie projektem informatycznym, szczególnie w przypadku dużych projektów, odgrywa coraz większą rolę, obejmując szereg takich problemów jak: infrastruktura projektu, zarządzanie ryzykiem, podział ról i zadań, delegowanie uprawnień, synchronizacja, problematyka jakości, dokumentowanie i inne.