- •1.2.Начало 70-х годов - “software crisis” (кризис по)
- •3.Категории современных проектов
- •4. Проблемы сегодняшнего дня
- •5. Экстремальные проекты
- •6. Сопровождение
- •7. Принципы оценки технологий (Agile Software Development)
- •8. Модель смм
- •9.Основные направления развития современных технологий
- •11.Жизненный цикл по. Процессы и модели
- •13. Процесс разработки по
- •14. Процесс управления конфигурацией (configuration management process) –
- •15. Процесс обеспечения качества (quality assurance process)
- •16. Модель жц по
- •17. Состав стадий полного жц по
- •18 Каскадная модель жц по (waterfall)
- •21.Подход rad (Rapid Application Development) – ibm, James Martin, середина 80-х годов
- •23А. Модели и их роль в создании систем
- •23. Графическое моделирование - средство преодоления сложности больших систем
- •24. Язык моделирования:
- •26. Диаграммы uml (версия 1.Х)
- •27. Технологии создания программного обеспечения
- •28. Технология Rational Unified Process (rup)
- •29. Стадии жизненного цикла по
- •30. Понятие бизнес-процесса
- •31.Области применения бизнес-моделей:
- •32.Многообразие средств моделирования
- •33.Метод sadt
- •34.Преимущества и недостатки idef0
- •35.Метод idef3
- •36.37.Моделирование потоков данных (процессов)
- •38.39.Erd (Entity-Relationship Diagrams) – диаграммы “сущность-связь”
5. Экстремальные проекты
Одна из причин - экстремальные условия выполнения проектов:
план проекта сжат более чем наполовину по сравнению с нормальным расчетным планом
количество разработчиков уменьшено более чем наполовину по сравнению с действительно необходимым для проекта данного размера и масштаба
бюджет и связанные с ним ресурсы урезаны наполовину
требования к функциям, производительности и другим характеристикам вдвое превышают значения, которые они могли бы иметь в нормальных условиях
Причины, порождающие экстремальные проекты
Политика
Высокая конкуренция, порожденная глобализацией рынков
Высокая конкуренция, вызванная появлением новых технологий
Наивный оптимизм и менталитет первопроходцев
Сильное воздействие неожиданных правительственных решений
Причины участия в экстремальных проектах
Высокое вознаграждение
Синдром покорителей Эвереста
Угроза безработицы
Наивность и оптимизм молодости
Возможность сделать карьеру
Возможность победить бюрократию
Месть
Основные проблемы проявляются на стадии сопровождения и развития ПО
Крупномасштабные проекты создания ПО:
длительный жизненный цикл (10 – 15 лет)
3-4 года - стадия создания (разработки),
остальное время - стадия сопровождения и развития
6. Сопровождение
Накопление проблем:
новые требования к системе выходят за рамки ограничений, заложенных при ее создании
рост сложности ПО ® повышение сложности внесения изменений в ПО, рост затрат на сопровождение
текучесть кадров ® снижение количества специалистов, способных сопровождать систему
прекращение поддержки платформы ® необходимость переноса ПО в новую среду
Стремление сэкономить на стадии разработки (приобретение и освоение новой технологии создания ПО) ®
до 80% всего ПО разрабатывается без использования какой-либо дисциплины проектирования
Одна из причин роста стоимости сопровождения - недостатки технологии создания ПО
Особенности «тяжелого» процесса:
необходимость документировать каждое действие разработчиков
множество рабочих продуктов (в первую очередь - документов), создаваемых в бюрократической атмосфере
отсутствие гибкости
детерминированность (долгосрочное детальное планирование и предсказуемость всех видов деятельности, распределение человеческих ресурсов на длительный срок, охватывающий большую часть проекта
Проблемы «тяжелых» технологий: а) высокая стоимость; б) длительный и трудоемкий процесс внедрения
Альтернатива – адаптивный (гибкий) процесс
7. Принципы оценки технологий (Agile Software Development)
Избыточная "тяжесть" технологии (дополнительные рабочие продукты, планы, диаграммы, документы) стоит дорого
Более многочисленные команды требуют более "тяжелых" технологий
Большая формальность подходит для проектов с большей критичностью
Возрастание обратной связи и коммуникации сокращает потребность в промежуточных продуктах
Дисциплина, умение и понимание противостоят процессу, формальности и документированию
Потеря эффективности в некритических видах деятельности вполне допустима
Чтобы быть конкурентоспособной, организация-разработчик должна:
Перейти от кустарных к промышленным методам создания ПО
Обучить сотрудников методам и технологиям программной инженерии
Регламентировать и автоматизировать технологические процессы
Внедрить систему качества