- •1. История развития вычислительной техники. Докомпьютерная эпоха.
- •1673Г.-г.В.Лейбниц, арифмометр с 4 действиями
- •1820-1856Гг. – ч.Беббидж работает над проектом аналитической, программируемой машины.
- •2. История развития вычислительной техники. Первое поколение (1945-1954). Компьютеры на электронных лампах
- •3. История развития вычислительной техники. Второе поколение: конец 50-х годов – конец 60-х годов.
- •4. История развития вычислительной техники. Третье поколение 1970-1980.
- •5. История развития вычислительной техники. Четвертое поколение 1980 – по нынешнее время.
- •6. Термины и определения: программные продукты, программная инженерия,
- •7. История технологий разработки программ.
- •8. Затраты на разработку программ.
- •9. Процессы жизненного цикла по.
- •10. Основные проблемы, стоящие перед специалистами по по.
- •11. Профессиональные и этические требования к специалистам по по.
- •12. Модели процесса разработки по. Каскадная модель.
- •13. Модели процесса разработки по. V-модель.
- •14. Модели процесса разработки по. Модель «Code-and-Fix».
- •15. Модели процесса разработки по. Модель «Зубья акулы»/ прототипирование.
- •16. Модели процесса разработки по. Инкрементальная модель.
- •17. Модели процесса разработки по. Модель синхростабилизации.
- •18. Модели процесса разработки по. Спиральная модель.
- •19. Модели процесса разработки по. Модель Agile.
- •20. Case-средства. Примеры.
- •21. Показатели качественного по.
- •22. Фундаментальные требования iso 9000.
- •О природе стандартов iso серии 9000
- •23. Верификация и аттестация по.
14. Модели процесса разработки по. Модель «Code-and-Fix».
• Особенности:
– Анализ требований и спецификации в целом возможны до кодирования и тестирования
– У клиента нет технических знаний для участия в обсуждении требований
– Быстрый прототип с основной функциональностью ПО и ограниченной надежностью/производительностью
15. Модели процесса разработки по. Модель «Зубья акулы»/ прототипирование.
Прототипи́рование (англ. prototyping) — это быстрая «черновая» реализация базовой функциональности для анализа работы системы в целом. После этапа прототипирования обязательно следуют этапы пересмотра архитектуры системы, разработки, реализации и тестирования конечного продукта.
Прототипирование по мнению некоторых программистов является самым важным этапом разработки. На этапе прототипирования малыми усилиями создается работающая система (возможно неэффективно, с ошибками, и не в полной мере). Во время прототипирования более детальная картина устройства системы. Применяется также в машино и приборостроении.
• Преимущества:
– Базис идей для развития и обсуждения ПО с клиентом
– Снижение технических рисков (дешевое выявление потенциальных проблем)
• Недостатки:
– Соблазн использования «нетехнологичного» кода
(низкое качество, недостаточное тестирование и документирование)
16. Модели процесса разработки по. Инкрементальная модель.
Особенности:
-Разбивка ПО на последовательные релизы (каждый цикл разработки дает работоспособный продукт) Преимущества:
Работающий продукт на каждом шаге разработки
Плавный ввод новой функциональности у клиента
Легкость сопровождения за счет «прямолинейного расширения» основных модулей
Недостатки:
Требует наращиваемого программного решения
(не годится для ПО, требующего сразу полной функциональности)
Продукт должен «масштабироваться» по архитектуре
ПО должно предусматривать стабильный путь апгрейда
Не подходит для продуктов, которые быстро выходят
за рамки исходной концепции (при этом вырождается в build-and-fix)
Продукт поделен на подсистемы и поставляется в релизах (builds)
Каждый релиз включает обеспечение операционного качества подсистемы
С каждым новым релизом новая подсистема включается в предыдущий релиз
17. Модели процесса разработки по. Модель синхростабилизации.
Работа членов команды постоянно синхронизируется
Фаза планирования
Формулируется видение
Готовится документ спецификаций
График работ и формирование команды
Фаза разработки
Первая треть функций (критические функции, разделяемые компоненты)
Вторая треть функций
Последняя треть функций (наименее критичные функции)
Фаза стабилизации
Внутреннее тестирование
Внешнее тестирование
Подготовка релиза
Сейчас заменяется на MSF
Особенности:
3-4 инкрементных версии ПО, включающих:
Синхронизацию (проверка, сборка, тестирование)
Стабилизацию(устранение ошибок, найденных тестами)
«Заморозку» - работающий «срез» ПО
Преимущества:
«частое и раннее» тестирование (и выявление ошибок)
Постоянная интероперабельность (модули тестируются в сборе => всегда есть работающая версия ПО => связи между модулями легко тестировать)
Ранняя коррекция проекта (полная «сборка» ПО первых версий позволяет выявить недочеты проекта до полно-масштабной реализации и снизить стоимость редизайна)
Недостатки:
Подходит не для всех типов ПО (скажем, только для поддерживающих автоматизацию тестирования)
Необходимо уделять время синхростабилизации (а не только проектированию)
Нужны частые циклы сборки/тестирования (еженедельно или ежемесячно)
Редко используется вне корпорации Microsoft