
- •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 (унифицированный язык моделирования).
Компонентно-ориентированная технология.
Процесс разработки программ управляется прецедентами.
Прецедент – часть функциональности системы, необходим для получения пользователем полезного и приятного результата.
Прецедент – это последовательность действий актанта и реакция системы, приводящая к полезному для актанта результату (последовательность действий пользователя и реакции системы).
Актанты – внесистемные агенты, которые взаимодействуют с системой.
Созданием прецедента мы задаем функциональные требования к системе.
Требования -> Анализ-> Проектирование-> Реализация. Прецедент используется для написания тестов. По прецедентам создаются тесты. Формируется модель прецедента. Они являются основой для разработки системы. В процессе тестирования сравниваются результаты действия системы и результаты тестов.
Унифицированный процесс ориентирован на архитектуру.
Архитектура – набор решений по организации программной системы (выбор элементов структуры ПС, их интерфейсов и правил взаимодействий).
Примеры
а) Брокер (механизм управления интерфейсов и правил взаимодействия).
б) Слои (абстрактные машины) – приложение разбивается на уровни. Каждый уровень имеет сведения об организации следующего нижнего уровня.
в) Клиент-сервер – клиентская часть взаимодействует с пользователем, а все действия выполняются на сервере.
процесс является интерактивным и инкрементным. Сначала создается скелет, а потом добавляются элементы
Фазы:
- анализ и определение требований: определение задач создаваемого продукта; подготовка исходного плана проектирования
- фаза проектирования – создание базового уровня архитектуры и определение большинства требований
- фаза построения – заканчивается созданием продукта (системы)
- фаза внедрения – передача пользователю, обучение и внедрение
Потоки работ:
- определение требований
- анализ требований
- проектирование
- реализация
- тестирование
2. Документ «Видения». Модель и словарь предметной области.
Видение (Vision) – это представление программного продукта со стороны пользователя или заказчика на уровне ключевых потребностей заинтересованных лиц и свойств системы.
Свойства системы (feature) – это эксплуатационная возможность системы, которая удовлетворяет потребность потребителя.
Пример. Потребность1: повышение оперативности доступа к изменению материала. Свойство ПП1: хранение учебного материала в единой БД, доступной преподавателям и студентам.
Потребность2: общение преподавателей и студентов в неурочное время. Свойство ПП2: реализация электронной почты или электронной доски объявлений.
Модель и словарь предметной области.
Контекстом для разрабатываемой системы является модель предметной области:
1. модель бизнес-процессов, которые протекают в системе;
2. модель предметной области в виде диаграмм.
Модель предметной области определяет наиболее важные классы объектов (уточнение требований - цель ее создания).
Понятия (классы), которые могут выявляться при построении бизнес - модели:
1. физические и материальные объекты (облако, ветер – физические, стул, стол – материальные);
2. спецификация (описание объекта: полета, товара)
3. место расположения (магазин, аэропорт);
4. транзакция (продажа, платеж);
5. роли людей (студент, продавец);
6. контейнеры объектов (склад, касса);
7. содержимое контейнеров;
8. внешние системы;
9. организации (деканат);
10. событие (кража, продажа);
11. правила и политики (правило возврата товара);
12. перечень (каталоги) – каталог товаров.
Ассоциация - отображение взаимосвязи (глаголы).
Роль - является содержанием (для дисциплины - учебный материал).
Цель модели - выявить требования к системе.
Словарь предметной области (глоссарий) – все, что есть в предметной области д.б. в глоссарии, но могут быть и дополнения.
Нефункциональные требования: ограничения среды; ограничение реализации; производительность; зависимость от платформы; рентабельность; расширяемость; надежность.
Модель прецедентов (функциональное требование) - содержит актанты и варианты использования (связи).
Прецедент - поток событий при взаимодействии актанта и системы (текстовое описание и графическое представление).