- •Анализ требований и определение спецификаций
- •Методы _____________ последовательности разработки компонентов
- •Структурный подход. Функциональное моделирование
- •Функциональное моделирование на примере sadt.
- •Контекст
- •Иерархия.
- •Структурные:
- •Диаграммы потоков данных(dfd)
- •Занятие 6 Моделирование данных
Case Лекции
Занятие 1
Case – набор инструментов и методов программной инженерии для создания программ обеспечения и анализа систем различной природы.
Case-средства – программные средства автоматизации процессов создания и сопровождения ПО
Область применения:
Моделирование бизнес-процессов,
Баз данных
Компонентов ПО
Деятельности и структуры предприятий
Результат применения case-средств:
Анализ и автоматизация систем
Повышение эффективности за счет автоматизации ручных операция
Снижение вероятности ошибок за счет автоматического документирования.
Поколения case-средств:
Case 0 – средства анализа требований, проектирование спецификации и структуры, редактирования программных интерфейсов – не поддерживали возможность создания графических моделей.
Case 1 – поддержка графических моделей (визуальное моделирование)
Case 2 – Генерация исходящих текстов поддержка полного жизненного цикла:
Разработка ПО
Контроль
Анализ
Проектирование
Построение моделей
Тестирование
Модификация и анализ программ
Основные функции Case-средств:
Автоматизированный контроль совместимости спецификации проектов.
Автоматизация создания проектной документации для всех этапов жизненного цикла в соответствии с современными стандартами
Частичная генерация кода программ для различных платформ разработки
Возможность восстановления проектной документации по имеющимся исходным кодам.
Case-технологии – совокупность методологий анализа проектирования разработки и сопровождения ПО и комплекса взаимосвязанных средств автоматизации.
В основе любой case-технологии лежит парадигма:
Методологии
Метод
Нотация
Средства
Методология (подход) – это система (совокупность) основных принципов методов и методов предназначенных для создания ПО. Она определяет действие и методы, их последовательность, правила распределения и назначения.
Метод – систематизированная совокупность шагов для выполнения определенной задачи.
Нотация – это система условных обозначений, используемая для описания моделей.
Выделяют графические и текстовые нотации.
Средства – инструментарий для поддержки методов, реализующий определенную нотацию.
Признаки классификации case-средств:
Ориентация на этапы жизненного цикла
Функциональная полнота
Типы используемых моделей
Степень независимости от СУБД
Допустимые платформы
Классификация 1
Средства анализа (ср-ва верхнего уровня). Предназначены для анализа и построения моделей предметной области.
Средства анализа и проектирования (среднего уровня). Обеспечивают разработку спецификаций компонентов, архитектуры системы, алгоритма и структуры данных
Средства проектирования БД. Обеспечивают моделирование данных и генерацию схем БД на целевом языке.
Средства разработки приложений.
Вспомогательные типы:
Средства планирования и управления проектом
Средства конфигурационного правления
Средства тестирования
Средства документирования
Классификация 2
Отдельные локальные средства решающие небольшие автономные задачи
Интегрированные средства поддерживают весь жизненный цикл и связанный общим хранилищем (моделью)
Классификация 3
Структурные
Объектно-ориентированные
Комбинированные
Занятие 2
Жизненный цикл ПО
- это непрерывный процесс который начинается с момента принятия решения, о необходимости создания ПО (появление идеи) и заканчивается в момент его полного изъятия из эксплуатации (завершение его поддержки)
Основные процессы:
Формирование требований к автоматизированной системе.
Разработка концепции автоматизированной системы. Включает изучение объекта и проведение работ
Тех задание
Эскизный проект
Технический проект
Рабочая документация
Ввод в действие
Сопровождение авт системы
Процесс жизненного цикла – совокупность взаимосвязанных действий, преобразующие входные данные в выходные. Характеризуются задачами методами, исходящими данными и результатам.
Группы процессов:
Основные:
Приобретение
Поставка
Разработка
Эксплуатация
Сопровождение
Вспомогательные:
Документирование
Управление конфигурацией
Верификация
Аттестация
Аудит и т.д.
Организационные:
Управление
Создание инфраструктуры проекта
Обучение
Действие процесса разработки:
Подготовительная работа
Анализ требований к системе
Проектирование архитектуры системы
Анализ требований к ПО
Проектирование архитектуры ПО
Детальное проектирование ПО
Кодирование и тестирование
Основные этапы разработки ПО:
По ISO |
по госту
|
Постановка задачи |
Техническое задание |
Анализ требований и разработка спецификаций |
Эскизный проект |
Проектирование |
Технический проект |
Реализация |
Рабочий проект, раб документация |
Внедрение |
Ввод к действую |
сопровождение |
сопровождение |
Постановка задач включает формулировку назначения ПО и определение основных требований к нему. Каждое требование это описание необходимого или желаемого сво-ва ПО
Требования:
Функциональные. Определение ф-ий ПО
Эксплуатационные. Определение особенностей его функций
Результат этапа – это техническое задание, фиксирующее принципиальные требования и принятие основных проектных решений.
Анализ требований и определение спецификаций
Спецификация – это точное формализованное описание функций и ограничений ПО.
Различают функциональную и эксплуатационную спецификации.
Совокупность спецификация образуют общую лог модель ПО
Результаты этапа – логическая модель и набор тестов.
Проектирование
Основная задача – определение подробных спецификаций, включая:
Общую структуру ПО (компоненты и их взаимосвязи)
Декомпозиция компонентов и построение их структурных иерархий
Проектирование компонентов
Результат этапа – детальная модель ПО и спецификация компонентов всех уровней моделей
Аспекты проектирования
Логический, включает проектные операции, независящие от технических и программных ср-в составляющих среду функционирования ПО.
Физический аспект. Несет привязку к конкретному программному проекту
Реализация – это поэтапное написание программных кодов, их тестирование и отладка.
Модели жизненного цикла ПО
- это структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении процесса разработки.
Каскадная модель 1970г.
Достоинства:
Получение в конце каждого этапа законченного набора проектной документации
Простота планирования процесса разработки (срока завершения и затрат)
Недостатки:
Жесткая схема без возможности возврата на предыдущий этап для внесения изменения.
Модель с промежуточным контролем.
Поддерживает итерационный характер процесса разработки (возможность возврата на предыдущий этап)
Достоинства:
Возможность возврата на любой этап процесса разработки для внесения изменений
Недостатки:
Опасность «зависания» процесса разработки в состоянии постоянного уточнения и усовершенствования
Существенное запаздывание с получением результата
Спиральная модель середина 80-х гг.
ПО создается итерационно с использованием метода прототипирования
Прототип – действующий программный продукт, реализующий отдел функции и внешние интерфейсы ПО.
Достоинства:
Быстрое получение прототипов
Уменьшает вероятность морального устаревания системы
Недостатки:
Сложность определения момента перехода на следующий этап
Сравнение
Без использования CASE-средств |
С использованием |
Основные усилия направлены на кодирование и тестирование |
Основные усилия направлены на анализ и проектирование |
Бумажные спецификации |
Быстрое итерационное прототипирование |
Ручное кодирование |
Автоматизированная генерация кода |
Ручное документирование |
Автоматизированная генерация документации |
Тестирование кодов |
Автоматиз контроль проекта |
Сопровождение кода |
Сопровождение спецификаций проектирования |
Подходы к созданию по спецификации. Диаграммы переходов состояний.
Подходы к разраб по; порядок разработки:
Восходящий
Исходящий
Расшир. ядра
1 В.П. – проектирование и реализация по начинают с компонентов или уровня.
По мере завершения тестирования и отладки компонентов осуществляется их сбор
Для тестирования и отладки компонентов в разработки тестирующие программы.
Минусы:
- высокий риск несогласов. компонентов из-за неполноты спецификаций
- наличие издержек на разработки тестирующих программ.
- позднее проектирование графического пользовательского интерфейса.
В данный момент в.п. практически не используется.
2. Н.П.
Разработку по начинают с верхнего уровня – пользовательский интерфейса.