Всё для Учёбы — студенческий файлообменник
1 монета
ppt

Студенческий документ № 050922 из МЭСИ

Методология ИТ-консалтинга

Калянов Георгий Николаевич

профессор, доктор технических наук

зав. кафедрой "Системный анализ и управление ИТ"

зав. лабораторией Института проблем управления РАН

Kalyanov@mail.ru

http://www.kalyanov.by.ru

Лекция №14

CASE-технологии

Определение

• CASE - Computer-Aided Software/System Engineering

• CASE - Confuse Array of Software that does Everything?

• CASE-технология представляет собой совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем программного обеспечения (ПО), поддержанную комплексом взаимоувязанных средств автоматизации

Цель

• Основная цель CASE состоит в том, чтобы отделить проектирование ПО от его кодирования и последующих этапов разработки, а также скрыть от разработчиков все детали среды разработки и функционирования ПО.

• Чем больше деятельности будет вынесено в проектирование из кодирования, тем лучше.

• CASE - это инструментарий для системных аналитиков, разработчиков и прогpаммистов, заменяющий им бумагу и карандаш на компьютер для автоматизации процесса проектирования и разработки ПО.

Области применения

• бизнес-анализ (фактически, модели деятельности предприятий "как есть" и "как должно быть" строятся с применением методов структурного системного анализа и поддерживающих их CASE-средств);

• системный анализ и проектирование (практически любая современная крупная программная система разрабатывается с применением CASE-технологий по крайней мере на этапах анализа и проектирования, что связано с большой сложностью данной проблематики и со стремлением повысить эффективность работ).

Методология/метод/нотация/ средство

• Методология определяет руководящие указания для оценки и выбора проекта разрабатываемого ПО, шаги работы и их последовательность, а также правила распределения и назначения методов.

• Метод - это систематическая процедура или техника генерации описаний компонент ПО (например, проектирование потоков и структур данных).

• Нотации предназначены для описания структуры системы, элементов данных, этапов обработки и включают графы, диаграммы, таблицы, блок-схемы, формальные и естественные языки.

• Средства - инструментарий для поддержки и усиления методов.

Эволюция CASE - средств

• ассемблеры, дампы памяти, анализаторы;

• компиляторы, интерпретаторы, макрогенераторы;

• символические отладчики, пакеты программ;

• системы анализа и управления исходными текстами;

• CASE-средства анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов (первая генерация CASE-I);

• CASE-средства генерации исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла разработки ПО (вторая генерация CASE- II)

Оценки трудозатрат по фазам ЖЦ

Изменения в ЖЦ

Уменьшение затрат

Функциональные особенности

• поддержка методологии анализа и проектирования

• мощная графика для описания и документирования систем ПО, а также для улучшения интерфейса с пользователем, развивающая творческие возможности специалистов и не отвлекающая их от процесса проектирования на решение второстепенных вопросов;

• интеграция, обеспечивающая легкость передачи данных между средствами и позволяющая управлять всем процессом проектирования и разработки ПО непосредственно;

• использование компьютерного хранилища (репозитария) для всей информации о проекте, которая может разделяться между разработчиками и исполнителями как основа для автоматического продуцирования ПО и повторного его использования в будущих системах.

Ориентация

• Человеческий фактор, определяющий разработку ПО как легкий, удобный и экономичный процесс.

• Широкое использование базовых программных средств, получивших массовое распространение в других приложениях (БД и СУБД, компиляторы с различных языков программирования, отладчики, документаторы, издательские системы, оболочки экспертных систем и базы знаний, языки четвертого поколения и др).

• Автоматизированная или автоматическая кодогенерация, выполняющая несколько видов генерации кодов: преобразования для получения документации, формирования БД, ввода/модификации данных, получения выполняемых машинных кодов из спецификаций ПО, автоматической сборки модулей из словарей и моделей данных и повторно используемых программ, автоматической конверсии ранее используемых файлов в форматы новых требований.

• Ограничение сложности, позволяющее получать компоненты, поддающиеся управлению, обозримые и доступные для понимания, а также обладающие простой и ясной структурой.

• Доступность для разных категорий пользователей.

Структура инструмента

• Средства централизованного хранения всей информации о проектируемом ПО в течении всего ЖЦ (репозитарий) - основа CASE-пакета. Репозитарий должен обеспечивать:

• инкрементный режим при вводе описаний объектов;

• распространение действия нового или скорректированного описания на информационное пространство всего проекта;

• синхронизацию поступления информации от различных пользователей;

• хранение версий проекта и его отдельных компонент;

• сборку любой запрошенной версии;

• контроль информации на корректность, полноту и состоятельность.

2. Средства ввода предназначены для ввода данных в репозитарий, а также для организации взаимодействия с CASE-пакетом. Эти средства должны поддерживать различные методологии и использоваться на всем ЖЦ разными категориями разработчиков: аналитиками, проектировщиками, инженерами, администраторами и т. д.

3. Средства анализа, проектирования и разработки предназначены для того, чтобы обеспечить планирование и анализ различных описаний, а также их преобразования в процессе разработки.

4. Средства вывода служат для документирования и кодовой генерации.

Группы функций

• поддержика графических модели;

• контроль ошибок;

• организация и поддержка репозитария;

• поддержка процесса проектирования и разработки (покрытие ЖЦ, поддержка прототипирования, поддержка методологий, автоматическая кодогенерация)

Классификация инструментов

• Типы - функциональная ориентация CASE-средств в технологическом процессе (анализ и проектирование, проектирование БД, программирование, реинжиниринг и т.п.)

• Категории - объем функциональности (tool, toolkit, workbench)

• Уровни - область действия CASE в пределах жизненного цикла (верхние, средние, нижние)

Примеры

• CASE.Аналитик

• структурограммы данных

• вывод печатных форм

• документатор

• верификатор

• экспорт-импорт

• связь с ERWin

• BPWin, ERWin, ................

Мифы • "Большая кнопка"

• Производительность труда стремится к бесконечности

• Безумно дорого

• Слишком сложно

Как внедрить CASE?

• Выбор методологии

• Выбор инструмента

• Обучение

• Подбор опытного проекта

Выбор методологии

• Структурная или объектная

• Функционально или информационно ориентированная

• DFD или IDEF0

Выбор инструмента

• Исходя из выбранной методологии

• Поддержка классических методов

• Недорогой продукт

• Учет опыта реальных проектов

• Наличие средств импорта-экспорта

• Мощные средства верификации

• Генерация документации по стандартам

• Наличие миниспецификаций

• Возможность реверсного инжиниринга

Обучение

• Имеющиеся программы обучения - 2-5 дней

• Методология - семестровый курс

• Опыт не менее 2 проектов

Подбор опытного проекта

• Небольшой, достаточно простой

• Не критичный для предприятия

• Целенаправленное обучение

• Обычные (рядовые) сотрудники

• Опытный консультант в начале и при завершении

Показать полностью… https://vk.com/doc-128381368_438865626
105 Кб, 11 ноября 2016 в 14:31 - Россия, Москва, МЭСИ, 2016 г., ppt
Рекомендуемые документы в приложении