Nazwa przedmiotu:
Inżynieria oprogramowania 1
Koordynator przedmiotu:
Dr inż. Krzysztof Kaczmarski
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka i Systemy Informacyjne
Grupa przedmiotów:
Wspólne
Kod przedmiotu:
1120-IN000-ISP-0353
Semestr nominalny:
5 / rok ak. 2019/2020
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. godziny kontaktowe – 45h; w tym a) obecność na wykładach – 30h b) obecność na ćwiczeniach – 15h 2. praca własna studenta – 55 h; w tym a) zapoznanie się z literaturą – 10h b) przygotowanie do zajęć ćwiczeniowych – 15h c) przygotowanie do testów, rozwiązanie samodzielne zadań – 10h d) napisanie projektu, konsultacja – 20 h Razem 100 h, co odpowiada 4 pkt. ECTS
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1. obecność na wykładach – 30h 2. obecność na ćwiczeniach – 15h Razem 45h, co odpowiada 2 pkt. ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
1. obecność na ćwiczeniach – 15 h 2. przygotowanie do ćwiczeń – 15 h 3. przygotowanie do testów, rozwiązanie samodzielne zadań – 10h 4. napisanie projektu, konsultacja – 20 h Razem 60h, co odpowiada 2 pkt. ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia15h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Programowanie 3 – zaawansowane, Programowanie 2 – obiektowe Bazy danych Systemy operacyjne
Limit liczby studentów:
Ćwiczenia – 30 os/grupa
Cel przedmiotu:
Celem przedmiotu jest przekazanie wiedzy dotyczącej podstawowych zasad i technik inżynierii oprogramowania oraz wykształcenie umiejętności tworzenia prostych modeli systemów informatycznych.
Treści kształcenia:
Wykład: Pojęcia wstępne: programowanie jako proces inżynieryjny, podsta-wowe potrzeby prowadzące do konieczności wykorzystania inżynierii oprogramowania, wprowadzenie pojęcia pracy grupowej i skalo-walności projektu Pojęcia podstawowe obiektowego programowania: klasy, metody, dziedziczenie, polimorfizm, przeciążanie, uogólnianie, uszczegóła-wianie, przykłady prostych schematów UML Pojęcia zaawansowane obiektowego programowania: meta-klasy, wątki, niuanse schematów UML Modele rozwoju oprogramowania: kaskadowy, spiralny, piramida, XP, Open-Source. Wymagania stawiane przed twórcą oprogramowania. Wymagania stawiane przed produktem końcowym. Omówienie faz rozwoju projektu: planowanie, analiza (szacowanie złożoności oprogramowania), projektowanie (przygotowywanie pewnych dokumentów specyfikacji), implementowanie (wybór języka, zagadnienia dodatkowe), dokumentowanie (tworzenie dokumentacji), testowanie (automatyka i pomocne metody), instalowanie (przygotowanie pakietów dla klienta), konserwacja (przygotowywanie aplikacji do zmian i poprawek). Zagadnienia pracy grupowej: obieg dokumentów, standaryzacja procesu wytwórczego, motywowanie pracowników. Ćwiczenia: Ćwiczenia obejmują dyskusje związane z modelowaniem w UML. Szacowanie pracochłonności zadania, planowania przedsięwzięcia informatycznego.
Metody oceny:
W czasie semestru odbywa się 7 dwu godzinnych ćwiczeń. Podczas ćwiczeń przeprowadzane są 4 testy. Na końcu zajęć grupy studentów po cztery osoby przygotowują projekt zadanego systemu informa-tycznego. Końcowa ocena składa się w 50% z ocen z testów i 50% z oceny z wykonanej dokumentacji projektowej.
Egzamin:
nie
Literatura:
1. I. Sommerville Inżynieria Oprogramowania, 2003 2. G. Booch. Object-oriented analysis and design with applications., 1994. 3. F. P. Brooks. Mityczny osobomiesiąc. Wydawnictwa Naukowo Techniczne, 2000. 4. S. D. Conte, H. E. Dunsmore, V. Y. Shen. Software Engineering Metrics and Models. 1986. 5. R. Dumnicki, A. Kasprzyk, M. Kozłowski. Analiza i projektowanie obiektowe. Helion, 1998. 6. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Ele-ments of Reusable Object-Oriented Software. Addison-Wesley, 1994. 7. J. Górski. Inżynieria Oprogramowania w projekcie informatycznym. Mikom, 1999. 8. C. S. Horstmann. Mastering object-oriented design in C++. John Wiley, 1995. 9. Jaszkiewicz. Inżynieria oprogramowania. Helion, 1997. 10. W. C. Lim. Managing software reuse. Prentice-Hall, 1999. 11. J. Martin, J. J. Odell. Podstawy Metod Obiektowych. WNT, 1997. 12. R. J. Muller. Bazy Danych język UML w modelowaniu danych. Mikom, 2000. 13. J. Robertson, S. Robertson. Pełna analiza systemowa. WNT, 1999. 14. J. Rumbaugh, M. Blaha, W. Premerlani, W. Lorensen. Object-Oriented Modelling and Design. 1991. 15. K. Subieta. Obiektowość w projektowaniu i bazach danych. Akadem. Oficyna Wyd. PLJ, 1998.
Witryna www przedmiotu:
e.mini.pw.edu.pl
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Charakterystyka W01
Zna język UML i sposoby stosowania go w praktyce.
Weryfikacja: 4 testy
Powiązane charakterystyki kierunkowe: K_W12
Powiązane charakterystyki obszarowe:
Charakterystyka W02
Zna modele rozwoju oprogramowania, w tym modelu kaskadowego, spiralnego, odkrywczego wraz z po-szczególnymi fazami oraz niekonwencjonalne metody wytwarzania oprogramowania: open-source, scrum, itd
Weryfikacja: obowiązkowy projekt realizowany w semestrze następnym
Powiązane charakterystyki kierunkowe: K_W07, K_W09, K_W12, K_W14, K_W15
Powiązane charakterystyki obszarowe:
Charakterystyka W03
Posiada podstawową wiedzę dotyczącą środowisk wytwórczych, pracy w zespole oraz narzędzi do pracy zespołowej
Weryfikacja: obowiązkowy projekt realizowany w semestrze następnym
Powiązane charakterystyki kierunkowe: K_W11, K_W12
Powiązane charakterystyki obszarowe:

Profil ogólnoakademicki - umiejętności

Charakterystyka U01
Potrafi stworzyć model systemu w języku UML obejmujący wymagania użytkownika oraz projekt rozwiązania
Weryfikacja: 4 testy
Powiązane charakterystyki kierunkowe: K_U01, K_U10, K_U13, K_U28
Powiązane charakterystyki obszarowe:
Charakterystyka U02
Potrafi zaprojektować prosty system informatyczny
Weryfikacja: Projekt
Powiązane charakterystyki kierunkowe: K_U23, K_U26, K_U28, K_U30
Powiązane charakterystyki obszarowe:
Charakterystyka U03
Potrafi zastosować wybraną metodę oszacowania pracochłonności zadania
Weryfikacja: ocena aktywności studenta
Powiązane charakterystyki kierunkowe: K_U26
Powiązane charakterystyki obszarowe:

Profil ogólnoakademicki - kompetencje społeczne

Charakterystyka K01
Rozumie zagadnienia związane z pracą grupową
Weryfikacja: obowiązkowy projekt realizowany w semestrze następnym
Powiązane charakterystyki kierunkowe: K_K05
Powiązane charakterystyki obszarowe:
Charakterystyka K02
Rozumie zasady negocjowania z klientem oraz prowadzenia wywiadu związanego z określeniem wymagań użytkownika
Weryfikacja: obowiązkowy projekt realizowany w semestrze następnym
Powiązane charakterystyki kierunkowe: K_K04
Powiązane charakterystyki obszarowe:
Charakterystyka K03
Zna zagadnienia związane z jakością produktów informatycznych oraz konsekwencje szybkiego rozwoju nowych technologii w informatyce.
Weryfikacja: obowiązkowy projekt realizowany w semestrze następnym
Powiązane charakterystyki kierunkowe: K_K01, K_K03, K_K04
Powiązane charakterystyki obszarowe: