- •Тема 1. Проектирование ис
- •Этапы развития ис
- •1.2. Классификация рынка современных ис
- •1.3. Проектирование ис как формализационный процесс
- •2.1.1. Основные процессы
- •2.1.2. Вспомогательные процессы
- •2.1.3. Организационные процессы
- •Вопросы.
- •Этапы развития ис.
- •Понятие программной инженерии и этапы ее развития.
- •Тема 2. Понятие жц по
- •2.1. Понятие жц по. Процессы жц по
- •2.1.4. Взаимосвязь между процессами
- •2.2. Модели и стадии жц по
- •Вопросы
- •Тема 3. Организация разработки по ис
- •3.1. Внутренняя и внешняя деятельность
- •3.2. Четыре фазы разработки по ис (во внешней деятельности)
- •3.3. Задачи разработки по ис
- •Вопросы для самоконтроля
- •Тема 4. Внутренняя (мыслительная) деятельность
- •4.1. Компетенция инженера
- •4.2. Состав, сложность задач проблемы и компетентность инженера
- •4.3. Связь понятия компетенция и умение
- •Вопросы для самоконтроля
- •Тема 5. Структурный подход к проектированию
- •5.1. Сущность структурного подхода
- •5.1.1 Подход к решению проблемы сложности больших систем
- •5.1.2. Структурный подход к разработке по
- •5.2. Методология функционального моделирования idef0
- •5.2.1. Сущность методологии idefo
- •5.2.2. Синтаксис и семантика моделей idefo
- •5.2.3. Типы связей между функциями
- •5.2.4. Построение моделей idef0
- •5.3. Методология описания бизнес-процессов idef3
- •5.3.1. Сущность методологии idef3
- •5.3.2. Синтаксис и семантика моделей idef3
- •5.3.3. Требования 1def3 к описанию бизнес-процессов
- •5.4. Взаимосвязь моделей idefo и idef3
- •5.5.Структурный анализ потоков данных
- •5.5.1.Сущность структурного анализа потоков данных
- •5.5.2. Синтаксис и семантика диаграмм потоков данных
- •5.5.3. Построение диаграмм потоков данных
- •5.6. Сравнительный анализ idefo-моделей и диаграмм потоков данных
- •5.7. Рекомендации по применению методологий функционального моделирования
- •5.8. Моделирование данных
- •5.8.1. Основные понятия
- •5.8.2. Основы методологии idef1x
- •Вопросы для самоконтроля
- •Тема 6. Объектно-ориентированный подход к проектированию
- •6.1.Сущность объектно-ориентированного подхода
- •6.2. Диаграммы uml
- •6.3. Синтаксис и семантика основных объектов uml
- •6.3.1. Диаграммы прецедентов
- •6.3.2. Диаграммы классов
- •6.3.3. Диаграммы последовательностей
- •6.3.4. Диаграммы коммуникаций
- •6.3.5. Диаграммы состояний
- •6.3.6. Диаграммы деятельности
- •6.3.7. Диаграммы компонентов
- •6.3.8. Диаграммы развертывания
- •6.4. Рекомендации по применению uml
- •Вопросы для самоконтроля
- •Тема 7. Проектирование бд
- •7.1. Особенности проектирования хранилищ данных
- •7.2. Особенности проектирования клиент-серверных ис
- •7.3.Интерфейсы доступа к бд
- •7.3.1. Odbc - открытый интерфейс доступа к бд
- •7.3.2.Объектная модель ole db
- •7.4. Классы бд
- •7.4.1. Документографические и документальные бд
- •7.4.2. Бд о продукции
- •7.4.3. Бд экономической и конъюнктурной информации
- •7.4.4.Фактографические базы социальных данных
- •7.4.5. Бд транспортных систем страны
- •7.4.6. Справочные базы для населения и организаций
- •7.4.7. Ресурсные бд
- •7.4.8. Фактографические базы научных данных
- •7.4.9. Фактографические бд в области культуры и искусства
- •7.4.10. Лингвистические бд
- •Вопросы для самоконтроля
Тема 7. Проектирование бд
7.1. Особенности проектирования хранилищ данных
При проектировании БД следует учитывать, что все БД можно разбить на два класса:
БД для оперативной обработки информации в реальном времени;
хранилища данных (data warehouse), в которых накапливается ретроспективная информация.
БД первого типа отличаются высокой степенью нормализации данных, что в значительной степени уменьшает избыточность представления информации и облегчает поддержку согласованности. Как правило, промышленная БД такого типа содержит сотни и тысячи таблиц малого объема с небольшим количеством атрибутов и имеет сложную структуру.
Рис. 7.1. Пример хранилища данных, построенного по схеме «звезда»
Хранилища данных обычно имеют простую денормализованную структуру, обеспечивающую высокую скорость выполнения сложных запросов. Типовой схемой хранилища данных является так называемая «звезда» (star schema), при которой вся хранимая фактографическая информация записывается в одну большую таблицу фактов (fact table). Каждая строка таблицы фактов соответствует точке в многомерном пространстве, определяемом измерениями хранилища данных. Измерение классифицирует некоторый факт и, как правило, имеет иерархическую структуру.
Для каждого измерения в таблице фактов заводится столбец, в котором в кодированном виде записываются значения измерения для каждой строки. С целью расшифровки закодированных значений для каждого измерения создается отдельная таблица (dimension table). Таблицы связываются на основании закодированных значений измерений так, что таблица фактов становится центром «звезды», а таблицы измерений — ее лучами (рис. 7.1). В общем случае, хранилище данных имеет несколько таблиц фактов и, следовательно, состоит из нескольких «звезд».
7.2. Особенности проектирования клиент-серверных ис
Современные ИС базируется на принципах распределенной обработки данных. Архитектура таких систем позволяет реализовать многопользовательский режим работы и является распределенной. Различные виды архитектур современных ИС часто объединяют под термином «клиент-серверная архитектура».
Под сервером обычно понимают процесс, который обслуживает информационную потребность клиента. Клиентом является приложение, посылающее запрос на обслуживание сервером. Задачей клиента являются инициирование связи с сервером, определение вида запроса на обслуживание, получение от сервера результата обслуживания, подтверждение окончания обслуживания. При этом клиенты и серверы, как правило, располагаются на разных узлах локальной или глобальной вычислительной сети.
В общем случае схема клиент-серверной архитектуры включает три уровня представления:
уровень представления данных пользователем (клиентом);
уровень обработки данных приложением;
уровень взаимодействия с БД.
По этой схеме клиент в одном случае вводит данные, которые после контроля и преобразования некоторым приложением попадают в БД, а в другом случае клиент запрашивает обработку данных приложением, которое обращается за необходимыми данными к БД. Получив необходимые данные, сервер их обрабатывает, а результаты или помещает в БД, или выдает клиенту в удобном для него виде, например в виде текстового документа, электронной таблицы, графика, или делает то и другое вместе.
Клиент-серверная архитектура в вычислительной сети может быть реализована по-разному. Выбор конкретной схемы определяется различными вариантами территориального распределения удаленных подразделений предприятия, требованиями эксплуатационной надежности, быстродействием, простотой обслуживания. Рассмотрим различные схемы клиент-серверной архитектуры:
Файл-серверная архитектура представляет наиболее простой случай распределенной обработки данных, согласно которой на сервере располагаются только файлы данных, а на клиентской части находятся приложения пользователей вместе с СУБД.
Двухуровневая клиент-серверная архитектура основана на использовании только сервера БД, когда клиентская часть содержит уровень представления данных, а на сервере находится БД вместе с СУБД и прикладными программами.
Обращение к БД осуществляется на языке SQL (Structured Query Language), который фактически стал стандартом для реляционных БД. Отсюда сервер БД часто называют SQL-сервером, который поддерживается всеми реляционными СУБД: Oracle, Informix, MS SQL, InterBase, SyBase и др. Клиентское приложение может быть реализовано на языке настольных СУБД MS Access, FoxPro, Paradox и др. При этом взаимодействие клиентского приложения с SQL-сервером осуществляется через ODBC-драйвер, который обеспечивает возможность пересылки и преобразования данных из глобальной БД в структуру БД клиентского приложения. Применение этой технологии позволило разработчикам не заботиться о специфике работы с той или иной СУБД и делать свои системы переносимыми между БД.
Трехуровневая клиент-серверная архитектура позволяет помещать прикладные программы на отдельные серверы приложений, с которыми через API-интерфейс (Application Program Interface) устанавливается связь клиентских рабочих станций. Работа клиентской части приложения сводится к вызову необходимых функций сервера приложения, которые называются «сервисами». Прикладные программы, в свою очередь, обращаются к серверу БД с помощью SQL запросов. Такая организация позволяет повысить производительность и эффективность ИС за счет:
многократности повторного использования общих функций обработки данных в множестве клиентских приложений при существенной экономии системных ресурсов;
параллельности в работе сервера приложений и сервера БД, причем сервер приложений может быть менее мощным по сравнению с сервером БД;
оптимизации доступа к БД через сервер приложений из клиентских мест путем диспетчеризации выполнения запросов в вычислительной сети;
повышения скорости и надежности обработки данных в результате дублирования ПО на нескольких серверах приложений, которые могут заменять друг друга в сети в случае перегрузки или выхода из строя одного из них;
переноса функций администрирования системы по проверке полномочий доступа пользователей с сервера БД на сервер приложений.
Многоуровневая клиент-серверная архитектура создается для территориально-распределенных предприятий. Для нее в общем случае характерны отношения «многие ко многим» между клиентскими рабочими станциями и серверами приложений, между серверами приложений и серверами БД. Такая организация позволяет более рационально организовать информационные потоки между структурными подразделениями в процессе выполнения общих деловых процессов. Так, каждый сервер приложений, как правило, обслуживает потребности какой-либо одной функциональной подсистемы и сосредоточивается в головном для подсистемы структурном подразделении, например, сервер приложения по управлению сбытом - в отделе сбыта, сервер приложения по управлению снабжением -в отделе закупок и т.д. Естественно, что локальная сеть каждого из подразделений обеспечивает более быструю реакцию на запросы основного контингента пользователей из соответствующего подразделения. Интегрированная БД находится на отдельном сервере, на котором обеспечиваются централизованное ведение и администрирование общих данных для всех приложений.
Выделение нескольких серверов БД особенно актуально для предприятий с филиальной структурой, когда в центральном офисе используется общая БД, содержащая общую нормативно-справочную, планово-бюджетную информацию и консолидированную отчетность, а в территориально-удаленных филиалах поддерживается оперативная информация о деловых процессах. При обработке данных в филиалах для контроля используется плановая и нормативно-справочная информация из центральной БД, а в центральном офисе получение консолидированной отчетности сопряжено с обработкой оперативной информации филиалов.
