Inżynieria Oprogramowania to dziedzina wiedzy z pogranicza klasycznej inżynierii oraz informatyki. Opisuje procesy pozwalające na zamianę teorii lub pomysłu w program(y) a następnie stworzenie na tej podstawie gotowego produktu.
Inżynieria Oprogramowania pozwala nam zrozumieć i skutecznie przejść wszystkie fazy wytwarzania oprogramowania:
- specyfikację,
- projektowanie,
- implementację,
- zastosowanie,
- utrzymanie.
Szybki rozwój przemysłu IT dyktuje duże tempo zmian w naszym rozumieniu procesów i wymusza częstą ewolucję w różnych dziedzinach Inżynierii Oprogramowania.
Na wykładzie zapoznamy się z teorią inżynierii oprogramowania, przejdziemy wszystkie fazy wytwarzania oprogramowania i zapoznamy się z niektórymi procesami oraz narzędziami. Szczególną uwagę zwrócimy na przypadki szczególne:
- wpływ AI na inżynierię oprogramowania,
- wytwarzanie oprogramowania dla zastosowań krytycznych,
- zapewnienie ciągłej dostępności systemu przy dużym obłożeniu,
- bezpieczeństwo systemów i danych wrażliwych
- itd.
Przedmiot ma za zadanie przygotować słuchacza do pracy przy wytwarzaniu oprogramowania na dużą skalę. Postaramy uodpornić się na różne niespodzianki oraz szok, jakim jest zmiana projektów studenckich na projekty komercyjne lub badawcze.