Poniższe założenia należy traktować jako wstępne, mogą one ulegać drobnym zmianom polegającym na wyjaśnieniu ewentualnych wątpliwości. Zakres aplikacji nie ulegnie zmianie.
Pewne muzeum sztuki zgromadziło dużą ilość dzieł sztuki (obrazów, rzeźb itp.) -- będziemy je nazywać eksponatami. Muzeum ma skomputeryzowaną księgowość i dysponuje sprzętem komputerowym, który chce wykorzystać do wprowadzenia komputerowej obsługi informacji o posiadanych eksponatach.
Każdy eksponat jest opisany unikalnym kodem eksponatu (identyfikatorem), tytułem, typem i rozmiarem; rozmiar składa się z wysokości, szerokości i wagi.
Każdy eksponat jest dziełem jakiegoś twórcy, ale dla niektórych eksponatów artysta nie jest znany (i raczej już nie będzie). Opis artysty obejmuje unikalne ID (identyfikator), imię i nazwisko, rok urodzenia i rok śmierci (pusty dla artystów żyjących). Baza danych ma przechowywać informacje wyłącznie o tych artystach, których dzieła są własnością muzeum.
Muzeum posiada kilka galerii, w których wystawia eksponaty. Ponadto muzeum wypożycza niektóre dzieła innym instytucjom (muzeom, samodzielnym galeriom itp.). Najcenniejsze eksponaty nie są jednakże wypożyczane.
W każdym momencie eksponat może być więc:
Dla każdego eksponatu muzeum chce przechowywać całą historię ekspozycji i wypożyczeń, nie tylko bieżące zdarzenia.
Potrzebna jest baza danych wraz z aplikacją wspierającą opisany proces. Kontakt z użytkownikami może odbywać się przez przeglądarkę WWW lub lokalny program kliencki, ale powinien być komfortowy (czyli interfejs tekstowy wykluczamy).
Twoim zadaniem jest zaprojektowanie i realizacja aplikacji wspomagającej opisany proces. Aplikacja powinna być wygodna w użyciu i używać bazy danych.
Aplikacja powinna umożliwiać pracownikom muzeum:
Przeszukiwanie informacji powinno być możliwe rownież dla zwiedzających muzeum (czyli szerokiej publiczności), poza informacjami ,,historycznymi''.
Należy uwzględnić następujące reguły poprawności:
Podaną informację należy uzupełnić zgodnie ze zdrowym rozsądkiem (zdrowy rozsądek tez punktujemy ;-).
Należy przygotować