2. 2
CASE-системы
• CASE (англ. Computer-Aided Software Engineering) —
набор инструментов и методов программной инженерии
для проектирования программного обеспечения, который
помогает обеспечить высокое качество программ,
отсутствие ошибок и простоту в обслуживании
программных продуктов.
• Также под CASE понимают совокупность методов и
средств проектирования информационных систем с
использованием CASE-инструментов.
• В функции CASE входят средства анализа,
проектирования и программирования программных
средств, проектирования интерфейсов,
документирования и производства структурированного
кода на каком-либо языке программирования.
5. 5
Классификация CASE-систем
• средства анализа — предназначены для
построения и анализа модели предметной
области;
• средства проектирования баз данных;
• средства разработки приложений;
• средства реинжиниринга процессов;
• средства планирования и управления
проектом;
• средства тестирования;
• средства документирования.
6. 6
Типичные CASE-инструменты
• инструменты управления
конфигурацией;
• инструменты моделирования данных;
• инструменты анализа и
проектирования;
• инструменты преобразования
моделей;
• инструменты редактирования
программного кода;
• инструменты рефакторинга кода;
• генераторы кода;
• инструменты для построения UML-
диаграмм.
7. 7
Жизненный цикл программного
обеспечения (ЖЦ ПО)
ЖЦ ПО - это непрерывный процесс,
который начинается с момента
принятия решения о необходимости его
создания и заканчивается в момент его
полного изъятия из эксплуатации.
Структура ЖЦ ПО по стандарту ISO/IEC
12207 базируется на трех группах
процессов.
9. 9
Структура ЖЦ ПО
1 основные процессы
1.1 приобретение
1.2 поставка
1.3 разработка
1.4 эксплуатация
1.5 сопровождение
2 вспомогательные процессы
2.1 документирование, управление конфигурацией,
обеспечение качества, верификация, аттестация, оценка,
аудит, решение проблем
3 организационные процессы
3.1 управление проектами, создание инфраструктуры
проекта, определение, оценка и улучшение самого ЖЦ,
обучение
10. 10
Модели жизненного цикла ПО
К настоящему времени наибольшее распространение
получили следующие две основные модели ЖЦ:
• каскадная модель (70-85 г.г.);
• спиральная модель (86-90 г.г.).
• Каскадная модель — характеризуется
последовательностью выполнения этапов,
• Итерационная модель – основная особенность
наличие обратных связей между этапами.
• Спиральная модель – каждый виток спирали
соответствует поэтапной модели создания версии
ПО.
15. 15
Все модели ЖЦ включают в себя пять
основных этапов
1. Техническое задание:
постановка задачи;
выбор критериев
эффективности;
проведение предварительных
научно-исследовательских
работ (НИР);
разработка ТЗ.
2. Эскизный проект:
структура входных и выходных
данных;
уточнение методов решения;
общий алгоритм;
разработка документации
эскизного проекта.
3. Технический проект:
уточнение структуры входных и
выходных данных;
разработка алгоритмов;
формы данных;
семантика и синтаксис языка;
структура программы;
конфигурация технических
средств;
план работ.
4. Рабочий проект:
программирование и отладка;
разработка документов;
подготовка и проведение
испытаний;
корректировка программы и
документов по итогам
испытаний.
16. 16
Последний этап
5. Внедрение:
передача программы и документов
для сопровождения;
оформление акта;
передача в Фонд алгоритмов и
программ (ФАП).
http://fap.sbras.ru
18. 18
Гибкая методология разработки (англ. Agile software
development, agile-методы) — серия подходов к
разработке программного обеспечения,
ориентированных на использование итеративной
разработки.
Главная особенность - постоянное взаимодействие
внутри самоорганизующихся рабочих групп,
состоящих из специалистов различного профиля.
Agile-методы делают упор на непосредственное
общение лицом к лицу.
19. 19
• Большинство гибких методологий нацелены на
минимизацию рисков путём сведения разработки к серии
коротких циклов, называемых итерациями, которые
обычно длятся две-три недели.
• Каждая итерация сама по себе выглядит как
программный проект в миниатюре и включает все задачи,
необходимые для выдачи мини-прироста по
функциональности: планирование, анализ требований,
проектирование, программирование, тестирование и
документирование.
• Отдельная итерация, как правило, недостаточна для
выпуска новой версии продукта, но подразумевается, что
гибкий программный проект готов к выпуску в конце
каждой итерации.
• По окончании каждой итерации команда выполняет
переоценку приоритетов разработки.