Файл: Учебное пособие по курсу Технология разработки программного обеспечения для студентов.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.10.2023

Просмотров: 305

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

1Цели при разработке программного обеспечения

2Жизненный цикл ПО. Модели жизненного цикла

3Анализ требований

3.1Принципы структурного анализа

3.2Проблема сложности ИС

3.3Группы средств моделирования систем

3.4Диаграммы потоков данных

4Построение модели в DFD на примере банковской задачи

5Словарь данных

6Спецификации процессов

7Методология функционального моделирования SADT (IDEF0)

7.1Structured Analysis and Design Technique

7.2Диаграммы IDEF0.

8Моделирование данных в нотации IDEF1x

8.1Базовые понятия ERD

8.2Виды сущностей в IDEF1x

8.3Виды связей в IDEF1X

8.4Нормализация схемы данных

9Комплексная интеграция BPWin, ERWin и Paradigm Plus.

9.1Соответствие объектов моделей процессов и моделей данных

9.2Экспорт между моделью данных и моделью процессов

9.3Paradigm Plus: двусторонняя связь с ERwin

10Создание физической модели данных в ERWin

10.1Уровни физической модели

10.2 Правила валидации и значения по умолчанию

10.3 Индексы

10.4 Триггеры и хранимые процедуры

11Тестирование и сертификация программного обеспечения

11.1 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования ПО

11.2Использование среды автоматизированного тестирования Platinum TESTBytes

11.3 Методы обеспечения качества и надежности программных средств

11.4 Использование CASE для повышения качества ПО

11.5 Влияние стандартов открытых систем на качество ПО

11.6 Повышение качества ПО путем тестирования

11.7 Основные особенности процесса тестирования ПО

11.8 Организационные особенности тестирования

11.9 Сертификация ПО

12Организация и планирование тестирования для обеспечения качества ПО

12.1 Важнейшие разделы ISO 9003

12.2 Общие положения

12.3 Документирование системы качества

12.4 Программа качества

12.5 Внутренние проверки системы качества

12.6 Корректирующие действия

13Стандарты, регламентирующие разработку ПО

13.1Стандарт ISO 12207:1995 - Процессы жизненного цикла программных средств

13.2ISO 15504 SPICE

13.3 Серия стандартов ГОСТ 34-ХХХ «Информационная технология»

14Управление проектами разработки информационных систем

14.1 Процессы управления проектами

14.2 Процессы проекта

14.3 Группы процессов

14.4 Взаимосвязи процессов

14.5 Процессы инициации

14.6 Процессы планирования

14.7 Процессы исполнения и контроля

14.8 Процессы анализа

14.9 Процессы управления

14.10 Процессы завершения

15Определение концепции проекта (область применения, цели и подход)

15.1Введение

15.2Результаты

15.3Исходная информация

15.4Шаги задачи

15.5Методика и подход

15.6Роли и ответственность

16Рабочий план

16.1По работам

16.2По исполнителям

16.3Диаграмма Гантта по проекту

16.4График движения денежных средств по проекту

16.5Полномочия в изменении плана

17Заключение

18Контрольные вопросы

Библиографический список


Продукт используется на этапе отладки и тестирования систем. Эти стадии создания информационных систем требуют заполнить базу данных большим количеством как можно более правдоподобной тестовой информации. Разработчикам приходится либо вводить эти данные собственными силами (попросту брать их «с потолка»), либо использовать реальные данные. Первое довольно сложно, трудоемко и утомительно. Второе может быть нежелательно из соображений информационной безопасности. Данную проблему можно решить, используя специальное программное обеспечение, автоматически генерирующее соответствующие схеме БД тестовые данные. TESTBytes – именно такое ПО.

TESTBytes представляет собой технологию и программный продукт, предназначенные для тестирования программного обеспечения. TESTBytes предназначен для разработчиков баз данных, проектировщиков моделей данных, администраторов баз данных и специалистов по качеству программного обеспечения.

TESTBytes позволяет оперативно решать задачи генерации тестовых данных, что значительно снижает временные затраты на подготовку базы данных к тестированию.

Логика использования системы TESTBytes показана на рисунке 32.


  1. Логическая функциональная схема ПО 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 Повышение качества ПО путем тестирования


Для обнаружения и устранения ошибок в ПО все этапы его разработки и сопровождения должны быть поддержаны методами систематического, автоматизированного тестирования корректности реализованных решений.

Качество функционирования ПО непосредственно зависит от полноты применяющихся комплексов тестов и адекватности генераторов тестов реальным объектам внешней среды и условиям будущей эксплуатации.

Тестирование – основной метод измерения качества, определения корректности и реальной надежности функционирования программ на любом этапе разработки. Результаты тестирования и измерения показателей качества должны сравниваться с требованиями технического задания или спецификаций для определения соответствия разрабатываемого ПО требованиям, полученным разработчиком от заказчика.


Важная особенность тестирования сложного ПО – необходимость достаточно полной проверки программ при ограниченной длительности испытаний. Эта особенность определяет целесообразность тщательного планирования тестирования с учетом всех результатов, полученных на предыдущих этапах разработки. Основная задача такого планирования – достижение максимальной достоверности испытаний, наиболее полного определения качества и надежности ПО при ограничении ресурсов на проведение испытаний.

Для достижения высокого качества целесообразно проводить испытания не только завершенного ПО, но и результатов ряда промежуточных этапов. Для этого в процессе формирования технического задания следует формулировать план и основные положения методики обеспечения качества, поэтапных испытаний компонент и определения характеристик, допустимых для продолжения работ на следующих этапах. Одновременно следует проводить уточнение технического задания и методик испытания ПО. Применение такого подхода позволяет испытателям и представителям заказчика глубоко ознакомиться с создаваемым ПО, провести поэтапный контроль качества и достаточно полный учет результатов тестирования при последующих испытаниях.