Literatura: |
Roger S Pressman, Bruce R. Maxim, Software Engineering: A Practitioner's Approach, 8/e, McGraw-Hill, 2015.
Ian Sommerville, Software Engineering, 10/E, Pearson, 2016.
http://wazniak.mimuw.edu.pl/index.php?title=In%C5%BCynieria_oprogramowania
K.Beck, A.Cynthia, Wydajne programowanie – Extreme Programming, Mikom, 2005.
A. Cockburn, Jak pisać efektywne przypadki użycia, WNT, Warszawa 2004.
M.Fowler, K.Scott, UML w kropelce, LTP, 2002.
|
Efekty uczenia się: |
Zna podział wymagań w odniesieniu do oprogramowania i sposoby specyfikacji wymagań.
Zna techniki kontroli jakości oprogramowania i ich ograniczenia.
Zna metody formalne weryfikacji poprawności programów.
Zna wzorce zarządzania konfiguracją oprogramowania.
Zna zwinne metody rozwoju oprogramowania.
Zna rodzaje diagramów języka UML i ich zastosowanie.
|
Metody i kryteria oceniania: |
Na ocenę 2:
CwC1_W12: Student nie zna podstaw konstrukcji oprogramowania.
CWC1_W21: Student nie zna technicznych uwarunkowań rozwoju technologii
CWC1_U03: Student nie potrafi posługiwać się narzędziami informatycznymi
Na ocenę 3/3,5:
CwC1_W12: Student zna podstawy konstrukcji oprogramowania - w stopniu podstawowym.
CWC1_W21: Student zna techniczne uwarunkowania rozwoju technologii - w stopniu podstawowym.
CWC1_U03: Student potrafi posługiwać się narzędziami informatycznymi - w stopniu podstawowym.
Na ocenę 4/4,5:
CwC1_W12: Student zna podstawy konstrukcji oprogramowania - w stopniu dobrym.
CWC1_W21: Student zna techniczne uwarunkowania rozwoju technologii - w stopniu dobrym.
CWC1_U03: Student potrafi posługiwać się narzędziami informatycznymi - w stopniu dobrym.
Na ocenę 5:
CwC1_W12: Student bardzo dobrze zna podstawy konstrukcji oprogramowania.
CWC1_W21: Student bardzo dobrze zna techniczne uwarunkowania rozwoju technologii.
CWC1_U03: Student bardzo dobrze potrafi posługiwać się narzędziami informatycznymi.
|
Zakres tematów: |
1. Specyfikacja wymagań.
2. Kontrola jakości artefaktów.
3. Język UML.
4. Metody formalne.
5. Wzorce projektowe.
6. Zarządzanie konfiguracją, repozytoria kodu.
7. Wprowadzenie do testowania, automatyzacja wykonywania testów.
8. Programowanie ekstremalne.
9. Ewolucja oprogramowania i refaktoryzacja.
|