![](/user_photo/2706_HbeT2.jpg)
- •Глава 1. Технология программирования 4
- •Глава 2. Основы проектирования информационных систем 70
- •Глава 3. Обучающие и тестирующие системы 180
- •Введение
- •Технология программирования
- •Общие сведения о технологии программирования. Задачи технологии программирования
- •Базовые определения
- •Невозможность доказательства отсутствия программных ошибок
- •Надежность программной системы
- •Технология программирования как способ создания надежных программных систем
- •Этапы развития технологии программирования
- •Технология программирования и информатизация общества
- •Общие принципы разработки программных систем
- •Специфика разработки программных систем
- •Основные подходы при создании пс
- •Жизненный цикл программной системы
- •Понятие качества программной системы
- •Обеспечение надежности – основной критерий разработки программных систем
- •Методы борьбы со сложностью
- •Обеспечение точности перевода
- •Преодоление барьера между пользователем и разработчиком
- •Контроль принимаемых решений
- •Архитектура программной системы
- •Понятие архитектуры программной системы
- •Основные классы архитектур программных систем
- •Архитектурные функции
- •Тестирование и отладка программной системы
- •Основные понятия
- •-Принципы и виды отладки программной системы
- •Заповеди отладки программной системы
- •Автономная отладка программной системы
- •Комплексная отладка программной системы
- •Обеспечение функциональности и надежности программного средства
- •Функциональность и надежность как обязательные критерии качества программного средства
- •Обеспечение завершенности программного средства
- •Обеспечение точности программного средства
- •Обеспечение автономности программного средства
- •Обеспечение устойчивости программного средства
- •Обеспечение защищенности программных средств
- •Обеспечение качества программного средства
- •Общая характеристика процесса обеспечения качества программного средства
- •Обеспечение легкости применения программного средства
- •Обеспечение эффективности программного средства
- •Обеспечение сопровождаемости программного средства
- •Обеспечение мобильности
- •Литература
- •Основы проектирования информационных систем
- •Проектирование информационной системы. Понятия и структура проекта ис
- •Основные понятия и определения
- •Преимущества электронного документооборота
- •Области применения и примеры реализации информационных систем
- •Требования, предъявляемые к информационным системам
- •Жизненный цикл информационных систем
- •Этапы разработки автоматизированных информационных систем
- •Классификация информационных систем
- •Классификация автоматизированных информационных систем
- •Информационная модель и методы моделирования архитектуры проектируемой информационной системы
- •Методы проектирования информационных систем
- •Профили открытых информационных систем
- •Методологии, технологии и инструментальные средства проектирования
- •Модели структурного проектирования
- •Стандарт моделирования данных idef1x. Er-диаграммы
- •Моделирование данных. Диаграммы потоков данных
- •Моделирование данных. Методология функционального моделирования sadt
- •Case-средства проектирования информационных систем
- •Классификация case-средств
- •Рекомендации по применению case-систем
- •Объектно-ориентированные модели
- •Общая характеристика унифицированного языка моделирования uml
- •Проектирование ис с использованием uml
- •Методология rad
- •Разработка интерфейса ис
- •Литература
- •Обучающие и тестирующие системы
- •Терминология, принятая в данной области
- •История развития процесса создания терминологии и основные проблемы
- •Рекомендованные основные понятия
- •Характеристики электронного издания
- •Электронный учебник – новый жанр учебной литературы
- •Некоторые принципы, которыми следует руководствоваться при создании электронного учебника
- •Необходим ли электронный учебник?
- •Методическое обеспечение электронного учебника
- •Роль методического обеспечения
- •Требования к современному методическому обеспечению
- •Содержание методического комплекса
- •Некоторые вопросы стандартизации, оценки качества и сертификации учебных электронных ресурсов
- •Стандартизация в области образовательных технологий
- •Причины появления и назначение стандартов в области информационных технологий обучения
- •Спецификации ims
- •Спецификации ieee ltsc
- •Модель scorm
- •Метаданные
- •Определение метаданных
- •Роль метаданных
- •Технология создания локальных и сетевых электронных образовательных ресурсов – html
- •Введение
- •Что такое гипертекстовый документ
- •Действительные документы html
- •Html- редакторы
- •Первый документ html
- •Гиперссылки
- •Форматирование документа
- •Синтаксис гипертекстовой разметки
- •Каскадные таблицы стилей
- •Типы представления документов
- •Правила оформления документа
- •Чего надо стараться избегать
- •Публикация
- •Литература
-
Архитектурные функции
Для обеспечения взаимодействия между подсистемами в ряде случаев не требуется создавать какие-либо дополнительные программные компоненты. Для этого может быть достаточно заранее фиксированных соглашений и стандартных возможностей базового программного обеспечения, т.е. операционной системы. Так в комплексе автономно выполняемых программ для обеспечения взаимодействия достаточно спецификации общей внешней информационной среды и возможностей операционной системы для запуска программ. В слоистой программной системе может оказаться достаточным спецификации выделенных программных слоев и обычный аппарат обращения к процедурам.
Однако в ряде случаев для обеспечения взаимодействия между программными подсистемами может потребоваться создание дополнительных программных компонент. Так для управления работой комплекса автономно выполняемых программ часто создают специализированный командный интерпретатор, более удобный в данной предметной области для подготовки требуемой внешней информационной среды и запуска требуемой программы, чем базовый командный интерпретатор используемой операционной системы. В слоистых программных системах может быть создан особый аппарат обращения к процедурам слоя, например, обеспечивающий параллельное выполнение этих процедур. В комплексе параллельно действующих программ для управления портами сообщений требуется специальная программная подсистема. Такие программные компоненты реализуют не внешние функции ПС, а функции, возникшие в результате разработки архитектуры этого ПС. В связи с этим такие функции мы будем называть архитектурными.
-
Тестирование и отладка программной системы
-
Основные понятия
-
Отладка ПС это комплекс мер, направленных на обнаружение и исправление ошибок в ПС с использованием процессов выполнения его программ.
Тестирование ПС это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Таким образом, отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в ПС ошибки, поиска места ошибки в программах и документации ПС и редактирования программ и документации с целью устранения обнаруженной ошибки.
-
-Принципы и виды отладки программной системы
Успех отладки ПС в значительной степени предопределяет рациональная организация тестирования. При отладке ПС отыскиваются и устраняются, в основном, те ошибки, наличие которых в ПС устанавливается при тестировании. Как было уже отмечено ранее, тестирование не может доказать правильность ПС, в лучшем случае оно может продемонстрировать наличие в нем ошибки. Другими словами, нельзя гарантировать, что тестированием ПС практически выполнимым набором тестов можно установить наличие каждой имеющейся в ПС ошибки. Поэтому возникает две задачи.
Первая задача состоит в подготовке такого набора тестов, которые позволят обнаружить в нем по возможности большее число ошибок. Однако чем дольше продолжается процесс тестирования и отладки в целом, тем большей становится стоимость ПС. Отсюда вытекает вторая задача, состоящая в определении момента окончания отладки ПС. Признаком возможности окончания отладки является полнота охвата пропущенными через ПС тестами множества различных ситуаций, возникающих при выполнении программ ПС, и относительно редкое проявление ошибок в ПС на последнем отрезке процесса тестирования. Последнее определяется в соответствии с требуемой степенью надежности ПС, указанной в спецификации его качества.
Для оптимизации набора тестов, т.е. для подготовки такого набора тестов, который позволил бы при заданном их числе обнаруживать наибольшее число ошибок в ПС, необходимо заранее спланировать этот набор и использовать рациональную стратегию планирования тестов. Проектирование тестов можно начинать сразу же после завершения этапа внешнего описания ПС. Возможны различные подходы к выработке стратегии проектирования тестов, которые можно условно разместить между следующими двумя предельными подходами [2].
Левый крайний подход (рис. 1.2) заключается в том, что тесты проектируются только на основании изучения спецификаций ПС – внешнего описания, описания архитектуры и спецификации программных модулей. Строение модулей при этом никак не учитывается, т.е. они рассматриваются как черные ящики. Фактически такой подход требует полного перебора всех наборов входных данных, так как в противном случае некоторые участки программ ПС могут не работать при пропуске любого теста, а это значит, что содержащиеся в них ошибки не будут проявляться. Однако тестирование ПС полным множеством наборов входных данных практически неосуществимо.
Правый крайний подход заключается в том, что тесты проектируются на основании изучения текстов программ с целью протестировать все пути выполнения каждой программ ПС. Если принять во внимание наличие в программах циклов с переменным числом повторений, то различных путей выполнения программ ПС может оказаться чрезвычайно много, так что их тестирование также будет практически неосуществимо.
Рисунок 1.2. Спектр подходов к проектированию тестов
Оптимальная стратегия проектирования тестов расположена внутри интервала между этими крайними подходами, но ближе к левому краю. Она включает проектирование значительной части тестов по спецификациям, но требует также выполнения некоторых тестов и по текстам программ. При этом в первом случае эта стратегия базируется на принципах:
-
на каждую используемую функцию или возможность требуется хотя бы один тест;
-
на каждую область и на каждую границу изменения какой-либо входной величины необходим хотя бы один тест;
-
на каждую особую, исключительную ситуацию, указанную в спецификациях, нужен хотя бы один тест.
Во втором случае эта стратегия базируется на принципе – каждая команда каждой программы ПС должна проработать хотя бы на одном тесте.
Кроме того, оптимальную стратегию проектирования тестов можно конкретизировать на основании следующего правила – для каждого программного документа, включая тексты программ, должны проектироваться свои тесты с целью выявления в нем ошибок. Во всяком случае, этот принцип необходимо соблюдать в соответствии с определением ПС и содержанием понятия технологии программирования как технологии разработки надежных ПС.
Обычно различают два основных вида отладки – автономную и комплексную отладку ПС. Автономная отладка ПС означает последовательное раздельное тестирование различных частей программ, входящих в ПС, с поиском и исправлением в них фиксируемых при тестировании ошибок. Она фактически включает отладку каждого программного модуля и отладку сопряжения модулей. Комплексная отладка означает тестирование ПС в целом с поиском и исправлением фиксируемых при тестировании ошибок во всех документах, включая тексты программ ПС. К таким документам относятся определение требований к ПС, спецификация качества ПС, функциональная спецификация ПС, описание архитектуры ПС и тексты программ ПС.