Thursday, November 21, 2024

Podstawy Inżynierii Oprogramowania prowadzone są w formie ćwiczeń, laboratoriów oraz wykładu

Tematyka wykładu

  1. Wprowadzenie do przedmiotu. Prezentacja programu kursu, organizacji zajęć i zasad zaliczania. Wprowadzenie podstawowych pojęć inżynierii oprogramowania.
  2. Procesy cyklu życia oprogramowania. Modele cyklu życia oprogramowania. Metodyki wytwarzania oprogramowania.
  3. Inżynieria wymagań. Modelowanie zachowania systemów (model przypadków użycia)
  4. Modelowanie struktury (model danych) systemów informatycznych.
  5. Język OCL jako formalny język specyfikacji ograniczeń systemu.
  6. Makietowanie interfejsu systemu jako technika weryfikacji wymagań: normy, projektowanie, narzędzia makietowania.
  7. Jakość oprogramowania; Testowanie – typy, techniki, testy jednostkowe; narzędzia testowania i pomiarów jakości oprogramowania.
  8. Zagadnienia zarządzania konfiguracją i zmianą.

Tematyka ćwiczeń

Diagram klas

  1. Klasa, obiekt
  2. Relacja generalizacji
  3. Asocjacja: podstawowe właściwości
  4. Asocjacja: zaawansowane aspekty (asocjacja rekurencyjna, asocjacja n-arna)
  5. Typ danych
  6. Właściwość statyczna (w tym read only)
  7. Właściwość wnioskowana (derived property)
  8. Krotności i liczności
  9. Właściwość identyfikująca obiekty klasy (ograniczenie ID)
  10. Wartość domyślna właściwości
  11. Właściwość wielowartościowa (ograniczenie ORDERED. NOUNIQUE)
  12. Klasa asocjacji
  13. Agregacja, Kompozycja

Diagram przypadków użycia

  1. Aktor
  2. Przypadek użycia
  3. Asocjacja
  4. Relacja zawierania (include dependency)
  5. Relacja rozszerzania (extend dependency)
  6. Relacja generalizacji: aktorzy
  7. Relacja generalizacji: przypadki użycia

Diagram aktywności

  1. Aktywność, a czynność (Activity vs Action)
  2. Aktywność: przepływ obiektów, węzły obiektów
  3. Aktywność: przepływ sterowania, węzły sterowania
  4. Aktywność: węzły wykonawcze (executable nodes)
  5. Aktywność: grupy aktywności (Activity Groups), partycje aktywności (Activity Partitions)
  6. Akcja: podział na rodzaje, funkcja przekaźników (Pins)
  7. Akcja: akcje wywołania (invocation actions)
  8. Akcja: akcje obiektów (object actions), akcje powiązań (Link End Actions), asocjacji (Link Actions) i akcje obiektów powiązań (Link Object Action)
  9. Akcja: akcje cech strukturalnych (Structural Feature Action), akcje zmiennych (Variable Actions), akcje odpowiedzi na zdarzenia (Accept Action), pozostałe akcje (Other Actions)
  10. Akcja: akcje strukturalne (Structured Actions)
  11. Akcja: obszary rozszerzenia (Expansion Regions)

OCL

  1. Reguły biznesowe i ich kategorie (definicja terminów biznesowych; fakty pokazujące relacje między terminami; ograniczenia; wnioskowania)
  2. Ograniczenia na elementy modelu systemu
    • niezmienniki dla atrybutów klasy;
    • niezmienniki dla asocjacji klasy
    • określenia warunków początkowych i końcowych realizacji operacji
    • ograniczenia dla zbiorów generalizacji
  3. Stereotypy związane z ograniczeniami w UML: «invariant», «precondition», «postcondition».

Inżynieria wymagań

  1. Wymagania wg. UML (diagram przypadków użycia)
  2. Elementy składni konkretnej diagramu wymagań wg sysML
  3. Klasyfikacja FURPS+
  4. Klasyfikacja FURPS+ w odniesieniu do testów (przez analogię do klasyfikacji wymagań wg RUP)
  5. Wybrane klasyfikacje i metodyki opisu wymagań.
  6. historyjki

Tematyka Laboratorium

Zakres i tematyka zostanie podana na zajęciach laboratoryjnych przez prowadzących.

Zasady zaliczenia

  1. Podstawą zaliczenia ćwiczeń jest uzyskanie wymaganej liczby punktów z (P)rezentacji i (A)ktywności w trakcie ćwiczeń oraz z (K)olokwium.

  2. Punkty można uzyskać za:

    • (P) Przygotowanie prezentacji na podany temat - max 15pkt (należy przedstawić co najmniej jeden temat w semestrze – ok. 10 min).
    • Niezależnie od liczby prezentowanych tematów student może uzyskać max. 15 pkt za prezentację. Prezentacja kolejnych tematów jest wskazana, jeżeli student uzyska małą liczbę punktów przy prezentacji pierwszego tematu.
    • O możliwości prezentacji danego tematu na zajęciach decyduje prowadzący.
    • (A) Prezentację rozwiązań zadań podanych „na bieżąco” na ćwiczeniach (tylko w wypadku zgłoszenia się studenta) – max 25 (max 4pkt na jednych ćwiczeniach).
    • (A) Odpowiedzi na kartkówki, wejściówki, zadania zlecone przez Prowadzącego.
  3. Punkty (K) to punkty z kolokwium (max 60)

  4. Obecność na zajęciach jest obowiązkowa.

  5. Każdy student ma obowiązek uczestnictwa w kolokwium zaliczeniowym.

  6. Zaliczenie ćwiczeń w normalnym terminie (bez kolokwium poprawkowego) wymaga spełnienia warunku: (P + K )>40 oraz (P >=8 i K>30). Jeżeli warunek ten jest spełniony, to liczba punktów Z=P+A+K jest podstawą do uzyskania oceny zgodnie z tabelą:

    Z 41 52 64 77 90 >=98
    Ocena 3.0 3.5 4.0 4.5 5.0 5.5

    Kolokwium

  7. Kolokwium zaliczeniowe odbędzie sie w dniach 19.06.2024-26.06.2024 i jest dostępne poprzez MS Teams.

Materiały źródłowe

  1. Specyfikacja UML 2.5.1
  2. Specyfikacja OCL 2.4
  3. Wrycza i in., UML 2.x, Ćwiczenia zaawansowane, Helion 2012
  4. Raul Wazlawick, Object-Oriented Analysis and Design for Information Systems, Elsevier, 2014

Oceny

TBA

Do końca semestru pozostało