Wydział Informatyki - Zarządzanie i inżynieria produkcji (S1)
Sylabus przedmiotu Inżynieria oprogramowania:
Informacje podstawowe
Kierunek studiów | Zarządzanie i inżynieria produkcji | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauk technicznych, studiów inżynierskich | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Inżynieria oprogramowania | ||
Specjalność | e- technologie w produkcji i zarządzaniu | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Michał Fedorov <Michal.Fedorov@zut.edu.pl> | ||
Inni nauczyciele | Michał Fedorov <Michal.Fedorov@zut.edu.pl> | ||
ECTS (planowane) | 4,0 | ECTS (formy) | 4,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 1 | Grupa obieralna | 1 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Student posiada więdzę z podstaw programowania |
W-2 | Student posiada więdzę z programowania obiektowego |
W-3 | Ukończony kurs Wstęp do algorytmizacji |
W-4 | Ukończony kurs ze struktur danych i złożoności obliczeniowej |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Zapoznanie studentów z paradygmatem inżynierii oprogramowania: metodami, metodologiami i narzędziami zapewniające wysoką jakość wytwarzanego oprogramowani w ramach ustalonych terminów i budżecie. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
projekty | ||
T-P-1 | Analiza narzędzi do opracowania projektu informatycznego. Studium wykonalności projektu. | 4 |
T-P-2 | Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu. | 4 |
T-P-3 | Modelowanie i analiza wymagań. Architektura funkcjonalna systemu. | 4 |
T-P-4 | Projektowanie architektury komponentowej. | 4 |
T-P-5 | Realizacja przypadków użycia. Wzorce projektowe. | 6 |
T-P-6 | Implementacja projektu. Opracowanie zestawów testów. Testowanie jenostkowe oraz regresyjne. | 6 |
T-P-7 | Prezentacja wyników projektu. | 2 |
30 | ||
wykłady | ||
T-W-1 | Kryzys oprogramowania. Charakterystyczne cechy oprogramowania. Inżynieria oprogramowania a inżynieria systemów. Mity związane z inżynierią oprogramowania. Metody inżynierii oprogramowania. Ad hoc podejście wytwarzania oprogramowania. Pojęcie procesu wytwórczego. Podstawowe etapy procesu wytwórczego. Struktura wysiłków według etapów. Charakterystyka istniejących narzędzi CASE (w tym Open source). Ich wady i zalety. Charakterystyka oprogramowania jakościowego. | 2 |
T-W-2 | Modeli procesów wytwórczych. Liniowy. Formalne transformacje. Modeli ewolucyjne: prototypowanie, model spiralny, proces RUP. Struktura modeli wytwórczych oraz ich porównawcza analiza. Treść etapów procesów wytwórczych. Dojrzałość procesu. | 3 |
T-W-3 | 4P inżynierii oprogramowania. Udziałowcy. Problemy zespołowe. Komunikacja i koordynacja. Dekompozycja procesu wytwórczego. Zarządzanie ryzykiem. Rodzaje zagrożeń. Składniki ryzyka. Tabela zagrożeń. Szacowanie i ocena ryzyka. Monitorowanie oraz kontrolowanie zagrożeń. Plan zapobiegania zagrożeń. | 3 |
T-W-4 | Miary i pomiary w procesie wytwórczym. Miary procesu, produktu, mierzenie oprogramowania. Podstawowe miary: linie kodu, punkty funkcyjne, COCOMO II. Efektywność usuwania defektów. Proces mierzenia oprogramowania. Efektywność usuwania defektów a planowania jakości. Efektywność usuwania defektów a poziom dojrzałości procesu. | 3 |
T-W-5 | Czynności zapewnienia jakości. Przeglądy techniczne. Statystyczne zapewnianie jakości. Miary niezawodności i dostępności. Unikanie błędów. Normy jakości. Harmonogramowanie. Dobór zadań. Dekompozycja zadań. Definiowanie sieci zadań. Śledzenie harmonogramów. Plan przedsięwzięcia. Zarządzanie konfiguracją. Elementy bazowe i obiekty konfiguracji. Identyfikowanie obiektów konfiguracji. Kontrolowanie wersji i zmian. Audyt konfiguracji. | 3 |
T-W-6 | Inżynieria wymagań. Problem wymagań. Definicja i określenie problemu. Zidentyfikowanie udziałowców systemu. Zidentyfikowanie granicy systemy. Zidentyfikowanie ograniczeń na system. Język UML przy modelowaniu przedsiębiorstwa. Przejście od modeli wymagań do modeli systemów. Cechy produktu i jego atrybuty. Metody wyłowienia wymagań. Ankietowanie. Warsztaty wymagań. Burza mózgów i redukcja pomysłów. Wykonanie rysunkowych szkiców ujęć. Stosowanie przypadków użycia. Odgrywania ról. Stosowanie prototypów. Dokument wizji i jego składniki. | 4 |
T-W-7 | Projektowania architektury systemu. Dzielenie na podsystemy. Modularność. Modelowanie architektury w języku UML. Funkcjonalny widok architektury. Wzorce architektoniczne. Technika odwzorowania przypadków użycia na architekturę. | 4 |
T-W-8 | Pojęcie wzorców projektowych: strukturalne, czynnościowe, kreacyjne. Dokumentowanie wzorców. Architektura wzorców strukturalnych: adapter, dekorator, fasada, kompozyt, most, pełnomocnik, pyłek. Architektura wzorców kreacyjnych: budowniczy, fabryka abstrakcyjna, metoda wytwórcza, prototyp, singleton. Architektura wzorców czynnościowych: interpretator, iterator, łańcuch zobowiązań, mediator, Metoda szablonowa, obserwator, odwiedzający, polecenie. Odwzorowanie ich na kod. | 4 |
T-W-9 | Testowanie oprogramowania. Metoda białej skrzynki. Metoda czarnej skrzynki. Spójność modeli i projektów. Testowanie modułów, zgodności. Testowanie według wad. Projektowanie testów na podstawie scenariuszy użycia. Testowanie klas losowe, strefowe. Projektowanie testowanie kooperacji klas. Projektowanie testów na podstawie modeli zachowania i modeli obiektów. Podstawowa technika przy konserwacji: inżynieria odwrotna (na przykładzie wybranego CASE). Round-trip inżynieria. | 4 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
projekty | ||
A-P-1 | Udział w zajęciach | 30 |
A-P-2 | Przygotowanie dokumentacji projektowej | 30 |
A-P-3 | Udział w konsultacjach | 2 |
62 | ||
wykłady | ||
A-W-1 | Uczestnictwo w wykładach | 30 |
A-W-2 | Udział w konsultacjach | 2 |
A-W-3 | Samodzielne studiowanie tematyki wykładów | 15 |
A-W-4 | Przygotowanie się do zaliczenia | 8 |
A-W-5 | Udział w zaliczeniu | 3 |
58 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją |
M-2 | Ćwiczenia laboratoryjne |
M-3 | Zespołowe zadania projektowe |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena prezentacji poszczególnych etapów procesu wytwarzania oprogramowania. |
S-2 | Ocena formująca: Ocena za prezentację implementacji opracowanego oprogramowania. |
S-3 | Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona: - za projekt z wykonaniem testów jednostkowych (70 %) - za implementację (30 %) |
S-4 | Ocena podsumowująca: Ekzamin ustny. |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
ZIP_1A_O1/02_W01 Wiedza z zakresu modeli procesów wytwórczych | ZIP_1A_W03, ZIP_1A_W14, ZIP_1A_W16 | T1A_W02, T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1 | T-W-1, T-W-2, T-P-1, T-P-2 | M-1, M-2, M-3 | S-1, S-2, S-3 |
ZIP_1A_O1/02_W02 Wiedza z metod obiektowych projektowania systemów informatycznych. | ZIP_1A_W03, ZIP_1A_W14, ZIP_1A_W16 | T1A_W02, T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1 | T-W-6, T-W-7, T-W-8, T-P-2, T-P-3, T-P-4, T-P-5 | M-1, M-2, M-3 | S-1, S-2, S-3 |
ZIP_1A_O1/02_W03 Wiedza podstawowa z zakresu testowania systemów informatycznych. | ZIP_1A_W03, ZIP_1A_W14, ZIP_1A_W16 | T1A_W02, T1A_W03, T1A_W05, T1A_W06, T1A_W07 | InzA_W01, InzA_W02, InzA_W05 | C-1 | T-W-9, T-P-6 | M-1, M-2, M-3 | S-1, S-2, S-3 |
ZIP_1A_O1/02_W04 Wiedza z podstaw zarzadzania projektami systemów informatycznych. | ZIP_1A_W03, ZIP_1A_W17, ZIP_1A_W14, ZIP_1A_W16 | T1A_W02, T1A_W03, T1A_W05, T1A_W06, T1A_W07, T1A_W09, T1A_W11 | InzA_W01, InzA_W02, InzA_W04, InzA_W05 | C-1 | T-W-2, T-W-3, T-W-4, T-W-5, T-P-1, T-P-2 | M-1, M-2, M-3 | S-1, S-2, S-3, S-4 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
ZIP_1A_O1/02_U01 Student powinien umiec rozwiazywac zadania inzynierskie z kazdego etapu procesu wytwarzania oprogramowania | ZIP_1A_U24, ZIP_1A_U28, ZIP_1A_U29, ZIP_1A_U27, ZIP_1A_U12, ZIP_1A_U25, ZIP_1A_U17, ZIP_1A_U19, ZIP_1A_U21, ZIP_1A_U23 | T1A_U01, T1A_U02, T1A_U03, T1A_U04, T1A_U05, T1A_U07, T1A_U13, T1A_U14, T1A_U15, T1A_U16 | InzA_U05, InzA_U06, InzA_U07, InzA_U08 | C-1 | T-W-1, T-W-2, T-W-6, T-W-8, T-W-9, T-W-3, T-W-4, T-W-5, T-P-1, T-P-2, T-P-3, T-P-4, T-P-5, T-P-6, T-P-7 | M-1, M-2, M-3 | S-1, S-2, S-3 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
ZIP_1A_O1/02_W01 Wiedza z zakresu modeli procesów wytwórczych | 2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | potrafi wymienic i zdefiniowac wybrane podstawowe procesów wytwórczych | |
3,5 | potrafi wymienic i zdefiniowac dowolne podstawowe procesy wytwórcze | |
4,0 | potrafi precyzyjnie opisac wybrane procesy wytwórcze | |
4,5 | potrafi precyzyjnie opisac dowolne procesy wytwórcze | |
5,0 | potrafi objasnic wpływ procesów wytwórczych na przedsiewziecie informatyczne | |
ZIP_1A_O1/02_W02 Wiedza z metod obiektowych projektowania systemów informatycznych. | 2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | potrafi wymienic i zdefiniowac wybrane podstawowe diagramy UML i ich zadanie | |
3,5 | potrafi wymienic i zdefiniowac dowolne podstawowe diagramy UML i ich zadanie | |
4,0 | potrafi precyzyjnie opisac wybrane podstawowe diagramy UML i ich zadanie | |
4,5 | potrafi precyzyjnie opisac dowolne podstawowe diagramy UML i ich zadanie | |
5,0 | potrafi objasnic artchitekture dokumentu standardu UML | |
ZIP_1A_O1/02_W03 Wiedza podstawowa z zakresu testowania systemów informatycznych. | 2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | potrafi wymienic i zdefiniowac wybrane podstawowe poziomy testowanie, typy testów, role i artefakty procesu testowania oraz metody testowania | |
3,5 | potrafi wymienic i zdefiniowac dowolne podstawowe poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania | |
4,0 | potrafi precyzyjnie opisac wybrane poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania | |
4,5 | potrafi precyzyjnie opisac dowolne poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania | |
5,0 | potrafi objasnic cały proces testowania | |
ZIP_1A_O1/02_W04 Wiedza z podstaw zarzadzania projektami systemów informatycznych. | 2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | potrafi wymienic i zdefiniowac wybrane podstawowe metryki wytwarzania oprogramowania | |
3,5 | potrafi wymienic i zdefiniowac dowolne podstawowe metryki wytwarzania oprogramowania | |
4,0 | potrafi precyzyjnie opisac wybrane metryki wytwarzania oprogramowania | |
4,5 | potrafi precyzyjnie opisac dowolne metryki wytwarzania oprogramowania | |
5,0 | potrafi objasnic metryki wytwarzania oprogramowania dotyczace wszystkich aspektów wytwarzania oprogramowania |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
ZIP_1A_O1/02_U01 Student powinien umiec rozwiazywac zadania inzynierskie z kazdego etapu procesu wytwarzania oprogramowania | 2,0 | nie spełnia kryteriów okreslonych dla oceny 3 |
3,0 | umie stosowac wybrane podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywac je w kodzie oraz stosowac wzorce projektowe | |
3,5 | umie stosowac dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywac je w kodzie oraz stosowac wzorce projektowe | |
4,0 | umie stosowac dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywac je w kodzie oraz stosowac wzorce projektowe; umie identyfikowac przypadki testowe i wykorzystywac podstawowe techniki testowe i narzedzia do przedmiotu testowania. | |
4,5 | umie stosowac dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywac je w kodzie oraz stosowac wzorce projektowe; umie identyfikowac przypadki testowe i wykorzystywac podstawowe techniki testowe do przedmiotu testowania; umie indentyfikowac metryki niezbedne do szacowania i zarzadzania projektem. | |
5,0 | umie stosowac dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywac je w kodzie oraz stosowac wzorce projektowe; umie identyfikowac przypadki testowe i wykorzystywac podstawowe techniki testowe do przedmiotu testowania; umie indentyfikowac metryki niezbedne do szacowania i zarzadzania projektem; umie dostosowywac procesy wywórcze do konkretnego przedsiewziecia informatycznego |
Literatura podstawowa
- Jaszkiewicz A., Inżynieria oprogramowania, Helion, Gliwice, 1997
- Pressman Roger S., Praktyczne podejście do inżynierii oprogramowania, WNT, Warszawa, 2004
- Sommerville I., Inżynieria oprogramowania, WNT, Warszawa, 2003
- Leffingwell D., Widrig D., Zarządzanie wymaganiami, WNT, Warszawa, 2003
- Booch, G., UML : przewodnik użytkownika, WNT, Warszawa, 2002
- Bernd Bruegge, Allen H. Dutoit, Inżynieria oprogramowania w ujęciu obiektowym. UML, wzorce projektowe i Java, Helion, Gliwice, 2011
- Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Helion, Gliwice, 2010
- Robert C. Martin, Czysty kod. Podręcznik dobrego programisty, Helion, Gliwice, 2010
Literatura dodatkowa
- Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Refaktoryzacja. Ulepszanie struktury istniejącego kodu, Helion, Gliwice, 2011
- Steve McConnell, Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów., Helion, Gliwice, 2010, 2
- Bijay K. Jayaswal, Peter C. Patton, Oprogramowanie godne zaufania. Metodologia, techniki i narzędzia projektowania, Helion, Gliwice, 2008