- •8 Средства автоматизации проектирования
- •8.1. Основные определения
- •Перспективная case-система
- •8.2. Модели жизненного цикла
- •8.3. Модели структурного проектирования
- •Диаграммы потоков данных
- •Методология функционального моделирования
- •8.4. Объектно-ориентированные модели
- •Общая характеристика унифицированного языка моделирования
- •Типы диаграмм унифицированного языка моделирования
- •Примеры диаграмм uml
- •8.5. Классификация case-средств
- •8.6. Системы структурного типа Независимые системы
- •Номер отдела
- •Идентификатор
- •Номер материала Название материала
- •Система Designer/2000
- •8.7 Объектно-ориентированные системы
- •Объектно-ориентированная система Rational Rose
- •8.8. Рекомендации по применению case-систем
- •Библиографический список
8 Средства автоматизации проектирования
8.1. Основные определения
В 1970-1980 годы прошлого века для автоматизации проектирования и разработки информационных систем широко применялась структурная методология, то есть использовались формализованные методы описания разрабатываемой системы и принимаемых решений и графические средства описания различных моделей информационных систем с помощью схем и диаграмм. При ручной обработке информационных систем такие графические модели разрабатывались и использовались весьма трудоемко.
Впоследствии появились программно-технические средства (CASE-средства), реализующие CASE-технологию создания и сопровождения информационных систем. Термин CASE (Computer Aided Software Engineering) переводится как разработка программного обеспечения с помощью компьютера. CASE-технология обеспечивает автоматизацию разработки информационных систем. Современные CASE-средства используют структурную и объектно-ориентированную методологии проектирования.
CASE-средства – программные средства, поддерживающие процессы создания и/или сопровождения информационных систем такие как: анализ и формулировка требований, проектирование баз данных и приложений, генерация кода, тестирование, обеспечение качества, управление конфигурацией и проектом.
CASE-система – набор CASE-средств, имеющих определенное функциональное предназначение и выполненных в рамках единого программного продукта.
CASE-технология – методология проектирования информационных систем плюс инструментальные средства, позволяющие наглядно моделировать предметную область, анализировать ее модель на всех этапах разработки и сопровождения информационной системы и разрабатывать приложения для пользователей.
Цель CASE-систем и средств состоит в том, чтобы отделить проектирование программного обеспечения от его кодирования и последующих этапов разработки (тестирование, документирование и пр.), а также автоматизировать весь процесс создания программных систем (выполнить инжиниринг).
Разработка программ обычно начинается с некоторого предварительно созданного варианта системы. Это либо специально созданный прототип, либо устаревшая и не удовлетворяющая новым требованиям система. Для восстановления знаний о программной среде прототипа с целью последующего его использования применяют повторную разработку – реинжиниринг. Повторная разработка сводится к построению исходной модели программной системы путем исследования ее программных кодов. Исходная модель усовершенствуется, а затем можно вновь перейти к разработке информационной системы. Повторная разработка существенно ускоряет разработку приложений и повышает их качество.
Перспективная case-система
CASE-системы развиваются от структурных позиций к объектно-ориентированным системам (ООС). Полнофункциональная объектно-ориентированная система должна решать задачи анализа и моделирования, проектирования, разработки (реализации), а также иметь эффективную инфраструктуру, обеспечивающую сервисом первые три основные задачи.
Для решения задач анализа и моделирования интегрированная среда разработчика должна обеспечивать возможности:
динамического моделирования событий в системе;
динамической и согласованной коррекции всей совокупности диаграмм;
добавления пояснительных надписей к диаграммам моделей и в документацию;
автоматической генерации документации;
создания различных представлений и скрытия неиспользуемых слоев системы;
поддержки различных нотаций (это требование ослабевает в связи с переходом к единому языку моделирования);
Осуществление процесса проектирования предполагает наличие возможностей:
определения основной модели прикладной задачи (бизнес-модели, обычно объектно-ориентированной) и правил ее поведения (бизнес-правил);
поддержки процесса проектирования с помощью библиотек, оснащенных средствами хранения, поиска и выбора элементов проектирования (объектов и правил);
создания пользовательского интерфейса и поддержания распространенных программных интерфейсов (поддержка стандартов OLE, OpenDoc, доступ к библиотекам HTML/Java);
создания различных распределенных клиент-серверных приложений.
Средства разработки должны обеспечивать построение приложения по результатам предыдущих этапов разработки приложения, включая генерацию готовой к выполнению программы.
CASE-системы должны позволять создавать скелетные заготовки под классы, атрибуты и методы, готовые приложения на объектно-ориентированных языках программирования типа С++ или Smalltalk, либо программы на языках клиент-серверных продуктов (PowerBuilder, Forte, VigualAge, VisualWorks и т.д.). К поддерживаемым языкам, по-видимому, скоро добавится язык Java.
Для обеспечения связи с другими этапами жизненного цикла приложения CASE-средства должны включать функции контроля программного кода на синтаксическую корректность и соответствие моделям.