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

Достоинство – распараллеливание труда.

Модифицированный нисходящий метод – тоже самое что и обычный, только плюс еще автономное тестирование всех модулей.

Метод сэндвича – комбинация нисходящего и восходящего метода – самый лучший.

Необходима стыковка.

Достоинства: раннее начало интеграции системы, надежное тестирование модулей низкого уровня.

5.  Тестирование программного модуля.

Цель тестирования модуля: выяснить несоответствие логики работы модуля с его спецификацией.

  1. Составляется в соответствии со спецификацией тест как «черный ящик». Из спецификации выявляются классы эквивалентности для входных и выходных данных.
  2. Выполняется в соответствии со стратегией содержательного тестирования (проверяется каждая ветвь).
  3. Тестирование прохождение циклов (частный случай).
  4. Тестирование устойчивости к данным. Локальные переменные приняли граничные значения.

6.  Тестирование внешних функций: метод функциональных диаграмм.

Функциональное тестирование – нахождение несоответствий между программной системой и внешними спецификациями.

  1. Задается описание входных данных.
  2. Описание выходных данным.
  3. Описание преобразований системой данных.

Метод функциональных диаграмм

  1. Выявление спецификаций функций системы.
  2. Выявляются классы эквивалентности для входных и выходных данных.
  3. Построение функциональной диаграммы системы.

Возможные ограничения на причины:

E – появление a исключает b, появление b исключает a, при этом a и b не могут быть одновременно

I – либо a, либо b, либо вместе

O – либо a, либо b должно быть обязательно.

Объектно-ориентированный подход к разработке ПО

1.  Абстрагирование и ограничение доступа при проектировании программных систем.

Абстрагирование – определение общих свойств объектов определенной совокупности.

Абстракция – совокупность существенных с точки зрения решения задачи характеристик и свойств объекта, которые отличают его от всех других объектов.

Абстракция сущности объекта – это структура объекта

Абстракция поведения объекта – совокупность внешних свойств.

Инкапсуляция (ограничение доступа) – защита отдельных элементов объекта, не являющихся существенными, от доступа  со стороны других объектов.

Это способ уменьшения сложности.

Интерфейс – описание внешнего проявления объекта данного класса.

Реализация – описание внутреннего механизма для достижения желаемого результата.

2.  Модульность программных систем.

Использование ограниченного доступа:

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

Модуль должен быть простой системой, должно быть как можно меньше связей между модулями. Модуль состоит: реализация, интерфейс. Изнутри модуля можем видеть только интерфейсную часть другого модуля. Отношение между модулями – отношение компиляционной зависимости, отношение импорта-экспорта.

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

Иерархия – упорядоченная по принципу старшинства  система абстракций, связанных определенными отношениями.

Виды иерархий:

- иерархия классов (типов)

- иерархия объектов (структурная)

1) в иерархии классов может быть несколько отношений:

- отношение наследования – такое отношение классов, при котором один класс использует структуру и функциональную часть одного или нескольких других классов.