
- •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. Архитектурное представление.
Унифицированный процесс разработки по (rup)
1. Основные черты. Фазы и основные потоки работ.
RUP (рациональный унифицированный процесс) – совокупность рекомендаций к выполнению различной деятельности, необходимых для преобразований требований к системе в ПО.
Основные черты RUP:
использование UML (унифицированный язык моделирования).
Компонентно-ориентированная технология.
Процесс разработки программ управляется прецедентами.
Прецедент – часть функциональности системы, необходим для получения пользователем полезного и приятного результата.
Прецедент – это последовательность действий актанта и реакция системы, приводящая к полезному для актанта результату (последовательность действий пользователя и реакции системы).
Актанты – внесистемные агенты, которые взаимодействуют с системой.
Созданием прецедента мы задаем функциональные требования к системе.
Требования -> Анализ-> Проектирование-> Реализация. Прецедент используется для написания тестов. По прецедентам создаются тесты. Формируется модель прецедента. Они являются основой для разработки системы. В процессе тестирования сравниваются результаты действия системы и результаты тестов.
Унифицированный процесс ориентирован на архитектуру.
Архитектура – набор решений по организации программной системы (выбор элементов структуры ПС, их интерфейсов и правил взаимодействий).
Примеры
а) Брокер (механизм управления интерфейсов и правил взаимодействия).
б) Слои (абстрактные машины) – приложение разбивается на уровни. Каждый уровень имеет сведения об организации следующего нижнего уровня.
в) Клиент-сервер – клиентская часть взаимодействует с пользователем, а все действия выполняются на сервере.
процесс является интерактивным и инкрементным. Сначала создается скелет, а потом добавляются элементы
Цели выполнения на конец фаз разработки:
Начало: Определение целей и задач разработки. Понимание проблем заинтересованных лиц.
Развитие: Определение требований к системе, разработка базовой архитектуры системы. Определение стоимости разработки, составление плана разработки.
Конструирование: Создание программного продукта.
Переход: Доводка системы. Внедрение системы в эксплуатацию.
Виды работ (разработка ПО)
Бизнес-моделирование
Оформление требований к системе – описание того, что система должна делать
Анализ требований и проектирование – создание статических и динамических моделей системы, выполняющей выявленные требования
Реализация – производство программного кода, который превращается в исполняемую систему.
Тестирование – проверки системы в целом.
Размещение
Процесс разработки представляется как серия итераций. На каждой итерации выполняются все виды работ, поэтому каждая итерация заканчивается версией системы. В отдельной итерации реализуется некоторое подмножество функциональных требований. Система эволюционирует – количество реализованных требований увеличивается с каждой итерацией.
Роль требований в жизненном цикле разработки программного обеспечения:
Модель вариантов использования разрабатывается посредством нескольких приращений. Каждая итерация добавляет к модели новые варианты использования и добавляет новые подробности к описанию уже существующих.