Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Inżynieria oprogramowania
Tok studiów:
2019/2020
Kod:
EELT-2-202-IE-s
Wydział:
Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej
Poziom studiów:
Studia II stopnia
Specjalność:
Inżynieria elektryczna w pojazdach samochodowych
Kierunek:
Elektrotechnika
Semestr:
2
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
Rogus Grzegorz (rogus@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Celem modułu jest zanajomienie sie z tematyką wytwarzanie oprogramowannia. Zostaną omówione poszczególne etapy procesu wytwarzania i utrzymywania oprogramowania.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 zna i rozumie pojęcie systemu informatycznego i główne problemy związane z procesem jego rozwoju ELT2A_W04
M_W002 zna i rozumie zasady obiektowego podejścia do tworzenia oprogramowania ELT2A_W04 Wykonanie ćwiczeń laboratoryjnych
M_W003 zna podstawowe założenia koncepcji architektury systemu opartej na modelu (MDA), zna własności i rolę języka UML w tym kontekście ELT2A_W04 Wykonanie ćwiczeń
M_W004 zna i rozumie strukturę modelu systemu informatycznego w języku UML 2.* ELT2A_W04 Wykonanie ćwiczeń laboratoryjnych
M_W005 zna i rozumie przeznaczenie diagramów przypadków użycia, diagramu klas, aktywności i stanu, stosowane symbole i ich znaczenie ELT2A_W04 Wykonanie ćwiczeń laboratoryjnych
M_W006 zna i rozumie podstawowe obiektowe wzorce projektowe (Singleton, Multipleton, Iterator, Obserwator, Stan, Composite) ELT2A_W04 Wykonanie ćwiczeń laboratoryjnych
M_W007 zna podstawowe cykle życia systemów i metodyki projektowe ELT2A_W04 Wykonanie ćwiczeń laboratoryjnych
Umiejętności: potrafi
M_U001 potrafi zastosować zasady obiektowego podejścia do tworzenia oprogramowania ELT2A_W04 Wykonanie ćwiczeń
M_U002 potrafi dokonać analizy problemu i zaplanować ogólny przebieg jego rozwiązania w postaci systemu informatycznego, dobrać technologie i narzędzia jego realizacji ELT2A_W04 Wykonanie ćwiczeń
M_U003 potrafi zbudować model systemu informatycznego w języku UML, wykorzystując diagramy przypadków użycia, sekwencji, klas i obiektów, maszyny stanowej i czynności ELT2A_W04 Wykonanie ćwiczeń
M_U004 potrafi dobrać i zastosować wzorce projektowe odpowiednio do rozwiązywanego problemu ELT2A_W04 Wykonanie ćwiczeń laboratoryjnych
M_U005 Potrafi dokonać szacowania nakładów w projekcie, a także przeprowadzić analizę ryzyka ELT2A_W04 Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne: jest gotów do
M_K001 potrafi zaplanować działania zmierzające do realizacji złożonego projektu systemu informatycznego ELT2A_W04 Wykonanie ćwiczeń
M_K002 potrafi pracować samodzielnie i w małych zespołach nad realizacja zadania informatycznego ELT2A_W04 Wykonanie ćwiczeń
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
48 28 0 20 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 zna i rozumie pojęcie systemu informatycznego i główne problemy związane z procesem jego rozwoju + - - - - - - - - - -
M_W002 zna i rozumie zasady obiektowego podejścia do tworzenia oprogramowania + - - - - - - - - - -
M_W003 zna podstawowe założenia koncepcji architektury systemu opartej na modelu (MDA), zna własności i rolę języka UML w tym kontekście + - - - - - - - - - -
M_W004 zna i rozumie strukturę modelu systemu informatycznego w języku UML 2.* + - - - - - - - - - -
M_W005 zna i rozumie przeznaczenie diagramów przypadków użycia, diagramu klas, aktywności i stanu, stosowane symbole i ich znaczenie + - - - - - - - - - -
M_W006 zna i rozumie podstawowe obiektowe wzorce projektowe (Singleton, Multipleton, Iterator, Obserwator, Stan, Composite) + - - - - - - - - - -
M_W007 zna podstawowe cykle życia systemów i metodyki projektowe + - - - - - - - - - -
Umiejętności
M_U001 potrafi zastosować zasady obiektowego podejścia do tworzenia oprogramowania - - + - - - - - - - -
M_U002 potrafi dokonać analizy problemu i zaplanować ogólny przebieg jego rozwiązania w postaci systemu informatycznego, dobrać technologie i narzędzia jego realizacji - - + - - - - - - - -
M_U003 potrafi zbudować model systemu informatycznego w języku UML, wykorzystując diagramy przypadków użycia, sekwencji, klas i obiektów, maszyny stanowej i czynności - - + - - - - - - - -
M_U004 potrafi dobrać i zastosować wzorce projektowe odpowiednio do rozwiązywanego problemu - - + - - - - - - - -
M_U005 Potrafi dokonać szacowania nakładów w projekcie, a także przeprowadzić analizę ryzyka - - + - - - - - - - -
Kompetencje społeczne
M_K001 potrafi zaplanować działania zmierzające do realizacji złożonego projektu systemu informatycznego - - + - - - - - - - -
M_K002 potrafi pracować samodzielnie i w małych zespołach nad realizacja zadania informatycznego - - + - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 83 godz
Punkty ECTS za moduł 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 48 godz
Przygotowanie do zajęć 15 godz
Samodzielne studiowanie tematyki zajęć 20 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (28h):
Tematyka wykładu obejmuje przegląd zagadnień niezbędnych do profesjonalnego wytwarzania oprogramowania.

1. Wprowadzenie do inżynierii oprogramowania (2 godz.)
Podstawowe pojęcia i problematyka, przegląd zagadnień.

2. Cykle życia oprogramowania (2 godz.)
Metodyki realizacji systemów. Czynności (fazy) techniczne inżynierii oprogramowania. Czynności zarządcze inżynierii oprogramowania.

3. Specyfikacja wymagań (2 godz.).
Omówienie najważniejszych etapów procesu inżynierii wymagań. Klasyfiakcja wymagań. Cechy dobrej specyfikacji. Omówiony model Sommerville’a-Sawyera dotyczący dojrzałości procesów związanych z inżynierią wymagań.

4. Wprowadzenie do analizy obiektowej. (2 godziny)
Pojęcia podstawowe analizy obiektowej – modele obiektowe i dynamiczne, obiekty encyjne, brzegowe i sterujące, uogólnienie/specjalizacja.
Czynności składowe analizy. Zarządzanie fazą analizy.
Projektowanie systemowe. Pojęcia podstawowe – podsystemy a klasy, usługi i interfejsy podsystemów, sprzężenie a spójność wewnętrzna, warstwy i partycje.

4. Analiza i projektowanie obiektowe w projekcie informatycznym (6 godz.)
Znaczenie fazy analizy w projekcie informatycznym. Podejście obiektowe – język UML.
Omówinie najważniejszych diagramów UML.

5. Wzorce projektowe (2 godz.).
Prezentacja katalogu wzorców projektowych zaproponowany przez tzw. Bandę Czterech oraz zostaną omówione wybrane wzorce projektowe wraz z ich zastosowaniami.

6. Zarządzanie projektem informatycznym – podejśce zwinne i klasyczne (4 godz.)
metodyki klasy Agile. Analiza i zarządzanie ryzykiem w projekcie informatycznym.
Metody szacowania nakładów w projektach informatycznych

7. Wprowadzenie do architektur oprogramowania (2 godz.)
Przegląd architektur oprogramowania. Systemy mobilne.

8. Technologie komponentowe (2 godz.)
Wprowadzenie do technologii komponentowych.

9. Metody testowania i konfiguracji oprogramowania (2 godz.)
Konfiguracje i wersje oprogramowania. Walidacja i testowanie oprogramowania

10. Metodyka RUP (2 godziny)
Wprowadzenie, podstawowe zasady RUP, cykl życia i fazy, dyscypliny i przepływy czynności, RUP a inne metodyki.

Ćwiczenia laboratoryjne (20h):

W ramach przedmiotu prowadzone są ćwiczenia laboratoryjne. Treści tych zajęć ma na celu ugruntowanie i rozszerzenie wiedzy przekazywanej podczas wykładów. Celem zajęć jest analiza i projekt zadanego systemu w wybranym obszarze dziedzinowym z wykorzystaniem narzędzi i zgodnie z podejściem obiektowym.
Ćwiczenia laboratoryjne obejmują:
- zapoznanie się z wybranym systemem wspierającym modelowanie i testowanie systemów np.IBM Rhapsody lub inny o podobnej funkcjonalności
- przygotowanie prostej specyfikacji wymagań dla podanej wizji systemu
- indywidualna praca studentów nad wspólnie realizowanym przykładem modelu systemu informatycznego w języku UML, z wykorzystaniem diagramów przypadków użycia, sekwencji, klas i obiektów, maszyny stanowej i czynności

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zaliczenie ćwiczeń uzyskuje się na podstawie wyników uzyskanych w trakcie zajęć (ćwiczenia wykonywane w ramach zajęć laboratoryjnych) oraz oceny z realizacji projektu podsumowującego.

Zasada zaliczenia w trybie poprawkowym:
W przypadku gdy student nie uzyskał zaliczenia w terminie istnieje możliwość uzyskania zaliczenie w trybie poprawkowym. Uzyskanie zaliczenie wymagać będzie zrealizowania podanych przez prowadzącego zadań zaliczeniowych. Ilość zadań oraz czas realizacji ustalany jest w sposób indywidualny przez prowadzącego
w zależności od rodzaju i ilości zaległości studenta

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
Sposób obliczania oceny końcowej:

Zaliczenie na podstawie oceny z laboratorium oraz uczęszczania na wykłady

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Sposób i tryb wyrównania zaległości powstałych wskutek nieobecności studenta na zajęciach:
Nieobecność na max dwóch ćwiczeniach laboratoryjnych wymaga od studenta samodzielnego opanowania przerabianego na tych zajęciach materiału.
Student który bez usprawiedliwienia opuścił więcej niż dwa laboratoria i jego cząstkowe wyniki w nauce były negatywne, może zostać pozbawiony, przez prowadzącego zajęcia, możliwości poprawkowego zaliczania zajęć. Od takiej decyzji prowadzącego zajęcia student może się odwołać do prowadzącego przedmiot (moduł) lub Dziekana.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Ogólna znajomość języków i procesu programowania przewidzianych w programie studiów. Podstawy matematyki (logika, teoria zbiorów).

Zalecana literatura i pomoce naukowe:

1. Sommerville I.: Inżynieria oprogramowania. WNT 2003.
2. Pressman R.S.: Praktyczne podejście do inżynierii oprogramowania. WNT 2004.
3. Jaszkiewicz A.: Inżynieria oprogramowania. Helion 1997.
4. M.Fowler, K.Scott, UML w kropelce, LTP, 2002.
5. K.Beck, A.Cynthia, Wydajne programowanie – Extreme Programming, Mikom, 2005.
6. A. Cockburn, Jak pisać efektywne przypadki użycia, WNT, Warszawa 2004.

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Assessment of software system presentation layers based on an ECORAM reference architecture model / Michał TUREK, Jan WEREWKA, Kamil Sztandera, Grzegorz ROGUS // W: FedCSIS : abstracts of the Federated Conference on Computer Science and Information Systems : September 13-16, 2015, Łódź, Poland.
2. A solution for adaptation of legacy enterprise software for private cloud computing model / Jan WEREWKA, Grzegorz ROGUS // W: Information systems architecture and technology : service oriented networked systems / eds. Adam Grzech, [et al.] ; Wrocław University of Technology. — Wrocław : Oficyna Wydawnicza Politechniki Wrocławskiej, cop. 2011. — ISBN: 978-83-7493-625-5. — S. 61–75.
3. Integration of classical and agile project management methodologies based on ontological models — Integracja klasycznych i zwinnych metodyk zarządzania projektami informatycznymi w oparciu o modele ontologiczne / Jan WEREWKA, Piotr SZWED, Grzegorz ROGUS // W: Zarządzanie przedsiębiorstwem – teoria i praktyka [Dokument elektroniczny] : XII międzynarodowa konferencja naukowa : 27–28 maja 2010, Kraków : materiały konferencyjne / Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie.
4. ISMESDaD – a Synergetic Methodology for Enterprise Software Development and Deployment / Grzegorz ROGUS, Paweł SKRZYŃSKI, Piotr SZWED, Michał TUREK, Jan WEREWKA // W: Aspects of production engineering and management / ed. Piotr Łebkowski. — Kraków : AGH University of Science and Technology Press, 2011.
5. Metody formalne w inżynierii oprogramowania systemów czasu rzeczywistego — [Formal methods in real-time software engineering] / Tomasz SZMUC, Marcin SZPYRKA ; współautorzy: Radosław KLIMEK, Konrad KUŁAKOWSKI, Antoni LIGĘZA, Piotr MATYASIK, Grzegorz J. NALEPA, Jacek PIWOWARCZYK, Agata Półrola, Grzegorz ROGUS, Sławomir Samolej, Wojciech SZMUC, Piotr SZWED, Bartosz Trybus, Bożena Woźna-Szcześniak. — Warszawa : Wydawnictwa Naukowo-Techniczne, 2010. — VI, 464 s.
6. Towards an ontology approach to ATAM based assessment of service oriented architectures — Ontologia dla oceny za pomocą metody ATAM architektur zorientowanych na usługi / Piotr SZWED, Grzegorz ROGUS, Paweł SKRZYŃSKI, Michał TUREK, Jan WEREWKA // Automatyka = Automatics ; ISSN 1429-3447. — Tytuł poprz.: Automatyka : półrocznik Akademii Górniczo-Hutniczej im. Stanisława Staszica w Krakowie. — 2012 vol. 16 no. 2, s. 175–187.

Informacje dodatkowe:

Brak