Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Классификация CASE-средств




 

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

 

1. Классификация по выполняемым функциям.

2. Классификация по типам процессов разработки, которые они поддерживают.

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

 

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

Таблица 3.1. Классификация CASE-средств по выполняемым функциям

 

Тип CASE-средства Примеры
Средства планирования     Средства редактирования   Средства управления изменениями     Средства управления конфигурацией**   Средства прототипирования     Средства, ориентированные на поддержку определенных методов   Средства, ориентированные на определенные языки программирования   Средства анализа программ     Средства тестирования   Средства отладки   Средства документирования     Средства модернизации ПО Средства системы PERT*, средства оценивания, электронные таблицы   Текстовые редакторы, редакторы диаграмм, тестовые процессоры   Средства оперативного контроля за требованиями, системы управления изменениями   Системы управления версиями ПО, средства построения систем   Языки программирования самого высокого уровня, генераторы пользовательских интерфейсов   Редакторы системных структур, словари данных, генераторы программного кода   Компиляторы, интерпретаторы     Генераторы перекрестных ссылок, статические и динамические анализаторы программ   Генераторы тестовых данных, компараторы*** файлов   Интерактивные средства отладки   Программы разметки страниц, редакторы изображений, генераторы отчетов   Системы создания перекрестных ссылок, системы модернизации программ

* PERT (Program Evaluation and Review Technique) - известная система планирования и руководства разработками программных систем. - Прим. ред.

** Конфигурацией ПО называется совокупность его функциональных характеристик и физических показателей, зафиксированная в системной спецификации. - Прим. ред.

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

 

В табл. 3.2 представлена другая классификация CASE-средств. Классификация по типам показывает, какие процессы создания ПО поддерживаются теми или иными CASE-средствами. Средства планирования и оценивания, редактирования текстов, подготовки документации и управления конфигурацией можно использовать на всех этапах разработки ПО.

Таблица 3.2. Классификация CASE-средств по типам поддерживаемых ими процессов разработки

 

Средства модернизации ПО      
Средства тестирования    
Средства отладки    
Средства анализа программ    
Средства, ориентированные на определенные языки программирования    
Средства, ориентированные на поддержку определенных методов    
Средства протопипирования    
Средства управления конфигурацией    
Средства управления изменениями
Средства документирования
Средства редактирования
Средства планирования
  Специфицирование Проектирование Реализация Аттестация

 

Другая классификация CASE-средств строится на основе широты охвата процессов разработки ПО, поддерживаемых данным средством. В статье [120] предложена классификация, содержащая следующие три категории*.

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

 

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

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

3. Рабочие среды разработчика (environments) поддерживают все или большинство процессов разработки ПО. Рабочие среды обычно включают несколько различных интегрированных инструментальных средств.

 

Рис. 3.14. Классификация CASE-средств по категориям

 

На рис. 3.14 схематично представлена классификация по категориям с примерами CASE-средств разных категорий. Разумеется, на одной схеме невозможно показать все типы вспомогательных программ и инструментальных средств, многие из них здесь не представлены.

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

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

 

КЛЮЧЕВЫЕ ПОНЯТИЯ

 

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

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

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

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

• Определение требований – это процесс разработки системной спецификации.

• Проектирование и реализация – это процессы преобразования системной спецификации в систему исполняемых программ.

• Аттестация программного обеспечения – процесс проверки соответствия разработанной системы ее спецификации и потребностям пользователей.

• Эволюция программного обеспечения – это модернизация существующих программных систем в соответствии с новыми требованиями. В настоящее время этот процесс становится одним из этапов разработки небольших и среднего размера программных систем.

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

 

Упражнения

 

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

3.2. Система управления торможением автомобиля.

3.3. Система поддержки процесса сопровождения программного обеспечения.

3.4. Университетская система учета и отчетности, которая должна заменить существующую систему.

3.5. Интерактивная система просмотра железнодорожных расписаний для пассажиров.

3.6. Поясните, почему программы, создаваемые в соответствии с эволюционной моделью разработки, трудны для сопровождения.

3.7. Объясните, как каскадную модель и эволюционную модель с прототипированием можно объединить со спиральной моделью разработки ПО.

3.8. Объясните, почему в процессе определения требований необходимо различать разработку пользовательских требований и разработку системных требований.

3.9. Опишите основные этапы процесса проектирования ПО, укажите выходной результат каждого этапа. С помощью диаграммы "сущность-связь" покажите возможные взаимосвязи между выходными результатами разных этапов процесса проектирования.

3.10. Назовите пять основных компонентов любых методов проектирования. Какие методы проектирования вы знаете? Опишите их компоненты. Оцените полноту этих методов.

3.11. Разработайте модель процесса тестирования исполняемой программы.

3.12. Покажите, как классификация CASE-технологий может помочь менеджеру в процессе приобретения CASE-систем.

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

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

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...