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.]