Module also offered within study programmes:
General information:
Name:
Projektowanie systemów informatycznych
Course of study:
2019/2020
Code:
RAIR-1-606-n
Faculty of:
Mechanical Engineering and Robotics
Study level:
First-cycle studies
Specialty:
-
Field of study:
Automatics and Robotics
Semester:
6
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Part-time studies
Course homepage:
 
Responsible teacher:
dr inż. Miękina Lucjan (miekina@agh.edu.pl)
Module summary

Celem kursu jest zapoznanie studentów z nowoczesnym podejściem do tworzenia systemów
informatycznych o średniej i dużej skali opartym o metody obiektowe i model w języku UML. Kurs
obejmuje procesy inżynierii oprogramowania, analizę wymagań, modelowanie w języku UML, obiektowe
wzorce projektowe, uruchamianie i testowanie, pracę grupową i ciągłą integrację oprogramowania.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 potrafi zaplanować działania zmierzające do realizacji złożonego projektu systemu informatycznego AIR1A_K02 Execution of a project
M_K002 potrafi pracować samodzielnie i w małych zespołach nad realizacją zadania informatycznego AIR1A_K02 Execution of a project,
Execution of laboratory classes
Skills: he can
M_U001 potrafi zastosować zasady obiektowego podejścia do projektowania oprogramowania AIR1A_U04, AIR1A_U09 Test,
Execution of a project,
Execution of laboratory classes
M_U002 potrafi dokonać analizy problemu i zaplanować ogólny przebieg jego rozwiązania w postaci projektu systemu informatycznego, dobrać technologie i narzędzia jego realizacji AIR1A_U04, AIR1A_U09 Execution of a project,
Execution of laboratory classes
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 AIR1A_U04, AIR1A_U09 Test,
Execution of a project,
Execution of laboratory classes
M_U004 potrafi dokonać uruchomienia i symulacji modelu w środowisku udostępnianym przez stosowane narzędzia (IBM Rhapsody lub inne) AIR1A_U04, AIR1A_U09 Execution of a project,
Execution of laboratory classes
M_U005 potrafi zrealizować uruchamianie i testowanie systemu różnymi metodami (logowanie danych, debugger, profiler, asercje, kod testujący, automatyczne narzędzia testujące) AIR1A_U04, AIR1A_U09 Execution of a project,
Execution of laboratory classes
M_U006 potrafi dobrać i zastosować wzorce projektowe odpowiednio do rozwiązywanego problemu AIR1A_U04, AIR1A_U09 Test,
Execution of a project,
Execution of laboratory classes,
Test results
Knowledge: he knows and understands
M_W001 zna i rozumie zasady obiektowego podejścia do tworzenia oprogramowania AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes
M_W002 zna i rozumie pojęcie systemu informatycznego i główne problemy związane z procesem jego projektowania AIR1A_W12 Test,
Execution of laboratory classes
M_W003 zna ogólną organizację procesu projektowania oprogramowania; zna wiodące techniki i narzędzia typu CASE wspierające ten proces AIR1A_W12 Test
M_W004 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 AIR1A_W12 Test,
Execution of laboratory classes
M_W005 zna i rozumie strukturę modelu systemu informatycznego w języku UML 2.* AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes
M_W006 zna i rozumie przeznaczenie diagramów przypadków użycia, stosowane symbole i ich znaczenie AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
M_W007 zna i rozumie przeznaczenie diagramów sekwencji, stosowane symbole i ich znaczenie, zna rolę diagramu sekwencji w procesie modelowania struktury na podstawie przypadków użycia, zna rolę diagramu sekwencji w procesie modelowania interakcji realizujących przypadki użycia AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
M_W008 zna i rozumie przeznaczenie diagramów klas i obiektów, stosowane symbole i ich znaczenie AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
M_W009 zna i rozumie przeznaczenie diagramów maszyny stanowej, stosowane symbole i ich znaczenie AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
M_W010 zna i rozumie przeznaczenie diagramów czynności, stosowane symbole i ich znaczenie AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
M_W011 zna i rozumie przeznaczenie diagramów interfejsu użytkownika (paneli), stosowane symbole, ich znaczenie isposób powiązania z innymi elementami modelu AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
M_W012 zna i rozumie podstawowe obiektowe wzorce projektowe (Singleton, Multipleton, Iterator, Obserwator, Stan, Composite) AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
M_W013 zna podstawowe cykle życia systemów i metodyki projektowe AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes
M_W014 zna podstawowe metody uruchamiania i testowania systemów informatycznych AIR1A_W12 Test,
Execution of a project,
Execution of laboratory classes,
Test results
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
24 8 0 8 8 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
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 realizacją zadania informatycznego - - - + - - - - - - -
Skills
M_U001 potrafi zastosować zasady obiektowego podejścia do projektowania oprogramowania - - + + - - - - - - -
M_U002 potrafi dokonać analizy problemu i zaplanować ogólny przebieg jego rozwiązania w postaci projektu 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 dokonać uruchomienia i symulacji modelu w środowisku udostępnianym przez stosowane narzędzia (IBM Rhapsody lub inne) - - + + - - - - - - -
M_U005 potrafi zrealizować uruchamianie i testowanie systemu różnymi metodami (logowanie danych, debugger, profiler, asercje, kod testujący, automatyczne narzędzia testujące) - - + + - - - - - - -
M_U006 potrafi dobrać i zastosować wzorce projektowe odpowiednio do rozwiązywanego problemu - - + + - - - - - - -
Knowledge
M_W001 zna i rozumie zasady obiektowego podejścia do tworzenia oprogramowania + - + - - - - - - - -
M_W002 zna i rozumie pojęcie systemu informatycznego i główne problemy związane z procesem jego projektowania + - + - - - - - - - -
M_W003 zna ogólną organizację procesu projektowania oprogramowania; zna wiodące techniki i narzędzia typu CASE wspierające ten proces + - + - - - - - - - -
M_W004 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_W005 zna i rozumie strukturę modelu systemu informatycznego w języku UML 2.* + - + - - - - - - - -
M_W006 zna i rozumie przeznaczenie diagramów przypadków użycia, stosowane symbole i ich znaczenie + - + - - - - - - - -
M_W007 zna i rozumie przeznaczenie diagramów sekwencji, stosowane symbole i ich znaczenie, zna rolę diagramu sekwencji w procesie modelowania struktury na podstawie przypadków użycia, zna rolę diagramu sekwencji w procesie modelowania interakcji realizujących przypadki użycia + - + - - - - - - - -
M_W008 zna i rozumie przeznaczenie diagramów klas i obiektów, stosowane symbole i ich znaczenie + - + - - - - - - - -
M_W009 zna i rozumie przeznaczenie diagramów maszyny stanowej, stosowane symbole i ich znaczenie + - + - - - - - - - -
M_W010 zna i rozumie przeznaczenie diagramów czynności, stosowane symbole i ich znaczenie + - + - - - - - - - -
M_W011 zna i rozumie przeznaczenie diagramów interfejsu użytkownika (paneli), stosowane symbole, ich znaczenie isposób powiązania z innymi elementami modelu + - + - - - - - - - -
M_W012 zna i rozumie podstawowe obiektowe wzorce projektowe (Singleton, Multipleton, Iterator, Obserwator, Stan, Composite) + - + - - - - - - - -
M_W013 zna podstawowe cykle życia systemów i metodyki projektowe + - + - - - - - - - -
M_W014 zna podstawowe metody uruchamiania i testowania systemów informatycznych + - + - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 82 h
Module ECTS credits 3 ECTS
Udział w zajęciach dydaktycznych/praktyka 24 h
Preparation for classes 16 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 20 h
Realization of independently performed tasks 20 h
Examination or Final test 2 h
Module content
Lectures (8h):

Wykład dotyczy zagadnień:

  • inżynieria oprogramowania jako dziedzina
  • proces projektowania oprogramowania
  • narzędzia CASE
  • projektowanie systemów w języku UML wraz z dyskusją przykładu kompletnego systemu
  • diagramy przypadków użycia
  • diagramy klas i obiektów
  • diagramy zachowania i stanu
  • metodyki realizacji systemów
  • obiektowe wzorce projektowe
  • inżynieria wahadłowa z wykorzystaniem narzędzi
  • metody testowania oprogramowania

Laboratory classes (8h):

Ćwiczenia laboratoryjne obejmują:

  • zapoznanie się z wybranym systemem wspierającym projektowanie i testowanie systemów (IBM Rhapsody)
  • indywidualna praca studentów nad wspólnie realizowanym przykładem projektu systemu informatycznego w języku UML, z wykorzystaniem diagramów: przypadków użycia, sekwencji, klas i obiektów, maszyny stanowej i czynności
  • uruchomienie i symulację modelu w środowisku IBM Rhapsody
  • testowanie z użyciem logowania danych, asercji
  • testowanie jednostek (klas) z użyciem kodu testującego wygenerowanego automatycznie (JUnit)
  • automatyczne testowanie w środowisku IBM Rhapsody z użyciem diagramów sekwencji

Project classes (8h):

Ćwiczenia projektowe obejmują wykonanie indywidualnie lub w grupach 2-osobowych modelu UML prostego programu zorganizowanego obiektowo.
Przykładowe tematy:

  • Obsługa złożonego urządzenia (pralka, bankomat, odtwarzacz plików muzycznych, itp.)
  • System rezerwacji połączeń lotniczych i sprzedaży biletów
  • Komis samochodowy
  • Wypożyczalnia (książek, filmów, itp.)

Po zakończeniu modelowania zadaniem jest uruchomienie i symulacja modelu w środowisku IBM Rhapsody, a następnie przygotowanie przypadków testowych i przetestowanie wybranych aspektów systemu.

Additional information
Teaching methods and techniques:
  • Lectures: 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ń.
  • Laboratory classes: 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ą.
  • Project classes: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Warunkiem zaliczenia ćwiczeń laboratoryjnych jest wykonanie zadań zleconych w trakcie zajęć i
zaliczenie testu znajomości języka UML.
Warunkiem zaliczenia ćwiczeń projektowych jest wykonanie projektu i przedstawienie go do oceny,
połączone z uzasadnieniem zastosowanych rozwiązań.

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: No
    – Participation rules in classes: 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.
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: 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.
  • Project classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Method of calculating the final grade:

Średnia ważona z oceny ćwiczeń laboratoryjnych (40%) i projektu (60%).

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

Samodzielne wykonanie zaległych zadań i przedstawienie do oceny.

Prerequisites and additional requirements:

Umiejętność sprawnego programowania obiektowego w języku C++

Recommended literature and teaching resources:
  • Booch G., Rumbaugh J., Jacobson I.: UML – przewodnik użytkownika. WNT, Warszawa 2002
  • Gamma E., Helms R., Johnson R., Vlissides J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995
  • Miękina L.: Inżynieria Oprogramowania, UWND AGH, Kraków, 2009, SU 1707
  • Binder R.: Testowanie systemów obiektowych . Warszawa, WNT 2003
  • Stroustrup B.: Język C++. Warszawa, WNT 2002
  • Gregoire M., Professional C++, Third Edition, John Wiley & Sons, Inc., 2014
Scientific publications of module course instructors related to the topic of the module:

Miękina L.: Inżynieria Oprogramowania, UWND AGH, Kraków, 2009, SU 1707

Additional information:
  1. Kolokwium zaliczeniowe odnosi sie do zagadnień poruszanych na ćwiczeniach i ma wpływ na
    ocenę z ćwiczeń laboratoryjnych