Inżynieria oprogramowania

Celem przedmiotu jest nauka obejmująca najważniejsze metodyki i paradygmaty programowania, połączona z doskonaleniem umiejętności programowania.

Słuchacze na zajęciach wcielą się w rolę firmy projektującej oprogramowanie i wykonają projekt: od momentu kontaktu z klientem do wdrożenia, przetestowania i symulowanego utrzymywania.

Literatura

  1. Podana na wykładzie.
  2. Russ Miles, Kim Hamilton: Learning UML 2.0 (jest też polska wersja: UML 2.0. Wprowadzenie)
  3. Robert C. Martin: Zwinne wytwarzanie oprogramowania. Najlepsze zasady, wzorce i praktyki

Plan zajęć

  1. Wprowadzenie do programowania. Inżynieria i projektowanie oprogramowania.
  2. Język UML.
  3. Metodyki i techniki programowania.
  4. Testowanie i uruchamianie programów.
  5. Organizacja programów wielomodułowych

Wymagania projektowe

  1. Diagramy:
    1. Przypadków użycia (wraz z opisami), aktorzy.
    2. Sekwencji
    3. Stanów
    4. Klas
    5. Komponentów (jeśli potrzebny)
  2. Wybór metodyki
  3. Podział pracy
  4. Wymagania funkcjonalne (podział FURPS)
  5. Wymagania niefunkcjonalne (podział FURPS)
  6. Osadzenie w rzeczywistych rozwiązaniach
  7. Projekt testów
  8. Raport z testów (MANTIS)
  9. Prototyp systemu dla klienta
  10. Umowa licencyjna
  11. Skrócona dokumentacja użytkownika
  12. Użycie repozytorium kodu (polecany GitHub lub BitBucket) oraz system kontroli wersji (CVS/SVN/Mercurial/inny).
  13. Implementacja, gotowy projekt.