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