Пр_Инж_6_лек_CASE.ppt
- Количество слайдов: 49
Программная инженерия 7 Раздел CASE Расписание: 11. 01 Пн 14: 30 18: 25 Г 2082 Лекция 12. 01 Вт 14: 30 18: 25 Г 2082 Лекция 13. 01 Ср 14: 30 18: 25 Г 2023 Лабораторная работа 14. 01 Чт 14: 30 18: 25 Г 2023 Лабораторная работа 21. 01 Чт 18: 30 21: 40 Г 2023 Экзамен
Содержание n n n Рост сложности проектов ИС. Предпосылки появления средств автоматизации разработки ИС CASE средства, технологии, индустрия CASE технологии: q q q n Основные черты, возможности и характеристики Содержание Сравнение по трудоемкости с традиционным подходом CASE средства: q q q Эволюция Классификация Архитектура, компоненты Этапы внедрения Критерии выбора Основные проблемы внедрения 2
7 CASE По литературе 6 и 7 3
Термин CASE Computer Aided Software Engineering (англ. ) дословный перевод: разработка программного обеспечения информационных сис тем при поддержке (с помощью) компьютера. Первоначальное значение термина CASE, ограничено вопросами автоматизации разработки только лишь программное обеспечение (ПО). Однако: «Термин “CASE” в настоящее время используется в широком смысле и не ограничивается вопросами автоматизации разработки только лишь ПО, но и охватывает процесс разработки сложных информационных систем в целом» . Формулировка официального сайта Санкт Петербургского информационно аналитического центра (СПб. ИАЦ) 4
Рост сложности ИС Развитие современных ИТ ведет к постоянному росту сложности ИС. Современные крупные проекты ИС характеризуются: n сложность описания (↑кол во функций, процессов, элементов данных и сложные взаимосвязи между ними) требуется тщательное моделирование и анализ данных и процессов; n наличие совокупности тесно взаимодействующих компонентов (подсистем), имеющих свои локальные задачи и цели функционирования; n отсутствие прямых аналогов ограничение в использовании каких либо типовых проектных решений и прикладных систем; n необходимость интеграции существующих и вновь разрабатываемых приложений; n функционирование в неоднородной среде на нескольких аппаратных платформах; n разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и сложившимся традициям использования тех или иных инструментальных средств; n существенная временная протяженность проекта. 5
Предпосылки появления средств автоматизации: Ручная разработка обычно порождала следующие проблемы: n неадекватная спецификация требований; n неспособность обнаруживать ошибки в проектных решениях; n низкое качество документации, снижающее эксплуатационные качества; n затяжной цикл и неудовлетворительные результаты тестирования. 6
“Главная идея” software engineering фундаментальная идея программной инженерии: “проектирование ПО ИС является формальным процессом, который можно изучать и совершенствовать. ” Освоение и правильное использование методов и средств создания ПО позволят повысить качество ИС, обеспечить управляемость процесса проектирования ИС и увеличить срок ее жизни. Появление программно технологических средств специального класса – CASE средств, реализующих CASE технологию создания и сопровождения ИС. 7
CASE* : CASE инструменты (CASE средства) – инструмен тарий для системных аналитиков, разработчиков и программистов, заме няющий им бумагу и карандаш на компьютер для автоматизации процесса проектирования и разработки ПО. CASE технологии совокуп ность методологий анализа, проектирования, разработки и сопровождения сложных систем ПО, поддержанная ком плексом взаимоувязанных средств автоматизации. CASE индустрия объединила сотни фирм и ком паний различной ориентации 8
Понятие CASE-технология CASE технология представляет собой совокупность методологий анализа, проектирования, разработки и сопровождения сложных систем и поддерживается комплексом взаимоувязанных средств автоматизации. CASE технология это инструментарий для системных аналитиков, разработчиков и программистов, заменяющий бумагу и карандаш компьютером, автоматизируя процесс проектирования и разработки ПО. CASE технологии = методология разработки ПО + CASE средства 9
CASE-средства – это программно технологические средства специального класса, реализующие CASE технологию и поддерживающие процессы создания и сопровождения ИС, включая анализ и формулировку требований, проектирование прикладного ПО (приложений) и баз данных (БД), генерацию кода, тестирование, документирование, обеспечение качества, конфигурационное управление и управление проектом, а также другие процессы.
CASE-технология
CASE-технологии - естественное продолжение эволюции отрасли разработки ПО 6 периодов эволюции, отличающихся инструментами: 1 ассемблеры, дампы памяти, анализаторы 2 компиляторы, интерпретаторы, трассировщики 3 символические отладчики, пакеты программ 4 систем анализа и управления исходными текстами 5 1 ая генерация CASE 1(подробнее см. ниже) 6 2 ая генерация CASE II (подробнее см. ниже) 12
Предпосылки появления CASE-технологий При использовании методологий структурного анализа появился ряд ограничений (сложность понимания, большая трудоемкость и стоимость использования, неудобство внесения изменений в проектные спецификации и т. д. ) С самого начала CASE технологии и развивались с целью преодоления этих ограничений путем автоматизации процессов анализа и интеграции поддерживающих средств. 13
Основные черты CASE-технологии: n n n Назначение: автоматизация проектирования сложных информационных систем. Изначально CASE средства были ориентированы на разработку ПО. Сейчас чаще всего под такими средствами подразумевают любые средства проектирования ИС и/или моделирования предметной области. CASE средства охватывают все стадии ЖЦ ИС (анализ, проектирование, разработка, сопровождение). Не создают новых методологий, а повышают эффективность использования существующих методологий – за счет автоматизации. 14
Содержание CASE-технологии Методология Метод Модель Нотация Средства – Методология – определяет шаги реализации проекта, а также правила используемых при его разработки методов. – Метод – процедура или техника генерации описания компонентов ИС (н р, метод проектирования потоков данных). – Модель – совокупность символов (вербальных, математических, графических и т. п. ), которая адекватно описывает некоторые свойства моделируемого объекта и отношения между ними. – Нотация – система условных обозначений, принятая в конкретной модели. Обычно для описания моделей используются графические символы, а также формальные и естественные языки. – Средства (ин струментарий) специальные программы, которые – поддерживают одну или несколько методологий анализа и проектирования ИС. 15
Достоинства CASE по сравнению с традиционным(ручным) подходом n n n улучшают качество создаваемого ПО за счет средств автоматического контроля, прежде всего, контроля проекта; позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат; ускоряют процесс проектирования и разработки; позволяют разработчику больше времени уделять творческой работе по созданию ПО, освобождая его от рутинной работы; поддерживают развитие и сопровождение разработки (заметим, что этот аспект не затрагивался ни одной из рассмотренных нами технологий проектирования); поддерживают технологии повторного использования компонент разработки). 16
Оценки трудозатрат по фазам ЖЦ Способ разработки Традиционная разработка Использование структурных методологий проектирования Использование CASE технологий Анализ Проектирование Кодирование Тестирование 20% 15% 20% 45% 30% 15% 25% 40% 5% 15% 40% Вывод для CASE технологий: 1) Наибольшие трудозатраты на начальные этапы(анализ и проектирование) 2) Наиболее автоматизируемыми фазами являются фазы контроля проекта и кодогенерации (хотя все остальные фазы также поддерживаются CASE средствами). См. 7 лит ру: http: //www. studfiles. ru/preview/1500389/page: 11/ 17
CASE-средства Задачи CASE-средств: Отделить проектирование ПО от его кодирования и последующих этапов разработки (тестирование, документирование и пр. ) Автоматизировать весь процесс создания программных систем Решать исследовательские и проектные задачи 18
Г. Н. Калянов (см. 7 литературу) выделяет 2 периода в эволюции CASE: CASE II Автоматизация деятельности системного аналитика и проектировщика, Включала: средства поддержки графических моделей, проектирования спецификаций, экранных редакторов и словарей данных. Не предназначена для поддержки полного ЖЦ. Сосредоточена на функциональных спецификациях и начальных шагах проекта – сист. анализе, определении требований, сист. проектировании, логическом проектировании БД. Более развитые возможности, улучшенные характеристики Охватывают все стадии ЖЦ ИС. Поддержка автомат. кодогенерации, Поддержка создания графических системных требований и спецификаций проектирования; Контроль, анализ и связывание системной информации, информации по управлению проектированием; Тестирование, верификация и анализ сгенерированных программ; Генерации документов по проекту; Контроль на соответствие стандартам по всем этапам ЖЦ. Может включать свыше 100 функциональных компонент. 19
Для современных CASE-средств характерно: n n n Автоматизация всех этапов ЖЦ ПО и прежде всего начальных. Отделение проектирование ПО от кодирования и последующих операций разработки. Мощные графические средства для описания и документирования информационных систем, обеспечивающие удобный интерфейс с разработчиком и развивающие его творческие возможности; Интеграция отдельных компонент CASE средств, обеспечивающая управляемость процессом разработки информационных систем; Использование специальным образом организованного хранилища проектных метаданных (репозитория). Обычно к CASE средствам относят любое ПС, автоматизирующее ту или иную совокупность процессов ЖЦ ПО и обладающее следующими основными характерными особенностями: n мощные графические средства для описания и документирования ИС, n интеграция отдельных компонент CASE средств, обеспечивающая управляемость процессом разработки ИС; n использование специальным образом организованного хранилища проектных метаданных (репозитория). 20
Классификация CASE-средства (наиболее распространенные) По области действия в пределах ЖЦ ИС По функциональному назначению По режиму коллективной разработки проекта По поддерживаемым методологиям проектирования По степени интеграции По реализованной архитектуре (локальные и корпоративные) 21
Классификация по области действия в пределах ЖЦ: q q Upper CASE(верхние) – средства, используемые на стадии анализа предметной области; Middle CASE(средние) – средства, используемые на стадии анализа и проектирования структуры ИС; Примечание. В н. вр. в зарубежной литературе имеет место тенденция объединять средства Upper и Middle CASE в одну группу (Upper CASE). q q Lower CASE(нижние) – средства, используемые на стадиях разработки и внедрения (тестирования). I CASE – интегрированная система CASE средств, которая может использоваться как на ранних, так и на поздних стадиях ЖЦ ИС (т. е. объединяет возможности Upper и Lower CASE). 22
По поддерживаемым методологиям проектирования: q q q Функционально ориентированные; Объектно ориентированные; Комплексные (поддерживают различные методологии). По режиму коллективной разработки проекта: q q q Не поддерживающие. Поддерживающие в режиме реального времени; Объединение подпроектов. 23
По степени интеграции: n n n CASE Tools (вспомогательные программы) включает отдельные локальные средства, решающие небольшие автономные задачи; которые могут быть использованы на той или иной стадии проектирования ИС. CASE Toolkit (инструментарий) набор частично интегрированных средств, охватывающих большинство этапов жизненного цикла информационных систем; CASE Workbench (интегрированные средства) полностью интегрированные средства, обеспечивающие поддержку всего жизненного цикла разработки ПС –CASE окружения. Связаны между собой общим репозиторием. 24
По функциональному назначению основные q q q Вспомо гательные q q Средства анализа и проектирования ИС (автоматизация наиболее популярных методологий проектирования); Средства проектирования баз данных (моделирование данных и генерация схем БД); Средства разработки приложений (в том числе, средства генерации и рефакторинга программного кода, средства быстрой разработки приложений); Средства обратного инжиниринга (построение моделей действующей ИС для ее переноса в другую среду); Средства документирования проекта; Средства управления тестированием ПО; Средства планирования и управления проектом. 25
Средства анализа и проектирования ИС предназначены для построения и анализа как моделей деятельности организации (т. е. предметной области), так и моделей проектируемой системы. Примеры: BPwin (PLATINUM technology), Silverrun (Silverrun Technologies), Oracle Designer (Oracle), Rational Rose (Rational Software), Paradigm Plus (PLATINUM technology). Power Designer (Sybase), System Architect (Popkin Software). Их цель: определение системных требований и свойств, которыми система должна обладать, создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. Выходом таких средств являются спецификации компонентов системы и их интерфейсов, алгоритмов и структур данных. 26
Средства проектирования БД Цель: обеспечение моделирования данных и генерации схем баз данных (как правило, на SQL) для наиболее распространенных СУБД. Средства данной группы обеспечивают: n логическое моделирование данных n автоматическое преобразование моделей данных в 3 НФ n автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода Средства проектирования баз данных имеются в составе таких CASE средств, как: Silverrun, Oracle Designer, Paradigm Plus, Power Designer. Наи более известным средством, ориент проектирование БД, является ERwin (PLATINUM technology); 27
Cредства разработки приложений К ним относятся средства: n 4 GL (Uniface (Compuware), n JAM (JYACC), n Power. Builder (Sybase), n Developer/2000 (ORACLE), n New Era (Informix), n SQL Windows (Gupta), n Delphi (Borland) и др. n и генераторы кодов, входящие в состав Vantage Team Builder, PRO IV и частично в Silverrun; Статья из Компьютер ПРЕСС: Средства разработки приложений http: //www. interface. ru/home. asp? art. Id=454 28
Средства обратного(реверсного) инжиниринга Цель: предназначены для переноса существующей системы ПО в новую среду. Они обеспечивают анализ программных кодов и схем баз данных и формирование на их основе различных моделей и проектных спецификаций. Средства анализа схем БД и формирования ERD входят в состав таких CASE средств, как Silverrun, Oracle Designer, Power Designer, ERwin. Анализаторы программных кодов имеются в составе Rational Rose и Paradigm Plus. 29
Вспомогательные средства Примеры: Средства документирования проекта So. DA — Software Document Automation — автоматизированное документирование ПО (Rational Software); Cредства тестирования. Наиболее развитым на сегодняшний день средством является Rational Suite Test. Studio (Rational Software) набор продуктов, предназначенных для автоматиче приложений; Cредства управления проектом Open Plan Professional (Wslcom Software), Microsoft Project 98 и др. ; 30
Архитектура CASE-средств включает в себя следующие компоненты: Сервис набор системных утилит по обслуживанию репозитория. Данные утилиты выполняют функции архивации данных, восстановления данных и создания нового репозитория. 31
Архитектура CASE-средств включает в себя следующие компоненты: Репозиторий (словарь данных) – специализированная база данных, являющаяся ядром системы. Обеспечивает хранение версий проекта и его отдельных компонентов и объектов, синхронизацию поступающей от проектировщиков информации, контроль метаданных на полноту и непротиворечивость. Репозиторий хранит описания следующих объектов: • Проектировщиков и их прав доступа к различным компонентам системы; • Организационных структур; • Диаграмм, компонентов диаграмм и связей между диаграммами; • Структур данных; • Программных модулей, процедур, библиотек и т. п. 32
Архитектура CASE-средств включает в себя следующие компоненты: Графические средства анализа и проектирования (редакторы диаграмм). Используются для создания иерархически связанных диаграмм – моделей ИС – в заданной графической нотации. Поддерживают стадию анализа в жизненном цикле разработки ПО. Используются различные типы диаграмм. Например(наиболее важные): «потоков данных» (DFD) показывают течение данных среди процессов в разрабатываемой системе, т. е. для информационной системы: где данные определяются, куда передаются и т. д. «сущность связь» (ER) описывают структуру предметной области; «состояние переход» (STD), используемые для создания систем реального времени и др. Диаграммеры CASE средств обеспечивают автоматическую поддержку создания этих диаграмм, структурных схем и других графиков. 33
Архитектура CASE-средств включает в себя следующие компоненты: Верификатор диаграмм контроль правильности построения диаграмм в заданной методологии проектирования ИС (автоматический синтаксический контроль за созданными диаграммами) Он выполняет функции: • мониторинг правильности построения диаграмм; • диагностику и выдачу сообщений об ошибках; • проверку на непротиворечивость; • проверку уровня сбалансированности диаграмм • выделение на диаграмме ошибочных элементов. Например: диаграммы «потоков данных» , требуют, чтобы процессы имели как входы, так и выходы. Верификаторы часто называют анализаторами разработки. * Примеры контролируемых ситуаций? 34
Архитектура CASE-средств включает в себя следующие компоненты: Средства администрирования проектом. Представляют собой набор инструментов и служебных программ, необходимых для выполнения таких административных функций, как: – Инициализация проекта; – Задание начальных параметров проекта; – Назначение и управление правами доступа к отдельным элементам проекта; – Мониторинг выполнения проекта. Документатор проекта позволяет получать информацию о состоянии проекта в виде различных отчетов. Отчеты могут строится по нескольким признакам, например по времени, автору, элементам диаграмм, диаграмме или проекту в целом. 35
Технология внедрения CASE-средств Этапы внедрения CASE средств : n определение потребностей в CASE средствах; n оценка и выбор CASE средств; n выполнение пилотного проекта; n практическое внедрение CASE средств. Процесс внедрения CASE-средств кроме непосредственно использования охватывает планирование и реализацию множества технических, организационных, структурных процессов, изменений в общей культуре организации, и основан на четком понимании возможностей CASE-средств. http: //5 fan. ru/wievjob. php? id=31733 36
Выбор CASE-средства Стратегия выбора CASE систем для конкретных применений зависит от целей и потребностей самого проекта, квалификации вовлеченных в процесс проектирования специалистов. В большинстве случаев одно средство не может обеспечить все потребности проекта. Разработчики, как правило, применяют набор средств. Можно выделить следующие типы проектов с применением CASE инструментария: Проекты создания ПО Проекты оптимизации бизнеса (СМК, реинжиниринг …); Проекты создания ИС Процессы управления организацией (СМК). http: //5 fan. ru/wievjob. php? id=31733 37
Критерии выбора CASE-средств При выборе инструментария нет готовых универсальных решений. Состав и структура продукта проекта должна соответствовать ЦЕЛЯМ проекта. Т. е. НЕ СУЩЕСТВУЕТ ЕДИНЫХ КРИТЕРИЕВ ВЫБОРА CASE СРЕДСТВА. Критерии определяются исходя из специфики использования системы. 38
Критерии выбора CASE-средств (приведены лишь некоторые) • Поддержка процессов жизненного цикла (ЖЦ) ПО. • Размер поддерживаемых приложений • Требуемые техсредства. Оборудование, необходимое для функционирования CASE средства (хост процессоры, оперативную память и дисковую память); • Требуемое ПО. ПО, необходимое для функционирования CASE средства(ОС, графические оболочки) • Поддерживаемая методология. • Соответствие стандартам технологической среды. • Совместимость с другими средствами. • Поддерживаемые языки. • Поддержка одновременной работы • Простота освоения и использования средства • Контроль доступа • Сопровождаемость • Стоимость/затраты на внедрение и многие др. Практические рекомендации по освоению и внедрению CASE средств (http: //www. osp. ru/dbms/1997/01/13031527/) 39
Для успешного внедрения CASE-средств организация должна обладать следующими качествами: n n n Технология. Понимание ограниченности существующих возможностей и способность принять новую технологию; Культура. Готовность к внедрению новых процессов и взаимоотношений между разработчиками и пользователями; Управление. Четкое руководство и организованность по отношению к наиболее важным этапам и процессам внедрения. Если организация не обладает хотя бы одним из перечисленных качеств, то внедрение CASE-средств может закончиться неудачей независимо от степени тщательности следования различным рекомендациям по внедрению. Практические рекомендации по освоению и внедрению CASE средств (http: //www. osp. ru/dbms/1997/01/13031527/) 40
Основные проблемы внедрения/ использования CASE-средств • достоверная оценка отдачи от инвестиций в CASE средства сложна т. к. нет приемлемых метрик и данных по проектам и процессам разработки ПО; • внедрение CASE средств может быть длительным процессом и часто не несет немедленную отдачу. Возможно даже краткосрочное снижение продуктивности в ре зультате усилий, затра возможна потеря интереса руководства к CASE и прекращение поддержки их внедрения; • отсутствие полного соответствия между теми процессами и которые поддерживаются CASE-средствами, и тем данной организации, может привести к до пол • CASE средства зачастую трудно использовать в комплексе с другими подобными средствами, что объясняется как различными парадигмами, поддерживаемыми различными средствами, так и проблемами сопряжения; • некоторые CASE средства требуют слишком много усилий для того, чтобы оправдать их использование в небольшом проекте; • негативное отношение персонала к внедрению новой CASE технологии может быть главной причиной провала проекта. Пользователи CASE-средств должны быть готовы затрат на эксплуатацию, частому появлению н быстрому моральному старению средств, а также к постоянным затратам на 41
Некоторые примеры CASEинструментов: n n n Power. Designer (Sybase/Powersoft) ERwin (Logic. Works) Silverrun (CSA) CASE. Аналитик (Эйтекс) Designer/2000 (Oracle) Rational Rose (RSC) 42
Power. Designer n n n Графический инструмент, позволяющий в определенной степени автоматизировать процесс проектирования реляционных БД При разработке структуры БД с помощью PD формируется концептуальная модель данных (КМД), которая впоследствии преобразуется в физическую модель данных (ФМД) Позволяет создавать базы данных путем подключения к работающему серверу СУБД через интерфейс ODBC или готовить текстовые файлы (пакеты) SQL операторов по созданию структуры БД 43
ERwin n Система концептуального моделирования баз данных Система ERwin реализует проектирование схемы БД, генерацию ее описания на языке целевой СУБД (Oracle, Sybase, MS SQL Server и др. ) и реинжиниринг баз данных Для ряда систем быстрой разработки приложений (Power. Builder, SQL Windows, Delphi, Visual Basic) обеспечивается генерация форм и прототипов приложений 44
Silverrun n Открытая система, используемая совместно с продуктами других различных фирм Инструментальная поддержка структурных методологий информационных систем бизнес класса Позволяет независимо строить модели двух видов: функциональные и информационные. 45
CASE. Аналитик n n Конкурентоспособное отечественное CASE средство функционального моделирования Построение и редактирование DFD Анализ диаграмм и проектных спецификаций на полноту и непротиворечивость Получение разнообразных отчетов по проекту 46
Designer/2000 n Поддерживает следующие этапы разработки прикладных систем: моделирование и анализ деятельности организации, разработку концептуальных моделей предметной области, проектирование приложения и синтез программ 47
Rational Rose n n Автоматизация анализа и проектирования ПО, генерации кодов на различных языках и подготовки проектной документации Средства реинжиниринга программ, обеспечивающие повторное использование программных компонентов в новых проектах 48
Примерные вопросы по теме CASE средства для ООП Назначение, Классификации Общий обзор возможностей Краткое описание/сравнение/назначение/особенности/достоинства/ недостатки/поддерживаемые возможности нескольких продуктов 49


