Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методология и технология проектирования информационных систем. Учебное пособие для магистрантов направления подготовки 09.04.03 «Прикладная информатик

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

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

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

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

CASE-средства служат инструментарием для поддержки

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

70

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

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

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

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

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

2. Широкое использование базовых программных средств, получивших массовое распространение в других приложениях (БД и СУБД, компиляторы с различных языков программирования, отладчики, документаторы, издательские системы, оболочки экспертных систем и базы знаний, языки четвертого поколения и др.).

3. Автоматизированная или автоматическая кодовая генерация, для различных платформ и различного вида кода: преобразования для получения документации; формирования структуры БД, ввода/модификации данных; получения выполняемых машинных кодов из спецификаций ПО; сборки модулей из словарей и моделей данных и повторно используемых программ.

71

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

5.Доступность для разных категорий пользователей.

6.Рентабельность.

7.Эффективное решение задач по сопровождению разработанного проекта, обеспечивающая способность адаптации при изменении требований и целей проекта заказчиком.

В состав практически всех современных CASE-средств входят следующие элементы:

репозиторий, позволяет обеспечить сохранность

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

средства разработки приложений, с использованием языков 4GL и генераторов кодов;

средства тестирования;

средства документирования;

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

средства реинжиниринга;

средства конфигурационного управления;

средства управления проектом.

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

72

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

1.Ассемблеров, дампов памяти, анализаторов;

2.Компиляторов, интерпретаторов, трассировщиков;

3.Символьных отладчиков, пакетов программ;

4.Систем анализа и управления исходными текстами;

5.CASE-средств анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов (первая генерация CASE-I);

6.CASE-средств генерации исходных текстов и реализации интегрированного окружения поддержки полного жизненного цикла разработки ПО (вторая генерация CASE-II)

CASE-I является первой технологией, адресованной непосредственно системным аналитикам и проектировщикам,

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

системном анализе, определении требований, системном

проектировании, логическом проектировании БД.

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

73

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

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

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

Основными стандартами методологий, реализованных в CASE-средствах, являются:

SADT (Structured Analysis and Design Technique)

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

IDEF0 (Integrated Definition Function Modeling)

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

DFD (DataFlow Diagram) методология моделирования потоков данных.

Следующие стандарты методологий применяются для описания обмена данными между рабочими процессами:

IDEF1 применяется для

построения

информационной

модели,

отображающей

структуру

и

содержание

 

 

74

 

 

информационных потоков, необходимых для поддержки функций системы;

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

IDEF3 методология моделирования потоков работ. Является более детальной по отношению к IDEF0 и DFD. Позволяет рассмотреть конкретный процесс с учетом последовательности выполняемых операций. С помощью IDEF3 описываются сценарий и последовательность операций для каждого процесса;

IDEF1X (IDEF1 Extended) методология описания данных. Применяется для построения баз данных. Относится к типу методологий «Сущность-связь» (ER EntityRelationship) и, как правило, используется для моделирования реляционных баз данных, имеющих отношение к рассматриваемой системе;

IDEF4 объектно-ориентированная методология. Отражает взаимодействие объектов. Позволяет наглядно отображать структуру объектов и заложенные принципы их взаимодействия. Удобна для создания программных продуктов на объектно-ориентированных языках;

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

ARIS описывает бизнес-процесс в виде потока последовательно выполняемых работ;

UML (Unified Modeling Language) унифицированный язык моделирования, основанный на объектноориентированном подходе. UML позволяют описать статическую структуру системы и ее динамическое поведение в соответствующих нотациях.

75

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

на объектно-ориентированной декомпозиции. Алгоритмическая декомпозиция позволяет определить порядок происходящих событий. Объектно-ориентированная декомпозиция позволяет определить иерархию классов объектов, их методы и свойства. CASE-средства, поддерживающие объектно-ориентированное проектирование используют методологию RUP (Rational Unified Process) и

нотации языка UML.

Вобъектно-ориентированном подходе основная категория объектной модели – класс, объединяет в себе на элементарном уровне, как данные, так и операции, которые над ними выполняются (методы). Именно с этой точки зрения изменения, связанные с переходом от структурного к объектно-ориентированному подходу, являются наиболее заметными. Разделение процессов и данных преодолено, однако остается проблема преодоления сложности системы, которая решается путем использования механизма компонентов.

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

Отмечается ряд следующих преимуществ объектноориентированного подхода.

1. Объектная декомпозиция дает возможность создавать

программные

системы

меньшего

размера

путем

76

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

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

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

4.Объектная модель позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования.

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

77

средств, поддерживающих объектно-ориентированный подход, невелико по сравнению с аналогичными средствами, поддерживающими структурный подход.

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

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

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

78

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

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

Другой формой проявления взаимосвязи можно считать интеграцию объектной и реляционной технологий. Реляционные СУБД являются на сегодняшний день основным средством реализации крупномасштабных баз данных и хранилищ данных. Причины этого очевидны: реляционная технология используется достаточно долго, освоена огромным количеством пользователей и разработчиков, стала промышленным стандартом, в нее вложены значительные средства и создано множество корпоративных БД в самых различных отраслях, реляционная модель проста и имеет строгое математическое основание; существует большое разнообразие промышленных средств проектирования, реализации и эксплуатации реляционных БД. Вследствие этого реляционные БД в основном используются для хранения и поиска объектов в так называемых объектно-реляционных системах. Объектно-ориентированное проектирование имеет точки соприкосновения с реляционным проектированием. Например, как было отмечено выше, классы в объектной модели могут, некоторым образом, соответствовать сущностям (в качестве упражнения можно предложить детально проанализировать все сходства и различия диаграмм

79

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]