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:
- poniedziałki (do 4.07.15): 17.00-20.00
- czwartki (do 4.07.15): 14.00-17.00
Terminy dodatkowych zaliczeń (2015):
- 20.06.2015: 12.30-16.00, sala L2.6 C16
- 4.07.2015: 12.30-16.00, sala L2.6 C16 - potrzebna zgoda p.Dziekana
- 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:
- Informacje dotyczące tworzenia projektów UML tworzonych w środowisku NetBeans:
Materiały pomocnicze:
- Tutoriale
- Koncepcja, projekt i implementacja wielowarstwowego systemu informatycznego - 2012/2013.
- Tworzenie aplikacji z bazy danych:
- Przykład tworzenia aplikacji internetowej EE na podstawie bazy danych. Modyfikacja w dniu 8.05.2015 (dodano slajdy:27-33)
- 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.
- The NetBeans E-commerce Tutorial.
- Tutorial Java EE 6.0
- Tutorial Java EE 7.0
- Harmonogram prac - Realizacja harmonogramu prac
- Tutoriale dotyczące narzędzia do projektowania w języku UML - Visual Paradigm 12.0
- Pomoc: Drawing use case diagrams.
- Pomoc: Use case diagram notations guide
- Pomoc: Documenting use case details.
- Pomoc: Drawing class diagrams.
- Pomoc: Drawing sequence diagrams.
- Punkty 1-3 harmonogramu prac. Dwa przykłady iteracyjno-rozwojowego tworzenia warstwy biznesowej oprogramowania - zastosowanie programu Visual Paradigm do projektowania i Javy do programowania:
- Punkty 1-2 harmonogramu prac
- Wybór projektu z listy (poniżej) lub propozycja własnego tematu projektu
- 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).
- Sformułowanie wymagań funkcjonalnych i niefunkcjonalnych na podstawie opisu biznesowego "świata rzeczywistego".
- Wykonanie diagramu przypadków użycia,
- Zdefiniowanie poszczególnych przypadków użycia
- Materiały pomocnicze
- Wykonanie modelu wymagań oraz wstępu do pierwszej iteracji. Nowa wersja z 22.03.2015
- Punkty 2-3 harmonogramu prac - pierwszy przykład iteracyjno-rozwojowego projektowania i implementacji prostego katalogu książek:
- Wykonanie modelu wymagań oraz wstępu do pierwszej iteracji. Nowa wersja z 22.03.2015
- Wykonanie 1 iteracji projektu. Nowa wersja z 22.03.2015
- Wykonanie 2 iteracji. Nowa wersja z 22.03.2015
- Kod programu. Nowa wersja z 22.03.2015
- Punkty 2-3 harmonogramu prac - drugi przykład iteracyjno-rozwojowego projektowania i implementacji programu sporządzającego rachuneki:
- 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-a iteracja str.37;
- 2-a iteracja str.44-45,47,49,50,53;
- 3-a iteracja str.54,55,57;
- 4-a iteracja str.62,63,65,67;
- 5-a iteracja str.68,69;
- 6-a iteracja str.74,75,77-79,81,83,85,87;
- 7-a iteracja str.90,91,93,94,96,98.
- 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-a iteracja str.39-42;
- 2-a iteracja str.46,48,51,52;
- 3-a iteracja str.56,58-61;
- 4-a iteracja str.64,66;
- 5-a iteracja str.70-73;
- 6-a iteracja 76,80,82,84,86,88,89;
- 7-a iteracja str.92,95,97,99-102)
- Kod zaprojektowanego programu.
- Punkt 3 harmonogramu prac - tworzenie interfejsu graficznego aplikacji wykonanej w ramach p. 2.2 realizacji harmonogramu prac (warstwy klienta):
- 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"
- Krótki opis programu. Nowa wersja: 17.05.2015.
- Kod programów Library1_client1_SE oraz Library1.
Nowa wersja: 17.05.2015. (Errata.)
- Punkt 4 harmonogramu prac - tworzenie aplikacji wielowarstwowej typu Java EE:
- 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.
- 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).
- Punkty 5-6 harmonogramu prac - pomiar metryk oraz testy jednostkowe i akceptacyjne.
- Narzędzie do pomiaru metryk: Chidamber and Kemerer Java Metrics (ckjm).
- Testowanie programów w środowisku NetBeans - zastosowanie pakietu JUNIT.
- Wykonanie testów akceptacyjnych aplikacji internetowych za pomocą narzędzia Selenium IDE 2.0.0.
Materiał dodatkowy:
- Metryki oprogramowania, jakość oprogramowania - definicje.
- Przykłady pomiaru metryk.
- Punkt 7 harmonogramu prac - dodanie uwierzytelniania i autoryzacji (tutoriale).
- Mechanizmy bezpieczeństwa w aplikacjach EJB Java EE (Building Secure Enterprise Beans in Java EE).
- Mechanizmy bezpieczeństwa w aplikacjach internetowych.(Securing a Web Application in NetBeans IDE - Expected duration: 40 minutes)
Materiał dodatkowy:
- Wprowadzenie do mechanizmów bezpieczeństwa stosowanych w Java EE 5.0.
- Programowanie aplikacji internetowych na platformie Java EE 6 z wykorzystaniem technologii JavaServer Faces 2.1 (materiał jest w rozwoju):
Wykłady:
- Wstęp do programowania komponentowego w Javie EE 6
(Ogólny przegląd technologii Java EE 6.) - część 1.
- 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
- Przegląd znaczników używanych do definiowania stron w technologii JavaServer Faces 2.1 - część pierwsza.
- Przegląd znaczników używanych do definiowania stron w technologii JavaServer Faces 2.1 - część druga. Konwertery.
Laboratoria:
- 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.
- 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
- Zastosowanie technologii JavaServer Faces oraz ziarna EJB do obsługi formularzy -
zastosowanie obiektu transferowego i konwerterów.
- Zastosowanie komponentu h:selectOneMenu, stronicowanie komponentu h:dataTable,
wieloużywalność formularzy, zastosowanie technologii ORM do operacji bazodanowych.
- Strona przedmiotu: INES201P.php.
literatura |
literatura podstawowa
- Grady Booch, James Rumbaugh, Ivar Jacobson: UML przewodnik użytkownika, Seria: Inżynieria oprogramowania, Warszawa : WNT, 2002.
- Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Wzorce projektowe.
Elementy oprogramowania obiektowego wielokrotnego użytku. Seria: Inżynieria oprogramowania, Warszawa, WNT, 2008.
- Shalloway A.,Trott James R.,Projektowanie zorientowane obiektowo. Wzorce projektowe. Gliwice, Helion, 2005
- Alur D., Crupi J.,Malks D., Core J2EE. Wzorce projektowe. Gliwice, Helion, 2004
- J. Nilsson: Applying Domain-Driven Design and Patterns,With Examples in C# and .NET, Addison-Wesley Professional, 2006
- Martin Robert C., Martin Micah, Agile, Programowanie zwinne. Zasady, wzorce i praktyki zwinnego wytwarzania oprogramowania w C#,
Gliwice, Helion, 2008.
literatura uzupełniająca
- Robert J. Muller: Bazy danych, język UML w modelowaniu danych, Warszawa, Mikom, 2000
- Paul Beynon-Davies: Inżynieria systemów informacyjnych, Warszawa, WNT, 2004
- James Martin, James J.Odell: Podstawy metod obiektowych, Warszawa, WNT, 1997.
- Janusz Górski, Inżynieria oprogramowania w projekcje programistycznym, Warszawa, Mikom, 2000.
- Martin Fowler, Kendall Scott, UML w kropelce, wersja 2.0, Warszawa, Oficyna Wydawnicza LTP, 2005
|