Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Software engineering
Tok studiów:
2013/2014
Kod:
RMS-1-603-s
Wydział:
Inżynierii Mechanicznej i Robotyki
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Mechatronics with English as instruction languagege
Semestr:
6
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
dr inż. Miękina Lucjan (miekina@agh.edu.pl)
Osoby prowadzące:
dr inż. Miękina Lucjan (miekina@agh.edu.pl)
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 knows and understands the principles of object-oriented programming, as well as the advantages it brings MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W002 knows and understands the notion of software system and the main problems related to its development MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W003 knows the overall software development process organization; knows the leading practices and CASE tools supporting the process MS1A_W10 Kolokwium
M_W004 knows the basic concepts behind Model-Driven Architecture; knows the role and features offered by the UML language in this respect MS1A_W10 Kolokwium,
Wykonanie ćwiczeń laboratoryjnych
M_W005 knows and understands the typical structure of a software system model in UML 2.* MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_W006 knows and understands use case diagrams, their purpose, symbols used and their meaning MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W007 knows and understands sequence diagrams, their purpose, symbols used and their meaning; in particular knows their role in use case based structural modeling MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W008 knows and understands class and object diagrams, their purpose, symbols used and their meaning MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W009 knows and understands state machine diagrams, their purpose, symbols used and their meaning MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W010 knows and understands activity diagrams, their purpose, symbols used and their meaning MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W011 knows and understands panel diagrams, their purpose, symbols used and their meaning; knows how to bind UI elements to other model elements MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W012 knows and understands the basic object-oriented design patterns (Singleton, Multipleton, Iterator, Observer, State, Composite) MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
M_W013 knows and understands the basic software development life cycle kinds and development methodologies MS1A_W10 Kolokwium
M_W014 knows how to debug and test the software system MS1A_W10 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
Umiejętności
M_U001 can apply the principles of object-oriented approach in software engineering MS1A_U14 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_U002 can perform requirements analysis and formulate the development process that leads to producing a required software system, can properly select technologies and tools needed to complete the task MS1A_U14 Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_U003 can build the software system model in UML, using basic UML diagrams (use case, sequence, class and object, state machine and activity, panel) MS1A_U14 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_U004 can deploy and simulate the model of software system in a modeling environment (IBM Rhapsody or other) MS1A_U10 Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_U005 can perform debugging and testing the system using various methods (with data logging, debugger, profiler, assertions, testing code, automatic testing tools - Rhapsody TestConductor) MS1A_U14 Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
M_U006 can properly select and apply the object-oriented design patterns MS1A_U14 Kolokwium,
Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych,
Wynik testu zaliczeniowego
Kompetencje społeczne
M_K001 can properly organize the steps necessary to complete the software project MS1A_K05 Wykonanie projektu
M_K002 can work anassisted and in teams to complete a software project MS1A_K04 Wykonanie projektu,
Wykonanie ćwiczeń laboratoryjnych
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Inne
Zaj. terenowe
Zaj. warsztatowe
E-learning
Wiedza
M_W001 knows and understands the principles of object-oriented programming, as well as the advantages it brings + - + - - - - - - - -
M_W002 knows and understands the notion of software system and the main problems related to its development + - + - - - - - - - -
M_W003 knows the overall software development process organization; knows the leading practices and CASE tools supporting the process + - + - - - - - - - -
M_W004 knows the basic concepts behind Model-Driven Architecture; knows the role and features offered by the UML language in this respect + - + - - - - - - - -
M_W005 knows and understands the typical structure of a software system model in UML 2.* + - + - - - - - - - -
M_W006 knows and understands use case diagrams, their purpose, symbols used and their meaning + - + - - - - - - - -
M_W007 knows and understands sequence diagrams, their purpose, symbols used and their meaning; in particular knows their role in use case based structural modeling + - + - - - - - - - -
M_W008 knows and understands class and object diagrams, their purpose, symbols used and their meaning + - + - - - - - - - -
M_W009 knows and understands state machine diagrams, their purpose, symbols used and their meaning + - + - - - - - - - -
M_W010 knows and understands activity diagrams, their purpose, symbols used and their meaning + - + - - - - - - - -
M_W011 knows and understands panel diagrams, their purpose, symbols used and their meaning; knows how to bind UI elements to other model elements + - + - - - - - - - -
M_W012 knows and understands the basic object-oriented design patterns (Singleton, Multipleton, Iterator, Observer, State, Composite) + - + - - - - - - - -
M_W013 knows and understands the basic software development life cycle kinds and development methodologies + - + - - - - - - - -
M_W014 knows how to debug and test the software system + - + - - - - - - - -
Umiejętności
M_U001 can apply the principles of object-oriented approach in software engineering - - + + - - - - - - -
M_U002 can perform requirements analysis and formulate the development process that leads to producing a required software system, can properly select technologies and tools needed to complete the task - - + + - - - - - - -
M_U003 can build the software system model in UML, using basic UML diagrams (use case, sequence, class and object, state machine and activity, panel) - - + + - - - - - - -
M_U004 can deploy and simulate the model of software system in a modeling environment (IBM Rhapsody or other) - - + + - - - - - - -
M_U005 can perform debugging and testing the system using various methods (with data logging, debugger, profiler, assertions, testing code, automatic testing tools - Rhapsody TestConductor) - - + + - - - - - - -
M_U006 can properly select and apply the object-oriented design patterns - - + + - - - - - - -
Kompetencje społeczne
M_K001 can properly organize the steps necessary to complete the software project - - - - - - - - - - -
M_K002 can work anassisted and in teams to complete a software project - - - - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

Lecture covers the following topics:

  • software engineering as a discipline,
  • principles of object-oriented programming, and the advantages it brings
  • a software engineering proces
  • an overview of CASE tools
  • software systems modeling in UML, including a complete example of system
  • use case diagrams
  • class and object diagrams
  • behavioral diagrams: sequence, activity and state nmachine
  • system development methods (RUP, Scrum, XP, etc.)
  • object-oriented design patterns
  • round-trip engineering
  • software testing methods

Ćwiczenia laboratoryjne:

During laboratories the students:

  • learn how to use the software modeling environment (IBM Rhapsody)
  • work individually on a jointly discussed and realized example of software model in UML, using the basic UML diagrams (use case, sequence, class and object, state machine, activity, panel (UI))
  • deploy and simulate a model in IBM Rhapsody environment
  • test the system with data logging, debugger, profiler, assertions, automatic testing tools – Rhapsody TestConductor)
  • test units (classes) with testing code generated automatically (JUnit)

Ćwiczenia projektowe:

During projects the students prepare individually or in small teams in UML a model of a simple object-oriented program.
Example projects:

  • control of compound device (washing machine, ATM, music player, etc.)
  • airline reservation system
  • warehouse
  • library
    Upon completion, the model is simulated in IBM Rhapsody environment. Next, test cases are prepared and executed.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 88 godz
Punkty ECTS za moduł 3 ECTS
Udział w wykładach 15 godz
Przygotowanie do zajęć 13 godz
Udział w ćwiczeniach laboratoryjnych 13 godz
Dodatkowe godziny kontaktowe z nauczycielem 15 godz
Wykonanie projektu 15 godz
Samodzielne studiowanie tematyki zajęć 15 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Grades are calculated as follows:

  • software labs 25 %
  • quizz 25 %
  • final test 25 %
  • project 25 %
    All of them must be passed.
Wymagania wstępne i dodatkowe:

Ability to efficiently program in object-oriented languages (C++ or Java)

Zalecana literatura i pomoce naukowe:
  • Booch G., Rumbaugh J., Jacobson I.: The Unified Modeling Language User Guide, Addison
    Wesley Longman, 1999
  • Gamma E., Helms R., Johnson R., Vlissides J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995
  • Binder R.: Testing object-oriented systems, Addison Wesley Longman , 2000
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:
  • The quizz refers to material presented in the lectures and affects the final grade
  • The final test refers to material discussed in the software labs