inz opr zal 2k10 d id 219489 Nieznany

background image

Inżynieria Oprogramowania

Egzamin 2FD

Zadania wiążą się ze sobą!

Wstęp
Mamy następujące dane na temat systemu informatycznego:

Wyroby

Klasyfikacje

Typy

id

nazwa

id

data_od

data_do

wyrobID

typID

id

typ

1

trampki

1

1.01.2009

1.01.2010

1

1

1

buty

2

T-shirt

2

1.01.2010

NULL

1

3

2

odzież

3

1.01.2010

NULL

2

2

3

obuwie

Encje

Funkcje

Wyrób Klasyfikacja Typ

Zarządzaj wyrobami
Dodaj nowy wyrób

C

C

R

Edytuj wyrób

U

UC

R

Usuń wyrób

D

D

Pokaż listę wyrobów R

R

R

Zadanie 1.
Napisz kod klas obiektów
transferowych używanych
przez funkcję Dodaj nowy
wyrób
. Na diagramie DFD przepływ Formularz wyrobu nie jest obiektem
transferowym. Formularz wyrobu pokazany jest na drugiej stronie. Dane przesyłane
z formularza to obiekt klasy Wyrob i typyTO

_ _

. Oprócz klas list utwórz też kod dla

pojedynczych obiektów.

Zadanie 2.
funkcję Dodaj nowy wyrób zaimplementowano stosując wzorce projektowe MVC,
Session Facade, DAO, DTO, Application Service. Narysuj diagram klas pokazujący
zależności dynamiczne między klasami tworzącymi logikę aplikacji (backing bean,
DAO, serwis i fasada). Uwzględnij wszystkie potrzebne klasy DAO i wszystkie
metody klas.

Zadanie 3.
Napisz kod klas fasady i serwisowej, zawierający metody potrzebne do implementacji
diagramu DFD. Funkcja Pokaż formularz wyrobu nie jest funkcją fasady ani serwisu
(funkcjonalność tę realizuje warstwa prezentacji).

Inżynieria Oprogramowania

Egzamin 2FD

Zadania wiążą się ze sobą!

Wstęp
Mamy następujące dane na temat systemu informatycznego:

Osoby

Właściciele

Budynki

id osoba

id data_od

data_do

osobaID budynekID

id opis

adres

1 Adam K.

1

1.01.2009

1.01.2010

1

1

1 kamienica

….

2 Grzegorz D.

2

1.01.2010

NULL

2

1

2 dom

….

3

1.01.2010

NULL

1

3

3 bunkier

….

Encje

Funkcje

Osoba Właś-

ciciel

Budynek

Zarządzaj budynkami
Dodaj nowy budynek R

C

C

Edytuj budynek

R

UC

U

Usuń budynek

D

D

Pokaż listę budynków R

R

R

Zadanie 1.
Napisz kod klas obiektów
transferowych używanych
przez funkcję Pokaż listę
budynków
. Na diagramie DFD przepływ Lista budynków nie jest obiektem
transferowym. Formatka raportu pokazana jest na drugiej stronie. Raport wyświetla
dane przesłane w obiekcie klasy ListaBudynków i WłaścicieliTO

_ _

. Oprócz klas list

utwórz też kod dla pojedynczych obiektów.

Zadanie 2.
Funkcję Pokaż listę budynków zaimplementowano stosując wzorce projektowe MVC,
Session Facade, DAO, DTO, Application Service. Narysuj diagram klas pokazujący
zależności dynamiczne między klasami tworzącymi logikę aplikacji (backing bean,
DAO, serwis i fasada). Uwzględnij wszystkie potrzebne klasy DAO i wszystkie
metody klas.

Zadanie 3.
Napisz kod klas fasady i serwisowej, zawierający metody potrzebne do implementacji
diagramu DFD. Funkcja Pokaż budynki nie jest funkcją fasady ani serwisu
(funkcjonalność tę realizuje warstwa prezentacji). Nie wnikaj w szczegóły algorytmu
tworzenia listy budynków i właścicieli, zaznacz tylko wywołania odpowiednich
metod obiektów dostępu do danych.

A

29.06.2010

B

29.06.2010

Pobierz listę typów

Pracownik

Dodaj nowy wyrób

Pokaż formularz

wyrobu

Typy

Wyroby

Klasyfikacje

Lis

taT

yp

ow

TO

ListaTypowTO

Formularz wyrobu

Utwórz wyrób

KlasyfikacjaDTO

Wy

rob

DT

O

Wyrob_i_typyTO

Pobierz budynki

Pracownik

Pokaż listę budynków

Pokaż budynki

Budynki

Osoby

Właściciele

Lis

taB

ud

yn

wT

O

ListaBudynków_i_WłaścicieliTO

Lista budynków

Lista

Wła

ścic

ieliT

O

ListaOsóbTO

background image

Wygląd okna raportu o budynkach

Przykłady kodu w języku Java

public class KlasaDTO implements Serializable {
int ID; String tekst;

// między KlasaDTO a Klasa2DTO jest asocjacja o liczebności 0..*
//albo 1..*

List<Klasa2DTO> listaObiektów;
// między KlasaDTO a Klasa3DTO jest asocjacja o liczebności 1

Klasa3DTO pojedynczyObiekt;
//tutaj metody

public void nazwaMetody(int parametr) { this.id = parametr;}
public String nazwaMetody2() { return this.id;}

}
//przykład listy obiektów TO

public class ListaObiektówTO extends ArrayList<KlasaDTO>
implements Serializable {}

public class LogikaAplikacji {

KlasaUslugowa usluga; KlasaUslugowa2 usluga2;

public LogikaAplikacji() { //konstruktor klasy
usluga = new KlasaUslugowa(); usluga2 = new KlasaUslugowa2();

}

public KlasaDTO pobierzKlasa() {
ListObiektowTO lista;

lista = usluga.pobierzKlasa();
for(KlasaDTO k: lista) {

ListaObiektow2TO lista2 = usluga2.pobierzKlasa2(k);
k.ustawListę(lista2);

}
}

public void usunKlasa(KlasaDTO x) {

usluga.usunKlasa(x);
}

}

Wygląd okna formularza wyrobu

Formularz nie pokazuje ID obiektów, lecz obiekty TO mają identyfikatory.
Użytkownik wprowadza dane wyrobu i przydziela mu listę typów.

Przykłady kodu w języku Java

public class KlasaDTO implements Serializable {
int ID; String tekst;

// między KlasaDTO a Klasa2DTO jest asocjacja o liczebności 0..*
//albo 1..*

List<Klasa2DTO> listaObiektów;
// między KlasaDTO a Klasa3DTO jest asocjacja o liczebności 1

Klasa3DTO pojedynczyObiekt;
//tutaj metody

public void nazwaMetody(int parametr) { this.id = parametr;}
public String nazwaMetody2() { return this.id;}

}
//przykład listy obiektów TO

public class ListaObiektówTO extends ArrayList<KlasaDTO>
implements Serializable {}

public class LogikaAplikacji {

KlasaUslugowa usluga; KlasaUslugowa2 usluga2;

public LogikaAplikacji() { //konstruktor klasy
usluga = new KlasaUslugowa(); usluga2 = new KlasaUslugowa2();

}

public KlasaDTO pobierzKlasa() {
ListObiektowTO lista;

lista = usluga.pobierzKlasa();
for(KlasaDTO k: lista) {

ListaObiektow2TO lista2 = usluga2.pobierzKlasa2(k);
k.ustawListę(lista2);

}
}

public void usunKlasa(KlasaDTO x) {

usluga.usunKlasa(x);
}

}

X

ID adres opis właściciel

 1001 W. Pola 2, Rzeszów kamienica Grzegorz D.
 1002 Wąska 13, Rzeszów dom Anna Z.
 1003 Słaba 1, Rzeszów bunkier Adam K.

Lista budynków

Edycja

Usuń

Dodaj

Historia własności

X

Wybierz typy wyrobu:
 buty
 odzież
 obuwie

Nowy wyrób

Anuluj

Dodaj

Nazwa:


Document Outline


Wyszukiwarka

Podobne podstrony:
inz opr zal 2k10 c id 219488 Nieznany
inz opr zal 2k10 b id 219486 Nieznany
inz opr zal 2k10 a id 219485 Nieznany
inz opr zal 2k10 e
inz opr zal 2k10 e
inz opr zal 2k10 f
inz opr zal 2k10 e
inz opr zal 2k12 termin2 id 219 Nieznany
inz opr zal 2k11 b
ef 271 4 2012 zal nr 2 id 15072 Nieznany
inz opr zal 2k09 d
inz opr zal 2k12 ab rozwiazania
inz opr zal 2k12 a
inz opr zal 2k11 b

więcej podobnych podstron