Database Applications

Projektowanie aplikacji z bazami danych

Punktacja (stan na 3.6.2018)

Prezentacje i przykłady

Listy zadań

Zadanie Temat Termin
Lista 1 T-SQL: podstawy 5.3.2018
Lista 2 T-SQL: programowanie 12.3.2018
Lista 3 T-SQL: Kursory i wyzwalacze 19.3.2018
Lista 4 T-SQL: Transakcje, Wybór i opis aplikacji 26.3.2018
Lista 5 Prototypy, struktura projektu 9.4.2018
Lista 6 Testowe repozytoria, application services wraz testami 23.4.2018
Lista 7 NHibernate 7.5.2018
Lista 8 Stronicowanie, filtrowanie i sortowanie 21.5.2018
Lista 9 Interfejs użytkownika 4.6.2018
Lista 10 Integracja aplikacji 11.6.2018

Roadmap

  • 19.2.2018: Program, T-SQL: Podstawy
  • 5.3.2018: T-SQL: Programowanie
  • 12.3.2018: T-SQL: Kursory, wyzwalacze, transakcje i blokady
  • 19.3.2018: T-SQL: Optymalizacja, Architektura systemu informatycznego
  • 26.3.2018: Domain-Driven Design
  • 9.4.2018: Domain-Driven Design (przykład), Podstawy testowania
  • 16.4.2018: Wprowadzenie do ORM, NHibernate
  • 23.4.2018: NHibernate, warsztat z agregatów w Domain-Driven Design
  • 7.5.2018: LINQ, Warstwa prezentacji (wraz z przeglądem różnych rodzajów modeli)
  • 14.5.2018: Automapper, Integracja aplikacji
  • 21.5.2018: REST, OData
  • 28.5.2018: CQRS, Event Sourcing
  • 4.6.2018: Microservices
  • 11.6.2018: MongoDB, Neo4j

Cele, zasady i wytyczne obowiązujące na pracowni

  • Celem na koniec semestru jest utworzenie działającej aplikacji zgodnie z dobrymi praktykami i z zastosowaniem odpowiednich wzorców (głównie będziemy bazować na DDD). Aby osiągnąć cel, na (prawie) każde zajęcia będzie do zrobienia lista zadań mająca za zadanie przećwiczyć pewien aspekt tworzenia aplikacji, a jednocześnie dołożyć cegiełkę do docelowej aplikacji, chociaż nie wszystkie zadania będą miały za cel rozwijać aplikację. Niestety wadą tego podejścia jest to, że jak ktoś na jakimś etapie nawali, może mieć potem kłopot z robieniem kolejnych list, stąd bardzo ważna jest systematyczna praca.
  • Chociaż na wykładzie będą omawiane technologie Microsoftu, jest możliwość tworzenia aplikacji w innym zestawie technologii. Trzeba jednak pamiętać, że...
    • Niezbędne będzie wykazanie więcej samodzielności, ponieważ z wykładu będzie można skorzystać tylko częściowo.
    • Raz wybranego zestawu zmienić już nie można (zresztą byłoby to bardzo kłopotliwe).
    • Jeśli jakieś zadanie będzie blisko powiązane z jakimś aspektem technologii Microsoftu, po stronie studenta leży takie jego przeformułowanie, żeby miało zastosowania do wybranych technologii.
  • Zostaną zaproponowane 2 różne aplikacje i każdy będzie realizował jedną z nich. Podczas ich realizacji oczekiwane będą pewne elementy współpracy, m.in. na pewnym etapie pojawią się zadania mające na celu integrację aplikacji. Szczegóły będą opisywane w ramach list zadań.
  • Podczas rozwoju aplikacji przez cały ten semestr bardzo ważnym aspektem jest utrzymywanie dobrej jakości architektury i kodu rozwiązania (niezależnie od konieczności dodawania nowych elementów). Oznacza to, że w ramach każdej (lub co drugiej) listy zadań będzie jedno zadanie mające na celu refaktoring wersji z poprzedniego refaktoringu. Student będzie miał za zadanie przedstawić w jaki sposób poprawił rozwiązanie od ostatniego razu. To dosyć ważne - ma na celu uświadomić, że decyzje podjęte na początku tworzenia systemu, pod koniec jego tworzenia okazują się co najmniej częściowo błędne, a zwykle okazuje się to już dosyć szybko, szczególnie w przypadku nowej dziedziny, w której tworzymy system. Co więcej, ma za zadanie zmuszenie do ponownego przemyślenia całej architektury, a nie tylko skupieniu się na dodawanym elemencie.
  • Na każdych zajęciach można oddawać zadania z list, które są na dany termin przewidziane.
  • Zadania można oddawać tylko osobiście w trakcie trwania pracowni. Inne formy (np. wysłanie zadań poprzez e-mail) tylko po wcześniejszym uzgodnieniu z prowadzącym.
  • Zebrane w trakcie semestru na pracowniach punkty się sumują i decydują o ocenie końcowej zgodnie z poniższą tabelką.

Progi punktowe

Liczba punktówOcena
100%-90%5.0
90%-80%4.5
80%-60%4.0
60%-50%3.5
50%-40%3.0
40%-0%2.0

Komplet materiałów z poprzedniego roku