Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Inżynieria oprogramowania

Informacje ogólne

Kod przedmiotu: 0800-INZPROG
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Inżynieria oprogramowania
Jednostka: Wydział Fizyki, Astronomii i Informatyki Stosowanej
Grupy:
Strona przedmiotu: http://fizyka.umk.pl/~jacek/dydaktyka/inzynieria/
Punkty ECTS i inne: 2.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Wymagania wstępne:

Znajomość programowania obiektowego.

Zajęcia będą prowadzone z użyciem języka C#

Całkowity nakład pracy studenta:

Godziny realizowane z udziałem nauczycieli (30h):

Laboratorium: 30h


Czas poświęcony na pracę indywidualną studenta (30h):

Przygotowanie do kolokwium i zadania domowe: 30h


Łącznie 60h (2 ECTS)

Efekty uczenia się - wiedza:

W1. Posiada wiedzę z zakresu różnych metod wytwarzania oprogramowania, zna różnice pomiędzy różnymi procesami tworzenia kodu źródłowego i sposobu zarządzania zespołem (K_W05, K_W06)

W2. Zna metody pracy w zespole (K_W06, K_W13)

W3. Posiada wiedzę z zakresu projektowania aplikacji, w tym wzorców projektowych, narzędzi, technologii oraz zna cykl życia produktu (K_W06, K_W10, K_W11, K_W13)

W4. Zna paradygmaty programistyczne (K_W05, K_W06, K_W10)

Efekty uczenia się - umiejętności:

U1. Potrafi w praktyce wykorzystać poznane wzorce projektowe (K_U06, K_U08, K_U10, K_U21)

U2. Umie odnaleźć się w zwinnych metodach wytwarzania oprogramowania np. SCRUM (K_U22, K_U24)



Efekty uczenia się - kompetencje społeczne:

1. Potrafi odnaleźć się w zespole specjalistów i proponować własne rozwiązania (K_K02)

2. Potrafi wyrazić swój pomysł w sposób prosty i logiczny (K_K04, K_K05)



Metody dydaktyczne:

- laboratorium

- wystąpienia studentów

Skrócony opis:

Celem zajęć jest przedstawienie zasad tworzenia dobrego oprogramowania tj. takiego, które łatwe jest w utrzymaniu i jest podatne na rozwój i zmiany.

Studenci poznają też metody wytwarzania oprogramowania.

Pełny opis:

1. Podstawy

a. Przypomnienie podstaw programowania obiektowego

b. Testy jednostkowe

c. Założenia SOLID

d. Odwrócenie kontroli (IoC) i wstrzykiwanie zależności (DI)

2. Zwinne metodologie wytwarzania oprogramowania

a. SCRUM

b. Zespół. Role w zespole (teoria Belbina)

3. Wprowadzenie do UML

4. Katalog wzorców projektowych Gangu Czworga

a. Singleton -> modyfikacje (klasa statyczna, ograniczenie liczby instancji do N)

b. Adapter (klasowy, obiektowy)

c. Dekorator -> Fasada

d. Most (+ modyfikacje) -> Pełnomocnik

e. Pyłek i fabryka abstrakcyjna

f. Interpreter

g. Kompozyt -> formatowanie wydruku -> cykle -> Odwiedzający -> uogólnienie -> Iterator

h. Metoda szablonowa (implementacja w oparciu o polimorfizm i w oparciu o delegacje)

i. Obserwator (klasyczny) -> zdarzenia -> użycie IObserver i IObservable

j. Polecenie -> Uogólnienie: RelayCommand

k. Mediator -> szyna/kolejka komunikatów (szyna poleceń, szyna zdarzeń)

5. Wybrane wzorce architektoniczne:

a. Architektura MVC na przykładzie aplikacji konsolowej

b. ASP.NET MVC

c. Wzorzec MVVM

Zagadnienia dodatkowe

- Domain Driven Design (DDD)

- CQRS

- Udostępnianie kodu za pomocą pakietów NuGet

- Git

Literatura:

- A. Jaszkiewicz, Inżynieria oprogramowania, Helion, Gliwice 1997.

- C. Larman, UML i wzorce projektowe., Helion 2011

- R. V. Binder, Testowanie systemów obiektowych. Modele, wzorce i narzędzia, WNT, Warszawa 2003.

Metody i kryteria oceniania:

Kolokwium końcowe (z rękami na klawiaturze) weryfikuje efekty: W1-W4, U1-U2

Zaliczenie na ocenę na podstawie kolokwium

50-60% - ocena: 3

60-70% - ocena: 3+

70-80% - ocena: 4

80-90% - ocena: 4+

90-100% - ocena 5

Praktyki zawodowe:

Nie dotyczy

Zajęcia w cyklu "Semestr zimowy 2021/22" (zakończony)

Okres: 2021-10-01 - 2022-02-20
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Jacek Matulewski
Prowadzący grup: Jacek Matulewski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr zimowy 2022/23" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Jacek Matulewski
Prowadzący grup: Jacek Matulewski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę

Zajęcia w cyklu "Semestr zimowy 2023/24" (zakończony)

Okres: 2023-10-01 - 2024-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Koordynatorzy: Jacek Matulewski
Prowadzący grup: Jacek Matulewski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Zaliczenie na ocenę
Laboratorium - Zaliczenie na ocenę
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)