13. Объектно-ориентированный анализ предметной области. Методика определения границ системы и ключевых абстракций. Пример проведения анализа. Функциональные и не-функциональные требования к системе.
Системный анализ
Лекция 4
С сего начать?
Выяснить
какие задачи должна решать программная система,
какими свойствами она должна обладать
«Проблема заказчика»
Заказчик
формулирует задачу на своем профессиональном языке;
имеет достаточно расплывчатое представление о функциях будущей программной системы;
не способен оценить возможности реализации тех или иных своих пожеланий
11. Анализ предметной области: цели и задачи. Модели предметной области. Формальные определения. Классификация моделей. Методология IDEF0, синтаксис IDEF0-моделей.
10. Структурный и объектно-ориентированный подходы к разработке ПО. Их сравнительный анализ. Сущность объектного подхода к разработке программных средств.
Декомпозиция системы (в частности- программной системы - ПС)
Функциональная – на основе потока данных с выделением обрабатывающих функций
Объектная – на основе выделения сущностей, обладающих собственными наборами данных, состояниями и наборами операций
8. Руководство программным проектом. Предварительные оценки проекта. Системный анализ и анализ требований. Анализ рисков. Планирование процесса разработки. Типовая структура распределения работ.
Руководство проектом
Руководство проектом определяет сущность процесса разработки от его начала до конца. Оно обеспечивает :
7. Адаптивные модели процесса разработки: экстремальное программирование, Scrum
Адаптивные процессы
В настоящее время все большее распространение получают адаптивные или облегченные, «живые» (agile) процессы разработки
Они не требуют столь жесткой регламентации, допускают возможность частых и существенных изменений требований заказчиков
6. Прогностические модели процесса разработки: каскадная, RAD, спиральная
Прогностические (прогнозирующие- "тяжеловесные" процессы) - предполагают планирование всего объема работ и, соответственно, достаточно большой объем документации
Основная цель таких процессов – отделить успешные практики разработки и сопровождения ПО от конкретных людей, умеющих их применять