Где цели и требования к системе? Аквариумистов опрашивали? А производителей и продавцов аквариумов и расходных материалов для них? А биологов-ихтиологов? А дизайнеров интерьеров? А форумы читали? Изучили ли рынок аквариумов и существующие на нём продукты? У вас есть свой аквариум?
Где границы системы? Вы хотите сделать контроллер домашнего аквариума, офисного, для зоомагазина или для океанариума в зоопарке? Простого, тропического или арктического? Глубоководного? Обслуживание роботизированное? Или универсальный обновляемый компьютеризированный контроллер для всего этого?
---
Динамику - варианты использования, границы и способы настройки, логику, алгоритмы, бизнес-правила работы - описали? Где я могу сказать: "у меня в аквариуме - 3 золотых рыбки, пиранья и два Dromia enythopus, задать оптимальные условия"? Где калибровка системы на аквариум?
---
Где стереотипы, паттерны, design mechanisms? Например, стратегии "ввод аквариума", "поддержка аквариума", "чистка аквариума"?
Свойства - не описаны. Методы - странные, названия не говорят об их предназначении.
Зачем Heater<<Boundary>>, Light<<Boundary>>, Pump<<Boundary>>, WaterLevelSensor<<Boundary>>, WaterTemperatureSensor<<Boundary>> "знать" об EnvironmentController<<Control>>?
Где Owner<<Entity>>, Fish<<Entity>>, Aquarium<<Entity>>?
Зачем выделять ButtonON и ButtonOFF?
Где кормушка? Где alarm, которая сообщит владельцу приятным женским голосом, что пора чистить, или что, например Heater и Pump не отключаются, и горячий суп из рыбок по $1k за штуку сейчас начнёт заливать его паркет из красного дерева, и продублирует это по email и по SMS?
---
Где Component и Deployment?
---
Даже - и особенно - учебные задачи требуют серьёзного подхода. Иначе не научитесь. А в целом - правильной дорогой идёте
.
---
Из-за того, что архитекторы проектируют системы с точностью "что-то сделать в общих чертах как-то так, ОБЯЗАТЕЛЬНО, СРОК - ВЧЕРА!!!", кодерам приходится становится специалистами в предметной области и программистами экстра-класса
.