Search
Cílem je vysvětlit jednotlivé body v analýze systému a ukázat, kterou částí se budeme v rámci OMO zabývat. Hlavní rozdělení je:
Systém pro správu elektronických zařízení v domácnosti
Tato třída slouží jako základ pro všechna elektronická zařízení v systému. Obsahuje následující atributy: id (int) - Unikátní identifikátor zařízení. name (string) - Název zařízení. status (enum) - Stav zařízení, který může být jedním z následujících hodnot: ON, OFF, STANDBY. Kromě toho třída Device obsahuje metody pro zapínání (turnOn()) a vypínání (turnOff()) zařízení.
Tato abstraktní třída rozšiřuje třídu Device a přidává atribut ipAddress (string), který reprezentuje IP adresu zařízení. Obsahuje metody pro připojení (connectToNetwork()) a odpojení (disconnectFromNetwork()) zařízení ze sítě.
Tato třída rozšiřuje třídu SmartDevice a má navíc atribut brightness (int), který umožňuje nastavit jas žárovky. Obsahuje metodu pro nastavení jasu (setBrightness(brightness: int)).
Tato třída také rozšiřuje třídu SmartDevice a obsahuje atribut temperature (float), který reprezentuje nastavenou teplotu termostatu. Obsahuje metodu pro nastavení teploty (setTemperature(temperature: float)).
Třída Controller obsahuje atribut devices, který je seznamem elektronických zařízení. Obsahuje metody pro přidání (addDevice(device: Device)) a odebrání (removeDevice(device: Device)) zařízení z tohoto seznamu. Dále obsahuje metodu pro ovládání všech zařízení zároveň (controlAllDevices()).
Rozhraní RemoteControl definuje dvě metody, které musí být implementovány třídami, které toto rozhraní používají. Jedná se o metody pro zapínání (turnOnDevice(device: Device)) a vypínání (turnOffDevice(device: Device)) zařízení.
Třída MobileApp rozšiřuje třídu Controller a implementuje rozhraní RemoteControl. Tím umožňuje ovládat zařízení pomocí mobilní aplikace. Obsahuje metody pro zapínání a vypínání zařízení, stejně jako metodu pro ovládání všech zařízení zároveň.