Файл: Учебное пособие по курсу Технология разработки программного обеспечения для студентов.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.10.2023
Просмотров: 378
Скачиваний: 2
СОДЕРЖАНИЕ
1Цели при разработке программного обеспечения
2Жизненный цикл ПО. Модели жизненного цикла
3.1Принципы структурного анализа
3.3Группы средств моделирования систем
4Построение модели в DFD на примере банковской задачи
7Методология функционального моделирования SADT (IDEF0)
7.1Structured Analysis and Design Technique
8Моделирование данных в нотации IDEF1x
9Комплексная интеграция BPWin, ERWin и Paradigm Plus.
9.1Соответствие объектов моделей процессов и моделей данных
9.2Экспорт между моделью данных и моделью процессов
9.3Paradigm Plus: двусторонняя связь с ERwin
10Создание физической модели данных в ERWin
10.2 Правила валидации и значения по умолчанию
10.4 Триггеры и хранимые процедуры
11Тестирование и сертификация программного обеспечения
11.1 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования ПО
11.2Использование среды автоматизированного тестирования Platinum TESTBytes
11.3 Методы обеспечения качества и надежности программных средств
11.4 Использование CASE для повышения качества ПО
11.5 Влияние стандартов открытых систем на качество ПО
11.6 Повышение качества ПО путем тестирования
11.7 Основные особенности процесса тестирования ПО
11.8 Организационные особенности тестирования
12Организация и планирование тестирования для обеспечения качества ПО
12.1 Важнейшие разделы ISO 9003
12.3 Документирование системы качества
12.5 Внутренние проверки системы качества
13Стандарты, регламентирующие разработку ПО
13.1Стандарт ISO 12207:1995 - Процессы жизненного цикла программных средств
13.3 Серия стандартов ГОСТ 34-ХХХ «Информационная технология»
14Управление проектами разработки информационных систем
14.1 Процессы управления проектами
14.7 Процессы исполнения и контроля
15Определение концепции проекта (область применения, цели и подход)
16.3Диаграмма Гантта по проекту
16.4График движения денежных средств по проекту
Продукт используется на этапе отладки и тестирования систем. Эти стадии создания информационных систем требуют заполнить базу данных большим количеством как можно более правдоподобной тестовой информации. Разработчикам приходится либо вводить эти данные собственными силами (попросту брать их «с потолка»), либо использовать реальные данные. Первое довольно сложно, трудоемко и утомительно. Второе может быть нежелательно из соображений информационной безопасности. Данную проблему можно решить, используя специальное программное обеспечение, автоматически генерирующее соответствующие схеме БД тестовые данные. TESTBytes – именно такое ПО.
TESTBytes представляет собой технологию и программный продукт, предназначенные для тестирования программного обеспечения. TESTBytes предназначен для разработчиков баз данных, проектировщиков моделей данных, администраторов баз данных и специалистов по качеству программного обеспечения.
TESTBytes позволяет оперативно решать задачи генерации тестовых данных, что значительно снижает временные затраты на подготовку базы данных к тестированию.
Логика использования системы TESTBytes показана на рисунке 32.
-
Логическая функциональная схема ПО TESTBytes
11.3 Методы обеспечения качества и надежности программных средств
В современных технологиях создания и развития ПО с позиции обеспечения качества можно выделить группы методов и средств, которые позволяют:
-
Создавать программные модули и функциональные компоненты гарантированного высокого качества. -
Предотвращать дефекты проектирования за счет эффективных технологий и средств автоматизации всего жизненного цикла комплексов программ и баз данных. -
Обнаруживать и устранять различные дефекты и ошибки проектирования, разработки и сопровождения программ путем систематического тестирования на всех этапах жизненного цикла. -
Удостоверять достигнутое качество и надежность функционирования ПО в процессе его испытаний и сертификации. -
Оперативно выявлять последствия дефектов программ и данных и восстанавливать качество и нормальное функционирование программ.
Комплексное применение данных методов позволяет парировать угрозы качеству разработки. Благодаря этому уровень качества разработки становится предсказуемым, непосредственно зависящим от ресурсов, выделяемых на его достижение, а главное – от качества и эффективности технологии, используемой на всех этапах ЖЦ ПО.
Предотвращение ошибок и улучшение технико-экономических показателей создания ПО обеспечивается применением современных технологий и систем автоматизированного проектирования, объединенных понятиями CASE и 4GL (графические языки четвертого поколения).
11.4 Использование CASE для повышения качества ПО
CASE-технологии (Computer Aided Software/System Engineering) представляют собой высокопроизводительные, ресурсосберегающие технологии создания комплексов программ высокого качества и надежность. Основная цель применения CASE - сокращение общих затрат на проектирование, реализацию, сопровождение и развитие ПО. Применение CASE приводит к исключению или значительному уменьшению количества системных, алгоритмических и программных ошибок в ПО, передаваемом в эксплуатацию. Кроме того, CASE-технологии эффективны при модификации и сопровождении ПО, а также при адаптации ПО к изменениям конфигурации внешней среды. Повышение уровня автоматизации проектирования, применение методов и средств CASE-технологий – один из самых эффективных путей повышения качества разрабатываемого ПО.
При создании ПО важная проблема заключается в системотехническом и информационно-технологическом проекте, обеспечивающем высокие потребительские качества и надежность ПО. CASE-средства предназначены для реализации проектов коллективами разработчиков и базируются на конкретных методологиях коллективной разработки и сопровождения ПО. CASE-средства используются для изъятия и формализации знаний заказчика на этапе проведения обследования, анализа и подготовки технического задания. Затем CASE-средства могут быть использованы для проектирования концептуальной и логической структур разрабатываемого ПО, используемых в нем баз данных. При этом в CASE-средствах активно используется тестирование корректности реализованных системных решений. Одновременно благодаря высокому качеству проработки и документирования такого проекта создается основа для снижения трудоемкости отладки, тестирования, испытаний, сопровождения и развития разрабатываемого ПО.
Совместное применение CASE и 4GL способно снизить трудоемкость разработки сложных программных средств в несколько раз и сократить продолжительность разработки до нескольких месяцев или даже недель.
Базовым принципом современных методов и технологий создания прикладного ПО является многократное использование отработанных технических решений на различных платформах. В настоящее время основная часть программных средств не создается вновь, а переносится с других платформ или комплексируется и собирается из готовых, испытанных и повторно используемых компонент гарантированно высокого качества.
Результатом внедрения CASE-средств в разработку ПО является значительное сокращение затрат на разработку, высокое качество проекта и надежность полученного ПО.
11.5 Влияние стандартов открытых систем на качество ПО
Предотвращению дефектов в сложном, распределенном ПО способствует развитие и применение концепции и стандартов открытых систем.
Однако их использование сопряжено с некоторыми тенденциями в составе и величинах рисков, отражающихся на качестве ПО. Стандартизация интерфейсов между внешними и внутренними компонентами ПО и возможность массового переноса данных на различные платформы способствует распространению невыявленных дефектов и ошибок, остающихся в переносимых компонентах. Усложнение взаимодействия программ и данных в распределенном ПО также приводит к возрастанию появления рисков и снижению качества и надежности.
Однако переносимые компоненты, как правило, тщательнее тестируются и испытываются, поэтому имеют более высокое качество чем те, которые созданы без ориентации на переносимость. Стандартизация и глубокий формализованный контроль интерфейсов и протоколов взаимодействия компонентов ПО позволяют создавать сложные, распределенные комплексы программ с высоким качеством.
Строгое соблюдение и контроль соответствия стандартам открытых систем является высокоэффективным методом предотвращения ряда классов дефектов и ошибок и повышения качества ПО.
11.6 Повышение качества ПО путем тестирования
Для обнаружения и устранения ошибок в ПО все этапы его разработки и сопровождения должны быть поддержаны методами систематического, автоматизированного тестирования корректности реализованных решений.
Качество функционирования ПО непосредственно зависит от полноты применяющихся комплексов тестов и адекватности генераторов тестов реальным объектам внешней среды и условиям будущей эксплуатации.
Тестирование – основной метод измерения качества, определения корректности и реальной надежности функционирования программ на любом этапе разработки. Результаты тестирования и измерения показателей качества должны сравниваться с требованиями технического задания или спецификаций для определения соответствия разрабатываемого ПО требованиям, полученным разработчиком от заказчика.
Важная особенность тестирования сложного ПО – необходимость достаточно полной проверки программ при ограниченной длительности испытаний. Эта особенность определяет целесообразность тщательного планирования тестирования с учетом всех результатов, полученных на предыдущих этапах разработки. Основная задача такого планирования – достижение максимальной достоверности испытаний, наиболее полного определения качества и надежности ПО при ограничении ресурсов на проведение испытаний.
Для достижения высокого качества целесообразно проводить испытания не только завершенного ПО, но и результатов ряда промежуточных этапов. Для этого в процессе формирования технического задания следует формулировать план и основные положения методики обеспечения качества, поэтапных испытаний компонент и определения характеристик, допустимых для продолжения работ на следующих этапах. Одновременно следует проводить уточнение технического задания и методик испытания ПО. Применение такого подхода позволяет испытателям и представителям заказчика глубоко ознакомиться с создаваемым ПО, провести поэтапный контроль качества и достаточно полный учет результатов тестирования при последующих испытаниях.