Файл: Билет 17 Проектирование информационных систем методика постепенной формализации. Алгоритм реализации метода постепенной формализации для разработки асу.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 51

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Структура маркера Token Ring

1. стандартный пустой маркер Token Ring

SD

AC

ED










P

P

P

T

M

R

R

R

AC – поле значений приоритета. Каждый бит поля имеет свое собственное значение: PPP – биты приоритета; RRR – биты резервирования; бит T – признак захвата маркера (0 – свободен, 1- захвачен); M – бит мониторинга, используется для проверки качества передачи в сети.
БИЛЕТ № 18

  1. Задача поиска как основная задача проектирования информационного обеспечения. Направление развития задач поиска.

Проектирование - это планирование информационной системы. На данном этапе разрабатывается общая структура будущей системы, строится каркас программы, разрабатываются структуры данных (в том числе схема базы данных). Информационное обеспечение - это совокупность информации, необходимой для нормального функционирования АС, представленная в заданной форме. Таким образом, информационное обеспечение - это с одной стороны собственно информация, независимо от формы и способа ее представления, а с другой стороны - это все что связано с СУБД и базой данных, т.е. структура, целостность, администрирование и т.д.

Развивались методы поиска в связи с развитием ИПС:

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

2.Тематическое комплектование или многоуровневое индексирование.

3.Выработка режимов распространения информации. Принцип рассылки, т.е. определенной группе пользователей посылалась информация, которая им интересна.

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


5. Контекстный поиск или принцип гипертекста.

6. Семантический поиск.

Для оценки и разработки данных методов была создана теория информационного поиска:

1.Регламентированное обслуживание по стандартному запросу.

2.Методы с критериями избирательного распространения информации – рассылки.

3.Дифференцированное обслуживание. Регламентированный доступ к информации – по паролю и т.п.

4.Контекстный поиск – ретроспективный поиск по произвольному запросу.

В истории развития поиска выделяют 2 направления:

1. система поиска для систем управления: должна иметь цель управлять (функциональная часть – для достижения цели управления, обеспечивающая – для сбора информации, мат. методы системного анализа - для получения рекомендации)

2. система поиска для научно-технической информации: систематизация научно-технической информации - создание, документация, хранение информации, ее поиск.

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

2. Транзакция и ее свойства.


Транзакция - действие или серия действий, выполняемых одним пользователем или прикладной программой, которые осуществляют доступ или изменение содержимого БД.

Любая транзакция всегда должна переводить БД из одного согласованного состояния в другое, хотя допускается, что согласованность состояния БД будет нарушаться в ходе выполнения транзакции. Любая транзакция завершается одним из двух возможных способов. В случае успешного завершения результаты транзакции фиксируются (commit) в БД, и транзакция переходит в новое согласованное состояние. Если выполнение транзакции не прошло успешно, она отменяется, в этом случае в БД должно быть восстановлено то согласованное состояние, в котором она находилась до начала данной транзакции - откат (roll back) транзакции. Зафиксированная транзакция не может быть отменена. Если оказывается, что зафиксированная транзакция была ошибочной, потребуется выполнить другую транзакцию, отменяющую действия, выполненные первой транзакцией. В большинстве языков манипулирования данными для указания границ отдельных транзакций используются операторы BEGINTRANSACTION, COMMIT и ROLLBACK.

Свойства транзакций ACID: Атомарность. Свойство типа «все или ничего». Любая транзакция представляет собой неделимую единицу работы, которая может быть выполнена либо вся целиком, либо не выполнена вовсе. Согласованность. Каждая транзакция должна переводить БД из одного согласованного состояния в другое согласованное состояние. Внутри транзакции система может находиться в несогласованном состоянии. Изолированность. Все транзакции выполняются независимо одна от другой - промежуточные результаты незавершенной транзакции не должны быть доступны другим транзакциям. Долговечность. Результаты успешно завершенной транзакции должны сохраняться в БД постоянно и не должны быть утеряны в результате последующих сбоев.
Синтаксис осн команд:

Begin Tran [saction] [<имя транз>],

Commit Tran [saction] [<имя транз>],

RollBack Tran [saction] [<имя транз>] [<имя т сохр>],

Save Tran [saction] [<имя т сохр>]

Неявн транз – не треб наличия Begin Tran. Нач-ся с 1-го опер-ра, заканч традиц-но. Без Begin Tran кажд опер-р SQL счит-ся отд странз. Неявн начало: set implicit_transaction on. Опер-ры, инициир транз-ю: Create, insert, update, delete, trunicate, drop, open, fetch, grant, select, revoke.

3. Понятия связанности (Coupling) и зацепления (Cohesion) в сложных программных системах. Связанность и зацепление классов, модулей, компонентов.


Степень связанности (coupling) – это мера, определяющая насколько жестко один элемент связан с другими элементами, либо каким количеством данных о других элементах он обладает. Элемент с низкой степенью связанности (или слабым связыванием) зависит не от очень большого числа других элементов. Класс с высокой степенью связанности (или жестко связанный) зависит от множества других классов. Однако наличие таких классов нежелательно, поскольку оно приводит к возникновению следующих проблем:

  • Изменения в связанных классах приводят к локальным изменениям в данном классе.

  • Затрудняется понимание каждого класса в отдельности.

  • Усложняется повторное использование, поскольку для этого требуется дополнительный анализ классов, с которыми связан данный класс.

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

  • Изменения компонентов мало сказываются на других объектах.

  • Принципы работы и функции компонентов можно понять, не изучая другие объекты.

  • Удобство повторного использования.

Зацепление (cohesion) (функциональное зацепление) – это мера связанности и сфокусированности обязанностей класса. Считается, что элемент обладает высокой степенью зацепления, если его обязанности тесно связаны между собой и он не выполняет непомерных объёмов работы. В роли таких элементов могут выступать классы, подсистемы и т.д.

Класс с низкой степенью зацепления выполняет много разнородных функций или несвязанных между собой обязанностей. Такие классы создавать нежелательно, поскольку они приводят к возникновению следующих проблем:


  • Трудность понимания.

  • Сложность при повторном использовании.

  • Сложность поддержки.

  • Ненадёжность, постоянная подверженность изменениям.

Классы со слабым зацеплением, как правило, являются слишком «абстрактными» или выполняют обязанности, которые можно легко распределить между другими объектами.

Гради Буч считает, что можно говорить о высоком функциональном зацеплении между элементами одного компонента (например, класса), если «все они взаимодействуют между собой с целью обеспечения некоторого определённого поведения».

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

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

Ещё одной особенностью, тесно связанной со связыванием и зацеплением, является модульность. Модульность – это свойство системы, разбитой на множество модулей с высокой степенью зацепления и слабым связыванием.