Wpis na blogu utworzony przez dr inż. Mateusz Smoliński

Wpis widoczny dla wszystkich na świecie

Charakterystyka projektów SSBD

Sieciowe systemy baz danych to przedmiot dla studiów stacjonarnych pierwszego stopnia (sem. VI). Na zajęciach laboratoryjnych tworzone są projekty wielodostępnych systemów OLTP (On-Line Transaction Processing), które są realizowane w zespołach kilkuosobowych (zwykle 6-7 uczestników). Każdy uczestnik projektu oprócz projektowania i tworzenia monolitycznej aplikacji wraz z relacyjną bazą danych oraz dokumentacji projektu posiada przypisane funkcje określające zakres organizacyjnej odpowiedzialności w projekcie (m. in. szef projektu, kontrola jakości i zgodności, administrator relacyjnej bazy danych, administrator systemu zarządzania wersjami kodu projektu, administrator domeny serwera aplikacyjnego, osoba odpowiedzialna za dokumentację).

Celem każdego projektu SSBD jest stworzenie wielodostępnego systemu informatycznego wraz z dokumentacją złożonego z aplikacji internetowej i sieciowej komunikujących się z wykorzystaniem usługi sieciowej REST, przy czym aplikacja sieciowa zapewnia transakcyjne przetwarzanie danych i mapowanie obiektowo-relacyjne ORM, dane utrwalane są w relacyjnej bazie danych  (w ostatniej edycji SSBD zastosowano Jakarta Enterprise Edition w wersji 10). Każdy projekt SSBD posiada architekturę trójwarstwową, wydzielającą warstwę prezentacji, logiki biznesowej i przechowywania danych.  W trakcie realizacji projektu studenci korzystają z narzędzi:

  • zarządca struktur projektu Maven,
  • system rejestracji zadań JIRA,
  • dokumentacja tworzona z wykorzystaniem narzędzia Confluence,
  • repozytorium kodu GIT z dostępem przez Bitbucket,
  • system zarządzania bazami danych PostgreSQL,
  • serwer aplikacji Payara. 

Szczególny nacisk w trakcie realizacji projektu jest postawiony na terminowość oddawania etapów (wstępny, szczegółowy i końcowy), bezpieczeństwo (uwierzytelnienie i autoryzacja, wiele poziomów dostępu, mechanizmy ochrony danych, rejestrowanie zdarzeń i kontrola odpowiedzialności użytkowników) i spójność danych (m.in. przetwarzanie transakcji) a także rozliczenia (w tym kontrolę odpowiedzialności) w tworzonym systemie OLTP.

Projekt realizowany jest w letnim semestrze w ramach 15 zajęć laboratoryjnych z przedmiotu sieciowe systemy baz danych. Nominalny czas każdych zajęć laboratoryjnych to 1,5 godziny. Wymagania dla projektów SSBD (stos technologiczny, narzędzia, dokumentacja, organizacja pracy itp.) są określone indywidualnie dla każdej edycji przedmiotu.

Dla każdego projektu wymagane jest zatwierdzenie przez prowadzących wybranego przez grupę unikalnego tematu projektu i funkcjonalności. Każdy projekt zgodnie z wymaganiami musi posiadać unikalny temat względem bieżącej oraz poprzednich edycji projektów SSBD. W ramach tematu grupa musi wyróżnić unikalną funkcjonalność związaną z agregacją informacji o danych biznesowych przechowywaną w bazie i wykraczającą poza standardowe działanie systemów z danej dziedziny. Przed odbiorem kont należy przydzielić poszczególnym uczestnikom funkcje związane z odpowiedzialnością w projekcie.

   Statystyki realizacji zadań w projekcie SSBDPodział zadań pomiędzy uczestnikami projektu SSBDgit branches graph

Każdy uczestnik projektu jest rozliczany indywidualnie z wykonanych zadań, aktualny stan prac nad projektem przedstawiają raporty (przykładowe raporty z systemu JIRA zaprezentowano powyżej).

Zapraszam do zapoznania się z prezentacjami wideo zespołowych projektów SSBD zrealizowanych w ostatnich edycjach przedmiotu:

SSBD'2023

SSBD'2022

SSBD'2021

SSBD'2020

SSBD'2019

SSBD'2018

SSBD'2017
7

 

 

 

 

 

 

 

Wykresy zamieszczone poniżej przedstawiają statystyki zaliczeń oraz histogramy ocen dla ostatnich edycji projektów SSBD.

Poziom zaliczeń w ostatnich edycjach projektów SSBD

Histogram ocen w ostatnich edycjach projekktów SSBD

Zbór wymagań obowiązujący w ostatniej edycji projektów zawiera dokument wymagań dla projektów SSBD udostęniany uczestnikom w każdej edycji przedmiotu, przykładowe dokumenty wymagań załączono do tej wiadomości.

Tematy dotychczas zrealizowanych projektów & kategoria kursów dla SSBD w platformie WIKAMP

Tradycyjnie po zakończeniu projektów SSBD kontakt do najlepszych uczestników zrealizowanych projektów (ocena z projektu przynajmniej 4) po jawnym wyrażeniu zgody na przekazanie danych osobowych wraz z oceną i kontaktem poprzez e-mail jest przekazywana do zewnętrznych firm IT, co ułatwia  odbycie stażu, praktyk oraz zdobycie pracy jako programista/devops Java/Jakarta EE. Lista najlepszych studentów jest przekazywana do wszystkich firm IT zajmujących się tworzeniem oprogramowania, które tylko wyrażą chęć współpracy (wystarczy kontakt poprzez e-mail z autorem strony).

Rekomendacje i opinie firm z sektora IT dotyczące projektów SSBD:

23.06.2023, IDEMIA: przedmiot SSBD uzyskał dwuletnią rekomendacje od firmy IDEMIA w ramach Łódzkiego Klastra ICT.

06.02.2020, Allegro : "Współpraca, projektowanie, programowanie oraz ciągła nauka i poszerzanie swoich umiejętności są kluczowymi wartościami, które można nabyć dzięki uczestniczeniu w Sieciowych Systemach Baz Danych. Bardzo dobrze odzwierciedlają wartości, które trzeba opanować, aby odnaleźć się w realiach, które postawią przed studentami przyszli pracodawcy. W Allegro cenimy sobie osoby otwarte, zaangażowane w pracę oraz z dużą wiedzą programistyczną. Projekt, który wykonuje się w trakcie SSBD, ukazuje wyzwania jakie można spotkać w codziennej pracy. Podział na kilkuosobowe zespoły, w których jest lider oraz praca z systemami do zarządzania projektami (Jira/Bitbucket) pozwalają poznać realne sposoby pracy oraz wspólnego rozwiązywania problemów. Dodatkowo wiedza techniczna z zakresu Javy/JEE, architektury systemu czy wersjonowania kodu, z wykorzystaniem repozytorium GIT, nabyta podczas trwania projektu będzie pozytywnym aspektem na rozmowie rekrutacyjnej w wielu firmach."

09.02.2019, Transition Technologies PSC "Sieciowe systemy baz danych (SSBD) to przedmiot, który cieszy się dużym zainteresowaniem wśród studentów Politechniki Łódzkiej. Jednym z najistotniejszych czynników zachęcających do uczestnictwa w zajęciach, są ciekawe projekty laboratoryjne, profesjonalne podejście oraz duże zaangażowanie prowadzących. Studenci uczestniczący w zajęciach mają możliwość pracowania z najnowszymi technologiami, Java Enterprise Edition oraz z korzystania z takich narzędzi jak system rejestracji zadań Jira. Z punktu widzenia pracodawcy niezmiernie istotnym jest fakt, iż studenci pracują w grupach, mają przypisane odpowiedzialności, dzięki czemu są lepiej przygotowani do pracy na komercyjnych projektach. Jesteśmy przekonani, że aktywne uczestnictwo w zajęciach, przygotuje studentów do podjęcia wymarzonej pracy w firmach informatycznych."

18.08.2016, HP Enterprise: "Najlepszą rekomendacją dla przedmiotu Sieciowych Systemów Baz Danych (SSBD) i potwierdzeniem wartości praktycznych doświadczeń zdobytych podczas realizacji projektów SSBD są bardzo dobre wyniki absolwentów aktualnie pracujących w Hewlett Packard Enterprise. Z jednej strony przedmiot daje możliwość pracy z najnowszymi technologiami baz danych, serwerów aplikacji,  Java EE oraz wprowadza w zasady właściwych rozwiązań architektonicznych i modelu warstwowego, a także uczy kontroli i utrzymywania kodu aplikacji oraz współdziałania przy użyciu narzędzi pracy grupowej. Z drugiej strony, co jeszcze ważniejsze, wdraża studentów w projektowy tryb pracy, pokazuje fazy realizacji projektów, rozwija kreatywność przy rozwiązywaniu realnych problemów oraz uczy odpowiedzialności za jakość oraz termin dostarczenia gotowego rozwiązania. Łącząc te doświadczenia absolwenci przedmiotu SSBD są gotowi od pierwszego dnia pracy do działania przy rzeczywistych projektach, nawet w wymagającym międzynarodowym otoczeniu. A jeśli zadania projektowe będą wymagać pracy w innym środowisku programistycznym czy systemowym, to są oni w stanie w krótkim czasie opanować nowe narzędzia i technologie. Biorąc pod uwagę powyższe absolwenci Politechniki Łódzkiej, wydziału FTIMS, a w szczególności przedmiotu SSBD są poszukiwanymi kandydatami oraz cenionymi pracownikami dla firmy Hewlett Packard Enterprise." 

06.06.2016, Cybercom Poland: "Najlepszą oceną przedmiotu Siecowe Systemy Baz Danych są jego absolwenci, którzy posiadają bardzo solidne podstawy w tworzeniu aplikacji w technologii Java Enterprise Edition w architekturze trójwarstwowej, co umożliwia im podjęcie pracy na projektach komercyjnych w przyszłości. Dodatkowo, wykorzystanie narzędzi Jira, Confluence czy GIT jako repozytorium kodu jest dużym plusem z punktu widzenia pracodawcy, gdyż praktycznie te same narzędzia są wykorzystywane na projektach. Nie wspominając już o pracy grupowej, która jest jednym z kluczowych aspektów, nie tylko w projektach prowadzonych w zwinnych metodykach zarządzania projektami. Wykonanie projektu wymaga naprawdę dużego nakładu pracy. Warto podkreślić, że praca przy takich rozwiązaniach uczy realizowania zadań zespołowo od początku do końca. Przedmiot SSBD z pewnością wyróżnia się tym, że jego uczestnicy mają niepowtarzalną szansę na realne budowanie projektu. Pokazuje jak ważna jest współpraca w grupie, podział na role i wywiązywanie się ze swoich zadań. Zajęcia wyróżniają się także tym, że dotykają praktycznych aspektów tworzenia oprogramowania i pokazują jak może wyglądać realna praca programisty."

15.12.2015, Sii: "Przedmiot Sieciowe Systemy Baz Danych jest jednym z nielicznych jaki daje szansę studentom na przygotowanie się do wyzwań obecnego rynku pracy. Osoby uczestniczące w zajęciach SSBD mają szansę zetknąć się z najnowszymi technologiami jakie w chwili obecnej są wykorzystywane na rynku w tym Java Enterprise Edition, a także system rejestracji zadań JIRA czy serwer aplikacji Glassfish. Wiedza jest dostarczana studentom nie tylko w formie wykładów, osoby uczestniczące w przedmiocie SSBD mogą ją wykorzystać przygotowując projekty zaliczeniowe. I właśnie ten element stanowi dużą wartość dodaną, gdyż pozwala słuchaczom na praktyczne zapoznanie się z procesem powstawania oprogramowania, ale także daje sposobność na zdobycie umiejętności pracy w zespole oraz pod presją czasu. Wymienione powyżej elementy czynią sam przedmiot jak i jego absolwentów niezwykle atrakcyjnym wśród potencjalnych pracodawców z sektora IT."

04.08.2015, Mobica: "Doświadczenie oraz umiejętności zdobyte podczas realizacji projektów w ramach przedmiotu Sieciowe Systemy Baz Danych (SSBD) dobrze przygotowują studentów do wejścia na rynek pracy. Mają możliwość zapoznania się z realiami pracy w grupie na stanowiskach związanych z wytwarzaniem oprogramowania w technologii JavaEE, jednak bez ograniczania sie tylko do niej. Czynnikami, które dodają niezbędnych elementów rzemiosła programisty są praca z repozytorium (wykorzystanie bardzo popularnego i cenionego systemu kontroli m.in.wersji GIT oraz systemu do zarządzania repozytorium Stash), przygotowanie dokumentacji technicznej z wykorzystaniem Wiki, wykorzystanie systemu zarządzania projektami JIRA oraz podział organizacyjnej odpowiedzialności uczestników projektu (np. lidera zespołu czy też osoby odpowiedzialnej za testowanie aplikacji). Wszystkie te elementy są obecne podczas realizacji projektu SSBD, co czyni go niezwykle przydatnym pod kątem przygotowania studentów do podjęcia pracy na stanowiskach inżynierów oprogramowania. Dodatkowo wybór języka programowania Java (a w szczególności technologii JavaEE) sprawia, że absolwenci Politechniki Łódzkiej, którzy ukończyli przedmiot SSBD, są poszukiwaną grupą specjalistów na rynku pracy. Natomiast nacisk położony na terminowość wykonania projektów pokazuje studentom jak ważne są aspekty biznesowe w realizowanym projekcie.Treści programowe przedmiotu SSBD oraz, przede wszystkim, jego realizacja są elementami niezbędnymi, dla przyszłych inżynierów oprogramowania, a w szczególności programistów języka Java oraz technologii JavaEE."

01.03.2015, PKP Informatyka: "W ramach przedmiotu SSBD ciekawe tematy projektów których celem jest zaprojektowanie i zrealizowanie aplikacji sieciowej w trójwarstwowej architekturze Java EE (ang. Java Enterprise Edition) współpracującej z relacyjną bazą danych bardzo dobrze przygotowują studenta do wejścia na rynek pracy. Zarówno Java Enterprise Edition, system zarządzania relacyjnymi bazami danych PostgreSQL, serwer aplikacji Glassfish czy Maven jako narzędzie automatyzujące budowę oprogramowania na platformę Java są używane w Pionie Budowy Produktów w PKP Informatyka podczas wytwarzania nowych produktów czy fazy ciągłej integracji. Szczególną uwagę trzeba zwrócić na możliwość pracy grupowej w ramach projektów SSBD gdyż jak wiemy teamwork jest bardzo ważnym "narzędziem" w pracy programistów. Wiele firm stawia na zespoły a nie indywidualistów. Także bardzo dobry wpływ na przygotowanie studenta do podjęcia pracy ma nacisk w trakcie realizacji projektów na terminowość oddawania poszczególnych komponentów produktu, bezpieczeństwo danych oraz spójność danych gdyż klienci PKP Informatyka w tracie realizacji/wdrażania produktu nie dopuszczają możliwości przekroczenia terminu oddania poszczególnych komponentów czy wystąpienia problemów z bezpieczeństwem i spójnością danych."

31.10.2014, Accenture: "Przedmiot SSBD łączy w spójną całość wiedzę zdobywaną w trakcie studiów. Są to zarówno elementy technologiczne jak bazy danych, warstwa aplikacyjna, sieciowa, bezpieczeństwo, itd. Podejście takie pozwala studentom zrozumieć istotne mechanizmy działające w każdej z warstw oprogramowania oraz uczy jak powiązać ze sobą różne technologie. Jednocześnie zadanie polegające na realizacji pełnego projektu wymusza poznanie różnych aspektów związanych z samym procesem powstawania oprogramowania jak zbieranie i analiza wymagań, projektowanie, budowanie i testowanie rozwiązania. Należy przyznać, iż wybrane technologie są zgodne z rozwiązaniami używanymi obecnie w przemyśle IT, a podejście projektowe zbliżone do rzeczywistego cyklu tworzenia oprogramowania. Dodatkowo przedmiot ten uczy pracy w grupie, co nie jest bez znaczenia mając na uwadze przyszłe zatrudnienie absolwentów. Wymagania postawione przez prowadzących są bardzo precyzyjne i odpowiednie do zakresu zadania. Z relacji absolwentów wiemy, że są też konsekwentnie egzekwowane na zaliczeniu. Podsumowując - bardzo wysoko oceniamy sam przedmiot oraz sposób prowadzenia zajęć i egzekwowania wiedzy."

7.07.2013, Comarch: "Przedmiot naszym zdaniem, jako jeden z nielicznych najlepiej przygotowuje studentów do przyszłej pracy w firmach zajmujących się wytwarzaniem oprogramowania na łódzkim rynku pracy i nie tylko. Przede wszystkim jego forma, czyli realizacja projektu w grupie przygotowuje studentów do realiów pracy w zawodzie programistów, analityków, inżynierów jakości oprogramowania. Dla firm informatycznych, które realizują wysoce pracochłonne i złożone projekty praca w grupie to podstawowy element egzystencji pracownika w firmie. Zauważamy, że forma prowadzenia SSBD przygotowuje studentów do: pracy w grupie; planowania i organizowania pracy; podejmowania decyzji grupowych; rozwiązywania problemów komunikacyjnych w grupie, w tym konfliktów; samooceny pracy; Kolejna ważna podkreślenia zaleta zajęć SSBD to stosowane technologie oraz podział na warstwy systemowe prowadzonych projektów. Taka specyfika projektów oraz technologii najbardziej zbliżona jest formie aplikacji tworzonych w firmie Comarch (zapewne nie tylko). Wierzę, że żaden inny przedmiot nie jest tak zbliżony do przyszłej pracy większości studentów jak właśnie SSBD."

Opinie studentów dotyczące projektów SSBD

Od 2013 roku uczestnicy projektów SSBD przedstawiają swoje opinie w anonimowym kwestionariuszu na platformie WIKAMP, zainteresowanych zapraszam na godziny konsultacji w celu przejrzenia opinii z różnych lat o projektach SSBD. Opinie uczestników poprzednich edycji SSBD dostępne są w wynikach anonimowych ankiet w kursie SSBD-info na platformie WIKAMP oraz w zamieszczonych poniżej komentarzach. Poznanie opinii uczestników poprzednich edycji projektów SSBD wymaga rozwinięcia listy komentarzy poprzez kliknięcie w umieszczone na dole wpisu słowo "Komentarze"), co jest dostępne tylko dla uwierzytelnionych użytkowników platformy WIKAMP.



 

[ Zmodyfikowano: piątek, 8 marca 2024, 17:37 ]