Поддержка процесса проектирования и разработки 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Поддержка процесса проектирования и разработки



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

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

Важную роль при автоматизации ранних этапов ЖЦ играют возможности поддержки прототипирования. Соответствующие средства используются для определения системных требований и ответа на вопросы об ожидаемом поведении системы. Такие средства как генераторы меню, экранов и отчетов позволяют быстро построить прототипы пользовательских интерфейсов и снабдить моделью функционирования системы с позиций конечного пользователя. Использование языков четвертого поколения (4GL) позволяет строить более сложные модели, при этом прототип позволяет промоделировать основные функции системы, но не способен контролировать ее ожидаемое поведение. Исполняемые языки спецификаций преобразуют процесс разработки в следующий итеративный процесс: спецификации определяются и выполняются, затем производится переопределение или корректировка. Созданные таким образом прототипы позволяют определять, является ли проектируемая система полной и корректной.

Поддержка структурных методологий осуществляется за счет средств их автоматизации на следующих двух уровнях:

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

Кодогенерация осуществляется на основе репозитария и позволяет автоматически построить до 80-90% объектных кодов или текстов программ на языках высокого уровня. При этом различными CASE-пакетами поддерживаются практически все известные языки программирования, однако наиболее часто в качестве целевых языков выступают COBOL, C и ADA. Средства кодогенерации по отношению к полноте целевого продукта разделяются на средства генерации каркаса ПО и средства генерации полного продукта. В первом случае автоматически строится откомментированная логика (потоки управления) ПО, а также коды для БД, файлов, экранов, отчетов и т.п., остальные фрагменты ПО кодируются вручную. Во втором случае из проектных спецификаций генерируется полная документированная программа, включая выполняемый код, пользовательскую и программную документацию, наборы тестов и т.д. Все эти компоненты полной программы связываются в единый объект, хранящийся в репозитарии для облегчения доступа и сопровождения.

Идея автоматической кодогенерации на основе модели заключается в следующем. Любая программа схематически может быть представлена в виде тройки: обрабатываемые данные, логический каркас обработки, линейные участки обработки. Схема базы данных может быть легко сгенерована на основании модели “сущность-связь”, и современные средства информационного моделирования (например, ERWin, Designer/2000 и др.) обеспечивают такую генерацию. Логика обработки генерируется на основе диаграмм потоков данных: известны алгоритмы автоматического преобразования иерархии DFD в структурные карты, а с задачей получения из структурных карт соответствующих кодов легко справляется теория компиляции. Наконец, линейным участкам соответствуют миниспецификации модели. И именно здесь лежит ключ к высокому проценту автоматически сгенерированного кода, существенно зависящему от метода задания миниспецификаций.

ГЛАВА 15
КЛАССИФИКАЦИЯ CASE - СРЕДСТВ

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

1) АНАЛИЗ И ПРОЕКТИРОВАНИЕ. Средства данной группы используются для создания спецификаций системы и ее проектирования; они поддерживают широко известные методологии проектирования (см. часть 2). К таким средствам относятся: CASE.Аналитик (Эйтэкс), The Developer (ASYST Technologies), POSE (Computer Systems Advisers), ProKit*Workbench (McDonnell Douglas), Excelerator (Index Technology), Design-Aid (Nastec), Design Machine (Optima), MicroStep (Meta Systems), vsDesigner (Visual Software), Analist/Designer (Yourdon), Design/IDEF (Meta Software), BPWin (Logic Works), SELECT (Select Software Tools), System Architect (Popkin Software & Systems), Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies), CASE/4/0 (microTOOL GmbH). Их целью является определение системных требований и свойств, которыми система должна обладать, а также создание проекта системы, удовлетворяющей этим требованиям и обладающей соответствующими свойствами. На выходе продуцируются спецификации компонент системы и интерфейсов, связывающих эти компоненты, а также “калька” архитектуры системы и детальная “калька” проекта, включающая алгоритмы и определения структур данных.

2) ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ И ФАЙЛОВ. Средства данной группы обеспечивают логическое моделирование данных, автоматическое преобразование моделей данных в Третью Нормальную Форму, автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода: ERWin (Logic Works), Chen Toolkit (Chen & Asssociates), S-Designor (SDP), Designer2000 (Oracle), Silverrun (Computer Systems Advisers).

3) ПРОГРАММИРОВАНИЕ. Средства этой группы поддерживают этапы программирования и тестирования, а также автоматическую кодогенерацию из спецификаций, получая полностью документированную выполняемую программу: COBOL 2/Workbench (Mikro Focus), DECASE (DEC), NETRON/CAP (Netron), APS (Sage Software). Помимо диаграммеров различного назначения и средств поддержки работы с репозитарием, в эту группу средств включены и традиционные генераторы кодов, анализаторы кодов (как в статике, так и в динамике), генераторы наборов тестов, анализаторы покрытия тестами, отладчики.

4) СОПРОВОЖДЕНИЕ И РЕИНЖИНИРИНГ. К таким средствам относятся документаторы, анализаторы программ, средства реструктурирования и реинжениринга: Adpac CASE Tools (Adpac), Scan/COBOL u SuperStructure (Computer Data Systems), Inspector/Recoder (Language Technology). Их целью является корректировка, изменение, анализ, преобразование и реинжениринг существующей системы. Средства позволяют осуществлять поддержку всей системной документации, включая коды, спецификации, наборы тестов; контролировать покрытие тестами для оценки полноты тестируемости; управлять функционированием системы и т.п. Особый интерес представляют средства обеспечения мобильности (в CASE они получили название средств миграции) и реинжиниринга. К средствам миграции относятся трансляторы, конверторы, макрогенераторы и др., позволяющие обеспечить перенос существующей системы в новое операционное или аппаратурное окружение. Средства реинжиниринга включают:

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

5) ОКРУЖЕНИЕ. Средства поддержки платформ для интеграции, создания и придания товарного вида CASE-средствам: Multi/Cam (AGS Management Systems), Design/OA (Meta Software).

6) УПРАВЛЕНИЕ ПРОЕКТОМ. Средства, поддерживающие планирование, контроль, руководство, взаимодействие, т.е. функции, необходимые в процессе разработки и сопровождения проектов: Project Workbench (Applied Business Technology).

 

Классификация по категориям определяет уровень интегрированности по выполняемым функциям и включает вспомогательные программы (tools), пакеты разработчика (toolkit) и инструментальные средства (workbench). Категория tools обозначает вспомогательный пакет, решающий небольшую автономную задачу, принадлежащую проблеме более широкого масштаба. Категория toolkit представляет совокупность интегрированных программных средств, обеспечивающих помощь для одного из классов программных задач; использует репозитарий для всей технической и управляющей информации о проекте, концентрируясь при этом на поддержке, как правило, одной фазы или одного этапа разработки ПО. Категория workbench представляет собой интеграцию программных средств, которые поддерживают системный анализ, проектирование и разработку ПО; используют репозитарий, содержащий всю техническую и управляющую информацию о проекте; обеспечивают автоматическую передачу системной информации между разработчиками и этапами разработки; организуют поддержку практически полного ЖЦ (от анализа требований и проектирования ПО до получения документированной выполняемой программы). Workbench, по сравнению с toolkit, обладает более высокой степенью интеграции выполняемых функций, большей самостоятельностью и автономностью использования, а также наличием тесной связи с системными и техническими средствами аппаратно-вычислительной среды, на которой workbench функционирует. По существу, workbench может рассматриваться как автоматизированная рабочая станция, используемая как инструментарий для автоматизации всех или отдельных совокупностей работ по созданию ПО.

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

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

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

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

Кроме того, средние CASE обеспечивают возможности быстрого документирования требований и быстрого прототипирования.

Нижние (Lower) CASE являются средствами разработки ПО (при этом может использоваться до 30% спецификаций, созданных средствами среднего CASE). Они содержат системные словари и графические средства, исключающие необходимость разработки физических спецификаций. Имеются системные спецификации, которые непосредственно переводятся в программные коды разрабатываемой системы (при этом автоматически генерируется до 80-90% кодов). На эти средства возложены также функции тестирования, управления конфигурацией, формирования документации. Главными преимуществами нижних CASE являются: значительное уменьшение времени на разработку, облегчение модификаций, поддержка возможностей прототипирования (совместно со средними CASE).

 

 

ГЛАВА 16
ПРИМЕР РЕАЛИЗАЦИИ – ПАКЕТ CASE.А НАЛИТИК

Пакет CASE.Аналитик является единственной отечественной, доведенной до рынка разработкой, которая без всяких натяжек может быть отнесена к CASE первой генерации. В основе пакета лежит методология структурного системного анализа Гейна-Сарсона, применимая к широкому классу систем обработки информации: информационно-вычислительных, АСУ, АСУТП, систем автоматизации делопроизводства, бухгалтерских систем, баз данных, систем автоматизации эксперимента, организационных систем и т.п. Пакет обеспечивает:

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

Результат работы в среде пакета - информационно-логическая модель анализируемой системы. Эта модель представляется в виде иерархии диаграмм потоков данных и структурограмм данных. Диаграммы верхних уровней иерархии определяют основные функции/подсистемы системы с внешними входами и выходами и используемыми файлами. Далее эти основные функции/подсистемы детализируются при помощи диаграмм нижнего уровня. Такая функциональная декомпозиция продолжается, создавая таким образом многоуровневую иерархию диаграмм, до тех пор, пока не будет достигнут такой уровень декомпозиции, на котором функциональный процесс становится элементарным, невозможным для дальнейшей детализации. Когда дальнейшая детализация логических функций перестает быть полезной, то переходят к выражению внутренней логики процессов при помощи миниспецификаций - алгоритмов преобразования входных потоков в выходные. На рис. 16.1 показаны эти связи.

Рис. 16.1. Информационно-логическая модель системы

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

В состав пакета входят:

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

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

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

3) Средства вывода экранных и печатных форм для контроля и анализа проекта и его презентации. Предусмотрены следующие экранные и печатные формы: контекстная диаграмма, диаграмма потоков данных, диаграмма потоков управления, структурограмма данных, перечни объектов словаря данных, отсортированных и выбранных различными способами, содержание элементов словаря данных, миниспецификация логики процесса, протоколы верификации проекта, отчеты проекта.

4) Документатор. Состав и содержание документов проекта системы регламентируются комплексами стандартов и руководящих документов. CASE.Аналитик поддерживает следующие стандарты и руководящие документы:

  • Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. М.: Госстандарт СССР, 1991г., - ГОСТы 34.ХХХ;
  • Единая система программной документации - ГОСТы 19.ХХХ.

Кроме того, оформление диаграмм при печати может быть выполнено в соответствии с требованиями ЕСКД: автоматически генерируется рамка и надписи.

5) Верификатор. Принципиальные решения по верификации проекта делает пользователь-аналитик. Эти решения аналитик принимает по результатам простых, но очень трудоемких процедур контроля и верификации, которые CASE.Аналитик выполняет автоматически и по запросу. CASE.Аналитик предоставляет следующие средства верификации:



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 44; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.213.209 (0.026 с.)