Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)

Sylabus przedmiotu Inżynieria oprogramowania:

Informacje podstawowe

Kierunek studiów Informatyka
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ść przedmiot wspólny
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 egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL4 15 1,10,27zaliczenie
projektyP4 15 1,10,27zaliczenie
wykładyW4 30 1,80,46egzamin

Wymagania wstępne

KODWymaganie wstępne
W-1Student posiada więdzę z podstaw programowania
W-2Student posiada więdzę z programowania obiektowego
W-3Ukończony kurs Wstęp do algorytmizacji
W-4Ukończony kurs ze struktur danych i złożoności obliczeniowej

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie 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ęć

KODTreść programowaGodziny
laboratoria
T-L-1Analiza narzędzi do opracowania projektu informatycznego. Studium wykonalności.2
T-L-2Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu.2
T-L-3Modelowanie i analiza wymagań. Architektura funkcjonalna systemu.2
T-L-4Projektowanie architektury komponentowej.2
T-L-5Realizacja przypadków użycia. Wzorce projektowe.4
T-L-6Opracowanie zestawów testów. Testowanie jenostkowe oraz regresyjne.2
T-L-7Prezentacja wyników projektu.1
15
projekty
T-P-1Opracowanie dokumentacji projektowej oraz jej implementacja na wybranej platformie15
15
wykłady
T-W-1Kryzys 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-2Modeli 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-34P 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-4Miary 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-5Czynnoś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-6Inż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-7Projektowania 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-8Poję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-9Testowanie 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

KODForma aktywnościGodziny
laboratoria
A-L-1Laboratorium15
A-L-2przygotowanie dokumentacji projektowej15
A-L-3konsultacje1
A-L-4zaliczenie1
32
projekty
A-P-1Udział w zajęciach15
A-P-2Przygotowywanie projektów - praca własna studenta15
A-P-3obrona projektu1
A-P-4zaliczenie projketu1
32
wykłady
A-W-1Uczestnictwo w wykładach30
A-W-2Udział w konsultacjach2
A-W-3Samodzielne studiowanie tematyki wykładów14
A-W-4Przygotowanie się do egzaminu5
A-W-5Udział w egzaminie2
53

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
M-2Ćwiczenia laboratoryjne
M-3Zespołowe zadania projektowe

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena prezentacji poszczególnych etapów procesu wytwarzania oprogramowania.
S-2Ocena formująca: Ocena za prezentację implementacji opracowanego oprogramowania.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona: - za projekt z wykonaniem testów jednostkowych (70 %) - za implementację (30 %)
S-4Ocena podsumowująca: Ekzamin ustny.

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C/14_W01
Wiedza z zakresu modeli procesów wytwórczych.
I_1A_W16, I_1A_W15T1A_W04, T1A_W08, T1A_W10, T1A_W11InzA_W01, InzA_W03C-1T-W-1, T-W-2, T-L-2, T-L-1, T-P-1M-1, M-2, M-3S-1, S-4, S-2, S-3
I_1A_C/14_W02
Wiedza z metod obiektowych projektowania systemów informatycznych.
I_1A_W06, I_1A_W18T1A_W03, T1A_W05, T1A_W06, T1A_W07, T1A_W09InzA_W01, InzA_W02, InzA_W04, InzA_W05C-1T-W-6, T-W-7, T-W-8, T-P-1, T-L-4, T-L-5, T-L-3, T-L-2M-2, M-3, M-1S-3, S-1, S-2, S-4
I_1A_C/14_W03
Wiedza podstawowa z zakresu testowania systemów informatycznych.
I_1A_W06, I_1A_W18T1A_W03, T1A_W05, T1A_W06, T1A_W07, T1A_W09InzA_W01, InzA_W02, InzA_W04, InzA_W05C-1T-W-9, T-P-1, T-L-6, T-L-2M-2, M-1, M-3S-2, S-4, S-1, S-3
I_1A_C/14_W04
Wiedza z podstaw zarządzania projektami systemów informatycznych
I_1A_W06, I_1A_W11, I_1A_W15, I_1A_W18T1A_W03, T1A_W05, T1A_W06, T1A_W07, T1A_W08, T1A_W09, T1A_W10, T1A_W11InzA_W01, InzA_W02, InzA_W03, InzA_W04, InzA_W05C-1T-W-4, T-W-3, T-L-1, T-W-5, T-P-1, T-L-2M-1, M-3, M-2S-3, S-4, S-2, S-1

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C/14_U01
Student powinien umieć rozwiązywać zadania inżynierskie z każdego etapu procesu wytwarzania oprogramowania
I_1A_U01, I_1A_U02, I_1A_U05, I_1A_U12, I_1A_U17, I_1A_U03T1A_U01, T1A_U02, T1A_U03, T1A_U04, T1A_U06, T1A_U07, T1A_U08, T1A_U09, T1A_U10, T1A_U11, T1A_U12, T1A_U13, T1A_U14, T1A_U15, T1A_U16InzA_U01, InzA_U02, InzA_U03, InzA_U04, InzA_U05, InzA_U06, InzA_U07, InzA_U08C-1T-W-8, T-W-6, T-W-7, T-W-3, T-W-1, T-W-2, T-W-4, T-W-5, T-W-9, T-L-1, T-L-6, T-L-2, T-L-4, T-L-5, T-L-3, T-L-7M-1, M-3, M-2S-2, S-1, S-3, S-4

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_C/14_W01
Wiedza z zakresu modeli procesów wytwórczych.
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe procesów wytwórczych
3,5potrafi wymienić i zdefiniować dowolne podstawowe procesy wytwórcze
4,0potrafi precyzyjnie opisać wybrane procesy wytwórcze
4,5potrafi precyzyjnie opisać dowolne procesy wytwórcze
5,0potrafi objaśnić wpływ procesów wytwórczych na przedsiewzięcie informatyczne
I_1A_C/14_W02
Wiedza z metod obiektowych projektowania systemów informatycznych.
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe diagramy UML i ich zadanie
3,5potrafi wymienić i zdefiniować dowolne podstawowe diagramy UML i ich zadanie
4,0potrafi precyzyjnie opisać wybrane podstawowe diagramy UML i ich zadanie
4,5potrafi precyzyjnie opisać dowolne podstawowe diagramy UML i ich zadanie
5,0potrafi objaśnić artchitekturę dokumentu standardu UML
I_1A_C/14_W03
Wiedza podstawowa z zakresu testowania systemów informatycznych.
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe poziomy testowanie, typy testów, role i artefakty procesu testowania oraz metody testowania
3,5potrafi wymienić i zdefiniować dowolne podstawowe poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania
4,0potrafi precyzyjnie opisać wybrane poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania
4,5potrafi precyzyjnie opisać dowolne poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania
5,0potrafi objaśnić cały proces testowania
I_1A_C/14_W04
Wiedza z podstaw zarządzania projektami systemów informatycznych
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe metryki wytwarzania oprogramowania
3,5potrafi wymienić i zdefiniować dowolne podstawowe metryki wytwarzania oprogramowania
4,0potrafi precyzyjnie opisać wybrane metryki wytwarzania oprogramowania
4,5potrafi precyzyjnie opisać dowolne metryki wytwarzania oprogramowania
5,0potrafi objaśnić metryki wytwarzania oprogramowania dotyczące wszystkich aspektów wytwarzania oprogramowania

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_1A_C/14_U01
Student powinien umieć rozwiązywać zadania inżynierskie z każdego etapu procesu wytwarzania oprogramowania
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0umie stosować wybrane podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe
3,5umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe
4,0umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe; umie identyfikować przypadki testowe i wykorzystywać podstawowe techniki testowe i narzędzia do przedmiotu testowania.
4,5umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe; umie identyfikować przypadki testowe i wykorzystywać podstawowe techniki testowe do przedmiotu testowania; umie indentyfikowac metryki niezbedne do szacowania i zarzadzania projektem.
5,0umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe; umie identyfikować przypadki testowe i wykorzystywać podstawowe techniki testowe do przedmiotu testowania; umie indentyfikowac metryki niezbedne do szacowania i zarzadzania projektem; umie dostosowywać procesy wywórcze do konkretnego przedsięwzięcia informatycznego

Literatura podstawowa

  1. Jaszkiewicz A., Inżynieria oprogramowania, Helion, Gliwice, 1997
  2. Pressman Roger S., Praktyczne podejście do inżynierii oprogramowania, WNT, Warszawa, 2004
  3. Sommerville I., Inżynieria oprogramowania, WNT, Warszawa, 2003
  4. Leffingwell D., Widrig D., Zarządzanie wymaganiami, WNT, Warszawa, 2003
  5. Booch, G., UML : przewodnik użytkownika, WNT, Warszawa, 2002
  6. Bernd Bruegge, Allen H. Dutoit, Inżynieria oprogramowania w ujęciu obiektowym. UML, wzorce projektowe i Java, Helion, Gliwice, 2011
  7. Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Helion, Gliwice, 2010
  8. Robert C. Martin, Czysty kod. Podręcznik dobrego programisty, Helion, Gliwice, 2010

Literatura dodatkowa

  1. Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts, Refaktoryzacja. Ulepszanie struktury istniejącego kodu, Helion, Gliwice, 2011
  2. Steve McConnell, Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów., Helion, Gliwice, 2010, 2
  3. Bijay K. Jayaswal, Peter C. Patton, Oprogramowanie godne zaufania. Metodologia, techniki i narzędzia projektowania, Helion, Gliwice, 2008

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Analiza narzędzi do opracowania projektu informatycznego. Studium wykonalności.2
T-L-2Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu.2
T-L-3Modelowanie i analiza wymagań. Architektura funkcjonalna systemu.2
T-L-4Projektowanie architektury komponentowej.2
T-L-5Realizacja przypadków użycia. Wzorce projektowe.4
T-L-6Opracowanie zestawów testów. Testowanie jenostkowe oraz regresyjne.2
T-L-7Prezentacja wyników projektu.1
15

Treści programowe - projekty

KODTreść programowaGodziny
T-P-1Opracowanie dokumentacji projektowej oraz jej implementacja na wybranej platformie15
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Kryzys 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-2Modeli 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-34P 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-4Miary 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-5Czynnoś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-6Inż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-7Projektowania 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-8Poję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-9Testowanie 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

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Laboratorium15
A-L-2przygotowanie dokumentacji projektowej15
A-L-3konsultacje1
A-L-4zaliczenie1
32
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - projekty

KODForma aktywnościGodziny
A-P-1Udział w zajęciach15
A-P-2Przygotowywanie projektów - praca własna studenta15
A-P-3obrona projektu1
A-P-4zaliczenie projketu1
32
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w wykładach30
A-W-2Udział w konsultacjach2
A-W-3Samodzielne studiowanie tematyki wykładów14
A-W-4Przygotowanie się do egzaminu5
A-W-5Udział w egzaminie2
53
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/14_W01Wiedza z zakresu modeli procesów wytwórczych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W16ma wiedzę dotyczącą możliwości zastosowania informatyki w różnych dziedzinach aktywności ludzkiej (np. w przemyśle, zarządzaniu i medycynie)
I_1A_W15ma podstawową wiedzę niezbędną do rozumienia społecznych, prawnych, etycznych i innych pozatechnicznych uwarunkowań działalności inżynierskiej w dziedzinie informatyki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W04ma szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T1A_W08ma podstawową wiedzę niezbędną do rozumienia społecznych, ekonomicznych, prawnych i innych pozatechnicznych uwarunkowań działalności inżynierskiej
T1A_W10zna i rozumie podstawowe pojęcia i zasady z zakresu ochrony własności przemysłowej i prawa autorskiego; umie korzystać z zasobów informacji patentowej
T1A_W11zna ogólne zasady tworzenia i rozwoju form indywidualnej przedsiębiorczości, wykorzystującej wiedzę z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W01ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
InzA_W03ma podstawową wiedzę niezbędną do rozumienia społecznych, ekonomicznych, prawnych i innych uwarunkowań działalności inżynierskiej
Cel przedmiotuC-1Zapoznanie 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 programoweT-W-1Kryzys 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.
T-W-2Modeli 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.
T-L-2Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu.
T-L-1Analiza narzędzi do opracowania projektu informatycznego. Studium wykonalności.
T-P-1Opracowanie dokumentacji projektowej oraz jej implementacja na wybranej platformie
Metody nauczaniaM-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
M-2Ćwiczenia laboratoryjne
M-3Zespołowe zadania projektowe
Sposób ocenyS-1Ocena formująca: Ocena prezentacji poszczególnych etapów procesu wytwarzania oprogramowania.
S-4Ocena podsumowująca: Ekzamin ustny.
S-2Ocena formująca: Ocena za prezentację implementacji opracowanego oprogramowania.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona: - za projekt z wykonaniem testów jednostkowych (70 %) - za implementację (30 %)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe procesów wytwórczych
3,5potrafi wymienić i zdefiniować dowolne podstawowe procesy wytwórcze
4,0potrafi precyzyjnie opisać wybrane procesy wytwórcze
4,5potrafi precyzyjnie opisać dowolne procesy wytwórcze
5,0potrafi objaśnić wpływ procesów wytwórczych na przedsiewzięcie informatyczne
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/14_W02Wiedza z metod obiektowych projektowania systemów informatycznych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W06zna wybrane języki i techniki programowania, podstawowe techniki projektowania i wytwarzania aplikacji oraz systemów informatycznych
I_1A_W18ma wiedzę w zakresie podstaw modelowania systemów
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W05ma podstawową wiedzę o trendach rozwojowych z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W06ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
T1A_W09ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W01ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
InzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
InzA_W04ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
InzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
Cel przedmiotuC-1Zapoznanie 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 programoweT-W-6Inż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.
T-W-7Projektowania 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ę.
T-W-8Poję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.
T-P-1Opracowanie dokumentacji projektowej oraz jej implementacja na wybranej platformie
T-L-4Projektowanie architektury komponentowej.
T-L-5Realizacja przypadków użycia. Wzorce projektowe.
T-L-3Modelowanie i analiza wymagań. Architektura funkcjonalna systemu.
T-L-2Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
M-3Zespołowe zadania projektowe
M-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
Sposób ocenyS-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona: - za projekt z wykonaniem testów jednostkowych (70 %) - za implementację (30 %)
S-1Ocena formująca: Ocena prezentacji poszczególnych etapów procesu wytwarzania oprogramowania.
S-2Ocena formująca: Ocena za prezentację implementacji opracowanego oprogramowania.
S-4Ocena podsumowująca: Ekzamin ustny.
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe diagramy UML i ich zadanie
3,5potrafi wymienić i zdefiniować dowolne podstawowe diagramy UML i ich zadanie
4,0potrafi precyzyjnie opisać wybrane podstawowe diagramy UML i ich zadanie
4,5potrafi precyzyjnie opisać dowolne podstawowe diagramy UML i ich zadanie
5,0potrafi objaśnić artchitekturę dokumentu standardu UML
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/14_W03Wiedza podstawowa z zakresu testowania systemów informatycznych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W06zna wybrane języki i techniki programowania, podstawowe techniki projektowania i wytwarzania aplikacji oraz systemów informatycznych
I_1A_W18ma wiedzę w zakresie podstaw modelowania systemów
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W05ma podstawową wiedzę o trendach rozwojowych z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W06ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
T1A_W09ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W01ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
InzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
InzA_W04ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
InzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
Cel przedmiotuC-1Zapoznanie 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 programoweT-W-9Testowanie 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.
T-P-1Opracowanie dokumentacji projektowej oraz jej implementacja na wybranej platformie
T-L-6Opracowanie zestawów testów. Testowanie jenostkowe oraz regresyjne.
T-L-2Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
M-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
M-3Zespołowe zadania projektowe
Sposób ocenyS-2Ocena formująca: Ocena za prezentację implementacji opracowanego oprogramowania.
S-4Ocena podsumowująca: Ekzamin ustny.
S-1Ocena formująca: Ocena prezentacji poszczególnych etapów procesu wytwarzania oprogramowania.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona: - za projekt z wykonaniem testów jednostkowych (70 %) - za implementację (30 %)
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe poziomy testowanie, typy testów, role i artefakty procesu testowania oraz metody testowania
3,5potrafi wymienić i zdefiniować dowolne podstawowe poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania
4,0potrafi precyzyjnie opisać wybrane poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania
4,5potrafi precyzyjnie opisać dowolne poziomy testowanie, typy testów, role oraz artefakty procesu testowania oraz metody testowania
5,0potrafi objaśnić cały proces testowania
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/14_W04Wiedza z podstaw zarządzania projektami systemów informatycznych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W06zna wybrane języki i techniki programowania, podstawowe techniki projektowania i wytwarzania aplikacji oraz systemów informatycznych
I_1A_W11ma elementarną wiedzę w zakresie podstaw zarządzania przedsięwzięciami (projektami) informatycznymi
I_1A_W15ma podstawową wiedzę niezbędną do rozumienia społecznych, prawnych, etycznych i innych pozatechnicznych uwarunkowań działalności inżynierskiej w dziedzinie informatyki
I_1A_W18ma wiedzę w zakresie podstaw modelowania systemów
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W05ma podstawową wiedzę o trendach rozwojowych z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W06ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
T1A_W08ma podstawową wiedzę niezbędną do rozumienia społecznych, ekonomicznych, prawnych i innych pozatechnicznych uwarunkowań działalności inżynierskiej
T1A_W09ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
T1A_W10zna i rozumie podstawowe pojęcia i zasady z zakresu ochrony własności przemysłowej i prawa autorskiego; umie korzystać z zasobów informacji patentowej
T1A_W11zna ogólne zasady tworzenia i rozwoju form indywidualnej przedsiębiorczości, wykorzystującej wiedzę z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W01ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
InzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
InzA_W03ma podstawową wiedzę niezbędną do rozumienia społecznych, ekonomicznych, prawnych i innych uwarunkowań działalności inżynierskiej
InzA_W04ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
InzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
Cel przedmiotuC-1Zapoznanie 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 programoweT-W-4Miary 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.
T-W-34P 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ń.
T-L-1Analiza narzędzi do opracowania projektu informatycznego. Studium wykonalności.
T-W-5Czynnoś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.
T-P-1Opracowanie dokumentacji projektowej oraz jej implementacja na wybranej platformie
T-L-2Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu.
Metody nauczaniaM-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
M-3Zespołowe zadania projektowe
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona: - za projekt z wykonaniem testów jednostkowych (70 %) - za implementację (30 %)
S-4Ocena podsumowująca: Ekzamin ustny.
S-2Ocena formująca: Ocena za prezentację implementacji opracowanego oprogramowania.
S-1Ocena formująca: Ocena prezentacji poszczególnych etapów procesu wytwarzania oprogramowania.
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0potrafi wymienić i zdefiniować wybrane podstawowe metryki wytwarzania oprogramowania
3,5potrafi wymienić i zdefiniować dowolne podstawowe metryki wytwarzania oprogramowania
4,0potrafi precyzyjnie opisać wybrane metryki wytwarzania oprogramowania
4,5potrafi precyzyjnie opisać dowolne metryki wytwarzania oprogramowania
5,0potrafi objaśnić metryki wytwarzania oprogramowania dotyczące wszystkich aspektów wytwarzania oprogramowania
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_C/14_U01Student powinien umieć rozwiązywać zadania inżynierskie z każdego etapu procesu wytwarzania oprogramowania
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
I_1A_U02potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych
I_1A_U05potrafi tworzyć i posługiwać się dokumentacją techniczną
I_1A_U12umie praktycznie zastosować technologie informatyczne w organizacjach, ze szczególnym uwzględnieniem biznesu
I_1A_U17potrafi ocenić przydatność rutynowych metod i narzędzi rozwiązania prostego zadania inżynierskiego, typowego dla reprezentowanej dyscypliny inżynierskiej oraz wybrać i zastosować właściwą metodę i narzędzia
I_1A_U03umie oceniać przydatność i stosować różne paradygmaty programowania, języki i środowiska programistyczne do rozwiązywania problemów dziedzinowych
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_U01potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie
T1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_U03potrafi przygotować w języku polskim i języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, dobrze udokumentowane opracowanie problemów z zakresu studiowanego kierunku studiów
T1A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T1A_U06ma umiejętności językowe w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów, zgodne z wymaganiami określonymi dla poziomu B2 Europejskiego Systemu Opisu Kształcenia Językowego
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U08potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
T1A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
T1A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
T1A_U11ma przygotowanie niezbędne do pracy w środowisku przemysłowym oraz zna zasady bezpieczeństwa związane z tą pracą
T1A_U12potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działań inżynierskich
T1A_U13potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
T1A_U14potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
T1A_U16potrafi - zgodnie z zadaną specyfikacją - zaprojektować oraz zrealizować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U01potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
InzA_U02potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
InzA_U03potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
InzA_U04potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działań inżynierskich
InzA_U05potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
InzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Cel przedmiotuC-1Zapoznanie 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 programoweT-W-8Poję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.
T-W-6Inż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.
T-W-7Projektowania 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ę.
T-W-34P 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ń.
T-W-1Kryzys 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.
T-W-2Modeli 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.
T-W-4Miary 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.
T-W-5Czynnoś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.
T-W-9Testowanie 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.
T-L-1Analiza narzędzi do opracowania projektu informatycznego. Studium wykonalności.
T-L-6Opracowanie zestawów testów. Testowanie jenostkowe oraz regresyjne.
T-L-2Specyfikacja wymagań projektu oraz wstępne harmonogrowanie projektu.
T-L-4Projektowanie architektury komponentowej.
T-L-5Realizacja przypadków użycia. Wzorce projektowe.
T-L-3Modelowanie i analiza wymagań. Architektura funkcjonalna systemu.
T-L-7Prezentacja wyników projektu.
Metody nauczaniaM-1Wykład informacyjny połączony z metodą badania przypadków oraz komputerową demonstracją
M-3Zespołowe zadania projektowe
M-2Ćwiczenia laboratoryjne
Sposób ocenyS-2Ocena formująca: Ocena za prezentację implementacji opracowanego oprogramowania.
S-1Ocena formująca: Ocena prezentacji poszczególnych etapów procesu wytwarzania oprogramowania.
S-3Ocena podsumowująca: Ocena końcowa za laboratoria jako średnia ważona: - za projekt z wykonaniem testów jednostkowych (70 %) - za implementację (30 %)
S-4Ocena podsumowująca: Ekzamin ustny.
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów okreslonych dla oceny 3
3,0umie stosować wybrane podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe
3,5umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe
4,0umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe; umie identyfikować przypadki testowe i wykorzystywać podstawowe techniki testowe i narzędzia do przedmiotu testowania.
4,5umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe; umie identyfikować przypadki testowe i wykorzystywać podstawowe techniki testowe do przedmiotu testowania; umie indentyfikowac metryki niezbedne do szacowania i zarzadzania projektem.
5,0umie stosować dowolne podstawowe diagramy UML w celu uzyskania zgodnej dokumentacji projektowej, odwzorowywać je w kodzie oraz stosować wzorce projektowe; umie identyfikować przypadki testowe i wykorzystywać podstawowe techniki testowe do przedmiotu testowania; umie indentyfikowac metryki niezbedne do szacowania i zarzadzania projektem; umie dostosowywać procesy wywórcze do konkretnego przedsięwzięcia informatycznego