Aplikacja Filharmonia, Aplikacja Filharmonia


Aplikacja Filharmonia



Dziedzina problemowa:

Filharmonia jest instytucją państwową, która nie korzysta z większych unowocześnień. Do tej pory wszelkie ustalenia odbywały się na papierze, co doprowadzało do wielu opóźnień i niejasności. Wyszukanie danego koncertu stwarzało klientowi wiele problemów a także zajmowało dużo cennego czasu. Chcąc wyjść naprzeciw oczekiwaniom ludzi, zajmujących się organizacją koncertów, zarządzających muzykami oraz klientom Filharmonii, postanowiono wprowadzić system informacyjny, który chociaż w małym stopniu pozwoli na usprawnienie całej organizacji.

Cel:

Celem systemu jest usprawnienie ustalania koncertów, tworzenia programów oraz dobierania muzyków w Filharmonii. Ma on także pomoc samym muzykom w sprawnym szukaniu danych o koncercie.

Zakres odpowiedzialności systemu:

System będzie przechowywał dane o muzykach pracujących w filharmonii oraz jej repertuarze. Sama aplikacja będzie udostępniać narzędzia pozwalające na wprowadzanie i edycję danych, a także pozwalające na zautomatyzowanie procesu tworzenia repertuaru.

Użytkownicy systemu:

Użytkownikami systemu będą: muzycy, dział kadr oraz dyrektor artystyczny.

Wymagania użytkownika:

System przechowuje informacje dotyczące muzyków (imię, nazwisko, datę urodzenia, adres zamieszkania oraz telefon kontaktowy). Pamiętane jest na jakim gra instrumencie (musi grać przynajmniej na jednym). Muzycy dzielą się na kontraktowych oraz zatrudnionych na umowę o dzieło. Dla muzyków zatrudnionych kontraktowo pamiętana jest data zatrudnienia, długość kontraktu oraz wartość pensji podstawowej. Długość kontraktu nie może być krótsza niż 24 miesiące. System pozwala wyliczyć wartość wypłaty w ostatnim miesiącu (na podstawie pensji podstawowej i bonusów od zagranych koncertów w danym miesiącu). Dla muzyków zatrudnionych na umowę o dzieło system pozwala wyliczyć wartość wypłaty w ostatnim miesiącu na podstawie liczby zagranych koncertów. Ich liczba nie może być mniejsza niż 3.

System przechowuje informacje o wszystkich utworach z repertuaru Filharmonii. Pamiętana jest jego nazwa (opis utworu) oraz szacowana długość. Dla każdego utworu znany jest jego kompozytor, oraz ile egzemplarz nut na dany instrument znajduje się w Filharmonii. Utwór może być częścią innego utworu .

Dla kompozytorów pamiętane są imię i nazwisko. System pozwala policzyć ile utworów danego kompozytora znajduje się w repertuarze. oraz wyszukać ich tytuły.

System przechowuje informacje o programach z repertuaru. W skład programu musi wchodzić minimum jeden utwór. Na podstawie szacowanych długości utworów możliwe jest wyliczenie przybliżonej długości programu. Jeden program może być grany wiele razy przy czym w skład jednego koncertu może wchodzić tylko jeden program.

Dla koncertów pamiętane są data oraz godzina rozpoczęcia. Znana jest lista muzyków grających w danym koncercie, oraz sala (jedna), w której koncert się odbywa.

Dla każdej sali koncertowej pamiętana jest jej nazwa.


Wymagania funkcjonalne:

Przypadki uzycia pominiete na tym etapie analizy.

0x01 graphic


Schemat nietrywialnych przypadków użycia istotnych dla funkcjonalności systemu skonstruowany wyłącznie z perspektywy aktorów systemu.

0x01 graphic


Diagram przypadków użycia dla aktora: Biuro kadr

0x01 graphic


Diagram przypadków użycia dla aktora:Dyrektor artystyczny

0x01 graphic


Diagram przypadków użycia dla aktora: Muzyk

0x01 graphic


Opis struktury systemu

Diagram klas zbudowany w oparciu o opis struktury systemu

0x01 graphic


Analiza dynamiczna

1.Diagram stanów dla klasy Koncert

2. Diagram aktywności dla przypadku użycia dodaj koncert

3. Diagram kolaboracji dla przypadku użycia dodaj koncert

4 Diagram sekwencji dla przypadku użycia dodaj koncert

Opis stanów dla klasy Koncert:

Koncert jest ZAPLANOWANY jeśli jest ustalona data ,godzina koncertu oraz ustalony jest jego program.

Koncert jest OBSADZONY jeśli ustalono którzy muzycy będą grali na tym koncercie.

Wyjście ze stanu złożonego następuje jeśli koncert zostaje anulowany lub jeśli data>daty dzisiejszej

1.Diagram Stanów dla klasy Koncert

0x01 graphic

.


Scenariusz dla przypadku użycia dodaj koncert: (dla tego przypadku użycia zostały zrealizowane diagramy aktywności, kolaboracji, sekwencji)

Dodanie koncertu

Wybranie daty

Wybranie godziny

jeśli istnieje program, to

Wybierz program

Koniec przypadku użycia

jeśli nie istnieje program

Dodaj program

Wpisz nazwę

Wybierz utwory

Koniec przypadku użycia


2.Diagram aktywności dla przypadku użycia dodaj koncert

0x01 graphic


3.Diagram kolaboracji dla przypadku użycia dodaj koncert

0x01 graphic


4.Diagram sekwencji dla przypadku użycia dodaj koncert

0x01 graphic


Transformacja poszczególnych klas i opis wybranych asocjacji

1.Asocjacja Koncert-Muzyk

2.Asocjacja Muzyk-Kontrakt

3.Asocjacja Sala_koncertowa-Koncert

4.Asocjacja z klasą asocjacji

5.Asocjacja(Kompozycja) Utwor


1.Asocjacja Koncert-Muzyk

0x01 graphic

Jest to asocjacja dwustronna *-*

Liczność wiele wymusza dodanie obiektu, który w sposób dynamiczny będzie zmieniał swoją wielkość. W Javie takimi obiektami są klasy implementujące interfejs Collection.

W klasie Koncert dodałam referencje do obiektu typu muzyk . Niezbędne było także dodanie metod pozwalających na dodawanie i usuwanie powiązań między klasami Koncert i Muzyk.

W klasie Muzyk dodałam referencje do obiektu typu koncert oraz podobnie jak w klasie Koncert dwie metody powalające na dodawanie i usuwanie koncertów.


2.Asocjacja Muzyk-Kontrakt

0x01 graphic

Jest to jednostronna asocjacja typu 1_0..1

Implementacja jednostronnej asocjacji skierowanej do klasy Kontrakt wymusza dodanie w klasie Muzyk referencji do obiektu typu kontrakt. Wartość null tego obiektu odpowiada liczności 0 asocjacji. Niezbędne jest także dodanie metod w klasie Muzyk pozwalających na dodawanie i usuwanie powiązań pomiędzy klasami Muzyk i Kontrakt.


3.Asocjacja Sala_koncertowa-Koncert

0x01 graphic

Jest to dwustronna asocjacja 1_*.

Implementacja tej asocjacji wymaga dodania w klasie Sala_Koncertowa referencji do obiektu typu koncerty oraz metod pozwalajacych na zrealizowanie tej asocjacji czyli dodających i usuwających koncerty.

W klasie Koncert dodałam obiekt sala typu Sala_Koncertowa oraz metody pozwalajace na zrealizowanie tej asocjacji czyli przypisz_sale i usun_ sale.


4.Asocjacja z klasą asocjacji

0x01 graphic

Implementacja asocjacji z klasą asocjacji wymaga stworzenia klasy Nuty odpowiadającej klasie asocjacji Nuty połączonej asocjacjami z klasami Instrument i Utwor.

W klasie Utwor i w klasie Instrument dodałam referencje do obiektu typu nuty oraz dwie metody pozwalające na dodawanie i usuwanie nut.

W klasie Instrument dodałam obiekt instrument typu Instrument oraz obiekt utwor typu Utwor oraz metody dodajace i usuwajace powiazania miedzy klasami czyli dodaj usuń utwor oraz dodaj usuń instrument.


5.Asocjacja(Kompozycja) Utwor

0x01 graphic

Implementacja kompozycji rekurencyjnej polega na dodaniu w tej klasie obiektu calosc typu Utwor oraz referencje do obiektu czesc typu Utwor. Niezbedne bylo takze dodanie metod pozwalajacych na dodanie czesci oraz utworzeni czesci w calosci.


Schemat logiczny systemu

Diagram klas stanowiący podstawę do implementacji:

zalącznik: klasy.jpg


Projekt interfejsu użytkownika

0x01 graphic

0x01 graphic

0x01 graphic
0x01 graphic


Wymagania niefunkcjonalne:

System do zarządzania Filharmonią powinien działać przy następujących ograniczeniach:

dane działające w ramach systemu powinny być dostępne codziennie w godzinach od 6.00 do 22.00

maksymalna niedostępność systemu nie powinna przekroczyć 12 godzin od momentu zgłoszenia błędu.


Opis przyszłej ewolucji systemu:

W obecnej chwili nie planuje rozbudowy systemu o nową funkcjonalność.


Słownik

Dyrektor artystyczny- osoba zarządzająca koncertami, repertuarem oraz programami.

Biuro kadr- osoba zarządzająca muzykami

Muzyk-pracownik Filharmonii

1



Wyszukiwarka

Podobne podstrony:
Aplikacje internetowe Kopia
Dokumenty aplikacyjne CV list
05 Komunikacja aplikacji z ser Nieznany
114 aplikacji zdrowotnych wydanie I OSOZ
o wojewodzie i administr rządowej w wojewodztwie - test, Aplikacja
BizAgi Studio Cz, 5 Stworzeni aplikacji zewn trznej w ASP NET
Aplikacyjna mapa wiedzy id 6708 Nieznany (2)
PHP i Oracle Tworzenie aplikacji webowych od przetwarzania danych po Ajaksa
C Tworzenie aplikacji sieciowych Gotowe projekty c

więcej podobnych podstron