background image

Inżynieria Oprogramowania

Egzamin 2FD

Zadanie 1.
Kod z ramek implementuje klasy obiektów transferowych pewnego systemu (nie pokazano metod). 
Narysuj tabele z relacyjnej bazy danych, odpowiadające obiektom transferowym, wypełnione 
następującymi danymi:
Wyroby trampki i kozaki sklasyfikowano jako obuwie. Wyrób koszula sklasyfikowano jako odzież.

class WyrobDTO {

  /** @var int */
  private $ID;

  /** @var string */
  private  $nazwa;

  /** @var TypWyrobuDTO */
  private $klasyfikacja;

}

class TypWyrobuDTO {

  /** @var int */
  private $ID;

  /** @var string */
  private $nazwa;

  /** @var array[WyrobDTO] lista wyrobów */
  private $przedmiotyKlasyfikacji;

}

Zadanie 2.
W systemie z zadania 1 funkcjonalność Dodaj 
nowy typ wyrobu
 zaimplementowano tak, jak 
pokazano na diagramie sekwencji.

Napisz kod klasy 

TypWyrobuBackingBean 

z metodą 

onClickZapisz()

. W metodzie 

onClickZapisz

 przyjmij założenia:

zmienne 

nazwa

 i 

fasada

 to pola klasy,

pola zostały zainicjowane w konstruktorze.

Podpowiedź: w języku PHP operator dostępu 
do pola to $this->

onClickZapisz()

dodajTypWyrobu(typWyrobu)

typWyrobu

:TypWyrobuDTO

setNazwa(nazwa)

użytkownik

typWyrobuForm

:TypWyrobuBackingBean

fasada

:Fasada

Zadanie 3.
Diagram przypadków użycia pokazany niżej modeluje funkcjonalność pewnego systemu 
informatycznego.

Zarządzanie wyrobami

Prezentuj

Listę wyrobów

Edycja

wyrobu

Usuń

wyrób

Dodaj

wyrób

Pracownicy

System

<<extend>>

<<extend>>

<<extend>>

Naszkicuj okienko odpowiadające przypadkowi użycia Prezentuj Listę wyrobów.

Inżynieria Oprogramowania

Egzamin 2FD

Zadanie 1.
Kod z ramek implementuje klasy obiektów transferowych pewnego systemu (nie pokazano metod). 
Narysuj tabele z relacyjnej bazy danych, odpowiadające obiektom transferowym, wypełnione 
następującymi danymi:
Na rachunku nr 12-000-1234-4321 należącym do klienta nr 80010112345, dnia 28-06-2012 
zaksięgowano wypłatę 100zł, a 29-06-2012 wpłatę 500zł.

class RachunekDTO {

  /** @var string */   private $numer;
  /** @var KlientDTO */

  private $wlasciciel;
  /** @var array[OperacjaDTO] */

  private $operacje;
}

class OperacjaDTO {

  /** @var int      */   private $ID;
  /** @var DateTime */ private $czas;

  /** @var float    */private $kwota;
  /** @var RachunekDTO */

  private $rachunek;
}

Zadanie 2.
W systemie z zadania 1 funkcjonalność Dodaj 
nową operację
 zaimplementowano tak, jak 
pokazano na diagramie sekwencji.

Napisz kod klasy 

PrzelewBackingBean 

z metodą 

onClickOK()

. W metodzie 

onClickOK

 przyjmij założenia:

zmienne 

kwota

r

 i 

fasada

 to pola klasy,

pola zostały zainicjowane w konstruktorze.

Podpowiedź: w języku PHP operator dostępu do 
pola to $this->

onClickOK()

dodajOperacje(przelew)

przelew

:OperacjaDTO

setKwota(kwota)

użytkownik

przelewForm

:PrzelewBackingBean

fasada

:Fasada

setRachunek(r)

Zadanie 3.
Diagram przypadków użycia pokazany niżej modeluje funkcjonalność pewnego systemu

Naszkicuj okienko odpowiadające przypadkowi użycia Prezentuj Listę nieruchomości

A

29.06.2012

B

29.06.2012

Zarządzanie nieruchomościami

Prezentuj

Listę nieruchomości

Edycja

nieruchomości

Usuń

nieruchomość

Dodaj

nieruchomość

Pracownik

System

<<extend>>

<<extend>>

<<extend>>

Prezentuj

historię własności

<<extend>>