
- •1. Жизненный цикл программной системы.
- •2. Классический подход к созданию программных систем.
- •3. Понятия связности модулей и сцепления модулей.
- •4. Структурное программирование.
- •Структурное тестирование программного обеспечения
- •1. Связь процессов тестирования и процессов проектирования.
- •2. Уровни тестирования и виды тестирования.
- •3. Стратегия тестирования.
- •4. Тестирование программного модуля.
- •5. Восходящее и нисходящее тестирование.
- •6. Методы тестирования: модифицированный нисходящий, монолитный, сандвич, модифицированный сандвич.
- •7. Системное тестирование: метод функциональных диаграмм.
- •Объектно-ориентированный подход к разработке по
- •1. Абстрагирование и инкапсуляция
- •2. Модульность программных систем
- •3. Виды иерархий в программных системах.
- •4. Понятие объекта. Состояние, поведение и индивидуальность объекта.
- •5. Отношение между объектами: использование, включение.
- •6. Отношение простого наследования классов.
- •7. Добавление, замещение и уточнение методов класса при наследовании.
- •8. Отношение ассоциации между классами, включая агрегацию.
- •9. Отношение зависимости между классами, отношение реализации.
- •Шаблоны проектирования
- •1. Шаблон «Одиночка» Singleton
- •2. Шаблон «Фабричный метод» Factory Method
- •3. Шаблон «Декоратор» Decorator
- •4. Шаблон «Стратегии» Strategy
- •5. Шаблон «Компоновщик» Composite.
- •6. Шаблон «Наблюдатель» Observer
- •7. Архитектурные шаблоны (парадигмы).
- •Унифицированный процесс разработки по (rup)
- •1. Основные черты. Фазы и основные потоки работ.
- •2. Документ «Видения». Модель и словарь предметной области.
- •3. Функциональные и нефункциональные требования к системе. Варианты использования системы.
- •4. Прецеденты и отношения между прецедентами.
- •5. Модель анализа и классы анализа.
- •6. Архитектурное представление.
5. Модель анализа и классы анализа.
Классы анализа.
Модель анализа является абстракцией для модели проектирования. Служит для того, чтобы последовательно приблизиться к модели проектирования. Необязательна в сложных системах. Не сохраняется в проекте, т.к. неоднозначная, промежуточная.
Решаемые задачи:
учитывается взаимодействие прецедентов
прецедентам дается формальное описание в виде различного вида диаграмм (активности, последовательности, сотрудничества)
выделяются общие и внутренние ресурсы системы
разрабатывается первый вариант архитектуры системы.
В модели анализа язык разработчиков состоит из классов анализа:
классы анализа не определяют сигнатуру метода, т.е. в целом представляется что класс будет делать, но не детально. Поведение класса определяется в виду ответственности.
класс анализа определяет только атрибуты более высокого уровня
Стереотипы:
- граничный класс
- моделирует взаимодействие между системой и актантом
- может быть абстракцией интерфейса пользователя
- абстракция программного интерфейса
- абстракция коммуникационных интерфейсов
- не содержит физической реализации
- должен быть связан хотя бы с одним актантом
- объекты живут во время выполнения прецедента
- класс сущности – моделирует информацию, которая существует в системе некоторое время, в том числе хранимую длительное время. Класс сущности является отображением классов предметной области. Объекты живут между прецедентами.
- управляющий класс – моделирует управление, соответствующее одному или нескольким прецедентам. Объекты живут во время выполнения прецедента.
Варианты управляющих классов:
один прецедент – один класс
объединение прецедентов в один класс
граничный класс представляет одну сущность, тогда функции управляющего класса передаются граничному классу
6. Архитектурное представление.
Логическое представление – подмножество модели проектирования, которое содержит наиболее значимые классы и их распределение по пакетам и подсистемам.
Представление развертывания – подмножество модели реализации, описывающее ответственность физических узлов; развертывание и распределение задач, процессов и потоков по узлам.
Представление реализации – подмножество модели реализации, описывающее ПО в терминах пакетов, а также распределение классов и пакетов по модулям. Если пакеты заимствуются из модели проектирования, то это представление отсутствует.
Представление процессов – содержит описание задач, их взаимодействие и конфигурацию.
Представление данных – подмножество модели данных.
В архитектурных представлениях фиксируются устойчивые характеристики системы, которые необходимы для решения следующих задач:
Эволюция системы (переход к очередному циклы разработки)
Повторное использование архитектуры в линейке программных продуктов.
Оценивание дополнительных показателей (производительность, надежность)
Назначение работы командам сотрудников.
При разработке принимаются решения включения в проект готовых программных продуктов.