Cтраница 4
Однако и такая детализация может оказаться недостаточной, поскольку она не фиксирует методы, применяемые для решения задач данной содержательной области, а различие методов может существенно отразиться на языке. Необходим также учет предполагаемой технологии эксплуатации созданных программ; он также существенно влияет на язык, например, в части, касающейся ввода-вывода. [46]
Реализуются генетические операторы репродукции, скрещивания и мутации. В результате репродукции осуществляется копирование уже созданных программ с хорошими значениями целевой функции. Оператор скрещивания создает новые программы путем комбинирования фрагментов существующих программ. Мутация заключается в замене некоторого фрагмента программы случайно порожденным символьным выражением. [47]
По-видимому, менее интересно проводить формальное оценивание созданных программ. Зачем нужно тратить время, чтобы проводить тестовые испытания, осуществлять наблюдения и собирать статистику, рисовать графики и блок-схемы. [48]
Эту же цель преследуют четкое структурирование технологического процесса, полное завершение каждого этапа и контроль его результатов до начала следующего этапа и другие меры. Но все они не исключают необходимости проверки правильности созданной программы. [49]
Необходимость программного обеспечения была вызвана трудоемкостью и высокой стоимостью создания программ. Поэтому и возникла идея многократного использования и сохранения уже созданных программ. [50]
С его помощью пользователь и разработчик достигают согласия в том, что созданная программа - жизнеспособный продукт, отвечающий целям, поставленным при ее проектировании. Еще до начала фазы реализации пользователь, разработчик и ответственный за тесты должны выработать и зафиксировать критерий приемки готового продукта. [51]
Проверяется соответствие написанного текста проекту и непосредственно исходному описанию. От методики проверки зависит не только трудоемкость этапа, но и качество созданной программы. Но проверкой работа заканчивается только в том случае, если в программе не найдены ошибки. Если же обнаружены ошибки, то осуществляются их поиск, исправление ( в проекте и тексте или только в тексте программы в зависимости от того, где ошибка допущена) и повторная проверка. В прогрессивной технологии не содержится кардинальных мер, облегчающих такой итеративный процесс отладки. Но на всех этапах работы принимаются меры, резко сокращающие количество ошибок, уменьшая тем самым трудоемкость отладки. [52]
В большинстве реализаций Пролога программа создается вне Пролог-системы, при этом используется некоторый текстовый редактор как часть операционной системы компьютера. Затем дается команда на запуск Пролог-системы, вслед за которой ей дается команда на загрузку предварительно созданной программы. В различных системах детали этого процесса кое-чем различаются. Типичная последовательность действий описана в разд. [53]