Zadania z modelowania w UML

Transkrypt

Zadania z modelowania w UML
Zadania z modelowania w UML
Anna Bobkowska
Prezentowany mini-zbiór zadań zawiera zadania, które występowały
na egzaminach z inżynierii oprogramowania lub z modelowania
i analizy systemów na ZUSM w poprzednich latach. Zostały one
udostępnione w celu ułatwienia przygotowania do egzaminów z tych
przedmiotów. Jeżeli opisy zadań są nieprecyzyjne, należy w jawny
sposób przyjąć dodatkowe założenia.
Spis treści:
1. System biblioteczny
2. System ocen i zaliczeń na politechnice
3. System obsługi sklepu spożywczego
4. Automat z gorącymi napojami
5. System ułatwiający zarządzanie spółdzielnią mieszkaniową
6. System wspomagający obsługę magazynu
7. System zarządzania czasem pracy
8. System wspomagający działalność zakładu fryzjerskiego
9. System dla Klubu Malarzy Plenerowych
10. System wspomagający pracę pizzerii
Anna Bobkowska  2009
ZADANIE 1.
Zamodelować funkcjonalność systemu bibliotecznego, którego opis znajduje się
poniżej.
Należy:
 Utworzyć model przypadków użycia,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji pokazujący rejestrację wypożyczenia przez Jana
Kowalskiego książki „Potop”
 Narysować diagram stanów dla klasy ‘konto biblioteczne’.
SYSTEM BIBLIOTECZNY
System obsługiwany jest przez pracowników biblioteki oraz czytelników. Czytelnicy
mają możliwość przeglądania księgozbioru oraz rezerwacji i zamawiania książki. Po
zamówieniu książka wyszukiwana jest przez magazyniera i przekazywana do
punktu obsługi czytelnika, gdzie jest wydawana. Magazynier odpowiedzialny jest
również za wprowadzanie nowych pozycji do księgozbioru oraz usuwania książek
zagubionych lub zniszczonych. Pracownik obsługujący czytelników odpowiedzialny
jest za wydawanie zamówionych książek oraz za przyjmowanie zwrotu książek,
a także za przyjmowanie kary za zbyt długie przetrzymywanie książek oraz za
zagubienie lub zniszczenie książki. Zniszczona książka może być naprawiona. Za
wprowadzenie tej informacji odpowiedzialny jest magazynier. Każdy czytelnik może
jednocześnie mieć na stanie określoną liczbę książek. Jest ona określana
indywidualnie dla każdego czytelnika. Maksymalny okres przetrzymywania danej
książki określany jest dla każdej książki indywidualnie. Czytelnik sam może
zadeklarować okres przetrzymywania książki nie dłuższy od okresu maksymalnego
dla danej pozycji. W przypadku rezerwacji czytelnik otrzymuje powiadomienie o
dostępności poprzez e-mail. W tym samym momencie na podstawie rezerwacji
powstaje zamówienie książki. Pracownik punku obsługi czytelników nie wysyła takiej
książki do magazynu, jest ona kwalifikowana jako do wydania czytelnikowi.
Zamówioną książkę należy odebrać w przeciągu 24h, w innym przypadku książka
trafia do magazynu bądź też powstaje zamówienie dla kolejnej rezerwacji.
ZADANIE 2.
Zamodelować funkcjonalność Systemu Ocen i Zaliczeń na Politechnice, którego opis
znajduje się poniżej.
Należy:
 Utworzyć model przypadków użycia,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji pokazujący odczyt przez studentkę – Alicję
Kwiatkowską oceny z Inżynierii Oprogramowania, która wynosi 5.
 Narysować diagram stanów studenta w ramach jednego semestru (od wpisu na
semestr do zaliczenia tego semestru).
SYSTEM OCEN I ZALICZEŃ NA POLITECHNICE
System ma na celu usprawnienie organizacji w czasie sesji w zakresie zarządzania
ocenami i zaliczeniami – wszystko będzie się odbywać elektronicznie. Z systemu
korzystają: pracownicy dziekanatu, dziekan, nauczyciele oraz studenci. Przy
realizacji niektórych funkcji system korzysta z dwóch innych systemów: Systemu
Ewidencji Studentów oraz Systemu Programów Studiów.
Na koniec semestru pracownik dziekanatu uruchamia układanie protokołów zaliczeń
w wersji dla studentów oraz dla nauczycieli. Wersja protokołu dla studenta zawiera
te przedmioty, które student powinien zaliczyć. Wersja protokołu dla nauczyciela
zawiera listę studentów, którzy są uprawnieni do zaliczania danego przedmiotu.
W realizacji tej funkcji system pozyskuje z Systemu Programów Studiów listy
przedmiotów dla studentów na określonym semestrze danego kierunku
i specjalności, a z Systemu Ewidencji Studentów pozyskuje listę studentów danego
kierunku i specjalności. Gdy protokoły zostaną przygotowane, nauczyciele mogą
wpisywać oceny studentów. Natomiast studenci mogą odczytywać listę zaliczeń
i egzaminów oraz później, po wpisaniu ocen przez nauczycieli, mogą odczytywać
swoje oceny. Na koniec sesji, pracownik dziekanatu wywołuje funkcję
podsumowania sesji. Sprawdza ona stan zaliczeń i generuje protokoły poprawkowe
dla nauczycieli, które zawierają listę studentów, którzy nie zaliczyli danego
przedmiotu, a także listę studentów, którzy zaliczyli semestr. Ta druga lista jest
wczytywana przez dziekana, który dokonuje zaliczenia semestru, czego skutkiem
jest uaktualnienie wpisu studenta na semestr w Systemie Ewidencji Studentów.
ZADANIE 3.
Dla systemu obsługi sklepu spożywczego, którego opis znajduje się poniżej:
 Utworzyć model przypadków użycia opisujący funkcjonalność systemu,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji dla zamówienia jednego z brakujących towarów
z uwzględnieniem listy towarów do zamówienia oraz oferty hurtowni.
SYSTEM OBSŁUGI SKLEPU SPOŻYWCZEGO
System ma na celu wspomaganie działania małego sklepu spożywczego. Umożliwia
on sprzedawcy przegląd stanu towarów w sklepie i rejestruje sprzedaż towarów
przez poszczególnych sprzedawców (z użyciem kodów paskowych do identyfikacji
towarów). Jeżeli towar jest przeterminowany system sygnalizuje to sprzedawcy i nie
pozwala
sprzedać
towaru.
Kierownik
ma
możliwość
zdejmowanie
przeterminowanego towaru ze stanu sklepu. Kierownik ustala minimalne ilości
towarów i jeżeli ilość towaru w sklepie spada poniżej ilości minimalnej system
automatycznie wprowadza ten towar na listę towarów do zamówienia. Kierownik ma
możliwość wpisania na tę listę także innych towarów. Hurtownia, z którą
współpracuje sklep ma własny system informatyczny i przesyła ona swoją ofertę
przez e-mail. Kierownik wczytuje nowe oferty do systemu i wykorzystuje je przy
tworzeniu swojego zamówienia i wysyła zamówienie do hurtowni przez e-mail.
Podczas dostawy kierownik wczytuje nowe towary z dyskietki oraz sprawdza ich
zgodność ze stanem faktycznym i rejestruje dokonanie zapłaty. Dodatkowo
kierownik ma możliwość zmiany cen towarów (hurtownia w swojej ofercie określa
domyślne ceny detaliczne) oraz przeglądania raportów finansowych, które generuje
system.
ZADANIE 4.
Dla automatu z gorącymi napojami, którego opis znajduje się poniżej:
 Utworzyć model przypadków użycia,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji pokazujący poprawny przebieg kupowania
napoju, w którym klient wybiera Napój3 (odpowiadający trzeciemu przyciskowi)
z podwójnym cukrem, którego koszt wynosi 2 zł i w trakcie kupowania klient
wrzuca monetę 5 zł, a automat wydaje mu resztę 3 zł.
 Podać także sytuacje wyjątkowe, które mogą wystąpić podczas kupowania
napoju oraz akcje, które system powinien wykonać przy ich wystąpieniu.
AUTOMAT Z GORĄCYMI NAPOJAMI
W automacie klient może kupować różne napoje. Natomiast obsługa automatu ma
możliwość doładowania automatu, zmiany asortymentu oraz zmiany cen
poszczególnych napojów. Interfejs automatu dla klienta pokazany jest na rysunku.
Poszczególnym przyciskom odpowiadają różne rodzaje napojów, które automat
przygotowuje według schematu: wysunięcie kubeczka, wsypanie cukru, wsypanie
porcji napoju w proszku i wlanie gorącej wody. Wewnątrz automatu znajduje się
także sterownik, który koordynuje działanie wszystkich urządzeń wejścia/wyjścia w
trakcie kupowania napoju.


Podwójny cukier





Napój1 cena1
Napój2 cena2
Napój3 2 zł
Napój4 cena4
Anuluj
Bez cukru
Wydawanie
napojów
Wyświetlacz
Otwór na
monety
Zwrot
monet
Przebieg kupowania napoju jest następujący:
1. Automat wyświetla napis
"Witamy! Wrzuć monetę..."
2. Klient wrzuca monety tak długo aż kwota
wrzuconych monet uzyska wartość napoju,
po wrzuceniu każdej monety, automat
wyświetla "Wrzucono: <kwota>"
3. Klient może wcisnąć "podwójny cukier" lub
"brak cukru".
4. Klient wciska przycisk odpowiadający
wybranemu napojowi.
5. Automat sprawdza, czy kwota jest większa
lub równa cenie napoju i jeżeli tak, to
następuje przygotowanie napoju, wydanie
reszty
oraz
wyświetlenie
napisu
"Dziękujemy!"
ZADANIE 5.
Zamodelować funkcjonalność systemu ułatwiającego zarządzanie spółdzielnią
mieszkaniową, którego opis znajduje się poniżej.
Należy:
 Utworzyć model przypadków użycia,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji pokazujący rejestrację wpłaty przez Pawła
Nowaka czynszu za marzec 2005 w kwocie 231,45 PLN.
 Narysować diagram stanów dla klasy ‘konto lokatora’.
SYSTEM UŁATWIAJĄCY ZARZĄDZANIE SPÓŁDZIELNIĄ MIESZKANIOWĄ
System jest on obsługiwany przez pracowników spółdzielni: kierownika,
pracowników biura oraz pracowników działu napraw. Kierownik zajmuje się
ewidencją lokali i lokatorów, analizuje stan finansowy spółdzielni oraz zatwierdza
wszystkie zmiany w opłatach czynszowych. Pracownicy biura zajmują się szeroko
pojętą obsługą mieszkańców: rejestrują wpłaty dokonywane przez lokatorów,
informują lokatorów na temat ich stanu konta, zapisują zgłoszenia usterek
wymagających naprawy lub potrzeby remontu. Ponadto rozliczają spółdzielnię
z podmiotami zewnętrznymi, np. dostawcami wody, gazu, energii, firmą
odpowiedzialną za wywóz śmieci. Dokonują analiz finansowych spółdzielni oraz
proponują zmiany w opłatach czynszowych. Po zatwierdzeniu przez kierownika
drukują informacje na temat wysokości czynszu dla lokatorów. Pracownicy działu
napraw odczytują informacje o usterkach w instalacjach, naprawiają je i ten fakt
rejestrują w systemie.
ZADANIE 6.
Narysować diagram przypadków użycia przedstawiający funkcjonalność systemu
oraz analityczny diagram klas (z opisami klas) dla opisanego poniżej SYSTEMU
WSPOMAGAJĄCEGO OBSŁUGĘ MAGAZYNU
SYSTEM WSPOMAGAJĄCY OBSŁUGĘ MAGAZYNU
System ma wspomagać obsługę magazynu artykułów papierniczych w pewnym
urzędzie gminy. System ma działać w wewnętrznej sieci urzędu. Pracownicy urzędu
będą mogli sprawdzać ofertę magazynu i zamawiać potrzebne artykuły (np. ryzy
papieru, segregatory, długopisy).
Magazynier będzie realizował zamówienie.
Zadaniem kierownika magazynu jest dodawanie opisów nowych produktów,
zarządzanie informacjami o hurtowniach, tworzenie zamówień do hurtowni
i drukowanie ich (urząd współpracuje z kilkoma hurtowniami i magazynier wie, gdzie
najlepiej zamawiać poszczególne produkty). Magazynier może wprowadzać dostawy
towarów, w wyniku czego będzie modyfikowana liczba poszczególnych produktów.
Pomiędzy magazynem a niektórymi hurtowniami zamówienia i dokumenty dostaw
przesyłane są w plikach xml, które rozsyłane są poza systemem. W celu ułatwienia
zamówień dla każdego produktu powinien być przechowywany limit. Jeżeli ilość
produktu spadnie poniżej limitu – produkt jest zaznaczony w określony sposób.
Kierownik magazynu może ustawiać i zmienić limit. System powinien przechowywać
informacje o położeniu produktów w określonych lokalizacjach, które mają unikatowe
identyfikatory i zróżnicowaną pojemność. Przechowywane są także informacje
o zajętości poszczególnych lokalizacji, co jest przydatne podczas rozładowywania
dostaw, a w szczególności rozmieszczania nowych produktów.
ZADANIE 7.
Utworzyć model analityczny dla systemu ZARZĄDZANIA CZASEM PRACY, którego
opis znajduje się poniżej.
Należy:
 Utworzyć model przypadków użycia przedstawiający funkcjonalność systemu,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji pokazujący logowanie się pracownika do systemu
i rozpoczęcie pracy nad danym etapem projektu zakładając, że system pokazuje
pracownikowi wszystkie projekty posortowane według terminów zakończenia
prac.
SYSTEM ZARZĄDZANIA CZASEM PRACY
System ma wspomagać zarządzanie czasem pracy w małej lub średniej firmie
o profilu projektowym. Korzyściami płynącymi z zastosowania tego systemu powinno
być ułatwienie planowania, monitorowania i podsumowywania projektów. Szef dodaje
nowych pracowników oraz ustala ich stanowisko i wynagrodzenie. W przypadku
awansu pracownika, szef może zmienić te dane. Kierownik projektu definiuje nowe
projekty, dokonuje podziału na etapy, wprowadza oszacowania pracochłonności oraz
terminy. Dodatkowo przydziela pracowników do poszczególnych etapów
z uwzględnieniem ich obciążenia. Pracownik podczas logowania do systemu wybiera
projekt i etap projektu, nad którym pracuje. W tym momencie rozpoczyna się
naliczanie jego czasu pracy. W czasie pracy pracownik może zaznaczyć zakończenie
prac nad danym etapem, albo też może wybrać inny projekt bez wylogowania się z
systemu. W momencie wylogowania się z systemu lub wyboru innego projektu,
następuje zakończenie lub zmiana w naliczaniu czasu pracy. Kierownik projektu
może monitorować przebieg prac nad swoimi projektami. Szef może monitorować
obciążenie pracowników oraz postępy w realizacji wszystkich projektów w celu
pozyskania informacji potrzebnych do negocjacji terminów w nowych kontraktach.
ZADANIE 8.
Utworzyć model analityczny dla systemu WSPOMAGAJĄCEGO DZIAŁALNOŚĆ
ZAKŁADU FRYZJERSKIEGO, którego opis znajduje się poniżej.
Należy:
 Utworzyć model przypadków użycia przedstawiający funkcjonalność systemu,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji pokazujący rezerwację przez internet, w czasie
której klientka wybiera wykonanie oryginalnej fryzury karnawałowej, do
wykonania której konieczny jest fryzjer o najwyższych umiejętnościach.
Wykonanie fryzury potrwa 2 godziny i będzie kosztować 250 zł. Klientce udaje
się zarezerwować usługę w jej preferowanym terminie, tzn. w sobotę o 14.
SYSTEM WSPOMAGAJĄCY DZIAŁALNOŚĆ ZAKŁADU FRYZJERSKIEGO
Mały zakład fryzjerski posiada 5 stanowisk w dziale męskim i 7 stanowisk w dziale
damskim. Zatrudnia on 11 fryzjerów o zróżnicowanych umiejętnościach. Głównym
problemem jest słaba promocja zakładu oraz długie oczekiwanie klientów na
wykonanie usługi. Rozwiązaniem problemu ma być zbudowanie portalu
promocyjnego i umożliwienie klientom dokonywania rezerwacji terminu wykonania
usługi. Przed dokonaniem rezerwacji terminu, system powinien oszacowywać czas
wykonania usługi, podawać jego cenę, a także sprawdzać dostępność stanowisk oraz
fryzjerów, którzy potrafią ją wykonać. Grafik pracy poszczególnych fryzjerów oraz
ofertę zakładu wprowadza szefowa, natomiast fryzjerzy odczytują spis zadań,
rejestrują wykonanie usługi oraz wprowadzają dane na temat usług dla klientów,
którzy zgłosili się bez wcześniejszej rezerwacji. Dla stałych klientów zakład oferuje
rabaty.
ZADANIE 9.
Dla systemu wspomagającego działalność Klubu Malarzy Plenerowych narysować:
 diagram funkcjonalnych przypadków użycia i podać opisy przypadków użycia
 analityczny diagram klas i podać krótki opis klas.
SYSTEM DLA KLUBU MALARZY PLENEROWYCH
System wspomaga ewidencję malarzy i wpłacanych przez nich składek
członkowskich; ewidencję, wycenę i sprzedaż obrazów; rejestrację wpływów i
wydatków oraz generowanie zestawień finansowych dot. budżetu Klubu w podanym
okresie czasu.
ZADANIE 10.
Zamodelować funkcjonalność systemu wspomagającego obsługę zamówień
w pizzerii "OCTOPUS", której opis znajduje się poniżej.
Należy:
 Utworzyć model przypadków użycia,
 Narysować diagram klas i podać krótki opis każdej klasy,
 Narysować diagram sekwencji pokazujący zamówienie przez Janinę Malińską
dużej pizzy 'Dell Opera' na cienkim cieście oraz 1,5 litrowej Coli. Koszt pizzy
wynosi 32,50 zł, a Coli 4 zł.
 Narysować diagram stanów dla klasy ‘zamówienie’.
SYSTEM OBSŁUGI PIZZERII "OCTOPUS"
Klient może złożyć zamówienie przez Internet. W czasie zamówienia może wybrać
pizzę dużą, średnią lub małą na grubym, normalnym lub cienkim cieście. Może
wybrać pizzę według nazwy albo samodzielnie skomponować ją ze składników. W
ramach jednego zamówienia może zamówić kilka sztuk pizzy. Może również wybrać
napoje. Podczas składania zamówienia podaje swoje dane oraz adres dostawy. Na
tej podstawie obliczana jest cena. Kucharz za pomocą systemu odbiera zamówienie
i zaznacza je do realizacji. Po zakończeniu rejestruje ten fakt w systemie, a system
automatycznie odlicza odpowiednią ilość składników ze stanu. Gdy wszystkie pizze
z danego zamówienia są gotowe, pracownik obsługi pakuje je, pakuje również
napoje, zatwierdza w systemie gotowość 'przesyłki' i drukuje dane o zamówieniu
i adresie klienta. Dostawca pobierając 'przesyłkę' rejestruje fakt odbioru w systemie
i po dostawie rejestruje fakt dostarczenia. Szef kuchni modyfikuje menu, wprowadza
nowe składniki oraz dostawy towaru oraz konfiguruje zmiany towaru przy
wydawaniu pizzy o określonych parametrach w celu automatycznego zmniejszania
składników na stanie. [Dla uproszczenia można pominąć koszty dostawy.]