Nazwa przedmiotu:
Inżynieria oprogramowania I
Koordynator przedmiotu:
Dr inż. Krzysztof Kaczmarski
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Wspólne
Kod przedmiotu:
Semestr nominalny:
5 / rok ak. 2013/2014
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. zapoznanie się z literaturą – 10h 3. przygotowanie do zajęć ćwiczeniowych – 15h 4. przygotowanie do testów – 10h 5. napisanie projektu, konsultacja – 10 h Razem nakład pracy studenta 90h, 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 – 10h 4. przygotowanie projektu – 10 h Razem 50h, co odpowiada 2 pkt. ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia15h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Programowanie Obiektowe, Bazy Danych, Systemy Operacyjne, C++, Java
Limit liczby studentów:
Bez limitu
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:
Pojęcia wstępne: programowanie jako proces inżynieryjny, podstawowe potrzeby prowadzące do konieczności wykorzystania inżynierii oprogramowania, wprowadzenie pojęcia pracy grupowej i skalowalności projektu Pojęcia podstawowe obiektowego programowania: klasy, metody, dziedziczenie, polimorfizm, przeciążanie, uogólnianie, uszczegóławianie, 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. Więcej informacji na stronie zajęć: http://www.mini.pw.edu.pl/~kaczmars/pion
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 informatycznego. Końcowa ocena składa się w 50% z ocen z testów i 50% z oceny z wykonanej dokumentacji projektowej.
Egzamin:
nie
Literatura:
Grady Booch. Object-oriented analysis and design with applications., 1994. Frederick P. Brooks. Mityczny osobomiesiąc. Wydawnictwa Naukowo Techniczne, 2000. Y. Shen. Software Engineering Metrics and Models. 1986. Kozłowski. Analiza i projektowanie obiektowe. Helion, 1998. Addison-Wesley, 1994. Górski. Inżynieria Oprogramowania w projekcie informatycznym. Mikom, 1999. Cay S. Horstmann. Mastering object-oriented design in C++. John Wiley, 1995. Jaszkiewicz. Inżynieria oprogramowania. Helion, 1997. Weyne C. Lim. Managing software reuse. Prentice-Hall, 1999. 10. J. Martin, J. J. Odell.  Podstawy Metod Obiektowych. Wydawnictwa Naukowo Techniczne, 1997. 11. R. J. Muller. Bazy Danych język UML w modelowaniu danych. Mikom, 2000. 12. J. Robertson, S. Robertson. Pełna analiza systemowa. WNT, 1999. 13. J. Rumbaugh, M. Blaha, W. Premerlani, W. Lorensen. Object-Oriented Modelling and Design. 1991. 14. K. Subieta. Obiektowość w projektowaniu i bazach danych. Akadem. Oficyna Wyd. PLJ, 1998.
Witryna www przedmiotu:
brak
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt W01
Zna język UML i sposoby stosowania go w praktyce do obiektowej analizy problemu informatycznego, w tym diagramy przypadków użycia, klas, zdarzeń, stanów i aktywności
Weryfikacja: 4 testy
Powiązane efekty kierunkowe: K_W12
Powiązane efekty obszarowe: T1A_W07
Efekt W02
Zna modele rozwoju oprogramowania, w tym modelu kaskadowego, spiralnego, odkrywczego wraz z poszczególnymi fazami oraz niekonwencjonalne metody wytwarzania oprogramowania: open-source, scrum, itd
Weryfikacja: Obowiązkowy projekt realizowany w semestrze następnym
Powiązane efekty kierunkowe: K_W07, K_W09, K_W12
Powiązane efekty obszarowe: T1A_W03, T1A_W06, T1A_W07
Efekt 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 efekty kierunkowe: K_W11, K_W12
Powiązane efekty obszarowe: T1A_W07, T1A_W07

Profil ogólnoakademicki - umiejętności

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

Profil ogólnoakademicki - kompetencje społeczne

Efekt K01
Rozumie zagadnienia związane z pracą grupową
Weryfikacja: Obowiązkowy projekt realizowany w semestrze następnym
Powiązane efekty kierunkowe: K_K05
Powiązane efekty obszarowe: T1A_K03, T1A_K04
Efekt 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 efekty kierunkowe: K_K04
Powiązane efekty obszarowe: T1A_K02, T1A_K05
Efekt 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 efekty kierunkowe: K_K01, K_K03, K_K04
Powiązane efekty obszarowe: T1A_K01, T1A_K02, T1A_K02, T1A_K05