• Nie Znaleziono Wyników

Iteracja 2 tworzenia

N/A
N/A
Protected

Academic year: 2021

Share "Iteracja 2 tworzenia"

Copied!
15
0
0

Pełen tekst

(1)

Przykład 1

Iteracja 2 tworzenia oprogramowania

Diagramy klas i sekwencji:

Relacja 1 do 0..* między klasami

modelu obiektowego

(2)

Cele drugiej iteracji

• 2-i etap projektu.

– Instrukcja zawiera przykłady powiązań 1:* (jeden do wiele) między klasami reprezentującymi dane: z 1-go etapu

(TTitle_book oraz nową klasą TBook, która została

zidentyfikowana po zaprojektowaniu kolejnego przypadku użycia PU Dodaj_ksiazke.

– Wykonaj kopię projektu UML z etapu 1 (laboratorium 2).

Uzupełnij diagramy przypadków użycia, klas oraz uzupełnij i/lub dodaj nowe diagramy sekwencji. Należy wykorzystać te dwa typy powiązań 1:* oraz 1:0..1 w wykonywanym 2-im etapie projektu i jego implementacji na podstawie instrukcji do laboratorium 3.

– Wykonaj prosty program stanowiący realizację 2-go etapu

wybranego projektu. Program ten stanowi rozwinięcie programu

z etapu 1.

(3)

1. Diagram klas

(4)

2.Iteracja 2

Dodawanie książki

(5)

2.1. Diagram sekwencji metody add_book klasy TFacade

(6)

2.2. Kod metody: add_book klasy TFacade

public ArrayList<String> add_book(String data1[], String data2[]) { TTitle_book help1, title_exist;

TFactory fabryka = new TFactory();

help1 = fabryka.create_title_book(data1);

if ((title_exist = search_title_book(help1)) != null) { return title_exist.add_book(data2);

}

return null;

}

(7)

2.3. Diagram sekwencji metody add_book klasy TTitle_book

(8)

2.4. Kod metody: add_book klasy TTitle_book

public ArrayList<String> add_book(String data[]) { TFactory factory = new TFactory();

TBook newbook;

newbook = factory.create_book(data);

if (search_book(newbook) == null) { mBooks.add(newbook);

newbook.setmTitle_book(this);

return getbooks();

}

return null;

}

(9)

2.5. Diagram sekwencji metody search_book klasy TTitle_book

(10)

2.6. Kod metody: search_book klasy TTitle_book

public TBook search_book(TBook book) { int idx;

if ((idx = mBooks.indexOf(book)) != -1) { book = (TBook) mBooks.get(idx);

return book;

}

return null;

}

(11)

2.7. Diagram sekwencji metody create_book klasy TFactory

(12)

2.8. Kod metody: create_book klasy TFactory

public TBook create_book(String data[]) { TBook book = null;

switch (Integer.parseInt(data[0])) //what_book_type {

case 0:

book = new TBook(); //TBook object for persisting book.setNumber(Integer.parseInt(data[1]));

break;

}

return book;

}

(13)

2.9./2.9.1.Przykład kodu sprawdzającego działanie dodawanie tytułów książki oraz książek

public static void main(String t[]) { TFacade ap = new TFacade();

String t1[] = {"1", "Author1", "Title1", "ISBN1", "Publisher1"};

String t2[] = {"1", "Author2", "Title2", "ISBN2", "Publisher2"};

String t3[] = {"1", "Author3", "Title3", "ISBN3", "Publisher3"};

ap.add_title_book(t1);

ap.add_title_book(t2);

ap.add_title_book(t2);

ap.add_title_book(t3);

String lan = ap.getmTitle_books().toString();

System.out.println(lan);

String d1[] = {"0", "ISBN1"};

String d2[] = {"0", "ISBN2"};

String d3[] = {"0", "ISBN5"};

String tr1[] = {"0", "1"};

String tr2[] = {"0", "2"};

(14)

2.9.2. Przykład kodu sprawdzającego działanie dodawanie tytułów książki oraz książek

String d1[] = {"0", "ISBN1"};

String d2[] = {"0", "ISBN2"};

String d3[] = {"0", "ISBN5"};

String tr1[] = {"0", "1"};

String tr2[] = {"0", "2"};

ArrayList<String> pom = ap.add_book(d1, tr1);

if (pom != null) { System.out.print(pom); } pom = ap.add_book(d2, tr1);

if (pom != null) { System.out.print(pom); } pom = ap.add_book(d2, tr1);

if (pom != null) { System.out.print(pom); } pom = ap.add_book(d2, tr2);

if (pom != null) { System.out.print(pom); } pom = ap.add_book(d3, tr2);

if (pom != null) { System.out.print(pom); } }

(15)

2.9.2. Przykład kodu sprawdzającego działanie dodawanie tytułów książki oraz książek – wynik działania dodawania tytułów książek i książek

[

Title: Title1 Author: Author1 ISBN: ISBN1 Publisher: Publisher1, Title: Title2 Author: Author2 ISBN: ISBN2 Publisher: Publisher2, Title: Title3 Author: Author3 ISBN: ISBN3 Publisher: Publisher3]

[

Title: Title1 Author: Author1 ISBN: ISBN1 Publisher: Publisher1 Number: 1][

Title: Title2 Author: Author2 ISBN: ISBN2 Publisher: Publisher2 Number: 1][

Title: Title2 Author: Author2 ISBN: ISBN2 Publisher: Publisher2 Number: 1, Title: Title2 Author: Author2 ISBN: ISBN2 Publisher: Publisher2 Number: 2]

Cytaty

Powiązane dokumenty

ści błahościami; z rzędu zwierząt nie podnieśli się jeszcze do godności człowieka, a rząd zwierząt, do którego się liczą, nie zachował nawet ozdób i

To będzie zasadniczy obszar kontroli zewnętrznej, poza nim natomiast pozostaje problematyka kontroli wykonywania zadań publicznych, zarówno przez podmioty administracji

Skłaniając się do odpowiedzi na pytanie postawione w śródtytule, uwzględniając zadania i funkcje, które nauczyciel pełnił w przeszłości oraz te, które obecnie pełni,

Każdy problem to jakieś zadanie do rozwiązania dla czytelnika, sposób zaś wyjścia z trudnej sytuacji stanie się wzorem, który dzięki introjekcji może być za- stosowany

Wy- daje siê, ¿e upadek tego domu ma symbolizowaæ nie tylko upadek ZSRR, ale tak¿e to, o czym Sadur wspomnia³a w wywiadzie — utratê przez Moskwê swo- jej klasy.. Petersburg

Sytuacja finansowa klasztoru była niestabilna, jed- nak klasztor w Leśnej utrzymywał się samodzielnie, korzystając z pomocy władz prowincji tylko raz w latach 30..

rażalne nie istnieje w jakimś »tam«, w innym świecie, w innym czasie, lecz w tym mianowicie, że zdarza się (coś).”20 Nie jest więc tak, że konstytutywne dla dzieła

Wydaje się, że siła emocji zależy nie tylko od stopnia interioryzacji reguł, respektowanych przez jednostkę i jej środowisko, ale także, między innymi, od rzędu wielkości