- •Аннотация к вопросам для Госэкзаменов по Информационным Системам и Вычислительным процессам
- •1. Модели данных 4
- •2. Прикладные системы 10
- •3. Анализ и проектирование систем 25
- •4. Коллективная разработка систем 35
- •5. Архитектура систем 38
- •6. Программирование 42
- •7. Формальные языки и методы трансляции 44
- •8. Методы распределения памяти и доступа к данным 51
- •9. Сети Петри 57
- •1. Модели данных
- •1.1. Концептуальная и логическая модель данных. Модель «сущность связь» (er-модель)
- •1.2. Полная функциональная зависимость. Вторая нормальная форма (2нф). Приведение отношения к 2нф
- •1.3. Транзитивная зависимость. Третья нормальная форма (3нф). Приведение отношения к 3нф
- •1.4. Операции реляционной алгебры: булевы операции, операции выбора, проекции, соединения, деления
- •1.5. Операторы расщепления и фактора. Их применение для организации работы с распределенными данными
- •1.6. Транзакции в базах данных Понятие транзакции
- •Принципы транзакций (acid)
- •Модели транзакций
- •2. Прикладные системы
- •2.1. Классификация современных программных прикладных систем
- •2.2. Требования к качеству прикладных программных систем: адекватность технологии, удобство использования, устойчивость, сопровождаемость, защищенность, переносимость
- •Адекватность технологии предметной области
- •Удобство использования
- •Сопровождаемость
- •Устойчивость
- •Защищенность
- •Переносимость
- •2.3. Условия и способы тиражирования прикладных программных систем
- •2.5. Жизненный цикл программных систем. Этапы жизненного цикла
- •2.6. Модели жизненного цикла – каскадная, поэтапная, спиральная, инкрементная. Области их применения
- •2.7. Средства автоматизации проектирования (case-средства)
- •2.8. Оценка параметров программной системы. Мера, метрика. Анализ риска Оценка параметров программной системы
- •Мера и метрика
- •Анализ рисков и первичная оценка
- •2.9. Размерно-ориентированные метрики: правила оценивания, область применимости
- •Выполнение оценки проекта
- •Пример оценки проекта
- •Достоинства и недостатки
- •3. Анализ и проектирование систем
- •3.1. Анализ требований, его роль в жизненном цикле создания программной системы. Основные задачи анализа требований. Системный структурный анализ
- •3.2. Методология sadt (idef0). Ее реализация в case-средстве bPwin
- •Использование case-средства bPwin для построения idef0-модели
- •3.3. Моделирование потоков данных и процессов их обработки. Построение диаграмм потоков данных
- •Диаграммы потоков данных
- •Диаграммы потоков данных в методологии Гейна-Сарсона
- •Использование case-средства bPwin для построения дпд
- •4. Коллективная разработка систем
- •4.1. Обоснование необходимости. Проблемы. Типы коллективов программистов Проблема
- •Профессиональные особенности
- •Типы коллективов программистов
- •Традиционная бригада
- •Бригада без персонализации
- •Бригада главного программиста
- •4.2. Условия работы коллективов программистов: физическая, социальная, административная обстановки
- •Стимулы
- •4.3. Взаимодействие участников программного проекта. Их роли в коллективе разработчиков Профессиональные особенности
- •Технические роли в бригаде
- •Психологические роли в бригаде
- •5. Архитектура систем
- •5.1. Причины декомпозиции программы на модули (содержательные и технические аспекты). Декомпозиция как способ борьбы со сложностью
- •5.2. Модуль, его информационная закрытость. Интерфейс и реализация. Связность модуля, уровни связности
- •5.3. Сцепление модулей, уровни сцепления. Модели управления модульной системой
- •6. Программирование
- •6.1. Объектный подход к программированию. Объект и класс. Инкапсуляция, наследование, полиморфизм. Абстрактные и интерфейсные классы
- •6.2. Классы в современных системах программирования. Общие, собственные и защищенные области. Свойства, их назначение, описание и использование. Владелец и родитель класса
- •7. Формальные языки и методы трансляции
- •7.1. Право- и леволинейные грамматики. Регулярные (автоматные) грамматики. Регулярные множества и праволинейные грамматики
- •7.2. Автоматы с магазинной памятью (мп-автоматы). Детерминированные и недетерминированные мп-автоматы. Построение эквивалентного мп-автомата по кс-грамматике
- •7.3. Восходящий анализ кс-языков без возвратов. Lr(k)-грамматики. Грамматики простого предшествования. Алгоритм «перенос-свертка» для грамматики простого предшествования
- •7.4. Алгоритмы удаления пустых и недостижимых символов в кс-грамматике. Нормальные формы кс-грамматик (Хомского и Грейбах). Устранение левой рекурсии в грамматике
- •7.5. Компиляторы и интерпретаторы. Архитектура компилятора. Фазы и этапы компиляции. Препроцессоры
- •7.6. Дерево вывода для кс-грамматик. Восходящий и нисходящий синтаксический анализ. Алгоритм нисходящего разбора с возвратами
- •7.7. Промежуточные представления программ: атрибутно-синтаксическое дерево, триадное представление, тетрады, обратная польская запись. Байт-коды внутреннего представления (Java-код, p-код и др.)
- •7.8. Ll(k)-грамматики, соотношение классов ll(k). Множества first(k) и follow(k) и их построение. Разделенная грамматика
- •7.9. Метод рекурсивного спуска построения синтаксического анализатора
- •7.10. Способы описания синтаксиса языков программирования. Диаграммы Вирта, расширенная форма Бэкуса-Наура
- •7.11. Работа с регулярными выражениями в языках программирования (c#, php). Описание типов xml-документов с помощью грамматики (dtd)
- •8. Методы распределения памяти и доступа к данным
- •8.1. Простые методы динамического распределения памяти: стек, дек, список блоков постоянной длины
- •Простейшее распределение памяти
- •Выделение памяти блоками постоянной длины
- •8.2. Методы динамического распределения памяти, основанные на списках блоков переменной длины
- •8.3. Методы доступа к данным, основанные на индексах: индексно-последовательный и индексно-произвольный Индексные методы
- •Индексно-последовательный метод
- •Индексно-произвольный метод
- •8.4. Методы доступа к данным, основанные на инвертированных списках и битовых картах Инвертированные списки
- •Битовые карты
- •8.5. Алгоритмы хеширования, основанные на методах деления, умножения и деления многочленов Метод деления
- •Метод умножения
- •Деление многочленов
- •8.6. Алгоритмы разрешения коллизий в перемешанных таблицах, основанные на методах внешних и внутренних цепочек Метод внешних цепочек
- •Метод внутренних цепочек
- •9. Сети Петри
- •9.1. Определение и основные понятия сетей Петри. Структура, графы, маркировка Структура сетей Петри
- •Графы сетей Петри
- •Маркировка сетей Петри
- •9.2. Моделирование сетями Петри задач о производителе/потребителе и о чтении/записи Задача о производителе и потребителе
- •Задача о чтении/записи
- •9.3. Безопасность и ограниченность сетей Петри Безопасность
- •Ограниченность
- •9.4. Активность сетей Петри
- •9.5. Достижимость и покрываемость в сетях Петри
- •9.6. Дерево достижимости сети Петри. Алгоритм построения дерева достижимости Дерево достижимости
- •Алгоритм построения дерева достижимости
- •9.7. Применение дерева достижимости сети Петри для проверки безопасности и ограниченности.
- •9.8. Применение дерева достижимости сети Петри для проверки покрываемости
- •Литература Основная
- •Дополнительная
- •Формальные языки и методы трансляции
- •Методы доступа к данным и распределения памяти
- •Сети Петри
2. Прикладные системы
2.1. Классификация современных программных прикладных систем
В настоящее время на рынке прикладного программного обеспечения заметное место занимают корпоративные информационные системы (КИС). Корпоративными называют системы управления предприятиями, учитывающие специфические особенности корпораций, которые обусловлены их структурой. КИС обычно рассматривают применительно к негосударственным организациям, хотя зачастую они успешно используются и в государственных. По своему функциональному назначению корпоративные информационные системы делятся на следующие группы. Большинство из них в нашей стране успешно разрабатывалось в рамках АСУ предприятий (АСУП).
Идеи и подходы, применявшиеся при разработке АСУП, получили своё «второе рождение» и дальнейшее развитие в так называемых CALS-технологиях. Системы CALS-технологий (Continuous Acquisition and Life cycle Support) базируются на основе стандартов ИСО 10303 и ИСО 15531. Основная идея CALS – повышение эффективности процессов производства изделия за счет кардинального улучшения управления информацией о нём. Задача CALS – преобразование жизненного цикла изделия в автоматизированный процесс путем реструктуризации входящих в него бизнес-процессов. Для реализации концепции CALS требуется создание новых архитектурных решений, соответствующих изменившейся технологии производства, а также программные средства, поддерживающие эту технологию. В основе всего лежит принцип единого информационного пространства для всех участников жизненного цикла изделия. Это в точности соответствует основным идеям, задачам и решениям АСУП. Различие состоит в том, что АСУП, как правило, разрабатывались «сверху вниз», от разработки архитектуры к реализации подсистем и модулей. Системы CALS-технологий наоборот, конструировались на основе относительно небольших специализированных систем путём их интеграции. Далее рассмотрим основные типы корпоративных информационных систем, реализующих идеи CALS.
Системы управления данными об изделии (PDM – Product Data Management). Задача PDM-систем – аккумулирование информации об изделии в единую логическую модель. В АСУП им соответствует справочно-нормативная база, входящая в состав подсистемы ТЭП.
Системы планирования производственных мощностей и потребностей в материалах (MRP и MRP II – Manufactory Resource Planning). Современные производственные прикладные системы включают основные модули MRP-систем. В АСУП им соответствуют задачи, входящие в состав подсистемы ОКП и частично в ТЭП.
Системы автоматизации процессов управленческого планирования и контроля (BPM – Business Performance Management). Это класс систем, главные задачи которого – стратегическое управление, управление бюджетом, финансовое планирование, управленческая отчетность и анализ. Предназначены, в основном, для руководства предприятием. В АСУП им соответствует подсистема ТЭП, а также задачи, входящие в подсистему БУ.
Системы управления ресурсами предприятий (ERP – Enterprise Resource Planning). Они представляют собой набор интегрированных приложений, которые в едином информационном пространстве поддерживают все основные аспекты управления производством. Основные требования к ERP-системам – централизация данных в единой базе, близкий к реальному времени режим работы, сохранение общей модели управления предприятиями любых отраслей, поддержка распределенных структур, работа с широким спектром аппаратно-программных платформ. По сути это интеграция систем MRP с системами управления кадрами, финансами и производственными площадями. В АСУП им соответствуют базовые архитектурные решения, интегрированные с подсистемами ТЭП, ОКП, БУ, УК.
Системы управления взаимоотношениями с заказчиками (CRM – Customer Relationship Management). CRM-система – набор приложений, которые позволяют собирать информацию о клиенте, хранить ее и обрабатывать, делать определенные выводы на базе этой информации, экспортировать ее в другие приложения. Используются средства аналитической обработки данных в реальном режиме времени (OLAP) и технологии построения прогнозов Data Mining, которые используются в областях, где требуется анализ существующих данных и прогнозирование на их основе.
Системы управления цепью поставок (SCM – Supply Chain Management). Решают задачи координации, планирования и управления процессами снабжения, производства, складирования и доставки товаров или услуг конечным потребителям. Центральное понятие процесса управления – понятие логистической цепочки. Типичные вопросы, решаемые системой – определение структуры складов сырья и готовой продукции для уменьшения операционных издержек, оптимизация схемы транспортных операций, определение места производства товара для поставки на конкретный региональный рынок. В АСУП им соответствуют подсистема МТО.
Системы электронной коммерции – совокупность технических и организационных форм ведения коммерческой деятельности и совершения сделок с использованием электронных систем и сети интернет как средства взаимодействия с партнерами, банком, поставщиками и потребителями товаров и услуг. По видам отношений принято выделять следующие системы:
C2C (consumer to consumer) – коммерция между частными лицами, например, аукцион;
B2C (business to consumer) – коммерция c участием частного лица как клиента, например, интернет-магазин или платная справочная служба;
B2B (business to business) – коммерция между предприятиями, например, снабжение и сбыт;
B2G (business to government) – коммерция между частными и государственными предприятиями.
Системы управления имуществом предприятий (EAM – Enterprise asset management). Они охватывают бизнес-процессы, ориентированные на максимизацию эксплуатационной готовности производственных активов и инфраструктуры компании при минимальных затратах. Ориентированы на отраслевые предприятия с высокой степенью эксплуатации основных средств. В АСУП им соответствуют подсистемы УО.
Системы управления предприятиями (ERP II), которые объединяют системы ERP, CRM, SCM и EAM. В АСУ им соответствует основная производственная система, объединяющая подсистемы ТЭП, ОКП, БУ, УК, МТО, УО.
Системы автоматизированного проектирования (CAD/CAM) предназначены для автоматизации проектирования всевозможных объектов, от товаров народного потребления и лекарственных препаратов до самолетов и архитектурных сооружений. Чаще всего они интегрируются с PDM-системами. В АСУП им соответствуют САПР, входящие в состав подсистемы ТПП.
Системы промышленной автоматики и контроля (SCADA-системы – Supervisory Control And Data Acquisition – диспетчерское управление и сбор данных). SCADA – это специализированное программное обеспечение, ориентированное на поддержку интерфейса между диспетчером и системой управления, а также коммуникацию с внешним миром. В АСУ им соответствует подсистема АСУТП.
Два последних типа прикладных систем стоят несколько особняком: они относятся к технической стороне производства. Тем не менее, в нормальном современном производстве они встречаются в той или иной степени почти всегда, поэтому их нельзя не упомянуть.
