Inżynieria oprogramowania 1000-214bIOP
Projekt informatyczny.
Architektura.
Funkcjonalność.
Wzorce.
Specyfikacja.
Jakość.
Planowanie.
Zarządzanie konfiguracją.
Metodyki.
Praca w grupie.
Kierunek podstawowy MISMaP
Rodzaj przedmiotu
Wymagania (lista przedmiotów)
Założenia (lista przedmiotów)
Efekty kształcenia
Wiedza: student ma
* uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie programowania, algorytmów i złożoności, architektury systemów komputerowych, systemów operacyjnych, technologii sieciowych, języków i paradygmatów programowania, baz danych, inżynierii oprogramowania (K_W02);
* wiedzę na temat inżynierii oprogramowania, w tym projektowania (wzorce projektowe, architektura oprogramowania, analiza i projektowanie obiektowe), wykorzystania API, narzędzi i środowisk wytwarzania oprogramowania (narzędzia do analizy wymagań i modelowania, narzędzia do testowania, narzędzia do podglądu kodu, narzędzia do zarządzania konfiguracjami i wersjami oprogramowania), cyklu życia projektu informatycznego, specyfikacji oprogramowania, walidacji i weryfikacji, utrzymywania oprogramowania (refaktoryzacji) K_W10,
Umiejętności: student potrafi
* pozyskiwać informacje z literatury, baz wiedzy, Internetu oraz innych wiarygodnych źródeł, integrować je, dokonywać ich interpretacji oraz wyciągać wnioski i formułować opinie (K_U02);
* porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach, w tym w języku angielskim oraz z wykorzystaniem narzędzi informatycznych (K_U04);
* samodzielnie planować i realizować własne uczenie się przez całe życie (K_U09);
* posługiwać się wzorcami projektowymi (K_U24);
* opisywać systemy informatyczne tak z użyciem specjalistycznej terminologii, jak i w sposób zrozumiały dla niefachowców; potrafi przygotować prezentację (artykuł) z użyciem narzędzi informatycznych (K_U25);
* określić procesy wytwórcze właściwe dla wytwarzanego systemu;
* projektować (modelować) architekturę wytwarzanego systemu;
* projektować (modelować) funkcjonalność wytwarzanego systemu;
* definiować (w mierzalny sposób) oczekiwania jakościowe względem wytwarzanego systemu;
* planować projekt w zakresie procesów wytwórczych;
* planować projekt w zakresie narzędzi wspierających;
* zarządzać konfiguracją, zarządzać zmianami, budować wydania oprogramowania.
Student może też nabyć dodatkowe umiejętności ponadstandardowe, tak że potrafi:
* zarządzać małym projektem programistycznym;
* identyfikować i dobierać właściwe dla projektu wzorce (projektowe, architektoniczne, analityczne);
* identyfikować i dobierać właściwe dla projektu metodyki (wytwórcze, zarządcze);
* koordynować mały zespół programistów.
Kompetencje społeczne: student jest gotów do
* pracy z zachowaniem uczciwości intelektualnej w działaniach własnych i innych osób; przestrzegania zasad etyki zawodowej i wymagania tego od innych oraz dbałości o dorobek i tradycje zawodu informatyka (K_K02);
* uznawania znaczenia wiedzy w rozwiązywaniu problemów poznawczych i praktycznych oraz wyszukiwania informacji w literaturze oraz zasięgania opinii ekspertów (K_K03);
* wypełniania zobowiązań społecznych związanych z racjonalnym i bezpiecznym przetwarzaniem danych (K_K04).
Literatura
1. E.Yourdon, Death March
2. T.DeMarco, The Deadline
3. I.Sommerville, Software Engineering
4. S.McConnell, Code Complete
5. H.Takeuchi, I.Nonaka, The new product development game (article)
6. W.W.Royce, Managing development of large software systems (article)
7. M.Shaw, D.Garlan, Software Architecture
8. E.Gamma, R.Helm, R.Johnson, J.Vlissides, Design patterns
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: