Классификация программных систем
1. Классификация программных систем (Рис. 1)
Время зарождения - перед холодной войной. (создание банковских сетей).
![]() |
Рис 1
Существует два подхода построения информационных систем.
Файл - область упорядоченной информации, озаглавленный именем.
![]() |
При файловой организации информация об информации сокрыта в структуре файл-программа. В явном виде не декларируется. Информация об информации - сведения что где лежит в информационной системе. При файловой организации системы для выполнения одних и тех же операций с данными, которые хранятся в различных файлах требуются различные программы. Аналогичные ситуации при работе различных пользователей с одним файлом. Выше изложенное ориентирует системы с файловой организацией на одного пользователя.
Общие характеристики файловой системы:
1. Сложность модификации, расширения, сложность построения многопользовательских систем и высокая гибкость при создании простых систем. При файловой организации сложно организовывать смысловой контроль информации, хранимой в системе, сложно устранять избыточность данных.
Организация информационных систем в виде БД характеризуется тем что информация об информации открыто декларируется и может активно использоваться в процессе обработки данных. Это делает систему в виде базы данных легко модифицируемыми и ориентированными на множество конечных пользователей. Информация - смысловое значение которое вкладывается в данные на основе соглашения. Данные закодированная информация которая позволяет автоматизировать процессы: передачи, обработки, сбора и хранения информации.
Рекомендуемые материалы
![]() |
Файл-досье-картотека- это единое целое однотипных по структуре и способу использования записей, относящегося к определенному объекту материального или духовного мира.
База данных - это совокупность именованных данных, предназначенных для машинной обработки.
Именованные данные - ассоциация (связь) с информацией об информации
Элемент данных- наименьшая неделимая единица данных которая имеет смысл при описании информации в базе данных
Группа данных- объединение элементов по какому-либо признаку
СУБД- совместимость языковых и программных средств предназначенных для создания, ведения и использования данных многих пользователей
Система БД- СУБД+ БД которая набита информацией
Система баз данных является аналогом банка информации или базы данных
Банк данных- система технических, программных, языковых и организованных средств, которая решает задачи сбора, хранения, обработки и передачи информации в соответствии с технологией баз данных
Ядром банка данных являются:
БнД = СУБД + БД1 +... Бдn , т.е. СУБД, которая настроена на работу с одной или несколько базами данных
Информационная система- система, которая автоматизирует сбор, хранение, обработку и передачу данных
Информационная система- это совокупность технических средств, программ и обслуживающего персонала
ИС= å железа + å программ +å обслуживающий персонал
Функции, которые выполняются СУБД
1. СУБД осуществляет переход от структуры данных к базе данных ( от глобального информационного массива к структуре данных, требуемой конечным пользователем) т.о. СУБД стоит между пользователями и БД
![]() |
и трансформирует глобальную информационную структуру в структуру, которая позволяет прямо или при помощи прикладных программ решать задачи клиента
ПП- Прикладные программы
Предм Область КП 1 КП 2 .... КП 3 Администратор БД Аналитик
Системный Программист Прикладн программист БД Системное ПО Прикладное ПО ОС сервис Программы |
Схема взаимодействия группобслуживания базы данных
Где КП - конечные пользователи. Задача: понять, оформить модели, понять программу.
Опишем функции, которые выполняют группы обслуживания БД.
Специальные программисты занимаются созданием базового ПО для
ПВМ. Они исследуют :
ОС, СУБД, трансляторы с различных языков, сервисные программы (конверторы из одного формата в другой, драйверы, программы изменения конфигураций и т д), другие программные средства ЭВМ
КП 1 ...3 - конечные пользователи, т е заказчики
АНАЛИТИК- осуществляет перевод постановки задачи конечного пользователя в некоторую модель, которая понятна прикладному программисту.
Результат его работы- ТЗ его программы
ПРИКЛАДНОЙ ПРОГРАММИСТ -преобразует ТЗ в конечную программу.
АДМИНИСТРАТОР БД- мозговой центр фирмы. Он отвечает за определение состава и содержимое БД, защиту и эксплуатацию БД. Администратор БД решает круг проблем, которые условно делим на три части:
планирование
учет математики и железа. Планирование какой будет БД. На этом этапе Администратор БД определяет выбор железа, при этом учитываются требования пользователя и перспективы расширения БД. Сегодня, кроме ПО - СУБД, Администратор БД решают проблему приобретения инструментальных средств, которые автоматизируют сам процесс проектирования БД систем.
проектирование
Администратор БД управляет процессом проектирования БД с целью исключения избыточности информации в БД. На его плечах лежит и проблема достоверности информации в БД. При проектировании БД необходимо учесть неизбежность дальнейшего расширения проекта ( этот процесс должно быть безболезненным) Кроме этого Администратор БД определяет порядок доступа информации к системе, способ размещения ее физической памяти
Эксплуатация
В процессе эксплуатации администратор БД выступает гарантом действий пользователя с целью исключения возможностей разрушения целостности информации в БД. Для этого создаются свой стандарты на содержание и использование информации в БД. Кроме этого, он консультирует пользователя по правилам работы с этими стандартами, выступает координатором процесса взаимодействия между различными группами технического обслуживания БД.
Метазнания- знание о знании.
Каким образом осуществляется сбор информации о данных, хранимых в системе?
Для управления содержимым БД используются метазнания, то есть информация о данных хранимых в системе, значит метаданные включают в свой состав описание смысла элементов данных, способа их использования, источники информации, правила и ограничения, физические характеристики. Метаданные помещаются в словари данных. Данные помещаются в словари, которые являются средством автоматизации сбора, хранения, использования некоторых данных.
Какие задачи решают при помощи метаданных?
1- Устранение избыточности информации.
2- Устранение противоречивости данных.
3- В крупных ИС метаданные используются для решения проблемы сбора, хранения и обработки информации в системе БД.
Кем используется словарь?
1- Конечным пользователем , он необходим для поиска информации в ИС.
2- Прикладные программисты в процессе разработки ПО, должны знать что где лежит.
3- Системные программисты, которые курируют развитие системы.
4- Администраторы БД, которые отвечают за все.
Требования к организации Базы Данных.
------ Два Взгляда ------
Пользователь СУБД Тех. персонал
БД
1 взгляд- логической независимости данных и подразумевает свободу вариации логической структуры БД, обеспечивающее решение прикладной задачи. Изменение логической структуры БД не должен отражаться на физическом предоставление информации в системе. Это позволит изменять точки зрения на одну и ту же задачу, что недопустимо при расширении объекта ( что неизбежно при расширении проекта) без физической реорганизации системы
2 взгляд- физическая независимость БД (физическая независимость данных) СУБД способно модифицировать способы организации БД в среде хранения. При этом не требуется вносить изменения в логическую модель БД, таким образом можно перенастраивать комплекс “железа” без ущемления интересов пользователя.
Поддержка логической целостности ( непротиворечивости информации в БД)
На сегодняшний день поддержка целостности осуществляется средствами СУБД на этапе ввода информации в БД. Имеется возможность задания множества допустимых значений содержимого поля или полей. В целом для глобального решения используется словарь данных, который хранит метаданные. Радикальным методом решения было бы построение смыслового анализатора информации, которая хранится в БД. Построение такого анализатора с одной стороны невозможно, а с другой- привело бы к отказу от системы БД
Проблема обеспечения физической целостности информации в БД
необходимо иметь средства восстановления информации на носители, утерянной вследствии сбоя системы. Самое простое, дорогое решение- создание контрольной копии. Более гибким является разработка спец. Программы восстановления информации (“спасается все таким образом , что можно спасти), основанных на журнале фиксации изменения БД.
Проблемы организации работы нескольких пользователей над одним из информационных носителей
Иванов 50 $ решения исполнения механизма транзакции
Петров 100 $
Итог- самое простое решение: один работает, другой в очереди
Суть проблемы: организации параллельного доступа пользователей к БД требует исключения конфликтных ситуаций, например- обновление одним человеком данных, которые находятся в процессе обработки другим пользователем. Такие конфликты выделяют и разрешают механизмы транзакции. Под транзакцией понимают регламентированную последовательность операций пользователя над базой данных, которая сокращает ее логическую целостность. Возможные подходы к реализации транзакции:
1- В информационном массиве выделяются группы взаимосвязанных элементов данных, работа одного пользователя с элементом из этой группы блокирует работу другого
2- Пользователи( транзакции) разбиваются по уровням приоритета. При работе системы транзакция с более высоким уровнем отменяет транзакцию
с более низким уровнем
Требование к СУБД - возможность настройки или адаптации системы к изменяющимися условиями эксплуатации.
Уровни представления данных
1- концептуальный (концептуальная модель)
2- уровень реализации в БД
3- физический уровень
ЭТАПЫ
1- ТЗ
2- концептуальный проект
3- логические проекты
4- физический проект в БД
Сегодня, в классической литературе выделяют 3 вида представления данных:
1- концептуальный уровень, тесно связан (является итогом) этапа концептуальной проектировки БД. Концептуальная модель объединяет информацию о предметной области, обо всех приложениях информационного банка.
Свойства концептуальной модели:
1- концептуальная модель - не зависит от ОС, СУБД и компьютера, то есть является машинонезависимой.
2- концептуальная модель должна детально описывать информационные процессы в предметной области. Это является дальнейшим развитием ТЗ- взгляд бюрократа(чиновника) на предметную область.
3- концептуальная модель строится неоднозначно. Сегодня нет четко формализованной процедуры построения концептуальной модели, однако есть наиболее общие концептуальные подходы, которые будут рассмотрены ниже. Как правило, к модели представляется диаграмма “сущность- связь”. Возможно словесное описание концептуальной модели или же при помощи специализированного языка. При построении концептуальные
модели работают с категориями: атрибуты, сущности, связи.
Под сущностями будут пониматься множество элементных данных проблемной области ( личности, факты, события)Атрибуты- элементные данные, которые описывают сущности.
Связи- ассоциации между экземплярами элементных данных Типы связей
один к одному (1:1)
один ко многим (1:n)
многие ко многим (m:n)
Пример связи:
1:1- номер студенческого билета и Ф.И.О. студента, где номер студенческого билета?
1-¥: постоянный клиент фирмы в течении многих лет делает заказы
¥- ¥: заказ состоит из множества товаров, а каждый товар покупается несколькими покупателями
Как правило, к модели представляется диаграмма “ сущность связи”
Примеры:
заказы 1-¥
¥-1
атрибуты
Физический уровень представления данных рассмотрен не будет
Модель данных дает ответ на вопрос: “что, где лежит” Информация в БД представляется следующими классическими моделями, которые разбиваются на 2 класса:
1 -графовые : а) иерархическая б) сетевая
2 - реляционная модель
Выделяют также (кроме классических моделей) прочие модели:
1- объектноориентированные модели
2- семантическая модель данных
3- специализированная модель
1 модель
Основная идея: в каких СУБД была заимствована
Одной из важнейших характеристик СУБД является данная модель, которая определяла до недавнего времени:
1- правила порождения корректных дел данных СУБД структур данных
2- правила манипуляции с данными в БД
3- ограждения, которые накладывает пакет
Сегодня категория модели БД кроме всего прочего отображает процесс предметной области и динамику ее развития На сегодняшний день выделяют классические модели данных, это соответственно реляционная, иерархическая и сетевая модели и прочие модели. Рассмотрим их:
Графовые модели
иерархическая структура сетевая структура
Входная
корневая запись
![]() | |||
![]() | |||
исх. данные
1:1
1:m порожденная
запись
По какой схеме осуществляется манипуляция элементов данных определяет иерархическая и сетевая структура
Сетевые структуры более гибкие, чем иерархические Таким образом в иерархической структуре выделяется корневой тип записи Между различными записями в иерархии устанавливается связь 1:1 или 1:m. Чисто условно в рамках концепции записи делятся на исходную и порожденную Соответственно для каждой записи существует только одна исходная запись, исключение составляет корневая Второе ограничение сетевой модели:
как правило между 2 записями может быть только одна связь
![]() |
Для отношения 1 : 1 порожденная запись
1 : m
исходная запись
Сетевая модель - усложненный вариант иерархической В ней любая запись может быть определена как входная Связи между записями обязательно однозначны, то есть
запись может входить в любое число связей, как исходной так и порожденной Головной болью для графовой модели является аппаратура навигации: его функция- установка объекта в БД, над которыми будет осуществляться операция манипулирования данными Объекты, над которыми
будет осуществлена эта операция называются текущими
Общая схема обработки информации в графовых моделях
1- Найти требуемые данные и сделать их текущими
2- Извлечь из БД текущие записи и положить их в буфер
3- Обработать информацию в буфере
4- Записать результата в БД
В сетевой модели данных проблема навигации обостряется
Объектноориентированная модель данных
Рекомендуем посмотреть лекцию "31 - Особенности рецепторных клеток".
эта модель имитирует жизнь предметной области подпрогаммы При построении этой модели используют следующий подход:
1- берут определенный объект с фиксированным множеством состояний-
директор
2- дополнительные объекты- оклад, гараж, секретарь
Директор посылает сообщения СК, который посылает сигнал в Г, как и СК, который должен ответить на него
Объектноориентированные модели появились под влиянием объектноориентированного программирования Терминология для этих БД “сырая” Общая концепция: есть понятие объекта, класса, отношения наследования Объекты ставятся в соотношении 2 множества: множество операций и множество состояний Объекты обмениваются сообщением, которое изменяет состояние объекта Есть категория класса, которая позволяет создавать новые объекты при помощи специальных операций; отношения наследования позволяют создавать иерархию класса Каждый класс такой структуры наследует свойства одного или нескольких супер-классов.