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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

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

Ответы по ТП

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.