Инструментальные средства автоматизации процессов проектирования и разработки программного обеспечения

Автор: Пользователь скрыл имя, 19 Марта 2012 в 00:56, реферат

Описание работы

Широкое использование вычислительной техники в различных сферах деятельности человека привело к потребности создания соответствующего программного обеспечения. Однако трудоемкость и наукоемкость разработки программ настолько огромны, что ведутся работы по созданию новых технологий автоматизации проектирования программных средств. Это направление получило название CASE-технология (Computer – Aided Software Engineering, т.е. разработка программного обеспечения с помощью компьютера).

Содержание

ВВЕДНИЕ 3
Определений целей, функций, входов и выходов системы 6
Сущность структурного анализа и проектирования 9
Структура CASE-средств 15
Результаты использования CASE-средств 18
Критерии оценки и выбора CASE-средств 22
Переход к практическому использованию CASE-средств 24
ЗАКЛЮЧЕНИЕ 27
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 28

Работа содержит 1 файл

Реферат.docx

— 157.04 Кб (Скачать)

Схематично  применение структурного подхода изображено на рис.2

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

Показанная  на рис.2 схема не означает, что построение моделей должно строго соответствовать указанному порядку – одна за другой. Как правило, разработка каждой последующей модели начинается еще до полного завершения разработки предыдущей, а иногда – параллельно.

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

 

Рисунок 2. Схема применения структурного подхода

Традиционно выделяют шесть периодов, качественно отличающихся применяемой техникой и методами разработки программного обеспечения, которые характеризуются использованием в качестве инструментальных средств:

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

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

CASE-II отличается  значительно более развитыми  возможностями, улучшенными характеристиками  и исчерпывающим подходом к  полному жизненному циклу. В  ней, в первую очередь, используются  средства поддержки автоматической  кодогенерации, а также, обеспечивается  полная функциональная поддержка  для выполнения графических системных  требований и спецификаций проектирования; контроля, анализа и связывания  системной информации и информации  по управлению проектированием;  построение прототипов и моделей  системы; тестирования, верификации  и анализа сгенерированных программ; генерации документов по проекту;  контроля на соответствие стандартам  по всем этапам жизненного  цикла. CASE-II может включать свыше  100 функциональных компонент, поддерживающих  все этапы жизненного цикла,  при этом пользователям предоставляется  возможность выбора необходимых  средств и их интеграции в нужном составе.

Таким образом, CASE-средства являются результатом естественного  эволюционного развития отрасли  инструментальных (или технологических) средств.

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

Таблица 2. Сравнение традиционной разработки программного обеспечения и разработки с использованием CASE-технологий

№ п/п

Традиционная разработка

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

1

Основные усилия - нак одирование и тестирование

Основные усилия - на анализ и проектирование

2

"Бумажные" спецификации

Быстрое интерактивное протопирование

3

Ручное кодирование

Автоматическая кодогенерация

4

Ручное документирование

Автоматическая генерация документации

5

Тестирвание кодов

Автоматический контроль проекта

6

Сопровождение кодов

Сопровождение спецификаций проектирования


 

CASE-технология  базируется на методологии системного  анализа. Под системным анализом  понимают научную дисциплину, разрабатывающую  общие принципы исследования  сложных объектов и процессов  с учетом их системного характера.  Его основная цель – сосредоточить  внимание на начальных этапах  разработки. В рамках CASE-технологии  системный анализ предназначен  для отделения проектирования  от программирования. В разработке  в соответствии с CASE-технологией  выделяются построение архитектуры  и ее последующая реализация, поэтому системный анализ называют  структурным системным анализом  или просто структурным анализом.

Важнейшими (базовыми) принципами являются деление (декомпозиция) и последующее иерархическое упорядочение. Они дополняются следующими принципами:

  • принцип абстрагирования от несущественных деталей (с их «упрятыванием») с контролем на присутствие лишних элементов;
  • принцип формализации;
  • принцип концептуальной общности (структурный анализ – структурное программирование – структурное тестирование).
  • принцип непротиворечивости – обоснование и согласованность элементов.
  • принцип логической и физической независимости данных.
  • принцип непосредственного доступа (без программирования) конечного пользователя.

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

Рисунок 3. Модель жизненного цикла программного обеспечения и соответствующая ей CASE-модель

Структура CASE-средств

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

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

В связи с  наличием двух подходов к проектированию программного обеспечения существуют CASE-технологии ориентированные на структурный  подход, объектно-ориентированный подход, а также комбинированные. Однако сейчас наблюдается тенденция переориентации инструментальных средств, созданных  для структурных методов разработки, на объектно-ориентированные методы, что объясняется следующими причинами:

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

Объектно-ориентированное CASE-средство в идеале должно содержать  четыре основных блока: анализ, проектирование, разработка и инфраструктура.

Основные  требования к блоку анализа:

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

Основные  требования к блоку проектирования:

  • поддержка всего процесса проектирования приложения;
  • возможность работы с библиотеками, средствами поиска и выбора;
  • возможность разработки пользовательского интерфейса;
  • поддержка стандартов OLE, ActiveX и доступ к библиотекам HTML или Java;
  • поддержка разработки распределенных или двух- и трехзвенных клиентсерверных систем (работа с CORBA, DCOM, Internet).

Основные  требования к блоку реализации:

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

Основные  требования к блоку инфраструктуры: 

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

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

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

Результаты  использования CASE-средств

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

  • широкое разнообразие качества и возможностей CASE-средств;
  • относительно небольшое время использования CASE-средств в различных организациях и недостаток опыта их применения;
  • широкое разнообразие в практике внедрения различных организаций;
  • отсутствие детальных метрик и данных для уже выполненных и текущих проектов;
  • широкий диапазон предметных областей проектов;
  • различная степень интеграции CASE-средств в различных проектах.

К достоинствам CASE-технологий можно отнести:

  • единый графический язык;
  • единую базу данных проекта;
  • интеграцию  средств;
  • поддержку коллективной разработки и управления проектом;
  • макетирование;
  • генерацию документации;
  • верификацию проекта;
  • автоматическую генерацию объектного кода;
  • сопровождение и реинжиниринг.

Информация о работе Инструментальные средства автоматизации процессов проектирования и разработки программного обеспечения