Jak dobrze zaprojektować obiektową bazę danych ??

0

Witam,
Mam do Was ogromną prośbę. Piszę swój pierwszy projekt w C++ i mam takie zadanie

ZAD. 9) Napisać program - obiektową bazę danych o zbiorach nośników audiowizualnych.
Założyć, że zbiory zawierają kasety audio, kasety wideo, płyty. Należy umożliwić
wprowadzanie danych, zapisywanie i odczytywanie z dysku.
WSKAZÓWKI i UWAGI:
 każda grupa nośników powinna być reprezentowana przez odpowiednią klasę
zapewniającą takie usługi jak edycja danych związanych z obiektem danej klasy,
zapis i odczytywanie.
 wszystkie klasy powinny zostać wyprowadzone ze wspólnej klasy bazowej
Pozycja.
 w pamięci utworzyć strukturę dynamiczną - listę zawierająca elementy typu
Pozycja.

I muszą być spełnione takie warunki:

  1. Dziedziczenie 3-poziomowe
  2. Polimorfizmy
  3. Iteratory i inne elementy stl.
  4. Klasy abstrakcyjne

Mógłby mi ktoś doradzić jak zaprojektować te klasy odpowiednio ?? Jak to dobrze rozwiązać ?? Muszę przygotować na środę taki diagram UMLowy z rozpisanym klasami. I nie wiem jak to ugryźć żeby mi się potem w miarę łatwo to pisało. Zawsze najgorzej jest zacząć projekt.

Bardzo proszę o w miarę szybką i konkretną pomoc.

Wiem że musi być klasa bazowa Pozycja. Po niej będą dziedziczyć odpowiednie nośniki Kaseta video, audio, płyta, ale kurcze nie wiem jak rozwiązać ten 3 poziom dziedziczenia, tą listę i zapis/odczyt. Bardzo bym prosił od podsunięcie jakiegoś pomysłu.

0

Co rozumiesz przez "zbioray nośników audiowizualnych" ? Bo to jest klucz do wszystkiego :D Możesz zrobić np. klasę CD, VHS (kasety stare), DVD, ... mozlwości jest sporo. I to będą Twoje klasy. W każdej z tych klas musisz mieć pola, które będą opisywać obiekt klasy CD - np. płytą CD może być płyta Metallicki kill em all. Ma ona swój tytuł, nazwę wykonawcy, ilość utworów, długość całej płyty ... To będą pola w klasie. Resztę chyba już wymyślisz ;)

3 poziom dziedziczenia? Nie bardzo rozumiem - przeciez to bez sensu, zeby np. CD dziedziczylo po Pozycja, a po CD dziedziczylo VHS ... Moze chodzi o to, (to by mialo wiecej sensu), ze wszystkie Twoje klasy dziedzicza po klasie Pozycja, ale kazda z nich ma cos konkretnego, co obowiązuje np. tylko dla CD, a czego nie ma VHS, itp (np. tytuły i ilość utworów na płycie CD - nie znajdziesz tego w klasie VHS)

1 użytkowników online, w tym zalogowanych: 0, gości: 1