Жизненный цикл программной системы. Этапы проектирования ПС

Страницы работы

Содержание работы

Ответы по ТП

1.  Жизненный цикл программной системы.

Программный проект – комплекс мероприятий по созданию сложной системы с заданными характеристиками при ограниченных ресурсах.

Сложная система характеризуется следующими  чертами:

- есть общая задача функционирования системы

- большое количество элементов и связей между ними

- наличие подсистем, имеющих собственное назначение

- сложность поведения системы:

а) наличие обратной связи б) случайное внешнее воздействие

- устойчивость к помехам

- надежная система при ненадежных компонентах

1 – определение потребностей,  характеристик, затрат

2 – определение структуры ПС, кодирование тестирование, отладка

3 – удовлетворение потребностей заинтересованных лиц

4 – обслуживание, развитие и т.д.

2.   Классический подход к созданию программных систем.

Этапы разработки ПО:

  1. Систематический анализ – определение цели, назначение ПО. Выполняется моделирование основных алгоритмов. Решаются вопросы организации проектирования. На этапе анализа разрабатываются требования к проекту.
  2. Планирование процесса разработки, распределение кадров, материальных ресурсов, аппаратного обеспечения.
  3. Предварительное проектирование – определяется и появляется структура ПО (внешняя спецификация).
  4. Внутреннее проектирование – спецификация на отдельные модули программы (функции, входные параметры).
  5. Кодирование и тестирование модулей.
  6. Подготовка интегрированных тестов – работа модулей и их взаимосвязь.
  7. Системное тестирование – определение ошибок всей системы.
  8. Испытание – проверка ПО с заказчиком в реальном времени, удовлетворяют ли характеристики.
  9. Сопровождение.

Структурное тестирование ПО

1.  Связь процессов тестирования и процессов проектирования.

Тестирование – процесс выполнения программы с целью обнаружения ошибок.

Виды тестирования:

  1. Тестирование модуля (автономное)  - тестирование программного модуля в изолированной от других модулей среде.
  2. Интегрированное тестирование (интерфейсов) – тестирование связей между частями системы.
  3. Функциональное (внешних функций) – тест внешнего поведения системы, определенный внешними спецификациями.
  4. Системное (комплексное) – контроль или испытание системы на соответствие исходным целям.
  5. Тестирование приемлемости – проверка соответствия программы требованиям пользователя.
  6. Тест настройка – проверка соответствия каждого варианта системы с целью выявления в них ошибок, возникающих в процессе настройки системы.

  1. Постановка задачи для тестов
  2. Проектирование тестов
  3. Написание или кодирование тестов
  4. Выполнение тестов
  5. Изучение результатов тестирования

2.  Стратегия тестирования (тестирование по спецификации и тестирование по тексту программы).

Принцип «черного ящика» - по спецификациям – формальное.

1.  Большое количество тестов, по сравнению с содержательным тестированием. Надежность проверяется всеми возможными последовательностями с анализом поведении.

2.  Полное тестирование выполнить невозможно.

Принцип «белого ящика» - по коду – содержательное тестирование.

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

2.  При тестировании всей программы нет проверки на соответствие спецификациям.

3.  Чувствительность к данным.

3.  Восходящий и нисходящий методы тестирования.

Восходящее тестирование – программа тестируется снизу вверх, сначала тестируются автономно модули нижнего уровня, после чего  они считаются надежными. Создается модуль верхнего уровня и тестируется.

Недостаток: принципиальные ошибки выявляются в конце тестирования.

Нисходящее тестирование – тестирование сверху вниз.

Проблемы:

- необходимость в заглушках (программа-заглушка – это программа моделирования модуля более низкого уровня)

- проблема с передачей данных модуля верхнего уровня (выход: тестирование модуля, из которого берутся данные)

- не высокая надежность модулей низкого уровня

Достоинства:

- тестирование можно готовить в  естественном порядке (как будут эксплуатироваться)

- наиболее важные модули тестируются несколько раз

- рано выявляются существенные принципиальные ошибки

4.  Методы тестирования: модифицированный нисходящий, монолитный, сэндвич, модифицированный сэндвич.

Монолитное тестирование – метод большого скачка

  1. Все модули пишутся сразу.
  2. Модули тестируются одновременно.
  3. Тестируется вся система.

Недостаток – сложно отладить ошибку между модулями.

Похожие материалы

Информация о работе

Тип:
Ответы на экзаменационные билеты
Размер файла:
398 Kb
Скачали:
0