Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2021-01-31 | 73 |
5.00
из
|
Заказать работу |
|
|
Понятие «технология» подразумевает существование целевого производ- ственного процесса, в рамках которого за определенное время на подходя- щих ресурсах при известной квалификации персонала по конкретным техни- ческим процедурам гарантированно может быть получен запланированный результат.
Основные вехи чисто программистской линии технологического повыше- ния производительности труда в программировании связаны с кристаллиза- цией определенных ПП, обусловленных созданием конкретных ЯП, изобре- тением новых принципов реализации СП, появлением новых ТП:
– переход от машинного кода к ассемблеру освободил программирование от соблазна виртуозного кодирования алгоритмов;
– появление языков высокого уровня сняло с программистов бремя про- рисовки блок-схем с многократной их перерисовкой по мере уточнения ре- шаемой задачи;
– перспектива применения языков сверхвысокого уровня дает шанс по- вышения надежности и безопасности сложных вычислений посредством при- влечения техники конструирования, верификации и целенаправленного пре- образования программ, обладающих заданными свойствами.
В большинстве ПП, за исключением языка Lisp и некоторых языков функ- ционального программирования, программа рассматривается как статиче- ский объект, тогда как в реальности она развивается и может частично видо- изменяться в процессе разработки и исполнения. Ждут своего часа резервы верификации, обретающие практичность на современной технике.
|
|
|
Следует отметить, что многие авторы современных технологий програм- мирования выражают претензии к авторитетным рекомендациям по стилю и технике программирования, якобы сделавшим практику программирования беспомощной. Здесь желательно помнить о высоком темпе развития инфор- мационных технологий, осознание возможностей которых не успевает созре- вать. Программа, не устаревая физически, подвержена сложным эффектам, связанным с обнаружением и исправлением ошибок и моральным устарева- нием не только реализованных решений, но и исходной постановки задачи.
Любое производство включает процессы поиска и устранения недочетов. В программировании это отладка и тестирование. Независимо от ПП и ТП в процессе разработки программ примерно 45% трудозатрат падает на долю автономного и комплексного тестирования и отладки программ. Столь высо- кая нагрузка на тестирование в практическом программировании требует яс- ности в понимании его целей, заметно отличающихся от естественно лингви- стических представлений.
Тестирование – это организация такого применения программы, в кото- ром обнаруживается наличие дефекта: ошибки или несоответствия ожида- ниям конкретных групп пользователей. Это означает, что для определения
|
множества недостаточно задать его элементы, надо еще определить и все, что множеству принадлежать не может.
Обычно подготовка тестовых данных подчинена ряду принципов и гипо- тез, нацеленных на экономию труда и надежность результатов тестирования:
– для выбираемых входных данных сразу подбираются ожидаемые вы- ходные данные;
– тест, не обнаруживающий ошибку, не имеет смысла как тест, но может быть полезен как демонстрационный материал;
–
|
– удачный тест выявляет новую, незамеченную ранее ошибку. При автоматизации тестирования решают следующие проблемы:
– создание и накопление хорошего набора тестов;
– оценка набора на полноту по ряду критериев;
– исполнение программ на тестах, оценка результатов и их хранение;
– символьное исполнение программ;
– исполнение программ в альтернативных условиях, отличных от условий разработки.
Тонкости выбора тестового материала детально описаны в книге С. К. Черноножкина [18].
Различается отношение к источникам ошибок и мерам их профилактики в разных ПП. Если императивно-процедурное программирование (ИП) апел- лирует к спецификации типов данных (ТД), обеспечивающих возможность статического контроля при компиляции программ, то функциональное про- граммирование (ФП) предпочитает полный динамический контроль любых условий, гарантирующих корректность вычислений.
|
В целом, процесс разработки программ можно представить как последова- тельность шагов по уточнению постановки задачи, методов ее решения, текста программы решения и набора данных, представляющих тесты и «нетесты». Если последовательность достигает состояния, в котором уточняемые сущности соот- ветствуют друг другу, то утверждается, что завершена отладка программы.
|
Подходы к отладке не менее требовательны к творчеству, чем методы те- стирования, но объем необходимых затрат на отладку может быть сокращен выбором стиля конструирования программ из проверенных шаблонов,
рамками надежных стандартов, использованием удобно реализуемых моде- лей. Здесь многое дает парадигма функционального программирования.
Сложность процесса отладки программы можно оценивать по мощности множества данных, на которых необходимо выполнить прогон программы (более 6000 для компилятора С++). Так, например, множество данных для отладочного прогона программы, содержащей цикл, должно содержать не менее трех наборов:
– без захода в тело цикла;
– с однократным заходом в тело цикла;
– с многократным прохождением тела цикла.
|
Исторически сложился ряд ПП, появление которых обусловлено разви- тием ТП, представленных в форме языков и систем программирования, под- держивающих решение задач определенной степени изученности, меры ор- ганизованности, уровня абстрагирования и ранга работоспособности про- грамм при слабом учете проблем тестирования и отладки, а также поддержки процесса разработки (полного жизненного цикла) программ.
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!