Юрин Александр Юрьевич (89148840743, 453039, iskander@icc.ru, iskander@irk.ru)
CASE средства
Экзамен. Допуск(5 лаб)
1 лаба: проектирование техзадания
2 лаба: бпвин
3 лаба: ервин
4 лаба: спроектировать
5 лаба: модель приложения
Минимум 2 лабы надо сдать на практике.
1 блок: основные принципы
2 блок: структура, проектирование
3 блок: ооп
Контрольные вопросы
3 вопроса на экзамене
Лекция 1
Основные понятия
CASE (computer Aided Software\System Engineering) – набор инструментов и методов программной инженерии для создания программного обеспечения и анализа систем различной природы.
CASE – средства – программные средства, автоматизация процессов создания и сопровождения программного обеспечения.
Область применения: Моделирования бизнес процессов, баз данных, компонентов программного обеспечения, деятельности и структуры организаций.
Результат применения CASE –средств:
Анализ и оптимизация систем.
Повышение эффективности за счет автоматизации ручных операций.
Снижение вероятности ошибок за счет автоматизации документирования.
Особенности процесса разработки:
Сложность описания создаваемых систем.
Наличие сложных связей между подсистемами.
Необходимость интеграции существующих и вновь разрабатываемых приложений.
Функционирование вне однородной среде.
Разобщенность и разнородность отдельной группы разработчиков, как по уровню квалификации, так и территориально.
Существенная временная протяженность проекта.
Успешное преодоление перечисленных с трудностей требует адекватного описания объекта разработки с помощью полных непротиворечивых моделей. Создание таких моделей требует применения специализированых методик и программных средств.
Поколения CASE – средств:
CASE 0: Средство анализа требований, проектирование спецификаций, редактирование интерфейсов. Они не поддерживали возможность создания графических моделей.
CASE 1: Поддержка графических моделей.
CASE 2 (современные CASE): Генерация исходных текстов. Поддержка полного жизненного цикла программного обеспечения.
Основные функции CASE – средств:
Автоматизированный контроль совместимости спецификаций проекта.
Автоматизация проектной документации.
Частичная генерация кода программ для различных платформ разработки.
Поддержка технологий повторного использования компонентов в системе.
Возможность восстановления проектной документации по имеющимся исходным кодам.
CASE – технология – совокупность методологий анализа проектирования, разработки и сопровождения программного обеспечения и комплексов взаимосвязанного программных средств. В основе любой CASE – технологии лежит парадигма (методология, метод, нотация, средства).
Методология (подход) – совокупность основных принципов методик и методов, предназначенных для создания программного обеспечения. Методология определяет действия, методы, их последовательность и правила распределения.
Метод – систематизированная совокупность шагов для выполнения определенной задачи.
Нотация – Система условных обозначений, используемая для описания моделей. Нотации бывают графические(блок – схемы, диаграммы) и текстовые(псевдокоды).
Средства – инструментарий для поддержки методов, реализующих определенную нотацию.
Признаки классификации:
Ориентация на этапы жизненного цикла.
Функциональная полнота.
Типы используемых моделей.
Независимость от СУБД
Допустимые платформы.
Ориентация на этапы жизненного цикла:
Средства анализа (Upper CASE).
Средства анализа и проектирования(Middle CASE). Обеспечивает разработку спецификаций, алгоритмов и структур данных.
Средства проектирования баз данных (ERWin).
Средства разработки приложений.
Вспомогательные типы:
Средства планирования и управление проектом.
Средства конфигурационного управления.
Средства тестирования.
Средства документирования.
По функциональной полноте:
Отдельные локальные средства(toolks).
Интегрированные средства (toolkit).
По типу используемых моделей:
Структурные.
Объектно-ориентированные.
Комбинированные.
10.02.12Г. Жизненный цикл программного обеспечения
Жизненный цикл программного обеспечения – непрерывный процесс, который начинается с момента принятия решения о необходимости создания программного обеспечения (появление идеи) и заканчивается в момент его полного изъятия из эксплуатации (завершение его поддержки).
ISO / IEC 12207:1995 – Информационная технология и процессы жизненного цикла.
ГОСТ 32.601 – 90 – Автоматизированные системы в стадии разработки.
Стадии разработки:
Формирование требований к автоматизированной системе.
Разработка концепции автоматизированной системы.
Техническое задание.
Эскизный проект.
Технический проект.
Рабочая документация.
Ввод в действие.
Сопровождение.
Процесс жизненного цикла – совокупность взаимосвязанных действий, преобразующие входные данные в выходные. Характеризуются задачами и методами их решения.
Группы процессов:
Основные процессы ЖЦ (Разработка, эксплуатация, сопровождение и др.).
Вспомогательные процессы (Документирование, управление конфигурацией, оценка, аудит и т.д.).
Организационные (Управление, создание инфраструктуры, обучение).
Действия процесса разработки:
Подготовительная работа.
Анализ требований к системе.
Проектирование архитектуры системы.
Анализ требований к программному обеспечению.
Проектирование архитектуры программного обеспечения.
Детальное проектирование программного обеспечения.
Кодирование и тестирование программного обеспечения.
Основные этапы процесса разработки:
Постановка задачи. Стадия техническое задание.
Анализ требований и разработка спецификаций. Стадия эскизный проект.
Проектирование. Стадия технический проект.
Реализация (разработка). Рабочая документация (рабочий проект).
Внедрение. Ввод в действие.
Сопровождение. Сопровождение.
Этап постановка задачи:
Включает формулировку назначения программного обеспечения и основных требований к нему. Каждое требование это описание необходимого или желаемого свойства программного обеспечения.
Требования бывают: функциональные (определяет функции); эксплуатационные (определяет особенности его функционирования).
Требования к ПО, имеющие прототипы определяют по аналогии. При отсутствие таковых, проводят специальное исследование, которые называются предпроектные.
Результат этапа – это техническое задание, фиксирующие принципиальные требования и основные проектные решения.
Этап анализ требований и определение спецификаций:
Спецификация – точное формализованное описание функций и ограничений обеспечение программного обеспечения.
Различают функциональные и эксплуатационные спецификации. Совокупность спецификаций образуют общую логическую модель программного обеспечения.
Результаты этапа – логическая модель программного обеспечения и набор тестов.
Этап проектирования:
Основная задача – определение подробных спецификаций, включая: общую структуру ПО; декомпозицию компонентов (или подсистем); проектирование компонентов.
Результаты этапа – детальная модель программного обеспечения и спецификаций компонентов.
Аспекты проектирования:
Логический. Проектирование не зависит от имеющихся технических и программных средств, составляющую среду функционирования ПО.
Физический. Которая зависит от среды функционирования.
Этап реализаций:
Это поэтапное описания программных кодов, их тестирование и отладка.
Модель жизненного цикла программного обеспечения – это структура, определяющая последовательность выполнения и взаимосвязи, процессов, действий и задач, выполняемых на различных этапах процесса разработки.
Модели разработки:
К аскадная модель.
Достоинства:
Получение в конце каждого этапа набор документации.
Простота планирования процесса разработки (сроки завершения и затрат).
Недостаток:
Жесткая схема без возможности возврата на предыдущий этап процесса разработки для внесения изменений
Модель с промежуточным контролем. Поддерживает итерационный характер процесса разработки (возможность возврата на предыдущий этап).
Достоинства:
Возможность возврата на предыдущий этап.
Недостатки:
Опасность «зависания» процесса разработки в состоянии постоянного уточнения и усовершенствования.
Запаздывание с получением результатов.
Спиральная модель. Программное обеспечение создается итерационно с использованием методом прототирование. Прототип – действующий программный продукт, реализующий отдельные функции и внешние интерфейсы программного обеспечения.