Solid предназначен для создания объектно-ориентированных программ в соответствии со специальными принципами ООП. В
этой задаче уделяется особое внимание Single responsibility см. https://www.baeldung.com/solid-principles
В принципе случае для этой задачи достаточно показать
возможность создавать методы и классы, имеющие четкую зону ответственности в программе.
Цель
Предложить учащимся возможность продемонстрировать способность использовать базовые принципы ООП для
разработки программы с хорошей структурой кода.
Советы:
Прежде чем начать программировать, набросайте UML на основе спецификации требований,
подумайте:
- Какие объекты могут быть включены в выполнение требований?
- Композиция
- Какие объекты/поведения являются абстрактными?
Если решение состоит всего из 1-2 объектов, оно не соответствует ООП-дизайну, подумайте о том, какие области кода можно описать более конкретно с помощью отдельного объекта или интерфейса.
1. Описание программы
Создайте программу, управляющую разгрузкой различных грузовиков на станции «Полная загрузка».
В программе будет три разных типа грузовиков
- фургон
- Легкий грузовик
- Тяжелый грузовик
Разгрузочная станция «Полная загрузка» состоит из 5 разгрузочных причалов с маркировкой A-E. Как правило, для фургонов используются места А и В, для легких грузовиков — места С и D, а для тяжелых грузовиков — место Е. Однако есть исключения, описанные в техническом задании.
2. Спецификация требований
См. примеры распечаток в прикрепленных файлах.
Разгрузка
- Фургон может разгружаться только в точках A и B.
- Легкий грузовик может разгружаться в C и D
- и в A, если он весит менее 5 тонн
- Тяжелые грузовики могут разгружаться на E
- и D, если он весит менее 9 тонн
При запуске программы пользователь должен иметь возможность выбрать
- видеть причал грузовиков, тип и вес грузовика
- зарегистрировать новый грузовик на станции
Обратите внимание, что программа должна уметь регистрировать новые прибытия и отображать все припаркованные грузовики без перезапуска.
Критерии для зачёта.
Учащийся создает рабочую программу в соответствии с техническим заданием. Ссылки на все переменные должны описывать их назначение в программе.
Должны использоваться абстрактные классы, где это уместно, в соответствии с принципом is-a. Кроме того, код также должен в целом соответствовать ООП, включая, помимо прочего, описательные ссылки на переменные и методы и пометку переменных экземпляра как закрытых.
Пример №1
Главное меню: "Добро пожаловать..."
– Станция выгрузки «Полная загрузка» –
1. При нажатии 1 - Показаны грузовики в точках разгрузки тип и вес
2. Зарегистрируйте прибытие
3. Выход
Выбрать из списка: 2 // Пользователь вводит 2
Тип грузовика:
1. Минивэн-фургон
2. Легкий грузовик
3. Тяжелый грузовик
Выбрать из списка: 1 // Пользователь вводит 1
После ввода типа грузовика выводится запрос:
"Введите вес грузовика"
Вес фургона: 2700 // Пользователь вводит 2700
Грузовик зарегистрирован на причал A // Грузовик зарегистрирован, вернуться в главное меню
1. При нажатии 1 - Показаны грузовики в точках разгрузки тип и вес грузовика 2. Зарегистрируйте прибытие
3. Выход
Выбрать из списка: 2 // Пользователь вводит
Тип грузовика:
1. Минивэн-фургон
2. Легкий грузовик
3. Тяжелый грузовик
Выбрать из списка: 1 // Пользователь вводит
Вес фургона: 2500 // Пользователь вводит
Грузовик зарегистрирован на причал B // Грузовик зарегистрирован, вернуться в главное меню
1. При нажатии 1 - Показаны грузовики в точках разгрузки тип и вес грузовика 2. Зарегистрируйте прибытие
3. Выход
для выхода из программы нажать "О"
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |