Lista przykładowych pytań do egzaminu z przedmiotu Inżynieria Oprogramowania
Inżynieria oprogramowania przykładowe pytania egzaminacyjne str. 2 Przykładowe pytania 1. Wymień i omów krótko podstawowe kategorie interesariuszy przedsięwzięć informatycznych. 2. Załóżmy, że ilość pracy w ramach projektu zmusza Cię do zatrudnienia 2 dodatkowych programistów Javy. Będzie się to wiązało ze zwiększeniem budżetu projektu. Z którym z interesariuszy omawiasz ten problem. Który z interesariuszy może podjąć taką decyzję? Odpowiedź uzasadnij. 3. Załóżmy, że chcesz wnieść zmiany do planowanej funkcjonalności systemu. Twoje usprawnienie powinno skrócić czas realizacji procesu biznesowego wspomaganego przez oprogramowanie. Nie wiesz jednak na pewno, czy twój model procesu biznesowego zgadza się z rzeczywistością. Z którym z interesariuszy omawiasz ten problem i prosisz o wyjaśnienie? Który z interesariuszy może dostarczyć Ci informacji tego typu? Odpowiedź uzasadnij. 4. Załóżmy, że problemy, które pojawiły się w zespole wpłyną na planowany termin udostępnienia pierwszego wydania projektowanego systemu. Z którym z interesariuszy omawiasz ten problem i prosisz o podjęcie decyzji? Który z interesariuszy może podjąć taką decyzję? Odpowiedź uzasadnij. 5. Wymień i omów krótko podstawowe kryteria oceny sukcesu projektu informatycznego? Niektórzy twierdzą, że sukces projektu jest oceniany nie tylko w oparciu o harmonogram, czy budżet, ale przy uwzględnieniu pewnych dodatkowych aspektów. O jakie aspekty chodzi? Wyjaśnij, dlaczego tradycyjne metryki nie zawsze się sprawdzają i zdarza się, że nie świadczą o rzeczywistym sukcesie/porażce przedsięwzięcia. 6. Wymień i omów krótko sygnały zbliżającej się porażki. Które wg Ciebie są najbardziej złowieszcze? Na które z nich należy zwrócić uwagę w szczególności i ustalić sposoby minimalizacji ryzyka? Odpowiedź uzasadnij. 7. Ed Yourdon opracował taksonomię projektów wysokiego ryzyka definiując takie kategorie jak: projekty brzydkie, kamikadze, samobójcze oraz mission impossile. Jaki jest przede wszystkim cel ustalania specyfiki projektu, nad którym pracujesz? Załóżmy, że udało Ci się ustalić typ projektu, nad którym pracujesz. Jak można (i powinno się) wykorzystać taką informację? 8. Wyjaśnij różnicę pomiędzy pojęciami metoda i metodyka. Podaj po jednym przykładzie metody i metodyki oraz omów ich kluczowe elementy składowe. 9. Załóżmy, że podjęto decyzję, co do podejścia wykorzystywanego w ramach Twojego projektu i dowiedziałeś(-łaś) się, że jest to podejście strukturalne. Czy widzisz w związku z tym jakieś zagrożenia lub problemy? Jakie cechy podejścia mogą negatywnie wpłynąć na Twój proces wytwórczy? 10. Załóżmy, że podjęto decyzję, co do podejścia wykorzystywanego w ramach Twojego projektu i dowiedziałeś(-łaś) się, że jest to podejście obiektowe. Co Twoim zdaniem po-
Inżynieria oprogramowania przykładowe pytania egzaminacyjne str. 3 zwoli na sprawniejszą realizację procesu wytwórczego? Jakie cechy podejścia powodują, że uważasz tę decyzję za szczególnie dobry wybór? 11. Załóżmy, że podjęto decyzję, co do podejścia wykorzystywanego w ramach Twojego projektu i dowiedziałeś(-łaś) się, że jest to inżynieria informacyjna. System, nad którym pracujesz to niewielki system webowy. Czy widzisz w związku z tym jakieś zagrożenia, problemy? Jakie cechy podejścia mogą negatywnie wpłynąć na Twój proces wytwórczy? 12. Załóżmy, że pracujesz w zespole, który ma za sobą wiele projektów o specyfice podobnej do aktualnie realizowanego. Jaki Twoim zdaniem stopień formalizacji procesu wytwórczego jest najlepszy dla projektu o takich cechach? Czy potrzebny jest proces? Jeśli tak, to jak bardzo formalny? Odpowiedź uzasadnij. 13. Zatrudniono Cię w roli kierownika projektu bardzo dużego i zaawansowanego technologicznie systemu. Od niezawodności systemu może zależeć zdrowie i życie jego użytkowników. Skala systemu wymaga, aby przy realizacji brało udział kilkanaście firm specjalizujących się w różnych aspektach tworzenia oprogramowania tej klasy. Twoim zadaniem jest właściwy dobór partnerów. Czy znasz narzędzia pozwalające ocenić procesy wytwórcze kandydatów na partnerów? 14. Twoim zadaniem jest wdrożenie w ramach procesu wytwórczego założeń metodyk zwinnych. Wymień i omów krótko podstawowe techniki i narzędzia wykorzystywane w XP oraz SCRUM. 15. Wyjaśnij pojęcie obiektu oraz omów kluczowe cechy, jakie posiada każdy obiekt. Charakterystykę oprzyj na intuicyjnym przykładzie. 16. Wymień i omów krótko podstawowe związki zachodzące pomiędzy obiektami. Podaj po jednym przykładzie obrazującym każdy z omawianych związków. Wyjaśnij różnice pomiędzy omawianymi związkami. 17. Wyjaśnij pojęcie klasy oraz omów kluczowe cechy, jakie posiada każda klasa. Charakterystykę oprzyj na intuicyjnym przykładzie. 18. Wymień i omów krótko podstawowe związki zachodzące pomiędzy klasami. Podaj po jednym przykładzie obrazującym każdy z omawianych związków oraz wyjaśnij różnice pomiędzy nimi. 19. Omów na przykładzie proces tworzenia hierarchii gen-spec. 20. Omów podstawowe elementy składowe języka UML. Jaki jest cel stosowania perspektyw w języku UML? Dlaczego w języku UML zdefiniowano aż 13 rodzajów różnych diagramów? Czy nie wystarczyłby jeden diagram? Odpowiedź uzasadnij. 21. Wymień i omów krótko artefakty etapu wymagań. 22. Wyjaśnij, co to znaczy, że proces jest sterowany przypadkami użycia? 23. Wymień i krótko omów kategorie aktorów.
Inżynieria oprogramowania przykładowe pytania egzaminacyjne str. 4 24. Co oznacza związek asocjacji pomiędzy aktorem i przypadkiem użycia? 25. Jaki jest cel stosowania lity aktor-cel oraz listy w-poza. 26. Wyjaśnij różnice pomiędzy zakresem funkcjonalnym oraz projektowym. Załóżmy, że zmienił się zakres funkcjonalny. Na jakie elementy modelu przypadków użycia wpłynie taka zmiana? Załóżmy, że zmienił się zakres projektowy. Na jakie elementy modelu przypadków użycia będzie to miało wpływ? Odpowiedzi uzasadnij. 27. Kiedy aktorzy główni są istotni a kiedy nieistotni w procesie projektowania systemu? Odpowiedź uzasadnij. 28. W jaki sposób kodujemy graficznie zakres zgodnie z propozycją Cockburne a? 29. W jaki sposób metafora morza pomaga w dobieraniu nazw przypadków użycia? Jak kodujemy graficznie poziom przypadków użycia zgodnie z propozycją Cockburne a? 30. Załóżmy, że chcemy pokazać zależność pomiędzy przypadkami użycia a elementami modelu wymagań. Z jakiego związku należy skorzystać, aby zdefiniować taką zależność? 31. Wymień i omów krótko podstawowe elementy scenariusza przypadku użycia. 32. Jaki jest cel włączania do opisu informacji na temat wyzwalaczy? Podaj 3 przykłady wyzwalaczy. 33. Jaki jest cel włączania do opisu informacji na temat warunków wstępnych? Podaj 3 przykłady warunków wstępnych. 34. Jaki jest cel włączania do opisu informacji na temat warunków końcowych? Podaj 3 przykłady warunków końcowych. 35. Podaj przykład sposobu zapisu scenariuszy alternatywnych. 36. Wyjaśnij różnicę pomiędzy związkiem «include» oraz «extend» występującym na diagramie przypadków użycia. 37. Jaki jest cel wykorzystania związku «extend»? Podaj 2 przykłady. Wymień i omów podstawowe elementy specyfikacji związku «extend». 38. Jaki jest cel wykorzystania związku «include»? Podaj 2 przykłady. 39. Załóżmy, że po analizie scenariuszy kilku przypadków użycia okazało się, że część kroków się powtarza. Co w takim przypadku należy zrobić aby zmniejszyć redundancję? 40. Załóżmy, że w scenariuszu udanego dnia określony krok może być zrealizowany na kilka sposobów, np. płatność za pobraniem, przelewem lub kartą kredytową. Który wariant należy umieścić w scenariuszu udanego dnia i co należy zrobić z pozostałymi wariantami?
Inżynieria oprogramowania przykładowe pytania egzaminacyjne str. 5 41. Załóżmy, że modelujesz biznesowo firmę, która posiada w ramach swojej struktury organizacyjnej dział kadr, księgowości i zaopatrzenia. W jaki sposób można zawrzeć te informacje w modelu? Z jakiego diagramu i jakich elementów notacji należy skorzystać? Narysuj przykład. 42. Jaki jest cel wykorzystania relacji dziedziczenia na diagramach przypadków użycia? Podaj przykład. 43. Narysuj diagram czynności obrazujący proces egzaminu. Przypisz odpowiedzialności z wykorzystaniem torów. Korzystając z diagramu omów podstawowe kategorie pojęciowe diagramu czynności. 44. Podaj przykład interesariuszy systemu, którzy nie będą korzystać z systemu ale mogą być źródłem istotnych wymagań poza-funkcjonalnych. 45. Wymień i krótko omów stereotypy języka UML wykorzystywane w modelowaniu biznesowym. 46. Załóżmy, że chcesz pokazać związki zachodzące pomiędzy zasobami (Business Entities) w aspekcie statycznym. Jakiego diagramu użyjesz w tym celu? Podaj prosty przykład. 47. Jaki jest cel tworzenia mapy procesów i z jakich elementów notacji skorzystasz w tym celu? 48. Załóżmy, że chcesz pokazać aspekt dynamiczny zasobów występujących w dziedzinie aplikacyjnej. Jakiego diagramu użyjesz w tym celu? Podaj prosty przykład. 49. Załóżmy, że chcesz pokazać zadania wykonywane w ramach procesu biznesowego, role, które są za nie odpowiedzialne oraz przepływ kontroli pomiędzy zadaniami. Jakiego diagramu i jakich elementów notacji użyjesz w tym celu? Podaj prosty przykład. 50. Wymień i krótko omów typy diagramów (oraz ich przeznaczenie) wykorzystywanych w dyscyplinie modelowanie biznesowe. 51. Wymień i krótko omów symbole diagramu czynności odpowiedzialne za reprezentację zdarzeń (sygnałów i momentów w czasie). Podaj prosty przykład. 52. Wyjaśnij różnicę pomiędzy modelowaniem biznesowym a modelowaniem systemu informatycznego. Jak wygląda odwzorowanie pomiędzy elementami modelu biznesowego a elementami modelu systemu informatycznego w zakresie aktorów, procesów biznesowych i przypadków użycia? Podaj prosty przykład. 53. Wyjaśnij różnicę pomiędzy procesem biznesowym a zakresem systemu. 54. Dla przedstawionych poniżej zdań narysuj diagramy biznesowe pokazujące odpowiednie relacje. 1. Klient złożył zamówienie, które zostało przyjęte przez pracownika, który odgrywa rolę Asystenta klienta.
Inżynieria oprogramowania przykładowe pytania egzaminacyjne str. 6 2. Zamówienie zawiera pozycje zamówienia. 3. Produkt A składa się z elementów B, C i D. 4. Zamówienie jest dokumentem księgowym. 5. Dokumenty księgowe dekretuje księgowa. 6. Księgowa wyszukuje transakcje w księdze głównej podając ich numer. 55. Załóżmy, że chcesz pokazać sytuację, w której dwa zadania w procesie zadanie A i zadanie B są wykonywane równolegle. Z którego diagramu języka UML skorzystasz i jaki element notacji zastosujesz? Narysuj model. 56. Załóżmy, że chcesz pokazać sytuację, w której kolejne zadanie w procesie (zadanie C), może się rozpocząć dopiero w sytuacji dwa inne zadania zadanie A i zadanie B są całkowicie zakończone. Z którego diagramu języka UML skorzystasz i jaki element notacji zastosujesz? Narysuj model. 57. Załóżmy, że chcesz pokazać sytuację, w której zadanie w procesie zadanie C, jest wykonywane przez pracownika 1 a dwa zadania (zadanie A i zadanie B) są wykonywane przez pracownika 2. Z którego diagramu języka UML skorzystasz i jaki element notacji zastosujesz? Narysuj model. 58. Załóżmy, że diagram przypadków użycia, który utworzyłeś zawiera 22 przypadki użycia. Co zrobisz, aby model był prostszy w analizie, utrzymaniu i konserwacji? Pytania dotyczące treści z książki Oprogramowanie szyte na miarę 59. Omów technikę skrzynki stosowaną przy zadawaniu pytań w procesie zbierania wymagań. 60. Wyjaśnij na czym polega technika Pytanie wprost wykorzystywana w procesie określania priorytetów i kiedy powinna być wykorzystywana. 61. Wyjaśnij na czym polega technika Eliminowanie przez korzyść wykorzystywana w procesie określania priorytetów i kiedy powinna być wykorzystywana. 62. Wyjaśnij na czym polega technika Eliminowanie od problemu wykorzystywana w procesie określania priorytetów i kiedy powinna być wykorzystywana. 63. Wyjaśnij różnicę pomiędzy ważnością a pilnością wymagań. 64. Wyjaśnij na czym polega technika Pytań kartezjańskich wykorzystywana w procesie określania priorytetów i kiedy powinna być wykorzystywana. 65. Omów narzędzie Macierz Eisenhowera i sposób jego wykorzystania w procesie określania priorytetów. 66. Wymień i krótko omów kategorie spotkań związanych z procesem wytwórczym systemu. 67. Jakie kluczowe cechy ma efektywne spotkanie?
Inżynieria oprogramowania przykładowe pytania egzaminacyjne str. 7 68. Wyjaśnij cel spotkania typu Warsztaty z użytkownikami oraz omów jego kluczowe cechy. 69. Wyjaśnij cel spotkania typu Standing meeting oraz omów jego kluczowe cechy. 70. Wyjaśnij cel spotkania typu Kick-off meeting oraz omów jego kluczowe cechy. 71. Wyjaśnij cel spotkania typu Retrospekcja oraz omów jego kluczowe cechy. 72. Na jakie pytania należy odpowiedzieć przy przygotowywaniu spotkania z interesariuszami? 73. Wymień i krótko omów role interesariuszy oraz cele spotkania w zależności od roli oraz oczekiwania wobec każdej z ról. 74. Jakie działania należy podjąć przygotowując interesariuszy do planowanego spotkania? 75. Wyjaśnij istotę spotkań iteracyjnych. Omów iteracyjny sposób prowadzenia spotkań. 76. Wskaż na działania jakie należy podjąć przy zamykaniu spotkania. 77. Wyjaśnij istotę techniki uogólniania. 78. Wyjaśnij istotę techniki parafrazowania. 79. Wyjaśnij istotę techniki zmiany ram odniesienia oraz wskaż na sytuacje, w których należy z niej korzystać. 80. W jakich sytuacjach należy korzystać z techniki Ekrany użytkownika a w jakich technika ta nie sprawdza się. Uwaga: Pytania egzaminacyjne mogą również dotyczyć treści książki Analityk systemów, rozdziały 1 i 5. Na przykład: 81. Przedstaw i omów krótko klasyfikację wymagań wobec systemu informatycznego. 82. Omów poziomy wymagań wobec systemu informatycznego. Podaj po jednym przykładzie dla każdego z poziomów wymagań. 83. Przedstaw na schemacie i omów podstawowe obszary inżynierii wymagań. 84. Wymień i krótko omów atrybuty wymagań. 85. Wyjaśnij pojęcie jakości wymagań. Wymień i omów podstawowe kryteria jakości wymagań. 86. Wyjaśnij pojęcia walidacja i weryfikacja wymagań. Podaj przykład walidacji i weryfikacji.