Grabowska IO projekt raport

background image

Inżynieria Oprogramowania

Projekt

Ekspres do kawy

Patrycja Grabowska
IMIR, Mechatronika, gr.23
Rok akademicki 2013/2014

background image

Spis treści

1 Wstęp .................................................................................................................... 3

2 Realizacja ............................................................................................................. 3

2.1 Use Case Diagram ......................................................................................... 3

2.2 Object Model Diagram .................................................................................. 4

2.3 Statecharts ...................................................................................................... 6

2.3.1 CoffeeMachine ........................................................................................ 6

2.3.2 Boiler ....................................................................................................... 8

2.3.3 Display .................................................................................................... 9

2.4 Activity Diagram ........................................................................................... 9

2.5 Panel Diagram ............................................................................................. 10

3 Efekt kompilacji programu ................................................................................. 11

4 Podsumowanie .................................................................................................... 12

background image

1 Wstęp

Celem projektu było stworzenie systemu ekspresu do parzenia kawy. Ekspres jest

jednym z najpopularniejszych sprzętów domowych. Zgodnie z statystykami, codziennie

korzystają z niego setki ludzi, zarówno w domach prywatnych, jak i kawiarniach,

restauracjach, biurach, itp.

2 Realizacja

Przedstawiony w projekcie ekspres jest typowym automatem, jaki można spotkać

w miejscach publicznych. Posiada otwór na monety, wyświetlacz, diody kontrolne

informujące o etapie przygotowywania kawy oraz wskaźnik pokazujący napełnienie

kubka. W przypadku pojawienia się błędu, następuje poinformowanie o nim

użytkownika.

Podczas symulacji istnieje możliwość ustawienia różnych warunków pracy

ekspresu.

System został stworzony w języku UML. Do jego realizacji wykorzystano

oprogramowanie IBM Rational Rhapsody v. 7.6.1.0. for C++.

Poniżej przedstawiono elementy stworzonego systemu.

2.1 Use Case Diagram

Jest to diagram przedstawiający główne funkcje systemu oraz osoby do nich

upoważnione. Pozwala ustalić wymagania dla systemu oraz pokazuje wzajemny wpływ

pomiędzy systemem a osobami, które z niego korzystają.

W stworzonym systemie można wyróżnić 3 typy aktorów (osób mających dostęp

do ekspresu): użytkownik przygotowujący kawę (User), właściciel ekspresu (Owner)

sprawdzający poziom zbiorników z wodą, mlekiem, kawą i kubkami oraz uzupełniający

ewentualne braki, a także serwisant (ServicePerson) odpowiedzialny za poprawne

działanie automatu.

Na rysunku 2.1 przedstawiono Use Case Diagram stworzonego systemu.

background image

Rys. 2.1 Use Case Diagram ekspresu.

2.2 Object Model Diagram

Jest to diagram, który wyszczególnia typy obiektów w systemie, atrybuty i operacje

należące do tych obiektów, stałe relacje istniejące pomiędzy klasami oraz ich możliwe

połączenia.

Na rysunku 2.2 przedstawiono Object Model Diagram ekspresu. Jak można na nim

zauważyć, system ekspresu składa się z 3 głównych klas:

a) CoffeeMachine – główna klasa reprezentująca system. Posiada takie

atrybuty, jak: milk-, coffee- oraz cupContainer (informacje o poziomie
mleka, kawy w odpowiednich zbiornikach oraz poziomie zapełnienia
kubka
), cup (informacja dotycząca pojawienia się kubka pod dyszą),
power (zasilanie), cupCounter (wyświetla ilość zakupionej kawy) oraz
waterPressure (informacja o ciśnieniu wody).

b) Display – klasa reprezentująca wyświetlacz ekspresu. Jej atrybuty to:

power (informacja o zasilaniu), rotationTime (czas rotacji), stateMessage
(informacja o etapie pracy).

c) Boiler - klasa ogrzewacza wody. Zawiera informacje dotyczące obenej

temperatury wody (waterTemp) oraz jej dopuszczalnego zakresu
(MAX_TEMP, MIN_TEMP), a także informacje dotyczące zasilania
(power).

background image

Rys. 2.2 Object Model Diagram ekspresu

background image

Klasy Dispaly i Boiler są połączone jednokierunkowymi relacjami z klasą

CoffeeMachine – informacje przepływają tylko w jedna stronę.

Dodatkową klasą, która nie znajduje się na diagramie, jest MachineTester. Została

ona stworzona w celu przetestowania działania systemu. Zostanie ona bliżej

przedstawiona w dalszej części sprawozdania.

Na rys. 2.2 można również zauważyć obiekty klas: MachineTester oraz

CoffeeMachine połączonych jednokierunkową reacją. Widoczne jest także , że element

klasy CoffeeMachine zawiera obiekty klas: Boiler i Display.

2.3 Statecharts

Statecharts (czyli grafy stanów) definicją zachowania obiektów, biorąc pod uwagę

różnorodne stany, w jakich obiekt może się znaleźć pod wpływem otrzymania na wejściach

różnych wiadomości, zdarzeń, lub sygnałów upływu czasu. Każdy graf stanu definiuje

zachowanie pojedynczej klasy.

Poniżej przedstawiono grafy dla poszczególnych utworzonych klas.

2.3.1 CoffeeMachine

Na rysunku 2.3 przedstawiono graf obrazujący zachowanie klasy CoffeeMachine.

Możemy wyróżnić 2 charakterystyczne stany dla tej klasy: on (włączenia) oraz off

(wyłączenia). Warunkiem przejścia w jeden z nich jest zmiana wartości zmiennej power.

Stan włączenia składa się z 2 podstanów: idle (przygotowania do pracy) oraz working

(pracy ekspresu). W pierwszym z nich nastepuje uruchomienie funkcji zagrzania wody

wykonywanej aż do momentu uzykania jej odpowiedniej temperatury. Następnie należy

wrzucić monetę. CoffeMachine przejdzie wówczas w stan working składający się

z kolejnych kroków:

a) Wsypanie odpowiedniej ilości kawy do kubka.

b) Podniesienie ciśnienia wody do 190 bar.

c) Nalanie do kubka wody pod ciśnieniem do określonego poziomu.

d) Nalanie do kubka odpowiedniej ilości mleka.

e) Sprawdzenie poziomu płynów w kubku.

f) Wyświetlenie informacji o gotowości kawy do odbioru.

g) Powrót do stanu idle.

background image

Rys. 2.3 Statechart klasy CoffeeMachine

background image

Po otrzymaniu sygnału o braku mocy (power==0) następuje wyłączenie ekspresu,

grzałki do wody oraz wyświetlacza.

2.3.2 Boiler

Na rysunku 2.4 przedstawiono działanie klasy Boiler. Dla klasy tej można wyróżnić

2 główne stany: włączenia (on) oraz wyłączenia (off). Przejście pomiędzy nimi jest

warunkowane wartością zmiennej power oraz sygnałem otrzymanym z klasy

CoffeeMachine. Po przejściu w tryb włączenia następuje uruchomienie funkcji gotowania

wody, która generuje stosowny komunikat dla klasy CoffeeMachine. Po osiągnieciu

żądanej temperatury grzałka przechodzi w stan utrzymania temperatury wody oraz

zostaje wysłany komunikat o gotowości ekspresu do pracy. Temperatura wody jest stale

monitorowana. W przypadku jej spadku następuje powrót do stanu podgrzewania.

Rys. 2.4 Statechart klasy Boiler

background image

2.3.3 Display

Na rysunku 2.5 przedstawiono graf stanów klasy Display. W klasie tej możemy

wyróżnić 2 główne stany: on (włączenia) oraz off (wyłączenia). Warunkami przejścia

między nimi jest zmiana wartości argumentu power lub sygnał wyłączenia przesłany

przez element klasy CoffeeMachine. Po przejściu w stan włączenia na wyświetlaczu

pojawia się stała wiadomość. Następnie po uruchomieniu procesu parzenia kawy

na wyświetlaczu pojawiają się kolejne komunikaty dotyczące etapu przygotowania

napoju. Po zakończeniu pracy ekspresu wyświetlacz powraca do stanu początkowego.

Rys. 2.5 Statechart klasy Display.

2.4 Activity Diagram

Activity Diagram (czyli diagram aktywności) określa zachowanie danej klasy,

służy do przedstawienia kolejnych kroków wykonywanych przez nią.

Na rysunku 2.6 przedstawiono diagram aktywności klasy MachineTest służącej

do przetestowania działania stworzonego systemu. Diagram ten obrazuje kolejne etapy

pracy ekspresu do kawy. Na początku system oczekuje na sygnał rozpoczynający jego

pracę. Po jego otrzymaniu ustawia wartość atrybutu power na 1, uruchamiając dzięki

temu grzałkę (Boiler) oraz wyświetlacz (Display). Ekspres przechodzi w stan

przygotowania do pracy: następuje proces grzania wody aż do osiągnięcia żądanej

temperatury. System oczekuje na wrzucenie monety. Po tym zdarzeniu następuje proces

przygotowania kawy. Na zakończenie zostaje wygenerowany komunikat o możliwości

background image

odbioru napoju oraz powrót do stanu przygotowania do pracy aż do momentu

przygotowania piątej kawy, po czym następuje zakończenie pracy systemu.

Rys. 2.6 Active Diagram klasy MachineTester

2.5 Panel Diagram

Na rysunku 2.7 przedstawiono Panel Diagram ekspresu do kawy. Jest to graficzne

przedstawienie stworzonego systemu. Po prawej stronie widoczny jest prostopadłościan

symbolizujący ekspres, na którym można wyróżnić takie elementy, jak: wyświetlacz,

diody informujące o kolejnych etapach pracy ekspresu oraz przyciski służące

background image

do inicjalizacji zdarzeń: wrzucenia monety (Insert coin) oraz zabrania kubka (Take the

cup). Po prawej stronie widoczne wnętrze ekpresu: wskaźniki poziomu kawy, mleka,

napełnienia kubka oraz temperatury i ciśnienia wody, licznik wydanych kaw, a także

uruchomienie zasilania. Poniżej znajduje się konsola służąca do ustalenia warunków

testowych dla systemu oraz przycisk rozpoczynający sprawdzanie działania ekspresu.

Celem stworzenia diagramu było umożliwienie łatwego przetestowania działania

systemu.

Rys. 2.7 Panel Diagram

3 Efekt kompilacji programu

Pomimo braku błędów podczas generowania kodu oraz budowania aplikacji

podczas próby uruchomienia programu występuje komunikat o nieznanym błędzie,

co uniemożliwia przetestowanie działania systemu. Nie znaleziono źródła błędu.

background image

4 Podsumowanie

Teoretycznie stworzony system w pełni obrazuje działanie ekspresu do kawy.

Stworzony system zawiera klasy symbolizujące zarówno samo urządzenie, jak i jego

podzespoły. Utworzono również funkcje realizujące charakterystyczne zadania ekspresu

oraz diagramy przedstawiające je pracę.

Trudno jednak stwierdzić poprawność działania systemu bez przeprowadzenia

testów, co jest niemożliwe z nieznanych powodów.


Wyszukiwarka

Podobne podstrony:
Projektowanie raportow id 40062 Nieznany
IO Projekt MaxkoM
Projekt #1 Raport
Projekt Raport o Bezpieczeństwie, zad 2 2, grupa Kęcel, Kmietczyk, Kozica, Piechocka
projekt 3 raporty okresowe
(146260027) Projekt Raport o?zpiecze?stwie, zad 2
IO Projekt
io projekt part2 Przypadki uzycia
projekt 3 raporty okresowe
bd raport projekt2011
io w11 zasady projektowania opr
CSM Raporty i Analizy Integracja a Rynek Pracy Projekt iMAP
Raport z projektu
bd raport projekt 12
Raport na temat kosztów realizacji projektu polityki energetycznej Polski do 2030
CSM Raporty i Analizy Integracja a Kultura i Religia Projekt iMAP (2)
Raport z wyszukiwania - wersja końcowa, Studia INiB, Projekty profesjonalne 1
Szkolenia Prince2 Raport zbiorczy 02.06.2010, Zarzadzanie, zarządzanie projektami, PRINCE2
Projekt IO 1 1

więcej podobnych podstron