Inżynieria oprogramowania (wykład)

Opis przedmiotu
Informacje ogólne
Organizator:Wydział Nauk Przyrodniczych i Technicznych - Instytut Matematyki, Informatyki i Architektury Krajobrazu
Kod ECTS:11900-XXXX-WYK0274
Kierunek studiów: Informatyka (stacjonarne I stopnia)
Lokalizacja w planach rocznych:
Etap:Rok III - Semestr 5
Punkty ECTS: 5
Forma zaliczenia: Egzamin
Rozkład zajęć 2023/2024
Rozkład zajęć 2022/2023
Lokalizacja w programie modułowym:
Moduł programowy:Przedmioty obowiązkowe » Inżynieria oprogramowania
Cele przedmiotu
Wymagania wstępne
PRZEDMIOTY WPROWADZAJĄCE ORAZ WYMAGANIA WSTĘPNE:
Przedmioty wprowadzające: matematyka, wstęp do programowania programowanie obiektowe, techniki programowania, modelowanie i analiza systemów informatycznych, technologie społeczeństwa informacyjnego.
Wymagania wstępne: znajomość języka angielskiego, podstaw ekonomii i zarządzania, metod wspomagania projektowania systemów informatycznych, znajomość narzędzi modelowania i projektowania systemów informatycznych, statystyki, znajomość edytorów tekstów, arkuszy kalkulacyjnych, prezentacji multimedialnych.
ZAŁOŻENIA I CELE PRZEDMIOTU:
CEL ZAJĘĆ:
Po zaliczeniu przedmiotu student powinien znać podstawy zakresie: opracowania planu przedsięwzięcia dotyczącego budowy oprogramowania, wykonania specyfikacji wymagań oraz zaprojektowania oprogramowania zgodnie z metodyką strukturalną bądź obiektową, posługiwania się wzorcami projektowymi, współpracy w grupie projektantów/programistów, wypracowania i zachowania standardów obowiązujących zespół projektujący oprogramowanie, znajomości programów wspomagających tworzenie oprogramowania, opracowania i przeprowadzenia inspekcji specyfikacji wymagań, kodu źródłowego, opracowania i przeprowadzenia testów kodu, zarządzania konfiguracją oprogramowania, sporządzania dokumentacji projektu.
Efekty kształcenia dla przedmiotu
Metody dydaktyczne
Treści programowe przedmiotu
[dr Piotr Filipkowski (wykład), dr Piotr Filipkowski, mgr Michał Dolecki, mgr Maciej Lis (ćwiczenia) - 2011/12]
ZAMIERZONE EFEKTY KSZTAŁCENIA:
Zamierzonym efektem kształcenia jest podniesienie poziomu wiedzy studentów w zakresie inżynierii oprogramowania. Istotnym i równie ważnym zamierzonym efektem kształcenia jest rozwinięcie i ugruntowanie umiejętności abstrakcyjnego myślenia, rozwiązywania problemów z wykorzystaniem narzędzi, technik i metod inżynierii oprogramowania. Student rozumie inżynierię wymagań, metody strukturalne i obiektowe analizy oraz projektowania. Student zna podstawy jakości oprogramowania, metody testowania oraz metody przygotowania dokumentacji. Student potrafi stosować metody formalne i wzorce projektowe. Student zna zarządzanie projektem informatycznym, Zarządzanie jakością, Zarządzanie konfiguracją oprogramowania. Student rozumie zasady konserwacji oprogramowania.
WIEDZA:
Student wie, czym jest inżynieria oprogramowania, proces tworzenia oprogramowania, zarządzanie przedsięwzięciami. Student wie, jak powinny być stawiane wymagania oprogramowaniu, jak wygląda proces inżynierii wymagań, modelowanie systemu, prototypowanie oprogramowania, weryfikacja, testowanie i odbiór zatwierdzonego oprogramowania. Student wie jakie są metody zarządzanie personelem, zarządzania jakością, szacowania oprogramowania, ulepszania oprogramowania.
UMIEJĘTNOŚCI:
Student umie konstruować wymagania niefunkcjonalne, specyfikację oprogramowania. Student potrafi używać diagramów opisu struktury i zachowań programu. Student potrafi w stopniu podstawowym korzystać z języka UML. Student potrafi korzystać z zasad tworzenia poprawnego i przejrzystego kodu. Student potrafi przeprowadzić kontrolę jakości artefaktów, inspekcja projektu funkcjonalnego oraz inspekcja kodu. Student umie testować kod. Student potrafi opracować plan przedsięwzięcia dotyczącego budowy oprogramowania. Student potrafi kontrolować i zarządzać wersjami tworzonego oprogramowania oraz stosować się do zasad obowiązujących programistów podczas pracy w zespole.
INNE KOMPETENCJE (POSTAWY):
Student jest otwarty na złożoność problemów, z którymi może spotkać się w życiu i umiejętnie je rozwiązuje stosując poznane metody inżynierii oprogramowania oraz obiektywnie ocenia uzyskane wyniki.

TREŚĆ ZAJĘĆ:
1. Wprowadzenie do inżynierii oprogramowania
2. Inżynieria wymagań
3. Metody strukturalne
4. Metody obiektowe
5. Testowanie oprogramowania, miary oprogramowania
6. Zarządzanie projektem informatycznym
7. Zarządzanie jakością, modele jakości
8. Metodyka zwinna
9. Konserwacja oprogramowania
10. Systemy krytyczne
11. Licencje oprogramowania
Kryteria oceny i sposoby weryfikacji zakładanych efektów kształcenia
FORMA ZAJĘĆ:
Wykład z prezentacją, ćwiczenia w pracowni komputerowej, metody dialogowe, metody problemowe, metody nauczania wspieranego technikami informacyjnymi, praca w grupach.
WYMAGANIA DOTYCZĄCE POMOCY DYDAKTYCZNYCH:
Pracownia komputerowe, rzutnik multimedialny, internet
FORMA I WARUNKI ZALICZENIA:
Egzamin, projekt, obrona projektu
Literatura podstawowa i uzupełniająca
LITERATURA PODSTAWOWA:
1. K. Sacha, Inżynieria oprogramowania, PWN, Warszawa 2010.
2. A. Jaszkiewicz, Inżynieria oprogramowania, Helion, Gliwice 1997.
3. I. Sommerville, Inżynieria oprogramowania, WNT, Warszawa 2003.
LITERATURA UZUPEŁNIAJĄCA:
1. Wrycza S., Informatyka ekonomiczna, PWE, Warszawa 2010.
2. L. Miękina, Inżynieria oprogramowania, Wydawnictwo AGH, Kraków 2009.
3. G. Booch, J. Rumbaugh, I. Jacobson, UML - przewodnik użytkownika, WNT, Warszawa 2002
4. P. Stevens, UML. Inżynieria oprogramowania, Helion, Gliwice 2007
5. Ś. Ząbek, Strukturalne techniki programowania, Wyd. UMCS, 2004.
6. J. Myers, C. Sandler, T. Badgett, T. M. Thomas, Sztuka testowania oprogramowania, Helion, Gliwice 2005
7. R. C. Martin. Czysty kod. Podręcznik dobrego programisty, Helion, Gliwice 2010.
8. E. Krok, Z. Stempnakowski, Podstawy algorytmów. Schematy blokowe. Jak rozwiązywać problemy?, Difin, Warszawa 2008
INNE POMOCE DYDAKTYCZNE:
1. Portal e-nauczania Katedry Technologii Społeczeństwa Informacyjnego www.virtualregion.kul.pl
2. Portal e-nauczania Wydziału Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego http://wazniak.mimuw.edu.pl