6. Назначение, архитектура, классификация case-средств.
Большинство существующих CASE-систем ориентировано на автоматизацию про-ектирования программного обеспечения и основано на методологиях структурного (в ос-новном) или объек¬тно-ориентированного проектирования и программирования, исполь-зующих спецификации в виде диаграмм или текстов для описания системных требований, связей между моделями систе¬мы, динамики поведения системы и архитектуры программ-ных средств.
Термин CASE расшифровывается как "Computer-Assisted Software Engineering" или "Computer-Aided Software/System Engineering").
Фактически CASE-средства представляют собой новый тип графически-ориентированных инструментов поддержки ЖЦ ПС. Обычно к ним относят любое про-граммное средство, обеспечивающее автоматическую помощь при разра¬ботке ПС, его со-провождении или деятельности по управлению проектом, и имеющее следующие допол-нительные черты:
• мощная графика для описания и документирования ПС;
• интеграция, обеспечивающая легкость передачи данных и позволяющая управ-лять всем процессом проектирования и разработки ПС;
• использование компьютерного хранилища (репозитория) для всей информации о проекте, как основа для взаимодействия разработчиков, автоматического создания компонентов ПС и повторного использования в будущих системах.
Помимо перечисленных основополагающих принципов в основе концептуального построения CASE-средств лежат также следующие положения:
• Использование базовых программных средств, получивших массовое рас-пространение в других приложениях (БД и СУБД, компиляторы с различных языков программирования, отладчики, документаторы, издательские системы, оболочки экспертных систем и базы знаний, языки четвертого поколения и др).
• Автоматизированная или автоматическая кодогенерация, выпол¬няющая не-сколько видов генерации кодов: преобразования для получения документации, формирования БД, ввода/модификации данных, получения выполняемых машинных кодов из спецификаций ПО, автоматической сборки модулей из словарей и моделей данных и повторно используемых программ, автоматиче-ской конверсии ранее используемых файлов в фор¬маты новых требований.
Назначение CASE-средств, представленных сегодня на мировом рынке нескольки-ми сотнями (около 300) продуктов, многообразно:
- построение и анализ моделей предметной области и интерфейсов,
- проектирование баз данных и генерация их схем для основных СУБД,
- разработка приложений и создание их программного кода,
- реинжиниринг процессов и баз данных и др. (Реинжиниринг - анализ и перепро-ектирование с целью реализации в новом качестве)
В большинстве современных CASE-систем применяются методологии структурного анализа и проектирования, основанные на наглядных диаграммных техниках. При этом для описания модели проектируемой системы используются графы, диаграммы, таблицы и схемы.
Архитектура CASE-средств
Ядром системы является база данных проекта - репозиторий (словарь данных). Он представляет собой специализированную базу данных, предназначенную для отображения состояния про¬ектируемой ИС в каждый момент времени. Объекты всех диаг¬рамм синхронизированы на основе общей информации словаря данных.
Репозиторий содержит информацию об объектах проектиру¬емой ИС и взаимосвязях между ними, все подсистемы обмени¬ваются данными с ним. В репозиторий хранятся описания следу¬ющих объектов:
• проектировщиков и их прав доступа к различным компонен¬там системы;
• организационных структур;
• диаграмм;
• компонентов диаграмм;
• связей между диаграммами;
• структур данных;
• программных модулей;
• процедур;
• библиотеки модулей и т.д.
Графические средства моделирования предметной области позволяют разра-ботчикам автоматизированных ИС в наглядном виде изучать существующую информационную систему, перестра¬ивать ее в соответствии с поставленными целями и имеющимися ограничениями. Все модификации диаграмм, выполняемых раз¬работчиками в интерактивном (диалоговом) режиме, вводятся в словарь данных, контролируются с общесистемной точки зрения и могут использоваться для дальнейшей генерации действующих функциональных приложений. В любой момент времени диаграм¬мы могут быть распечатаны для включения в техническую доку¬ментацию проекта.
Графический редактор диаграмм предназначен для отобра¬жения проектируемого ПС в графическом виде в заданной нотации. Он позволяет выполнять следующие опера-ции:
• создавать элементы диаграмм и взаимосвязи между ними;
• задавать описания элементов диаграмм;
• задавать описания связей между элементами диаграмм;
• редактировать элементы диаграмм, их взаимосвязи и описа¬ния.
Верификатор диаграмм служит для контроля правильности построения диаграмм в заданной методологии проектирования ПС. Он выполняет следующие функции:
• мониторинг правильности построения диаграмм;
• диагностику и выдачу сообщений об ошибках;
• выделение на диаграмме ошибочных элементов.
Документатор проекта позволяет получать информацию о состоянии проекта в ви-де различных отчетов. Отчеты могут строиться по нескольким признакам, например по времени, автору, элементам диаграмм, диаграмме или проекту в целом.
Администратор проекта представляет собой инструменты, необходимые для вы-полнения следующих административных функций:
• инициализации проекта;
• задания начальных параметров проекта;
• назначения и изменения прав доступа к элементам проекта;
• мониторинга выполнения проекта.
Сервис представляет собой набор системных утилит по об¬служиванию репозитория. Утилиты выполняют функции архивации данных, восстановления данных и создания нового репозитория.
Классификация CASE-средств
Современные CASE-системы классифицируются по следую¬щим основным признакам:
1)по поддерживаемым методологиям проектирования: функ¬ционально (структурно) -ориентированные, объектно-ориентиро¬ванные и комплексно-ориентированные;
2) по поддерживаемым графическим нотациям построения ди¬аграмм: с фиксированной нотацией, с отдельными нотациями и наиболее распространенными нотациями;
3) по степени интегрированности: tools (отдельные локальные средства), toolkit (набор неинтегрированных средств, охватыва¬ющих большинство этапов разработки ИС) и work-bench (пол¬ностью интегрированные средства, связанные общей базой про¬ектных данных - репозиторием);
4)по функционально ориентации в технологическом процессе: средства анализа и проектирования, средства проектирования баз данных и файлов, средства программирования, средства сопровождения и реинжиниринга, средства окружения и средства управления проектом;
- 1. Определение понятий «программа», «программное средство», «программный продукт». Виды и краткое содержание программных документов (по еспд).
- 2. Связь программных документов с этапами жизненного цикла по.
- 3. Жизненный цикл программных средств. Базовые этапы моделей жц: назначение и характеристика.
- 4. Стратегии конструирования программных средств с точки зрения моделей жц. Характеристика стратегий, достоинства и недостатки.
- 6. Назначение, архитектура, классификация case-средств.
- 7. Определение и содержание процесса тестирования. Информационные потоки процесса тестирования.
- 8. Основные стратегии тестирования, их характеристики, достоинства и недостатки. Основные типы ошибок, выявляемых каждой из стратегий.
- 9. Потоковый граф и цикломатическая сложность программы. Примеры.
- 10. Способ тестирования базового пути.
- 11. Способ тестирования условий.
- 12. Способ тестирования потоков данных.
- 13. Функциональное тестирование. Способ разбиения по эквивалентности и анализа граничных значений.
- 14. Способ диаграмм причин-следствий.
- 15. Основные характеристики качества и надежности программных средств.
- 16. Понятия функциональной пригодности, корректности и надежности программных средств.
- 17. Функция надежности и функция отказа: определение, основные свойства.
- 18. Дискретные модели надежности по. Модель Муса.
- 19. Дискретные модели надежности по. Модель Шумана.
- 20. Статические модели надежности по (простая интуитивная модель, модель Нельсона, модель Миллса).
- 21. Эмпирические модели надежности по. Определение оптимальной продолжительности тестирования.
- 22. Понятие пользовательского интерфейса. Основные принципы разработки пользовательского интерфейса.
- 23. Оконные интерфейсы. Типы окон. Основные операции с окнами.
- 24. Типы диалога пользовательского интерфейса.
- 25. Типы элементов управления оконных интерфейсов.
- 26. Назначение элемента управления «меню». Стандартные разновидности меню.
- 27. Назначение элемента управления «кнопка». Стандартные разновидности кнопок.
- 28. Назначение элемента управления «список». Стандартные разновидности списков.
- 29. Назначение элемента управления «текстовая область». Стандартные разновидности текстовых областей.
- 30. Правовые методы защиты программных продуктов и баз данных.
- 31. Понятие компонента. Функциональные группы компонентов.
- 32. Открытый интерфейс доступа к базам данных (odbc).
- 33. Архитектуры сервера баз данных совместной обработки клиентских запросов.
- 34. Доступ к базам данных в двухзвенных моделях «клиент-сервер».
- 35. Основные требования к распределенной обработке данных.
- 36. Функции «типового» приложения обработки данных.
- 37. Базовые архитектуры распределенной обработки данных.
- Архитектура сервера баз данных
- Архитектура «один к одному»
- Многопотоковая односерверная архитектура
- 38. Источник данных. Архитектура приложения, работающего с внешними источниками данных.
- 39. Последовательность действий для обеспечения работы с объектом источника данных.
- 40. Форматы представления слабоструктурированных данных. Основные понятия стандарта iso 2709.
- 41. Форматы представления слабоструктурированных данных. Основные понятия коммуникативного формата мекоф.
- 42. Языки определения слабоструктурированных данных. Основные понятия xml.
- 43. Инфраструктура описания ресурсов (rdf).
- 44. Структура процессов в абстрактной аипс.
- 45. Фактографические и документальные бд.
- 46. Классификации. Типология классификаций на основе отношений, возможных между классами и атрибутами.
- 47. Библиотечно-библиографические классификации.
- 48. Патентные классификации.
- 49. Классификации наук.
- 50. Онтология как средство формализованного представления информации.
- 51. Методы выделения информативных терминов.
- 52. Методы классификации и кластеризации текстовой информации.