
- •Содержание
- •Введение
- •Раздел 1 общие положения о стандартах Тема 1 Основные понятия
- •Нормативные документы по стандартизации и виды стандартов
- •1.2 Схема классификации стандартов в области информационных технологий
- •1.3 Стандарты в области программного обеспечения
- •1.4 Стандарты комплекса гост 34 на создание и развитие автоматизированных систем
- •1.5 Сертификация
- •Тема 2 Организации, разрабатывающие стандарты
- •2.2 Международные организации, разрабатывающие стандарты
- •2.3 Закрепление интеллектуальной собственности в Республике Беларусь
- •2.4 Внутрифирменные (внутрикорпоративные) стандарты
- •Раздел 2 жизненный цикл программного обеспечения Тема 3 Систематизация процессов жизненного цикла
- •3.1 Жизненный цикл программного обеспечения и его стандартизация
- •3.2 Систематизация процессов жизненного цикла программного средства
- •3.3 Основные процессы жизненного цикла программного средства
- •3.4 Вспомогательные и организационные процессы жизненного цикла программного средства
- •Тема 4 Основные модели жизненного цикла
- •4.1 Классический жизненный цикл программных средств
- •4.2 Макетирование
- •4.3 Стратегии конструирования программных средств
- •4.4 Спиральная модель жизненного цикла программных средств
- •4.5 Компонентно–ориентированная модель
- •Раздел 3 стандарты документирования программных средств Тема 5 Общая характеристика проблем и задач документирования программного обеспечения
- •5.1 Проблемы и задачи создания программной документации
- •5.2 Общая характеристика состояния в области документирования программных средств
- •5.3 Основные недостатки еспд
- •Тема 6 Единая система программной документации
- •6.1 Общая характеристика Единой системы программной документации
- •6.2 Виды программ и программных документов (гост 19.101–77 еспд)
- •6.3 Стадии разработки (гост 19.102–77 еспд)
- •6.4. Краткая характеристика некоторых госТов по программной документации
- •Раздел 4 надежность и качество программного обеспечения Тема 7 Основные понятия и показатели надежности программного обеспечения
- •7.1 Проблема обеспечения надежности сложных информационных систем
- •7.2 Пути обеспечения надежности сложных информационных систем
- •7.3 Особенности применения основных понятий теории надежности сложных систем к жизненному циклу и оценке качества программного обеспечения
- •7.4 Показатели качества и надежности программных средств
- •Тема 8 Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств
- •8.1 Модель факторов, определяющих надежность программных средств
- •8.2 Методы обеспечения надежности программных средств
- •8.3 Систематизация принципов и методов обеспечения надежности в соответствии с их целью
- •8.4 Обработка сбоев аппаратуры
- •Тема 9 Модели надежности программного обеспечения
- •9.1 Классификация моделей надежности программного обеспечения
- •9.2 Аналитические модели надежности
- •9.3 Эмпирические модели надежности
- •9.4 Сертификация комплексов программ
- •Тема 10 Обеспечение качества и надежности в процессе разработки сложных программных средств
- •10.1 Концепции повышения надежности в процессе разработки сложных программных средств
- •10.2 Схема проектирования разработки программного обеспечения
- •10.3 Требования к технологии и средствам автоматизации разработки сложных программных средств
- •10.4 Качество программного обеспечения
- •Раздел 5 тестирование программного обеспечения Тема 11 Основные понятия
- •11.1 Проблематика тестирования программного обеспечения
- •11.2 Основные определения
- •11.3 Экономика тестирования
- •11.4 Аксиомы (принципы) тестирования
- •Тема 12 Тестирование надежности программного обеспечения
- •12.1 Философия тестирования
- •12.2 Тестирование модулей
- •12.3 Комплексное тестирование
- •12.4 Организация и этапы тестирования при испытаниях надежности сложных программных средств
- •Тема 13 Тестирование программного обеспечения
- •13.1 Тестирование программного обеспечения
- •13.2 Место и цель этапа тестирования программного обеспечения
- •13.3 Виды тестирования
- •13.4 Передовые технологии в тестировании (автоматизация тестирования)
- •Тема 14 Виды тестирования программного обеспечения
- •14.1 Функциональные виды тестирования
- •14.2 Нефункциональные виды тестирования. Тестирование производительности
- •14.3 Связанные с изменениями виды тестирования
- •14.4 Тестирование удобства пользования
- •14.5 Тестирование на отказ и восстановление
- •14.6 Конфигурационное тестирование
- •Раздел 6 case – инструментарий автоматизации анализа, проектирования и разработки программного обеспечения Тема 15 Классификация case – инструментария
- •15.1 Классификация по типам
- •15.2 Классификация по категориям
- •15.3 Классификация по уровням
- •15.4 Эволюция case – инструментария
- •Тема 16 Концептуальные основы case – технологий
- •16.2 Состав и структура и функциональные особенности case–инструментария
- •16.3 Поддержка графических моделей
- •16.4 Поддержка процесса проектирования и разработки
- •Литература
- •246019, Г. Гомель, ул. Советская, 104.
15.4 Эволюция case – инструментария
С самого начала CASE–технологии развивались с целью преодоления ограничений ручных применений методологий структурного анализа и проектирования 60–70–х годов (сложности понимания, большой трудоемкости и стоимости использования, трудности внесения изменений в проектные спецификации и т.д.) за счет их автоматизации и интеграции поддерживающих средств. Таким образом CASE–технологии не могут считаться самостоятельными методологиями, они только делают более эффективными пути их применения. CASE – не революция в программотехнике: современные CASE–средства являются естественным продолжением эволюции всей отрасли средств разработки ПО. Традиционно выделяют шесть периодов, качественно отличающихся применяемой техникой и методами разработки ПО, которые характеризуются использованием в качестве инструментальных следующих средств:
ассемблеров, дампов памяти, анализаторов;
компиляторов, интерпретаторов, трассировщиков;
символических отладчиков, пакетов программ;
систем анализа и управления исходными текстами;
CASE–средств анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов(первая генерация CASE–1)
CASE–средств генерация исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла (ЖЦ) разработки ПО (2–ая генерация CASE–2)
CASE–I является первой технологией, адресованной непосредственно системным аналитикам и проектировщикам, и включающей средства для поддержки графических моделей, проектирования спецификаций, экранных редакторов и словарей данных. Она не предназначена для поддержки полного ЖЦ и концентрирует внимание на функциональных спецификациях и начальных шагах проекта – системном анализе, определении требований, системном проектировании, логическом проектировании БД.
CASE–II отличается значительно более развитыми возможностями, улучшенными характеристиками и исчерпывающим подходом к полному ЖЦ. В ней в первую очередь используются средства поддержки автоматической кодогенерации, а также обеспечивается полная функциональная поддержка для порождения графических системных требований и спецификаций проектирования; контроля, анализа и связывания системной информации, а также информации по управлению проектированием; построения прототипов и моделей системы; тестирования, верификации и анализа сгенерированных программ; генерации документов по проекту; контроля на соответствие стандартам по всем этапам ЖЦ. CASE–II может включать свыше 100 функциональных компонент, поддерживающих все этапы ЖЦ, при этом пользователям предоставляется возможность выбора необходимых средств и их интеграции в нужном составе.
Тема 16 Концептуальные основы case – технологий
16.1 CASE–модель жизненного цикла программного обеспечения.
16.2 Состав и структура и функциональные особенности CASE–инструментария.
16.3 Поддержка графических моделей.
16.4 Поддержка процесса проектирования и разработки.
16.1 CASE–модель жизненного цикла программного обеспечения
CASE–технологии предлагают новый, основанный на автоматизации, подход к концепции ЖЦ ПО. При использовании CASE изменяются все фазы ЖЦ, при этом наибольшие изменения касаются фаз анализа и проектирования. Простейшая модель ЖЦ реализуется этапами: анализа, проектирования, кодирования, тестирования и сопровождения; в соответствующей ей CASE–модели ЖЦ (прототипирование, проектирование спецификаций, контроль проекта, кодогенерация, системное тестирование, сопровождение) фаза прототипирования заменяет традиционную фазу системного анализа. Необходимо отметить, что наиболее автоматизируемыми фазами являются фазы контроля проекта и кодогенерации (хотя все остальные фазы также поддерживаются CASE–средствами).
В таблице 16.1 приведены оценки трудозатрат по фазам ЖЦ. Первая строка таблицы соответствует традиционной разработке, вторая – разработке с использованием структурных методологий проектирования, третья – разработке с использованием CASE–технологий. В таблицу 16.2 сведены основные изменения в ЖЦ при использовании CASE–технологий по сравнению с традиционной разработкой.
Таблица 16.1 – Оценки трудозатрат по фазам ЖЦ
Способ разработки |
Анализ |
Проектирование |
Кодирование |
Тестирование |
Традиционная разработка |
20% |
15% |
20% |
45% |
Использование структурных методологий проектирования |
30% |
30% |
15% |
25% |
Использование CASE–технологий |
40% |
40% |
5% |
15% |
Таблица 16.2 – Основные отличия ЖЦ при использовании CASE–технологий по сравнению с традиционной разработкой
|
Традиционная разработка |
CASE |
1 |
Основные усилия – на кодирование и тестирование |
Основные усилия – на анализ и проектирование |
2 |
«Бумажные» спецификации |
Быстрое итеративное прототипирование |
3 |
Ручное кодирование |
Автоматическая кодогенерация |
4 |
Ручное документирование |
Автоматическая генерация документации |
5 |
Тестирование кодов |
Автоматический контроль проекта |
6 |
Сопровождение кодов |
Сопровождение спецификаций проектирования |
На рисунке 16.1 представлены результаты сравнения традиционной разработки программных проектов и разработки с применением CASE–технологий.
Рисунок 16.1 – Уменьшение затрат на проектирование ПО за счет CASE–технологий