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
 

 
  ogłoszenia
    Terminy przekazywania zadań z poszczególnych etapów tworzenia projektu.
    Konsultacje w sali 325C3:
  1. poniedziałki (do 4.07.15): 17.00-20.00
  2. czwartki (do 4.07.15): 14.00-17.00
    Terminy dodatkowych zaliczeń (2015):
  1. 20.06.2015: 12.30-16.00, sala L2.6 C16
  2. 4.07.2015: 12.30-16.00, sala L2.6 C16 - potrzebna zgoda p.Dziekana
  3. 14.09.2015: 17.00-20.00, sala L2.6 C16 - potrzebna zgoda p.Dziekana

 
  materiały do zajęć

Materiały dotyczące projektów typu UML:
  1. Informacje dotyczące tworzenia projektów UML tworzonych w środowisku NetBeans:

Materiały pomocnicze:
  1. Tutoriale
    1. Koncepcja, projekt i implementacja wielowarstwowego systemu informatycznego - 2012/2013.
    2. Tworzenie aplikacji z bazy danych:
      1. Przykład tworzenia aplikacji internetowej EE na podstawie bazy danych. Modyfikacja w dniu 8.05.2015 (dodano slajdy:27-33)
      2. Przykład tworzenia aplikacji EE, zawierającej klienta internetowego oraz klienta Enterprise na podstawie bazy danych - wykorzystanie kodu JSF (punkt powyżej) do budowy klienta internetowego. Modyfikacja slajdów 18-19 w dniu 30.06.2015.
    3. The NetBeans E-commerce Tutorial.
    4. Tutorial Java EE 6.0
    5. Tutorial Java EE 7.0

  2. Harmonogram prac - Realizacja harmonogramu prac
    1. Tutoriale dotyczące narzędzia do projektowania w języku UML - Visual Paradigm 12.0
      1. Pomoc: Drawing use case diagrams.
      2. Pomoc: Use case diagram notations guide
      3. Pomoc: Documenting use case details.
      4. Pomoc: Drawing class diagrams.
      5. Pomoc: Drawing sequence diagrams.
    2. Punkty 1-3 harmonogramu prac. Dwa przykłady iteracyjno-rozwojowego tworzenia warstwy biznesowej oprogramowania - zastosowanie programu Visual Paradigm do projektowania i Javy do programowania:
      1. Punkty 1-2 harmonogramu prac
        1. Wybór projektu z listy (poniżej) lub propozycja własnego tematu projektu
        2. Wykonanie opisu biznesowego "świata rzeczywistego"
          • warstwy zasobów ludzkich (na podstawie tego opisu będzie można określić po przystąpieniu do modelowania oprogramowania, jakie funkcje system powinien wykonywać, aby wspomagać pracę ludzi),
          • warstwy formalnego systemu informacyjnego(przepisy, ustawy, zarządzenia, strategia firmy itp),
          • warstwy technicznego systemu informacyjnego (rozmiary, architektura,liczba użytkowników, pozostałe funkcje programu, stosowane dotąd oprogramowanie i sprzęt).
          • Przykład: opis biznesowy(str.25).
        3. Sformułowanie wymagań funkcjonalnych i niefunkcjonalnych na podstawie opisu biznesowego "świata rzeczywistego".
        4. Wykonanie diagramu przypadków użycia,
        5. Zdefiniowanie poszczególnych przypadków użycia
        6. Materiały pomocnicze
          1. Wykonanie modelu wymagań oraz wstępu do pierwszej iteracji. Nowa wersja z 22.03.2015
      2. Punkty 2-3 harmonogramu prac - pierwszy przykład iteracyjno-rozwojowego projektowania i implementacji prostego katalogu książek:
        1. Wykonanie modelu wymagań oraz wstępu do pierwszej iteracji. Nowa wersja z 22.03.2015
        2. Wykonanie 1 iteracji projektu. Nowa wersja z 22.03.2015
        3. Wykonanie 2 iteracji. Nowa wersja z 22.03.2015
        4. Kod programu. Nowa wersja z 22.03.2015
      3. Punkty 2-3 harmonogramu prac - drugi przykład iteracyjno-rozwojowego projektowania i implementacji programu sporządzającego rachuneki:
        1. Definiowanie w sposób iteracyjno - rozwojowy projektu: 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.
          Przykłady iteracji:
          1. 1-a iteracja str.37;
          2. 2-a iteracja str.44-45,47,49,50,53;
          3. 3-a iteracja str.54,55,57;
          4. 4-a iteracja str.62,63,65,67;
          5. 5-a iteracja str.68,69;
          6. 6-a iteracja str.74,75,77-79,81,83,85,87;
          7. 7-a iteracja str.90,91,93,94,96,98.
        2. Definiowanie szkieletu kodu z diagramu klas po każdej iteracji wykonanej w punkcie 2 - analiza kodu oraz zdefiniowanie kodu metod na podstawie wykonanych diagramów sekwencji w danej iteracji. Uruchomienie kolejnej wersji programu, działającego w trybie konsolowym.
          Przykłady iteracji:
          1. 1-a iteracja str.39-42;
          2. 2-a iteracja str.46,48,51,52;
          3. 3-a iteracja str.56,58-61;
          4. 4-a iteracja str.64,66;
          5. 5-a iteracja str.70-73;
          6. 6-a iteracja 76,80,82,84,86,88,89;
          7. 7-a iteracja str.92,95,97,99-102)
          8. Kod zaprojektowanego programu.
      4. Punkt 3 harmonogramu prac - tworzenie interfejsu graficznego aplikacji wykonanej w ramach p. 2.2 realizacji harmonogramu prac (warstwy klienta):
        1. Java SE Tutorial 2015-03-03
            Względne ścieżki do fragmentów tutoriala Java SE 8 (zainstalowanego wg powyższego linku) opisujące, jak wykonano menu programu oraz formularze:
          • How to use Menu (from Using Swing Components): "file:///C:/EnglishLecture/tutorial/tutorial/uiswing/components/menu.html"
          • How to use CardLayout (from Laying Out Components): "file:///C:/EnglishLecture/tutorial/tutorial/uiswing/layout/card.html"
        2. Krótki opis programu. Nowa wersja: 17.05.2015.
        3. Kod programów Library1_client1_SE oraz Library1.
          Nowa wersja: 17.05.2015. (Errata.)
      5. Punkt 4 harmonogramu prac - tworzenie aplikacji wielowarstwowej typu Java EE:
        1. Przekształcenie klas obiektowego modelu danych na encje oraz dodanie obiektów warstwy integracji do utrwalania encji w bazie danych. Informacje z instrukcji dotyczące klas TTitle_book oraz TBook można zastosować do klas z programu z p. 2.2.3 realizacji harmonogramu prac (projekt Library_PO_2015) - można wtedy pominąć slajdy: 19, 21 oraz na sladzie 22 wstawić do pliku persistence.xml jedyne klasy encyjne: TTitle_book oraz TBook.
        2. Utworzenie wielowarstwowej aplikacji typu EE: instrukcja wykonania systemu katalogu książek, z warstwą klienta zawierającą klienta internetowego oraz klienta aplikacji typu EE, z warstwą prezentacji opartą na technologii JSF 2.1, warstwą biznesową opartą na komponentach typu EJB oraz warstwą integracji w technologii JPA 2.0, wykonaną w poprzednim kroku. Informacje dotyczące tworzenia klienta aplikacji typu EE można zatosować do programu klienta SE wykonanego w p. 2.2.3 realizacji harmonogramu prac (projekt Library_client_PO_2015).
      6. Punkty 5-6 harmonogramu prac - pomiar metryk oraz testy jednostkowe i akceptacyjne.
        1. Narzędzie do pomiaru metryk: Chidamber and Kemerer Java Metrics (ckjm).
        2. Testowanie programów w środowisku NetBeans - zastosowanie pakietu JUNIT.
        3. Wykonanie testów akceptacyjnych aplikacji internetowych za pomocą narzędzia Selenium IDE 2.0.0.
        4. Materiał dodatkowy:
        5. Metryki oprogramowania, jakość oprogramowania - definicje.
        6. Przykłady pomiaru metryk.
      7. Punkt 7 harmonogramu prac - dodanie uwierzytelniania i autoryzacji (tutoriale).
        1. Mechanizmy bezpieczeństwa w aplikacjach EJB Java EE (Building Secure Enterprise Beans in Java EE).
        2. Mechanizmy bezpieczeństwa w aplikacjach internetowych.(Securing a Web Application in NetBeans IDE - Expected duration: 40 minutes)
        3. Materiał dodatkowy:
        4. Wprowadzenie do mechanizmów bezpieczeństwa stosowanych w Java EE 5.0.

    3. Programowanie aplikacji internetowych na platformie Java EE 6 z wykorzystaniem technologii JavaServer Faces 2.1 (materiał jest w rozwoju):

        Wykłady:
      1. Wstęp do programowania komponentowego w Javie EE 6 (Ogólny przegląd technologii Java EE 6.) - część 1.
      2. Wstęp do programowania komponentowego w Javie EE 6 (Przykłady aplikacji Java Server Faces.) - część 2.
        Wykład jest oparty na materiałach umieszczonych na stronach:
        Java EE & Java Web Learning Trail.
        Tutorial Java EE 6
      3. Przegląd znaczników używanych do definiowania stron w technologii JavaServer Faces 2.1 - część pierwsza.
      4. Przegląd znaczników używanych do definiowania stron w technologii JavaServer Faces 2.1 - część druga. Konwertery.

        Laboratoria:
      1. Zastosowanie technologii JavaServer Faces oraz ziarna EJB do obsługi prostego formularza, wstawienia połączeń między stronami, walidacji danych oraz przechowywania i przesyłania danych.
      2. Zastosowanie technologii JavaServer Faces oraz ziarna EJB do obsługi formularzy zbudowanych na szablonie, wstawienia połączeń między stronami, walidacji danych oraz przechowywania i przesyłania zbioru danych.
        jsfcrud.css
      3. Zastosowanie technologii JavaServer Faces oraz ziarna EJB do obsługi formularzy - zastosowanie obiektu transferowego i konwerterów.
      4. Zastosowanie komponentu h:selectOneMenu, stronicowanie komponentu h:dataTable, wieloużywalność formularzy, zastosowanie technologii ORM do operacji bazodanowych.

    4. Strona przedmiotu: INES201P.php.


      literatura
    literatura podstawowa
    1. Grady Booch, James Rumbaugh, Ivar Jacobson: 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. J. Nilsson: Applying Domain-Driven Design and Patterns,With Examples in C# and .NET, Addison-Wesley Professional, 2006
    6. 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. Robert J. Muller: Bazy danych, język UML w modelowaniu danych, Warszawa, Mikom, 2000
    2. Paul Beynon-Davies: Inżynieria systemów informacyjnych, Warszawa, WNT, 2004
    3. James Martin, James J.Odell: Podstawy metod obiektowych, Warszawa, WNT, 1997.
    4. Janusz Górski, Inżynieria oprogramowania w projekcje programistycznym, Warszawa, Mikom, 2000.
    5. Martin Fowler, Kendall Scott, UML w kropelce, wersja 2.0, Warszawa, Oficyna Wydawnicza LTP, 2005