Modelowanie z wykorzystaniem notacji UML

Transkrypt

Modelowanie z wykorzystaniem notacji UML
Inżynieria Oprogramowania 1
Modelowanie z wykorzystaniem notacji UML – część 1
Modelowanie z wykorzystaniem notacji UML
Część 1
Wstęp
Celem zajęć jest zapoznanie studentów z elementami notacji UML (ang. Unified Modeling Language)
służącej do modelowania oprogramowania. W ramach części I zostaną przybliżone studentom dwa typy
diagramów UML: diagram czynności oraz diagram klas.
Szczegółowe informacje odnośnie diagramów UML można znaleźć w materiałach wykładowych oraz
w prezentacjach:
• http://wazniak.mimuw.edu.pl/images/7/76/Io-5-wyk.pdf
• http://wazniak.mimuw.edu.pl/images/f/f3/Io-6-wyk.pdf
Podstawowe informacje zostaną dodatkowo przedstawione przez osobę prowadzącą zajęcia laboratoryjne
w ramach wstępu do zajęć.
W trakcie zajęć studenci pracując w grupach 3-4 osobowych będą mieli za zadanie stworzyć diagramy
UML opisujące fragmenty systemu do zarządzania należnościami i płatnościami.
Kontekst
Wiele aktywności w życiu codziennym ma charakter grupowy. Czy to wyjście na pizzę, wyjazd w góry,
czy nawet płacenie rachunków: przyjemniej w towarzystwie!
Jednak wspólne pokrywanie kosztów przyjacielskich wypadów może być kłopotliwe. Nie chodzi nawet o
sam rachunek, który – niestety – ktoś musi zapłacić, ale o problemy z ich rozliczaniem.
Spójrzmy na przykładowy rachunek:
Pizza Vegetariana
Jan
Ola
Spaghetti bolognese
Marek
Sok owocowy, dzbanek
Jan
Ola
Marek
75%
25%
28,50
21,38
7,12
17,00
17,00
12,00
(równo) 4,00
(równo) 4,00
(równo) 4,00
RAZEM:
57,50
Zapłacił:
Jan
Marek
30,00
27,50
Najczęściej każdy zamawia coś dla siebie. Bierzemy też sok, dla wszystkich. Kiedy przychodzi do
płacenia rachunku, trochę niezręcznie bazgrać na serwetce, ile kto drobnych powinien dorzucić na
talerzyk. Najbogatsi więc płacą, rozliczenie będzie później!
Jednak nawet rozliczanie rachunku w zaciszu własnego domu nie jest proste. Trzeba policzyć kto, komu,
strona 1 / 2
Inżynieria Oprogramowania 1
Modelowanie z wykorzystaniem notacji UML – część 1
za co i ile. Bez czterech działań arytmetycznych się nie obejdzie.
System BillMonk ma ułatwić i zautomatyzować takie rozliczanie poniesionych wydatków.
Zadanie 1.
System BillMonk (www.billmonk.com) jest systemem do zarządzania należnościami i płatnościami.
Użytkownik ma możliwość wprowadzenia rachunku. Na każdym rachunku zamieszczona jest lista
kupionych pozycji oraz lista płatności.
Każda pozycja rachunku to nazwa kupionego towaru lub usługi, cena oraz lista partycypantów: osób,
które tę pozycję zamawiały, z przypisaną do nich częścią należności.
Lista płatności to lista osób, które zapłaciły rachunek z przypisanymi do tych osób zapłaconymi kwotami.
Dla każdego takiego rachunku system oblicza, ile każda z osób umieszczonych na rachunku zapłaciła,
a za jaką kwotę kupiła. Dla osób, które zapłaciły mniej niż kupiły system wylicza należność, jaką muszą
zapłacić tym, którzy zapłacili więcej niż kupili.
Diagram czynności
Przedstaw za pomocą diagramu czynności (z podziałem na role) proces obejmujący:
• dokonanie zakupu produktów przez uczestników zakupów,
• wystawienie rachunku przez sprzedawcę,
• wprowadzenie rachunku do systemu BillMonk oraz przypisanie udziału w zakupach (kosztach)
poszczególnych osób,
• zapłatę rachunku,
• określenie udziału osób w zapłacie rachunku,
• obliczenie przez system kwot zobowiązań w ramach rachunku dla poszczególnych osób, które
wpłaciły za mało w stosunku do udziału w kosztach (jeśli istnieje taka konieczność)
(rozważ także możliwość zrównoleglenia wykonania pewnych czynności)
Diagram klas
Stwórz model klas systemu BillMonk dla przestawionego opisu rzeczywistości.
Zadanie 2.
Nie ma konieczności wyrównywania należności z rachunku od razu. Dla każdej z osób umieszczonych na
rachunku system zapamiętuje rachunki, w których ta osoba uczestniczyła, wraz ze stanem rozliczenia.
W dowolnym momencie użytkownik może sprawdzić ile ma zobowiązań i wobec jakich osób. Może też
zapisać w systemie informację, że zapłacił zobowiązanie wobec innej osoby.
Dokonaj aktualizacji / rozbudowy diagramu klas, tak aby uwzględniał on zaktualizowany opis systemu.
Zadanie 3.
W systemie musi być możliwe wycofanie jakiejkolwiek wprowadzonego wcześniej rachunku czy
przeprowadzonej operacji zapłaty czy operacji uproszczenia rozliczeń. Efekt usunięcia operacji powinien
być z punktu widzenia bilansu każdej z osób taki, jakby ta operacja nigdy nie miała miejsca.
Dokonaj aktualizacji / rozbudowy diagramu klas, tak aby uwzględniał on zaktualizowany opis systemu.
strona 2 / 2

Podobne dokumenty