Przykładowe pytania na kolokwium zaliczeniowe z wykładu:

  1. Co to jest inżynieria oprogramowania ?
  2. Wymień i scharakteryzuj podstawowe fazy cyklu życiowego oprogramowania.
  3. Jakie są dwa podstawowe kierunki rozwoju inżynierii oprogramowania?
  4. Co to jest kryzys oprogramowania, skąd się bierze, jakie są jego przyczyny i objawy?
  5. Co rozumiesz poprzez „jakość oprogramowania”?
  6. Omów ogólnie problematykę różnych modeli cyklu życia oprogramowania.
  7. Scharakteryzuj i porównaj: model kaskadowy, prototypowanie oraz montaż z gotowych komponentów. Oceń wady i zalety obu rozwiązań.
  8. Scharakteryzuj i porównaj: model kaskadowy oraz modele ewolucyjne. Oceń wady i zalety obu rozwiązań.
  9. Porównaj tradycyjne (np. z modelem kaskadowym) oraz lekkie (agile) metodyki tworzenia oprogramowania.
  10. Jakie kryteria, czynności i decyzje występują w fazie strategicznej ?
  11. Co wpływa na koszty konstruowanego oprogramowania? Jakie znasz metody szacowania kosztu oprogramowania?
  12. Jakie znasz metody rozpoznawania i specyfikacji wymagań?
  13. Czego dotyczą wymagania funkcjonalne i niefunkcjonalne? Jak się je dokumentuje?
  14. Co jest przedmiotem i wynikiem fazy analizy (modelowania) ?
  15. Jakie znasz rodzaje notacji oraz strategie budowy logicznego modelu systemu?
  16. Omów znaczenie notacji UML w procesie tworzenia oprogramowania.
    Narysuj dwa przykładowe diagramy modelujące strukturę i zachowanie jakiegoś systemu.
  17. Omów zagadnienie programowania uogólnionego z wykorzystaniem szablonów.
    Odpowiedź zilustruj definicją szablonu dowolnej funkcji lub klasy zapisaną w języku C++
  18. Omów znaczenie koncepcji wzorców projektowych w procesie tworzenia oprogramowania.
    Odpowiedź zilustruj opisem dwóch wybranych wzorców projektowych.
  19. Jakie znasz niebezpieczne techniki programowania? Jaki jest ich wpływ na jakość tworzonego oprogramowania?
  20. Na czym polega strategia unikania błędów? Czym się różni od strategii tolerancji błędów?
  21. Czym się różni weryfikacja od walidacji? Jakie są podstawowe techniki przeprowadzania obu tych procesów?
  22. Czym się różni testowanie statyczne od testowania dynamicznego? Podaj przykłady obu rodzajów testów.
  23. Omów zagadnienie pomiarów poprawności oprogramowania.
  24. Co to są testy jednostkowe. Omów zalety i wady automatyzacji testów.
  25. Jakie rodzaje testów i w jakiej kolejności powinieneś zastosować, gdybyś miał wykonać zadanie przetestowania dużego systemu informatycznego?