Modelowanie i Analiza Systemów informacyjnych (MAS)

Egzamin

	Imię			Nazwisko				Nr indeksu				Grupa		

Zestaw B

1.	Pytania testowe. Proszę zaznaczyć prawdziwe twierdzenia (litera T) lub nieprawdziwe (litera N) stawiając odpowiednią literę przy kwadracie. Prawidłowa odpowiedź oznacza +1 pkt., błędna -1 pkt, brak odpowiedzi 0 pkt (całość: min. 0 pkt., maks 20 pkt.). 

W modelu relacyjnym, w przypadku kolumny typu INT, wartość null oznacza 0. N

W klasie ObjectPlus, kontener służący do przechowywania wszystkich ekstensji, może być łatwo zaimplementowany przy użyciu klasy Vector. N

Technologia zwana refleksją (ang. Reflection) może posłużyć do odczytania budowy/struktury klasy.  T

Przy implementacji ograniczenia {XOR} warto użyć jednej z wersji metody contains(…) znajdującej się w klasie pojemnikowej.  T

Metoda implementująca ograniczenie {subset} powinna uwzględniać nazwę roli asocjacji.  T

Korzystanie z deklaratywnego podejścia do tworzenia GUI wymaga dużego zaangażowania ze strony programisty.   N

W popularnych językach programowania (np. Java) ograniczenia nie występują bezpośrednio.  T

Ograniczenie {bag} dla asocjacji oznacza, że powiązania pomiędzy tymi samymi obiektami są    uporządkowane.   N

Implementacja atrybutu złożonego może polegać na zdefiniowaniu nowego typu.  T

Zjawisko określane jako niezgodność impedancji jest związane ze słabą wydajnością relacyjnych baz danych.  N

Plik mapujący wykorzystywany w technologii Hibernate zawiera m. in. informacje dotyczące asocjacji mapowanej klasy.    T

Asocjację n-arną implementujemy wykorzystując klasę pośredniczącą.  T

Implementacja agregacji w modelu relacyjnym jest dokładnie taka sama jak asocjacji. T

Jednym ze sposobów kształtowania wysokiej użyteczności jest obserwacja sposobu pracy użytkowników.T 

Agregacja z modelu obiektowego, jest implementowana w modelu relacyjnym jako dwie tabele pośredniczące i 4 klucze obce. N

Mechanizm serializacji języka Java, ułatwia uzyskanie trwałości ekstensji.  T

Głównym powodem implementacji asocjacji za pomocą identyfikatorów (zamiast referencji) jest chęć uniezależnienia obiektów od siebie (z punktu widzenia JVM). T

W przypadku implementacji ekstensji klasy w ramach klasy zewnętrznej, odpowiedni kontener musi być oznaczony słowem static. T

Dobre GUI, w celu pokazania wykluczających się opcji wykorzystuje "radio buttons".  T

Niektóre nowe wersje aplikacji nie koncentrują się na dodawaniu nowych funkcji, ale na ułatwieniu dostępu do już istniejących.   T

Egzamin	Strona 1 z 2	Drukowano: 2010-05-10

2.	Dla podanego poniżej diagramu analitycznego proszę nazwać elementy oznaczone literami od A do J oraz krótko opisać sposoby ich implementacji (maks. 30 pkt.): 

										Osoba {abstract}	H		
										-Imię				
										-Nazwisko				
										-Adres				
			3 Zleca				1	Klient		Pracownik			
													
							-NIP					
										-Data urodzenia		
								-Data rozpoczęcia wsp.	-/Wiek	A		
											-Pensja	B		
											-Nazwa firmy			
		-Nr seryjny	G				J						
											C		
					F			-Data - od					
														
									-Data - do		{Overlapping}		
													
							*							
	Zamówienie			Mebel {abstract}							D			
		*	3..*		3 Wykonuje	Zespół	*	*					
				-Nazwa {unique}[1]									
	-Numer						3 Pracuje w	Stolarz		Kierownik		
				-Waga[0..1]		-Nazwa							
*	-Data									*			
				-Kolor[1]						-Kurs[1..*]		-Telefon kom.		
	+GetKoszt()				*	1		1						
														
				+getKosztWytworzenia {abstract}()			*	0..10					

									*	*				
				{Incomplete}		*		3 Kieruje				

	I										E			
														
				Biurko	Szafa									
									-Data - od			
	-Liczba szuflad			-Liczba półek								
									-Data - do			
												
	+getKosztWytworzenia()			+getKosztWytworzenia()							

											
						
Atrybut unikalny
sprawdzamy czy w jej ekstensji jest juz obiekt z daną nazwą. Dobrze stosować HashMap, gdyż szybko przeszukuje po kluczach unikalnych.

atrybut pochodny, wyliczalny 
w Javie tylko getter. nie ustawia się tego atrybutu. Liczy się go z innych atrybutów

A   						F				

Atrybut klasowy. 
static String getNazwa_firmy()

B	
Liczności: Jak wiele -> to np. ArrayList, jak 1 -> to referencja do jednego obiektu, jak więcej niż jeden ArrayList w konstruktorze, to musimy zapewniż, że przynajmniej 3 obiekty będą w liście

G	

Dziedziczenie typu overlapping.
Sposoby obejścia: zastąpienie całej hierarchii dziedziczenia jedną klasą wykorzystanie agregacji lub kompozycji

C	
Klasa abstrakcyjna.
Nie ma bezpośrednich wystąpień obiektów. class abstract Osoba{}

H	

Metoda abstrakcyjna
Nie zawiera ciała metody w klasie abstakcyjnej tylko w klasie konkretnej.
 public abstract double getKosztWytworzenia();

Atrybut powtarzalny
Wiele wartości dla takiego atrybutu przechowujemy w jakimś kontenerze lub zwykłej tablicy

D	I	

Asocjacja z atrybutem
Zamieniamy na asocjację z klasą pośredniczącą. W klasie pośredniej dajemy referencje do jednej i drugiej klasy

E	
Agregacja.
w tym przypadku dwa kontenery , jedna dla części druga dla całości

J	

Egzamin	Strona 2 z 2	Drukowano: 2010-05-10