background image

Inżynieria Oprogramowania

Egzamin 2FD

Zadania wiążą się ze sobą!

Zadanie 1. * - musisz zrobić to zadanie poprawnie

  A

Twoim zdaniem, w której części domu należy umieścić piwnicę?

  B

  C

Zadanie 2.
Kod z ramek implementuje klasy obiektów transferowych pewnego systemu (nie pokazano metod). 
Narysuj diagram klas dla kodu z ramek. Uwzględnij metody, nazwy asocjacji, liczebność, role.

public class WyrobDTO {

  int ID;
  String nazwa;

  TypWyrobuDTO klasyfikacja;
}

public class TypWyrobuDTO {

  int ID;
  String nazwa;

  List<WyrobDTO> przedmiotyKlasyfikacji;
}

Zadanie 3.
Na podstawie diagramu z zadania 2 narysuj diagram związków encji. Zauważ, że żaden normalny 
analityk nie używa końcówek ...DTO w nazwach encji. Zastanów się nad opcjonalnością związków.

Zadanie 4.
Uwzględniając rozwiązanie zadania 3, narysuj tabele z relacyjnej bazy danych, odpowiadające 
diagramowi z zadania 3, wypełnione następującymi danymi:

Wyroby trampki i kozaki sklasyfikowano jako obuwie. Wyrób koszula sklasyfikowano jako odzież.
Zadanie 5.
W systemie z zadań 2 – 4 funkcjonalność Dodaj nowy typ wyrobu zaimplementowano następująco:

public class WyrobyService {

 public int
 nowyTypWyrobu(TypWyrobuDTO t) {

    return typWyrobuDAO.insert(t);
 }

}

public class WyrobyFacade {

 public int
 nowyTypWyrobu(TypWyrobuDTO t) {

     wyrobyService.nowyTypWyrobu(t);
 }

}

Narysuj diagram sekwencji modelujący tę fun-
kcjonalność, przy założeniu, że klasy DAO, fa-
sady i serwisowa są już utworzone, a aktorem 
jest formularz 

TypWyrobuForm

, który wywo-

łuje metodę clickZapisz() backing bean'a.

public class TypWyrobuFormBackingBean {
 public void clickZapisz() {

    TypWyrobuDTO t;
    t = new TypWyrobuDTO(nazwa);

    wyrobyFacade.nowyTypWyrobu(t);
 }

}

Inżynieria Oprogramowania

Egzamin 2FD

Zadania wiążą się ze sobą!

Zadanie 1. * - musisz zrobić to zadanie poprawnie

Twoim zdaniem, w której części domu należy zainstalować 
urządzenie techniczne pokazane obok?

a) w kuchni      b) w łazience       c) w salonie

Zadanie 2.
Kod z ramek implementuje klasy obiektów transferowych pewnego systemu (nie pokazano metod). Na-
rysuj diagram klas dla kodu z ramek (mają być 3 klasy). Uwzględnij metody, nazwy asocjacji, liczebność, 
role. Przyjmij założenie, że klient może mieć wiele rachunków.

public class RachunekDTO {
  String numer;

  List<OperacjaDTO> operacje;
  KlientDTO wlasciciel;

}

public class OperacjaDTO {
  int ID;

  DateTime czas;
  float kwota;

  RachunekDTO rachunek;
}

Zadanie 3.
Na podstawie diagramu z zadania 2 narysuj diagram związków encji. Zauważ, że żaden normalny 
analityk nie używa końcówek ...DTO w nazwach encji. Zastanów się nad opcjonalnością związków. 
Atrybuty klienta to ID i nazwa.

Zadanie 4.
Uwzględniając rozwiązanie zadania 3, narysuj tabele z relacyjnej bazy danych, odpowiadające 
diagramowi z zadania 3, wypełnione następującymi danymi:

Klient Grzegorz D. ma 2 rachunki (wymyśl numery). Na pierwszym dnia 25-06-2010 zaksięgowano 
wypłatę 100zł, a 26-06-2010 wpłatę 500zł. Na drugim rachunku nie ma operacji.

A

26.06.2010

B

26.06.2010

background image

Zadanie 5.
W systemie z zadań 2 – 4 funkcjonalność Pokaż listę rachunków zaimplementowano następująco:

public class RachunkiService {

 public List<RachunekDTO>
 getRachunki() {

    return rachunkiDAO.getAll();
 }

}

public class RachunkiListBackingBean {

public List<RachunekDTO> getRachunki() {
    RachunkiFacade f;

    f = new RachunkiFacade();
    return f.getRachunki();

  }
}

Narysuj diagram sekwencji modelujący tę fun-
kcjonalność, przy założeniu, że klasy DAO 
i serwisowa są już utworzone, a aktorem jest 
raport 

RachunkiList

, który wywołuje 

metodę getRachunki() backing bean'a.

public class RachunkiFacade {

 public List<RachunekDTO>
 getRachunki() {

     return
     rachunkiService.getRachunki();

 }
}

Zadanie 6.

Na podstawie diagramu przypadków użycia naszkicuj okna GUI funkcjonalności Pokaż listę rachunków
Funkcja ta prezentuje rachunki zalogowanego klienta.

Zadanie 6.
Na podstawie diagramu przypadków użycia naszkicuj okna GUI funkcjonalności Dodaj nowy wyrób
Przyjmij założenie, że funkcjonalność zrealizowana jest w formie przewodnika, złożonego z 2 kroków. 
Zaznacz kolejność wyświetlania formularzy.

 


Document Outline