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