Основы программирования с Java. Тимур Машнин
Чтение книги онлайн.
Читать онлайн книгу Основы программирования с Java - Тимур Машнин страница 8
И последнее, но не менее важное, вы должны задокументировать решение так, что, если вы или другие люди захотят вновь обратиться к проблеме в более позднее время, вы все равно сможете легко понять это решение.
Документация также помогает поддерживать решение в случае, если оно нуждается в пересмотре или обновлении для возможных будущих изменений.
Используем пример поиска способа путешествовать из Москвы в Лондон.
Предположим, что вы турагент, и определение задачи может быть что-то вроде "Найти лучший способ для вашего клиента, чтобы проехать из центра Москвы в Лондон в Великобритании".
Анализируя эту задачу, вам придется узнать у клиента, что он или она имеет в виду под самым лучшим способом, это кратчайшее расстояние или лучшее время или дешевая стоимость.
Эскизный проект может начаться с рассмотрения всех возможных маршрутов и видов транспорта, возможно, с помощью Google Maps или других сайтов туристических услуг.
И чтобы уточнить решение, нужно оценить различные маршруты и виды транспорта, а затем выбрать маршрут, который наилучшим образом соответствует вашей цели, например, самый короткий маршрут или самый дешевый по стоимости.
Как только вы создали решение, тестирование может быть трудным для этой конкретной задачи, если вы не можете фактически проделать это путешествие.
Если вы не можете выполнить эту поездку, тогда вы можете оценить решение, проверив записи определенных рейсов, чтобы убедиться, что есть достаточно времени для соединения рейсов, если это необходимо.
Или опросить кого-нибудь с предыдущим опытом создания подобной поездки.
Затем вам нужно будет задокументировать свое решение, предоставляя простые инструкции вашему клиенту, чтобы он не упустил соединение рейсов или чтобы было достаточно местной валюты для использования общественного транспорта.
После того как ваш клиент завершил поездку, вы сможете получить обратную связь от него, чтобы можно было вести учет того, был ли положительным опыт или пересмотреть решение, если ваш клиент не был доволен.
И это эквивалентные шаги при попытке запрограммировать компьютер как процесс решения задач.
При определении задачи для компьютера, мы должны придумать очень точные спецификации задачи.
И одним из распространенных подходов, является придумать спецификацию для начального состояния или входную спецификацию и итоговую спецификацию для конечного состояния или выходную спецификацию для задачи.
Это полезно, потому что путь пользователя для взаимодействия с компьютером часто лежит через устройства ввода/вывода.
Вам также необходимо определить, какая дополнительная информация нужна для решения задачи.
Используя предыдущую задачу в