Mateusz Lamparski 1. Jakie diagramy zgodne z UML można tworzyć w Visual Studio? 2. Podaj nazwę diagramu, który nie jest zgodny z UML a możemy go stworzyć w VS 3. Co to jest generalizacja w diagramie klas i jak ją oznaczamy Łukasz Gorzel: 1. Omówić rodzaje krotności atrybutów. 2. Co to jest cecha pochodna? 3. Wymienić praktyczne wskazówki, dotyczące użycia diagramów klas. Michał Telus: 1. Podaj wszystkie(5) typów związków między klasami. 2. W jaki sposób są oznaczane w UML interfejsy? 3. Czym jest zależność? Natalia Rybarczyk 1. Do czego służy architektura systemu? 2. Co to jest interfejs? Typy połączeń interfejsu. 3. Z jakich podstawowych elementów składa się diagram komponentów? Opisz każdy z nich. Łukasz Kiełczykowski: 1. Podaj ogólną idee dependency injection i inversion of control. 2. Jak nazywają się metody umożliwiające nadpisanie w klasie podrzędnej we wzorcu “Metoda Szablonowa”? 3. Jakimi regułami kierują się wzorce Strategia i Metoda Szablonowa? Łukasz Demski: 1. Kiedy stosujemy wzorce konstrukcyjne? 2. Jakie możliwości daje nam wzorzec stukturalny dekorator? 3. Krótko opisz przykład zastosowania wzorca strukturalnego most. Wojciech Szymecki: 1. Jakie trzy główne warstwy wystepuja w architekturze warstwowej? 2. Widok udostepnia interfejs we wzorcu MVP czy MVC? 3. Na jakim wzorcu architektonicznym opieraja sie aplikacje Windows Forms? Łukasz Dzwonkowski: 1. Jaki udział ma klient przy tworzeniu oprogramowania w modelach zwinnych? 2. Wymień jedną z praktyk w programowaniu ekstremalnym i ją opisz 3. Jak długo trwa jedna iteracja w modelach zwinnych? Alina Suchomska 1. Główna różnica między diagramami aktywności i diagramami przypadków użycia? 2. Wymień podstawowe rodzaje połączeń między aktorami i/lub przypadkami użycia. 3. Czym/kim jest aktor w diagramach przypadków użycia? Julia Zajda 1.Z jakich jednostek składa się Zespół Scrumowy? 2.Wymień 5 podstawowych zdarzeń w Scrumie 3.Podczas jakich zdarzeń warto przeprowadzać inspekcje? Patryk Kaźmierkiewicz 1. Czym jest test jednostkowy? 2. Czym jest TDD? Podaj główne kroki TDD. 3. Wymień 4 rodzaje testów w świecie TDD. Szyman Licau: 1. Jaki jest czas życia instancji Singletona? 2. Jaki jest główny zamysł wzorca Budowniczy? 3. Jaki cel stawiają sobie Wzorce Konstrukcyjne? ------------------------- Odpowiedzi: Mateusz Lamparski: 1. Jakie diagramy zgodne z UML można tworzyć w Visual Studio? - klas - sekwencji - przypadków uzycia - aktywności - komponentów 2. Podaj nazwę diagramu, który nie jest zgodny z UML a możemy go stworzyć w VS diagram warstw 3. Co to jest generalizacja w diagramie klas i jak ja oznaczamy Opisuje ona dziedziczenie klas i oznaczamy ją pustą strzałką ------------------------ Szymon Licau 1. Jaki jest czas życia instancji Singletona? Czas życia instancji Singletona jest równy czasowi życia aplikacji. 2. Jaki jest główny zamysł wzorca Budowniczy? Oddzielenie "konstrukcji" obiektu od jego reprezentacji. Proces konstrukcji umożliwia tworzenie różnych reprezentacji danego obiektu. 3. Jaki cel stawiają sobie Wzorce Konstrukcyjne? Ujęcie w abstrakcyjną formę procesu tworzenia egzemplarzy klas. Pomoc w zachowaniu niezależności systemu od sposobu tworzenia, składania i reprezentowania obiektów. ------------- Łukasz Dzwonkowski: 1. Jaki udział ma klient przy tworzeniu oprogramowania w modelach zwinnych? Klient czy też jego przedstawiciel jest wraz z programistami członkiem zespołu. Jego zadaniem jest przygotowanie historii użytkownika oraz uczestniczy on przy wyborze historii do każdej kolejnej iteracji. Po każdej iteracji i wydaniu klient ocenia rezultaty a także bierze udział przy przygotowaniu testów akceptacyjnych. 2. Wymień jedną z praktyk w programowaniu ekstremalnym i ją opisz Programowanie w parach – cały kod produkcyjny powinien być pisany przez dwie osoby siedzące przy jednym komputerze. Programiści koncentrują nawzajem uwagę na bieżących zadaniach na zasadzie burzy mózgów i nawzajem się kontrolują. Gdy zachodzi taka potrzeba jeden z programistów przejmuje inicjatywę i to wtedy on tworzy kod. 3. Jak długo trwa jedna iteracja w modelach zwinnych? Czas iteracji jest stały i może trwać od 1 do 4 tygodni. ------------ Łukasz Demski: 1. Kiedy stosujemy wzorce strukturalne? Wzorce te stosujemy gdy potrzebujemy skorzystać z łączenia różnych obiektów w większe struktury. Często wykorzystując do tego mechanizm dziedziczenia lub/oraz delegacji. 2. Jakie możliwości daje nam wzorzec stukturalny dekorator? Pozwala na dodanie nowej funkcji do istniejących klas dynamicznie podczas działania programu. 3. Krótko opisz przykład zastosowania wzorca strukturalnego most. Wzorzec ten stosujemy aby odseparować konkretną implementację od abstrakcji. Dobrym przykładem jest abstrakcja jaką jest telewizor oraz jego konkretne implementacje np. modele telewizorów różnych producentów, które różnią się specyfikacją oraz możliwościami. ------------ Łukasz Kiełczykowski 1. Podaj ogólną idee dependency injection i inversion of control. Dependency injection - pojęcie to oznacza możliwość dostarczenia (wstrzyknięcia!) obiektu A do obiektu B, którego zachowanie jest zależne od obiektu A, dzięki temu możemy zmieniać zachowanie obiektu B "in runtime", czyli w czasie wykonywania się programu. Inversion of control - oznacza to, że klasa podrzędna implementująca wszystkie/niektóre kroki algorytmu nie wywołuje ich ze swojego kodu, nie uruchamia algorytmu. Wywołaniem zajmuje się klasa nadrzędna, która zna przebieg algorytmu, a klasa podrzędna działa jako klient. 2. Jak nazywają się metody umożliwiające nadpisanie w klasie podrzędnej we wzorcu “Metoda Szablonowa”? Są to tzw. haczyki (hook methods). 3. Jakimi regułami kierują się wzorce Strategia i Metoda Szablonowa? Metoda Szablonowa kieruje się zasadą Hollywoodu - "Nie dzwoń do nas, to my zadzwonimy do Ciebie!" Strategia kieruje się zasadą "Przekładaj kompozycję nad dziedziczenie" ------------- Michał Telus 1. Podaj wszystkie(5) typów związków między klasami. - zależność - asocjacja - agregacja częściowa - agregacja całkowita - dziedziczenie 2. W jaki sposób są oznaczane w UML interfejsy? - kółkiem - kwadratem jak klasa ale z dopiskiem "interface" 3. Czym jest zależność? Zależność klasy A od klasy B oznacza, że klasa A przez jakiś czas używa obiektów klasy B ---------------- Alina Suchomska 1. Główna różnica między diagramami aktywności i diagramami przypadków użycia? Diagramy przypadków użycia opisują co wykonać, a diagramy aktywności - w jaki sposób ma to być wykonane. 2. Wymień podstawowe rodzaje połączeń między aktorami i/lub przypadkami użycia. * asocjacja zwykła * asocjacja skierowana * związek zawierania * związek rozszerzania * generalizacja 3. Czym/kim jest aktor w diagramach przypadków użycia? Aktor to funkcja, ktorą pelni użytkownik w stosunku do systemu. Wykonuje przypadki użycia systemu. ----------------- Julia Zajda 1.Z jakich jednostek składa się Zespół Scrumowy? 2.Wymień 5 podstawowych zdarzeń w Scrumie 3.Podczas jakich zdarzeń warto przeprowadzać inspekcje? 1. Właściciel Projektu Zespół Deweloperski Scrum Master 2. Sprint Planowanie Sprintu Codzienny Scrum Przegląd Sprintu Retrospektywa Sprintu 3. Planowanie Sprintu Codzienny Scrum Przegląd Sprintu Retrospektywa Sprintu ------------- Wojciech Szymecki 1. Jakie trzy główne warstwy występują w architekturze warstwowej? - warstwa logiki biznesowej, - warstwa prezentacji, - warstwa dostępu do danych 2. Widok udostępnia interfejs we wzorcu MVP czy MVC? - We wzorcu MVP. 3. Na jakim wzorcu architektonicznym opierają się aplikacje Windows Forms? - Na wzorcu MVP. ----------------- Patryk Kaźmierkiewicz 1. Czym jest test jednostkowy? W programowaniu metoda testowania tworzonego oprogramowania poprzez wykonywanie testów weryfikujących poprawność działania pojedynczych elementów (jednostek) programu – np. metod lub obiektów w programowaniu obiektowym lub procedur w programowaniu proceduralnym 2. Czym jest TDD? Podaj główne kroki TDD. Jest techniką tworzenia oprogramowania zaliczaną do metodyk zwinnych (Agile). Pierwotnie była częścią programowania ekstremalnego (ang. extreme programming), lecz obecnie stanowi samodzielną technikę. Polega na wielokrotnym powtarzaniu kilku kroków: 1. Najpierw programista pisze automatyczny test sprawdzający dodawaną funkcjonalność. Test w tym momencie nie powinien się udać. 2. Później następuje implementacja funkcjonalności. W tym momencie wcześniej napisany test powinien się udać. 3. W ostatnim kroku, programista dokonuje refaktoryzacji napisanego kodu, żeby spełniał on oczekiwane standardy. 3. Wymień 4 rodzaje testów w świecie TDD. testy jednostkowe (unit tests) — testujemy pojedynczą, jednostkową część kodu: zazwyczaj klasę lub metodę; testy integracyjne (integration tests) — testujemy kilka komponentów systemu jednocześnie; testy regresyjne (regression tests) — po wprowadzeniu naszej zmiany uruchamiane są wszystkie testy w danej domenie biznesowej celem sprawdzenia czy zmiana nie spowodowała błędu w innej części systemu; testy akceptacyjne (acceptance tests) — testy mające na celu odpowiedzieć na pytanie czy aplikacja spełnia wymagania biznesowe. -------------- Natalia Rybarczyk 1.Do czego służy architektura systemu? Architektura systemu służy do graficznego przedstawienia struktury systemu, a także umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu. 2.Co to jest interfejs? Typy połączeń interfejsu. Interfejs to zestaw operacji, który wyznacza usługi oferowane przez komponent. Interfejsy służą komponentom do prezentowania komunikacji pomiędzy komponentami. Interfejs dostarczony: -O Interfejs wymagany: -( 3. Z jakich podstawowych elementów składa się diagram komponentów? Opisz krótko każdy z nich. Komponent - reprezentuje w sposób graficzny grupę powiązanych ze sobą klas za pomocą interfejsów. Interfejs - to zestaw operacji, który wyznacza usługi oferowane przez komponent. Porty - pozwalają łączyć interfejsy wewnętrzne z odpowiedzialnymi za nie fragmentami wewnętrznymi komponentu.