zofia.kruczkiewicz@pwr.edu.pl    
Politechnika Wrocławska 
Katedra Informatyki Technicznej (K-30) 
Zespół Inżynierii Oprogramowania i
Inteligencji Obliczeniowej
 
Aktualności  Dydaktyka  Kontakt 
 
   
  strona główna aktualności
 
  menu
  aktualności
  dydaktyka
  kontakt
 

  ostatnia aktualizacja

10.2023 - Inżynieria oprogramowania W04ITE-SI0011G
10.2022 - Praca dyplomowa inżynierska
 

 
Terminy konsultacji:
  1. Czwartek: godz:15.00 - 17.00, sala 325C3
  2. Sobota: godz:16.15 - 18.15, sala 325C3 - tylko: 2017-03-04, 2017-03-11, 2017-03-25, 2017-04-01, 2017-04-08 2017-04-22, 2017-05-13, 2017-05-20, 2017-05-27, 2017-06-10

  ogłoszenia
    Pytania kontrolne:
  1. Pytania kontrolne 1 dotyczące wykładu 1. Nowa wersja z dnia 9.03.16
  2. Pytania kontrolne 2 dotyczące przypadków użycia - wykład 2.
  3. Pytania kontrolne 3 dotyczące diagramów klas - wykład 3.
  4. Pytania kontrolne 4 dotyczące diagramów sekwencji - wykład 3.
  5. Pytania kontrolne 5 dotyczące diagramów aktywności - wykład 2.
    Zaliczenia:
  1. Terminy przekazywania zadań laboratoryjnych.
  2. Oceny z pierwszego, drugiego i trzeciego sprawdzianu oraz poprawy (20.06.2017).
  3. Oceny końcowe (26.06.2017).
 
  materiały do zajęć
    Narzędzia do zainstalowania:
  1. Visual Paradigm for UML Community Edition 12.2.
    Materiały dotyczące projektów typu UML:
  1. Informacje dotyczące UML:

Wykłady z projektowania
  1. Wykład 1. Wprowadzenie, podstawowe pojęcia, projekt a produkt.
  2. Wykład 2
    1. Tworzenie modelu przypadków użycia oprogramowania - diagramy przypadków użycia.
    2. Tworzenie modelu przypadków użycia oprogramowania - diagramy aktywności.
  3. Wykład 3
    1. Iteracyjno-rozwojowy proces tworzenia oprogramowania.
    2. Tworzenie modeli analizy i projektu - diagramy klas i sekwencji oprogramowania.
    3. Zaliczenie wykładów 1 i 2 - Sprawdzian 1.
      1. Pytania kontrolne 1 dotyczące wykładu 1.
      2. Pytania kontrolne 2 dotyczące przypadków użycia.
  4. Wykład 4
    1. Tworzenie modeli analizy i projektu - diagramy stanów oprogramowania.
  5. Wykład 5
    1. Omówienie metod tworzenia dokumentacji projektowej. Metryki do oceny złożoności strukturalnej modeli analizy i projektu oprogramowania.
    2. Zaliczenie wykładów 3 i 4 - sprawdzian 2.
      1. Pytania kontrolne 3 dotyczące diagramów klas - wykład 3.
      2. Pytania kontrolne 4 dotyczące diagramów sekwencji - wykład 3.
      3. Pytania kontrolne 5 dotyczące diagramów aktywności i stanów (wkrótce zostaną dodane) - wykład 4.

Laboratoria z projektowania oprogramowania
  1. Laboratoria 1,2,3,4
      Przebieg laboratorium:
    1. Wybór projektu z listy (poniżej) lub propozycja własnego tematu projektu
    2. Wykonanie opisu biznesowego "świata rzeczywistego"
    3. Sformułowanie wymagań funkcjonalnych i niefunkcjonalnych dotyczących tworzonego oprogramowania na podstawie opisu biznesowego "świata rzeczywistego".
    4. Wykonanie diagramu przypadków użycia do specyfikacji wymagań funkcjonalnych oprogramowania, z uwzględnieniem jego wymagań niefunkcjonlanych,
    5. Zdefiniowanie poszczególnych przypadków użycia
    6. Definiowane: modelu całego systemu, zachowania wybranych przypadków użycia za pomocą diagramów aktywności:
      1. Definiowanie modelu "świata rzeczywistego" za pomocą diagramu aktywności - stan bez programu:
        Diagram aktywności procesu "świata rzeczywistego" - str.20.
      2. Diagramy czynności - modelowanie wybranego scenariusza przypadku użycia:
        Diagram aktywności operacji - str.30
    7. Materiały pomocnicze
      1. Pomoc: Drawing use case diagrams.
      2. Pomoc: Use case diagram notations guide
      3. Pomoc: Documenting use case details.
      4. Pomoc: Creating requirement diagram.
      5. Wprowadzenie do UML (p.1-9).
      6. Pomoc:Drawing activity diagrams.
  2. Laboratoria 5, 6, 7
      Przebieg laboratorium:
    1. Lab 4: Wykonanie analizy zmienności i wspólności na podstawie scenariuszy przypadków użycia. Identyfikacja klas związanych z przetwarzaniem danych - projektowanie warstwy biznesowej, na podstawie wykładu 3: Proces identyfikacji klas (slajdy: 21-27)
        Należy opis własnej analizy umieścić w opisie diagramu klas i poszczególnych klas:
      1. Na diagramie klas wybrać Open Specification... i w polu Description umieścić własny opis identyfikacji klas. Zawartość opisu na przykładzie:
        Przykład 1 ogólnej analizy(str.34, 36).
      2. Szczegółowe informacje dotyczące roli klasy oraz proces jej identyfikacji w wyniklu analizy wspólności i analizy zmienności scenariuszy przypadków użycia należy umieścić w opisie klasy: na powierzchni klasy wybrać Open Specification... i w polu Description umieścić ten opis oparty na przykładzie 1:
        Przykład identyfikacji klas (slajdy: 28-35)
    2. Lab 5-6: Przykład definiowanie w sposób iteracyjno - rozwojowy projektu:
      1. Definiowanie rozwojowe kolejnej klasy (dziedziczenie, powiązania i agregacje)na diagramie klas zidentyfikowanej w wyniku analizy kolejnego przypadku użycia i wykonania scenariusza tego przypadku użycia za pomocą diagramu sekwencji.
      2. Przykład 1: Przykłady iteracji:
        1. 1-a iteracja str.54,56,58,60,62,65;
        2. Średnio złożony przypadek
        3. 2-a iteracja str.71,73,76;
        4. Prosty przypadek
        5. 3-a iteracja str.81,83,86,88,90,95,97;
        6. Złożony przypadek
        7. 4-a iteracja str.94,96,98,100;
        8. Złożony przypadek
    3. Materiał dodatkowy (nie jest wymagany do zaliczenia, służy do wyjaśnienia roli diagramów sekwencji):
      1. Definiowanie szkieletu kodu z diagramu klas po każdej iteracji wykonanej w punkcie 2.
      2. Analiza kodu oraz zdefiniowanie kodu metod na podstawie wykonanych diagramów sekwencji w danej iteracji.
      3. Uruchomienie kolejnej wersji programu, działającego w trybie konsolowym.
      4. Przykład 1: Przykłady iteracji:
        1. 1-a iteracja str.55,57,59,61,63-64,66-68;
        2. 2-a iteracja str.72,74-75,77-79;
        3. 3-a iteracja str.82,84-85,87,89,91-92;
        4. 4-a iteracja str.95,97,99,101-104;
        5. Przykład 1:Kod zaprojektowanego programu.
    4. Materiały pomocnicze
      1. Pomoc:Wprowadzenie do UML (p. 10-12).
      2. Pomoc:Drawing class diagrams.
      3. Pomoc:Drawing sequence diagrams.
      4. Przykład 2:Wykonanie pierwszej iteracji wybranego projektu - część 1.
      5. Prosty przypadek
      6. Przykład 2:Wykonanie drugiej iteracji wybranego projektu - część 2.
      7. Złożony przypadek
      8. Przykład 2:Kod programu.
  3. Laboratorium 8, 9
    1. Definiowane: zachowania wybranych przypadków użycia, działania wybranych metod za pomocą diagramów aktywności:
      1. Diagramy czynności - modelowanie wybranego procesu za pomocą diagramu aktywności z wykorzystaniem torów - zależności między diagramem aktywności a diagamami sekwencji:
        str.3-8.
      2. Materiały pomocnicze
        1. Diagramy czynności - modelowanie przepływu metody oraz czynności.
        2. Inżynieria odwrotna oprogramowania - dodatkowy przykład.
        3. Pomoc:Drawing activity diagrams.
    2. Definiowane diagramów stanów dla wybranych klas
      1. Modelowanie zachowania obiektu wybranej klasy w wybranych przypadkach użycia - zależność między diagramem stanów a diagramami sekwencji:
        str.30-45.
      2. Materiały pomocnicze
        1. Diagramy stanów.
        2. Pomoc:Drawing state machine diagrams.
  4. Laboratorium 10
    Zaliczenia


1
  literatura
    Literatura podstawowa
  1. Booch G., Rumbaugh J., Jacobson I., Język UML. Przewodnik użytkownika, Seria: Inżynieria oprogramowania, Warszawa, WNT, 2002
  2. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku, Seria: Inżynieria oprogramowania, Warszawa, WNT, 2008.
  3. Shalloway A.,Trott James R.,Projektowanie zorientowane obiektowo. Wzorce projektowe, Gliwice, Helion, 2005.
  4. Alur D., Crupi J.,Malks D., Core J2EE. Wzorce projektowe. Gliwice, Helion, 2004.
  5. Martin Robert C., Martin Micah, Agile, Programowanie zwinne. Zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#, Gliwice, Helion, 2008.
    Literatura uzupełniająca
  1. Eckel B., Thinking in Java. Edycja polska. Wprowadzenie do programowania zorientowanego obiektowo w sieci WWW, Gliwice, Helion, 2001.
  2. Barker R., Longman C., Case Method. Modelowanie funkcji i procesów, Warszawa, WNT,1996.
  3. Barker R., Case Method. Modelowanie związków encji, Warszawa, WNT, 1996.