instrukcja 1 laboratorium z podstaw in ynierii...
TRANSCRIPT
![Page 1: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/1.jpg)
Instrukcja 1Laboratorium z Podstaw
Inżynierii Oprogramowania
Relacja 1 do 1..0– instrukcja z lab1
![Page 2: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/2.jpg)
Cele laboratorium 1Należy:
• wybrać projekt z podanej listy dostępnej za pomocąlinku podanego w w laboratorium 1
• sformułować wymagania funkcjonalne i niefunkcjonalne dla wybranego projektu jako zadanie domowe. Zadanie domowe będzie stanowićpodstawę do zaprojektowania przypadków użycia na kolejnych laboratorium.
• wykonać projekt UML i wykonać prosty program stanowiący realizację projektu zgodnie z materiałem zawartym na slajdach 5-70. Jest to ćwiczenie, które pozwala poznać narzędzie UML w środowisku NetBeans, wykorzystane w ramach zajęćlaboratoryjnych z przedmiotu Podstawy Inżynierii Oprogramowania.
![Page 3: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/3.jpg)
Java
język programowania
• obiektowo zorientowany
• wysokiego poziomu
platforma Javy
• z maszyny wirtualnej VM
• API (interfejs programowania aplikacji).
Rodzaje platform Javy: � Java Platform, Standard
Edition (Java SE) � Java Platform, Enterprise
Edition (Java EE) � Java Platform, Micro Edition
(Java ME) � Java Platform CARD
Rezultat
• niezaleŜność od platformy,
• duŜe moŜliwości,
• stabilność,
• łatwość rozwoju, • bezpieczeństwo
![Page 4: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/4.jpg)
Warstwy aplikacji (Java EE)
![Page 5: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/5.jpg)
1) Wykonanie projektu typu aplikacja Javy
![Page 6: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/6.jpg)
![Page 7: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/7.jpg)
![Page 8: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/8.jpg)
![Page 9: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/9.jpg)
2) Utworzenie projektu UML typu Java Platform-Idependent Model
![Page 10: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/10.jpg)
Projekt UML należy utworzyć w tym samym katalogu, w którym znajduje się projekt typu Java Application
![Page 11: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/11.jpg)
3) Wstawianie do projektu pierwszego diagramu typu Use Case Diagram (diagram
przypadków użycia – diagram PU).
Należy wybrać z listy Diagram Type pozycję Use Case Diagram i nadać nazwę
diagramowi w polu Diagram Name
![Page 12: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/12.jpg)
4) Należy wykonać opis biznesowy „świata rzeczywistego” –
Katalog tytułów i książek
1. Opis zasobów ludzkich Pracownik wypożyczalni może dodawać do katalogu tytułów nowe tytuły. Każdy tytuł jest reprezentowany przez następujące dane: tytuł, autor, wydawnictwo, ISBN oraz informacje o liczbie egzemplarzy i miejscu ich przechowywania i występuje w bibliotece jako pojedyncza informacja dla każdego tytułu. Pewna grupa tytułów opisuje książki nagrane na kasety, dlatego dodatkowo tytułzawiera dane nagrania np nazwisko aktora. Każdy egzemplarz, niezależnie, czy jest książką czy kasetą, jest opisany odrębną informacją zawierajacą numer egzemplarza i ewentualnie (dotyczy to wyodrębnionych egzemplarzy) informację o liczbie dni, na które można wypożyczyć egzemplarz. Numery egzemplarzy mogą się powtarzać dla różnych tytułów. Pracownik bilioteki(bibliotekarz) może dodawać nowe tytuły i egzemplarze oraz je przeszukiwać, natomiast klient może jedynie przeszukiwać tyutły i sprawdzać egzemplarze wybranych tytułów.
2. PrzepisyPracownik ponosi odpowiedzialność za poprawność danych - odpowiada materialnie za niezgodność danych ze stanem wypożyczalni.
3. Dane techniczne Klient może przeglądać dane wypożyczalni za pośrednictwem strony internetowej lub bezpośrednio za pomocą specjalnego programu. Pracownik biblioteki może dodatkowo wstawiać, modyfikować i usuwać dane o tytuiłachoraz egzemplarzach. Zakłada się, że klientów jednocześnie przeglądajądającychdane wypożyczalni może być ponad 1000 oraz wypożyczalnia może zawieraćkilkadziesiąt tysięcy tytułów oraz przynajmniej dwukrotnie więcej egzemplarzy. Biblioteka składa się z kilku ośrodków w różnych miastach na terenie kraju (lista miast jest dołączona do umowy). Zaleca się stosowanie technologii Java.
![Page 13: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/13.jpg)
5) Należy zdefiniować wymagania aplikacji
Wymagania funkcjonalne• System powinien wspierać wypożyczanie książek• Biblioteka wypożycza podane książki i czasopisma osobom zarejestrowanym, o ile je posiada
• Biblioteka dokonuje zakupu nowych książek, przy czym popularne książki kupuje w kilku egzemplarzach. Usuwa zniszczone książki i czasopisma.
• Bibliotekarz jest pracownikiem biblioteki, komunikuje się z wypożyczającym. Jego praca jest wspierana za pomocą systemu
• Wypożyczający może zarezerwować książkę lub czasopismo, które nie jest dostępne w danej chwili, W momencie, kiedy zamówione rzeczy sądostępne- albo po zwrocie lub dzięki zakupowi, można je wypożyczyć i usunąć rezerwację. Rezerwację można usunąć niezależnie.
• Biblioteka może łatwo utworzyć, zmienić i usunąć informację o tytułach, wypożyczających, wypożyczeniach i rezerwacjach
Wymagania niefunkcjonalne• System powinien pracować w popularnych systemach (UNIX, Windows, OS/2) i powinien mieć nowoczesny graficzny interfejs użytkownika
• System powinien się rozwijać np. wprowadzenie możliwości zawiadamiania rezerwującego książkę o jej dostępności
![Page 14: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/14.jpg)
6) Wykonanie diagramu przypadków użycia (PU)
Przeciągnięcie
ikon Actor i Use
Case pobranych
z palety (Palette)
i upuszczenie na
diagramie PU
![Page 15: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/15.jpg)
7) Otwieranie okna dokumentacji dla wybranego elementu diagramu – wykonanie
(ew.„wklejenie” wcześniej wykonanych) opisu biznesowego systemu oraz wymagań
funkcjonalnych i niefunkcjonalnych w oknie dokumentacji diagramu PU
Należy kliknąć na wolną
powierzchnię diagramu PU. W
okienku Properties diagramu PU
wybrać wiersz Documentation
klikając na przycisk A
![Page 16: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/16.jpg)
8) Otwieranie „niemodalnego” okna dokumentacji z MenuBar: Window/Other/UML Documentation
![Page 17: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/17.jpg)
![Page 18: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/18.jpg)
9) Dodanie dokumentacji do przypadku użycia cd. – specyfikacja
przypadku użycia (PU)
![Page 19: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/19.jpg)
Relacja jeden do jeden
![Page 20: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/20.jpg)
1) Dodawanie nowego diagramu do projektu UML
Należy w oknie Projects w tworzonym projekcie
typu UML wybrać pozycję Diagrams/New/Diagram
![Page 21: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/21.jpg)
2) Utworzenie diagramu klas
Należy wybrać z listy Class Diagram i nadać nazwę diagramowi w polu Diagram
Name
![Page 22: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/22.jpg)
3) Wstawienie nowej klasy
Przeciągnięcie
ikony klasy Class
pobranej z palety i
upuszczenie na
diagramie
![Page 23: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/23.jpg)
Nadawanie nazwy klasie
Po zaznaczeniu klasy w polu Unnamed lewym klawiszem myszy, w
okienku Properties tej klasy należy wpisać w wierszu Name nazwę
klasy Tytul_ksiazki
![Page 24: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/24.jpg)
4) Wstawienie nowego atrybutu - menu
Po kliknięciu prawym klawiszem w polu tytułu ikony klasy należy wybrać w
wyskakującym menu pozycję Create Attribute
![Page 25: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/25.jpg)
5) Edycja atrybutu
W okienku Properties zaznaczonego nowego atrybutu Unnamed, w wierszu
Name wpisać nazwę atrybutu np. wydawnictwo, w wierszu Type wpisać typ
atrybutu String
![Page 26: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/26.jpg)
Stan po wstawieniu pierwszego atrybutu: po wstawieniu atrybutu pojawiły się
dwie metody typu set (do nadania wartości atrybutowi) i get (do pobrania
wartości atrtybutu)
![Page 27: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/27.jpg)
6) Klasa Tytul_ksiazki po wstawieniu wszystkich atrybutów – przy wstawianiu
kolejnych atrybutów w wierszu Type należy wybrać z listy typ String
![Page 28: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/28.jpg)
Stan po wstawieniu pięciu atrybutów do klasy Tytul_ksiazki
![Page 29: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/29.jpg)
7) Generowanie kodu klasy Tytul_ksiazki do projektu Katalog1
Należy zachować projekt typu UML (saveAll z Menu
File)
Po zaznaczeniu klasy Tytul_ksiazki prawym
klawiszem myszy wybrac pozycję Generate Code0
![Page 30: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/30.jpg)
8) Wybór projektu Javy w Target Project o nazwie Katalog1,
utworzony wg slajdów z p. 1 i 2 jako miejsce do generowania kodu
Uwaga: Należy skompilować (Build) projekt typu Java Application po
wygenerowaniu kodu z projketu UML.
![Page 31: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/31.jpg)
![Page 32: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/32.jpg)
9) Wygenerowany kod – wyświetleni klasy Tytul_ksiazki utworzonej w projekcie Katalog1 w wyniku generowania kodu z projektu UMLKatalog1 typu UML
![Page 33: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/33.jpg)
public class Tytul_ksiazki {private String wydawnictwo;private String ISBN;private String tytul;private String nazwisko;private String imie;public Tytul_ksiazki() { }public String getWydawnictwo() { return wydawnictwo; }public void setWydawnictwo(String val) { this.wydawnictwo = val; }public String getISBN() { return ISBN; }public void setISBN(String val) { this.ISBN = val; }public String getTytul() { return tytul; }public void setTytul(String val) { this.tytul = val; }public String getNazwisko() { return nazwisko; }public void setNazwisko(String val) { this.nazwisko = val; }public String getImie() { return imie; }public void setImie(String val) { this.imie = val; }
}
![Page 34: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/34.jpg)
10) Wstawienie klasy fasadowej Uchwyt (podobnie jak klasę Tytul_ksiazki) – będzie
zastosowana do obsługi wywołań przypadków użycia przez warstwę interfejsu
graficznego użytkownika.
![Page 35: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/35.jpg)
11) Wstawienie powiązania typu Association między klasami Uchwyt i Tytul_ksiazki
Przeciągnięcie wskazanej
Association, wybranej z podręcznej
palety klasy Uchwyt i przeciągnięcie
jej od klasy Uchwyt do powierzchni
klasy Tytul_ksiazki
![Page 36: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/36.jpg)
Stan po wstawieniu Association między klasami Uchwyt i Tytul_ksiazki
![Page 37: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/37.jpg)
12) Nadanie Multiplicity na końcu Association należącym do klasy Tytul_ksiazki
Należy prawym
klawiszem
zaznaczyć
koniec
Association
przy klasie
Tytul_ksiazki i z
wyskakującego
menu wybrać
pozycję
Multiplicity
równą 1
![Page 38: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/38.jpg)
13) Wstawianie nowego diagramu – w okienu Projects należy zaznaczyć prawym klawiszem myszy zagnieżdżoną pozycję Diagram/New/Diagram w projekcie UMLKatalog1
1
![Page 39: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/39.jpg)
14) Wstawianie nowego diagramu typu Sequence Diagram wybranym z
listy Diagram Type; w polu Diagram Name należy wpisać nazwę
diagramu toString.
![Page 40: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/40.jpg)
15) Wstawianie linii życia - Lifeline
Należy przeciągnąć ikony typu Lifeline
pobrane z palety i upuszczenie na
diagramie. Po zaznaczeniu Lifeline z lewej
strony diagramu lewym klawiszem myszy, z
jej okienka Properties, z listy Representing
Clasifier wybrać klasę Uchwyt, a potem
podobnie Tytul_ksiazki dla Lifeline
umieszczonej z prawej strony diagramu.
![Page 41: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/41.jpg)
16) Wstawianie nazw obiektów reprezentowanych przez Lifeline w ich okienkach
Properties, w wierszu Name, dostępnych po zaznaczeniu koleno Lifeline lewym
klawiszem myszy – nazwać uchwyt_ dla Lifeline typu Uchwyt i tytul_ dla Lifeline typu
Tytul_ksiazki
![Page 42: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/42.jpg)
18) Wstawienie synchronicznej wiadomości („Synchronous Message”) – metody
klasy Tytul_ksiazki17) Wstawianie metody typu Synchronous Message do klasy typu
Tytul_ksiazki – należy z podręcznej palety zaznaczonej Lifeline o nazwie
uchwyt_ wybrać strzałki typu Synchronous Message i przeciągnąć je od
Lifeline uchwyt_ do Lifeline tytul_
![Page 43: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/43.jpg)
18) Nadawanie nazwy nowej metodzie w klasie Tytul_ksiazki (1)
Po zaznaczeniu wstawionej
metody typu Synchronous
Message prawym klawiszem
myszy należy z wyskakującego
menu wybrac pozycję Operations
i wybrać AddOperation
![Page 44: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/44.jpg)
Nadawanie nazwy nowej metodzie w klasie Tytul_ksiazki (2) – wstawić nazwęmetody (name) toString, a zwracany wynik (returnType) ustawić jako String
![Page 45: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/45.jpg)
19) Wstawienie wiadomości typu „Synchronous Message” do jednej linii życia reprezentującej wywołanie własnej metody przez linię życia – ciało metody toString.Należy z palety zaznaczonej Lifeline typu Tytul_ksiazki wybrać strzałki metody Synchronous Message i przeciągnąć ją na Lifeline typu Tytul_ksiazki.
![Page 46: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/46.jpg)
Rezultat po wstawieniu w ciele metody toString należącej do klasy Tytul_ksiazki
nienazwanych metod należących do linii życia obiektu typu Tytul_ksiazki
![Page 47: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/47.jpg)
20) Kojarzenie nienazwanych metod linii życia Tytul_ksiazki z konkretnymi metodamiklasy Tytul_ksiazki
Należy kolejno każdą z nienazwanych metod zaznaczyć prawym klawiszem myszy,
wybrać z wyskakującego menu pozycję Operations i następnie wybrać z listy
istniejących metod klasy Tytul_ksiazki kolejną metodę z przedrostkiem get
![Page 48: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/48.jpg)
![Page 49: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/49.jpg)
21) Pojawienie się nowej metody toString w klasie Tytul_ksiazki –wstawionej do linii życia obiektu typu Tytul_ksiazki na diagramie sekwencji
![Page 50: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/50.jpg)
22) Wygenerowanie nowej metody toString do klasy kodu klasy Tytul_ksiazki– sposób generowania kodu z wybranek klasy opisano wcześniej
![Page 51: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/51.jpg)
23) Wstawienie ręczne kodu nowej metody toString do klasy Tytul_ksiazki na podstawie diagramu sekwencji tej metody
![Page 52: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/52.jpg)
52
public class Tytul_ksiazki
{ private String wydawnictwo;private String ISBN;private String tytul;private String nazwisko;private String imie;
public Tytul_ksiazki() {} /** @ generated */
public String getWydawnictwo() { return wydawnictwo; } /** @ generated */
public void setWydawnictwo(String val) { wydawnictwo = val; }
public String getISBN() { return ISBN; } /** @ generated */
public void setISBN(String val) { ISBN = val; } /** @ generated */
public String getTytul() { return tytul; } /** @ generated */
public void setTytul(String val) { tytul = val; } /** @ generated */
public String getNazwisko() { return nazwisko; } /** @ generated */
public void setNazwisko(String val) { nazwisko = val; } /** @ generated */
public String getImie() { return imie; } /** @ generated */
public void setImie(String val) { imie = val; } /** @ generated */
public String toString() // your code here
{ String pom="Tytul: "+getTytul();pom+=" Autor:"+getNazwisko() +" "+getImie();
pom+=" ISBN: "+getISBN();pom+=" Wydawnictwo:"+getWydawnictwo();
return pom;}
}
![Page 53: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/53.jpg)
24) Wstawienie do projektu drugiego diagramu typu Sequence Diagram dla przypadku użycia
dodaj_tytul.
Należy wstawić linię życia typu Actor oraz zwykłą Lifeline, której należy nadać typ Uchwyt,
pobrany z listy Representing Classifier. Następnie należy połączyć metodą typu Asynchronous
Message linię życia typu Actor z liną życia typu Uchwyt
![Page 54: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/54.jpg)
25) Następnie należy wstawić nową linię życia z podręczej palety linii życia typu
Uchwyt za pomocą Create Message
![Page 55: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/55.jpg)
27) Nadanie nazwy Tytul_ksiazki linii życia wykonanej jako Create Message
![Page 56: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/56.jpg)
28) Użycie metod typu Asynchronous Message klasy Tytul_ksiazki – nadanie im nazwy metod z przedrostkiem set, pobranych z listy Operations (podobnie jak przy definiowaniu metody toString )
![Page 57: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/57.jpg)
29) Transformacja związku między klasą Uchwyt a klasą Tytul_ksiazki - na Navigable
29.1. Usunięcie ustawionej jawnej własności typu Multiplicity na domyślną równą 1
Wybór
właściwości
Multiplicity w
okienku
Properties
relacji typu
Association
Otwarcie
okienka edycji
właściwości
Multiplicity – po
kliknięciu na
przycisk A
![Page 58: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/58.jpg)
29.2. Należy usunąć ustawioną Multiplicity równą 1 dla Association należącej do klasy
Tytul_ksiazki, gdyż domyślna implementacja to kolekcja typu LinkedBlockingDeque : As
ArrayList| (wtedy związek 1:1 jest implementowany jako jednoelementowa kolekcja)
![Page 59: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/59.jpg)
29.3. Stan diagramu klas po usunięciu jawnej liczności związku typu Association po
stronie klasy Tytul_ksiazki (Multiplicity równej 1)
![Page 60: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/60.jpg)
29.4. Ustawienie w okienku Properties Association w części należącej do klasy
Tytul_ksiazki właściwości typu Navigable – spowodowało to implementację związku po
stronie klasy Uchwyt (teraz obiekt klasy Uchwyt posiada pojedynczą referencję obiektu
typu Tytul_ksiazki )
Ustawienie właściwości Navigable
po stronie klasy Tytul_ksiazki
![Page 61: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/61.jpg)
30) Implementacja związku między klasą Uchwyt a klasą Tytul_ksiazki – w klasie Uchwyt za pomocą referencji typu Tytul_ksiazki oraz dwóch metod getTytul_ksiazki i setTytul_ksiazki
![Page 62: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/62.jpg)
31) Generowanie kodu (wybrać projekt Katalog1)
![Page 63: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/63.jpg)
Generowanie kodu
![Page 64: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/64.jpg)
32) Wygenerowanie kodu nowej metody dodaj_tytul w klasie Uchwyt
Referencja do obiektu klasy
Tytul_ksiazki reprezentuje
relację 1 do 1 po stronie klasy
Uchwyt, która jest „właścicielem”
relacji
![Page 65: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/65.jpg)
33) Wstawienie ręczne kodu nowej metody dodaj_tytul na podstawie diagramu
sekwencji tej metody oraz metody main testującej działanie wykonanego przypadku
użycia
![Page 66: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/66.jpg)
package katalog1;
public class Uchwyt {
private Tytul_ksiazki mTytul_ksiazki;
public Uchwyt() { }
public void dodaj_tytul(String a, String b, String c, String d, String e) // your code here
{ mTytul_ksiazki=new Tytul_ksiazki();
mTytul_ksiazki.setTytul(a);
mTytul_ksiazki.setNazwisko(b);
mTytul_ksiazki.setImie(c);
mTytul_ksiazki.setISBN(d);
mTytul_ksiazki.setWydawnictwo(e); }
public Tytul_ksiazki getTytul_ksiazki()
{ return mTytul_ksiazki; }
public void setTytul_ksiazki(Tytul_ksiazki val)
{ this.mTytul_ksiazki = val; }
public static void main(String t[]) // your code here
{ Uchwyt ap=new Uchwyt();
ap.dodaj_tytul("1","1","1","1","1");
String lan=ap.getTytul_ksiazki().toString();
System.out.println(lan); }
}
![Page 67: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/67.jpg)
34) Uruchomienie programu
![Page 68: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/68.jpg)
35) Wykonanie dokumentacji UML typu strona HTML
![Page 69: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/69.jpg)
![Page 70: Instrukcja 1 Laboratorium z Podstaw In ynierii Oprogramowaniazofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/OBPROG/PIO_instrukcja1.pdfCele laboratorium 1 Należy: • wybraćprojekt](https://reader033.vdocuments.mx/reader033/viewer/2022041421/5e1f73a7a9d07745c0367945/html5/thumbnails/70.jpg)