Inżynieria oprogramowania

Transkrypt

Inżynieria oprogramowania
Nazwa przedmiotu:
INŻYNIERIA OPROGRAMOWANIA
Software engineering
Kierunek:
Forma studiów:
Stacjonarne
Poziom przedmiotu:
Informatyka
Kod przedmiotu:
obowiązkowy w ramach treści
kierunkowych, moduł kierunkowy
ogólny
I stopnia
C5_19
Rok: III
Semestr: V
Rodzaj zajęć:
Liczba godzin/tydzień:
Liczba punktów:
wykład, laboratorium
2WE, 2L
5 ECTS
Rodzaj przedmiotu:
PRZEWODNIK PO PRZEDMIOCIE
I KARTA PRZEDMIOTU
CEL PRZEDMIOTU
C1. Zapoznanie studentów z przebiegiem procesu produkcyjnego oprogramowania,
rozpoczynając od fazy strategicznej, poprzez ustalenie wymagań po stronie użytkownika, aż
do faz końcowych, tj. testowania instalacji u użytkownika i pielęgnacji.
C2. Nabycie przez studentów praktycznych umiejętności w zakresie projektowania
oprogramowania.
WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI
1. Wiedza z zakresu matematyki i podstaw programowania.
2. Znajomość najpopularniejszych paradygmatów programowania: proceduralnego oraz
obiektowego.
3. Umiejętność projektowania klas i znajomość rodzajów relacji między nimi.
4. Umiejętność stosowania odpowiednich algorytmów i struktur danych do rozwiązywania
problemów.
5. Umiejętność korzystania z różnych źródeł informacji w tym z instrukcji i dokumentacji
technicznej.
6. Umiejętności pracy samodzielnej i w grupie.
7. Umiejętności prawidłowej interpretacji i prezentacji własnych działań.
EFEKTY KSZTAŁCENIA
EK 1 – posiada podstawową wiedzę teoretyczną z zakresu projektowania oprogramowania,
EK 2 – zna tendencje i kierunki rozwoju w zakresie projektowania i programowania systemów
komputerowych,
EK 3 – potrafi wykorzystać proces inżynierii wymagań do identyfikacji wymagań stawianych
oprogramowaniu,
EK 4 – potrafi przedstawić projekt systemu komputerowego w postaci dokumentacji technicznej
jak również potrafi ją biegle odczytać,
EK 5 – potrafi wykorzystać wybrane techniki inżynierii oprogramowania w trakcie procesu
projektowania oprogramowania, z uwzględnieniem wykorzystania odpowiednich
wzorców projektowych w procesie projektowania
1
EK 6 – zna podstawowe zagadnienia dotyczące weryfikacji i walidacji oprogramowania oraz
automatyzacji testowania.
EK 7 – potrafi utworzyć testy jednostkowe dla wybranego fragmentu systemu,
EK 8 – zna metody zarządzania cyklem życia oprogramowania oraz podstawy zarządzania
przedsięwzięciami programistycznymi,
TREŚCI PROGRAMOWE
Forma zajęć – WYKŁADY
W 1 – Modele procesu tworzenia oprogramowania.
W 2 – Proces inżynierii wymagań.
W 3 – Wprowadzenie do UML.
W 4 – UML – diagramy strukturalne.
W 5 – UML – diagramy behawioralne.
W 6 – Projektowanie obiektowe.
W 7 – Metody identyfikacja klas i obiektów w tworzonym projekcie.
W 8 – Architektura systemów komputerowych.
W 9 – Wstęp do wzorców projektowych.
W 10 – Szczegółowe omówienie wybranych wzorców projektowych.
W 11 – Proces weryfikacji i walidacji oprogramowania.
W 12 – Testy jednostkowe.
W 13 – Techniki programowania zwinnego.
W 14 – Podstawy zarządzania przedsięwzięciami programistycznymi.
W 15 – Zarządzanie konfiguracją oprogramowania.
Forma zajęć – LABORATORIUM
L 1 – Zapoznanie z pojęciami inżynierii oprogramowania.
L 2 – Zapoznanie z narzędziami CASE na przykładzie programu Enterprise Architect.
L 3 – Specyfikacja wymagań dla przykładowego projektu.
L 4 – Projektowanie przypadków użycia na podstawie specyfikacji wymagań.
L 5 – Scenariusze przypadków użycia, scenariusze alternatywne, wyjątki.
L 6 – Diagramy sekwencji dla przypadków użycia.
L 7 – Związki klas: generalizacja, asocjacja, agregacja i kompozycja.
L 8 – Projekt diagramu klas dla rozważanego wcześniej projektu.
L 9 – Tworzenie dokumentacji dla danego kodu źródłowego.
L 10 – Wykorzystanie wybranych diagramów UML w projekcie oprogramowania.
L 11 – Przykładowe implementacja wybranych wzorców projektowych.
L 12 – Łączenie wzorców projektowych.
L 13 – Budowa oprogramowania zgodnego ze wzorcem Model-Widok-Kontroler.
L 14 – Testowanie oprogramowania – testy jednostkowe.
L 15 – Wstęp do systemów kontroli wersji.
Liczba
godzin
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
Liczba
godzin
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
NARZĘDZIA DYDAKTYCZNE
1. – wykład z wykorzystaniem prezentacji multimedialnych
2. – ćwiczenia laboratoryjne, opracowanie sprawozdań z realizacji przebiegu ćwiczeń
3. – instrukcje do wykonania ćwiczeń laboratoryjnych
4. – profesjonalny program typu CASE (Enterprise Architect)
2
5. – wybrane środowisko programistyczne IDE
SPOSOBY OCENY ( F – FORMUJĄCA, P – PODSUMOWUJĄCA)
F1. – ocena przygotowania do ćwiczeń laboratoryjnych
F2. – ocena umiejętności stosowania zdobytej wiedzy podczas wykonywania ćwiczeń
F3. – ocena aktywności podczas zajęć
P1. – ocena umiejętności rozwiązywania postawionych problemów oraz sposobu prezentacji
uzyskanych wyników – zaliczenie na ocenę*
P2. – ocena opanowania materiału nauczania będącego przedmiotem wykładu – zaliczenie wykładu
(lub egzamin)
*) warunkiem uzyskania zaliczenia jest otrzymanie pozytywnych ocen ze wszystkich ćwiczeń laboratoryjnych,
OBCIĄŻENIE PRACĄ STUDENTA
Forma aktywności
Godziny kontaktowe z prowadzącym
Średnia liczba godzin na
zrealizowanie aktywności
30W 30L  60 h
Godziny konsultacji z prowadzącym
5h
Godziny przeznaczone na egzamin
3h
Zapoznanie się ze wskazaną literaturą
12 h
Przygotowanie do ćwiczeń laboratoryjnych
15 h
Wykonanie sprawozdań z realizacji ćwiczeń laboratoryjnych,
10 h
projektów (czas poza zajęciami)
Przygotowanie do egzaminu i kolokwium
Suma
SUMARYCZNA LICZBA PUNKTÓW ECTS DLA PRZEDMIOTU
liczba punktów ECTS, którą student uzyskuje na zajęciach
wymagających bezpośredniego udziału nauczycieli akademickich
liczba punktów ECTS, którą student uzyskuje w ramach zajęć o
charakterze praktycznym
20 h

125 h
5 ECTS
2.7 ECTS
2.2 ECTS
LITERATURA PODSTAWOWA I UZUPEŁNIAJĄCA
1. Gamma E. i in.: Wzorce projektowe, WNT, Warszawa 2005.
2. Jaszkiewicz A.: Inżynieria oprogramowania, Helion, Gliwice 1997.
3. Miles R., Hamilton K.: UML 2.0. Wprowadzenie, Helion, Gliwice 2007.
4. Pressman R.S.: Praktyczne podejście do inżynierii oprogramowania, WNT, Warszawa
2004.
5. Sommerville I.: Inżynieria oprogramowania, WNT, Warszawa 2003.
6. Wrycza S., Marcinkowski B., Wyrzykowski K.: Język UML 2.0 w modelowaniu systemów
informatycznych, Helion, Gliwice 2006,
7. Booch G., Rumbaugh J., Jacobson I.: UML przewodnik użytkownika, WNT, Warszawa 2002.
8. Fowler M., Scott K.: UML w kropelce, Oficyna Wydawnicza LPT, Warszawa 2002
9. McConnell S.: Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów, Helion, Gliwice
2010
10. Sacha K.: Inżynieria oprogramowania, PWN, Warszawa 2010.
3
PROWADZĄCY PRZEDMIOT ( IMIĘ, NAZWISKO, ADRES E-MAIL)
1. dr inż. Robert Dyja [email protected]
MACIERZ REALIZACJI EFEKTÓW KSZTAŁCENIA
Efekt
kształcenia
EK1
EK2
EK3
EK4
EK5
EK6
EK7
EK8
Odniesienie
danego efektu do
efektów
zdefiniowanych
dla całego
programu (PEK)
K_W14
K_W04
K_W19
K_W14
K_W13
K_W08
K_K01
K_U17
K_U02
K_K05
K_W14
K_W08
K_U02
K_U03
K_U17
K_U02
K_U17
K_W14
K_W13
K_W14
K_U17
K_U16
K_W14
K_W25
Cele
przedmiotu
Treści
programowe
Narzędzia
dydaktyczne
Sposób oceny
C1
W1-15
L1-2,14
1,2,3,4
P2
C1
W1
L2,14
1,2,3,4,5
P1
C2
W2
L3-5
1,2,3,4,5
F1,F2,
F3
C2
W3-5
L6-7
1,2,3,4
F1,F2,
F3
C1,C2
W3-5,9-10
L4,5,8,9,11-13
1,2,3,4,5
F1,F2,
F3
C1
C2
C1, C2
W11-12
W11-12
L14
W1,13,14,15
L15
1
1,2,3,5
1
F3
F1,F2,
F3
F3
4
II. FORMY OCENY - SZCZEGÓŁY
Na ocenę 2
Efekt 1,2,3,8
Student zna
podstawowe
czynności
wykonywane
podczas
poszczególnych
etapów procesu
produkcyjnego
oprogramowania
oraz potrafi je
wykonywać
Na ocenę 3
Na ocenę 4
Na ocenę 5
Student nie zna
podstawowych
czynności
wykonywanych
podczas
poszczególnych
etapów procesu
produkcyjnego
oprogramowania
Student częściowo
zna podstawowe
czynności
wykonywane
podczas
poszczególnych
etapów procesu
produkcyjnego
oprogramowania
oraz potrafi je
wykonywać z
pomocą
prowadzącego
Student zna
podstawowe
czynności
wykonywane
podczas
poszczególnych
etapów procesu
produkcyjnego
oprogramowania
oraz potrafi je
wykonywać na
podstawie instrukcji
Student zna
podstawowe czynności
wykonywane podczas
poszczególnych
etapów procesu
produkcyjnego
oprogramowania oraz
potrafi je samodzielnie
wykonywać
Efekt 4,5
Student posiada
umiejętności
stosowania wiedzy
w praktycznym
rozwiązywaniu
problemów
związanych z
projektowaniem
oprogramowania
Student nie posiada
umiejętności
stosowania wiedzy
w praktycznym
rozwiązywaniu
problemów
związanych z
projektowaniem
oprogramowania
Student posiada
ograniczone
umiejętności
stosowania wiedzy
w praktycznym
rozwiązywaniu
problemów
związanych z
projektowaniem
oprogramowania
Student posiada
umiejętności
stosowania wiedzy
w praktycznym
rozwiązywaniu
problemów
związanych z
projektowaniem
oprogramowania
Student posiada
umiejętności
stosowania wiedzy
w praktycznym
rozwiązywaniu
problemów związanych
z projektowaniem
oprogramowania,
potrafi dokonać oceny
oraz uzasadnić trafność
przyjętych metod
Efekt 6,7
Student zna
podstawowe
zagadnienia
dotyczące weryfikacji
i walidacji
oprogramowania
oraz automatyzacji
testowania
Student nie zna
podstawowe
zagadnienia
dotyczące weryfikacji
i walidacji
oprogramowania
oraz automatyzacji
testowania
Student zna
częściowo
podstawowe
zagadnienia
dotyczące weryfikacji
i walidacji
oprogramowania
oraz automatyzacji
testowania
Student zna
podstawowe
zagadnienia
dotyczące weryfikacji
i walidacji
oprogramowania
oraz automatyzacji
testowania
Student zna
podstawowe
zagadnienia dotyczące
weryfikacji i walidacji
oprogramowania oraz
automatyzacji
testowania oraz potrafi
samodzielnie poszerzać
wiedzę
Dopuszcza się wystawienie oceny połówkowej o ile student spełniający wszystkie efekty
kształcenia wymagane do oceny pełnej spełnia niektóre efekty kształcenia odpowiadające
ocenie wyższej
III. INNE PRZYDATNE INFORMACJE O PRZEDMIOCIE
1. Wszelkie informacje dla studentów (prezentacje do zajęć, instrukcje do ćwiczeń laboratoryjnych)
dostępne są na stronie internetowej http://icis.pcz.pl/~dyja, w zakładce Dydaktyka.
2. Informacja na temat konsultacji przekazywana jest studentom podczas pierwszych zajęć danego z
przedmiotu.
5