Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЭАИС.docx
Скачиваний:
1
Добавлен:
21.12.2018
Размер:
41.1 Кб
Скачать

Работа с несколькими формами

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

Эффективное меню

Рекомендации по разработке меню:

1)следовать стандартным соглашениям о расположении пунктов меню(справка, вставка ,файл,new file)

2) группировать пункты меню в логическом порядке и по содержанию

3)для группировки пунктов раскрывающихся меню использовать разделительные линии

4)избегать избыточных меню

5)избегать пунктов меню верхнего уровня не содержащих раскрывающего меню

6)не забывать использовать символ троеточия для обозначения пунктов меню активизирующих диалоговое окна.

7)обязательно использовать клавиатурные эквиваленты(горячие клавиши).

8)помещать на панели инструментов часто используемые команды меню.

Информирование пользователя в ходе процесса

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

Транзакции и блокировки

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

Правила обработки набора команд

  1. Атомарность т.е. выполняемые в транзакции изменения будут либо выполняться все, либо не будут выполняться вовсе. После завершения транзакции изменёнными должны быть все строки либо ни одна из них.

  2. Согласованность т.е. все данные после выполнения транзакции должны находиться в согласованном состоянии, а именно все правила и ограничения целостности должны быть соблюдены

  3. Изолированность – изменения данных выполняемые одной транзакцией не должны зависеть от изменений выполняемых другой транзакцией.

  4. Устойчивость(долговечность) – после того как транзакция завершена она сохраняется в системе ни что не может вернуть систему в состояние в котором она была до начала транзакции.

Журнал транзакций

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

Блокировки

Это временно накладываемое ограничение на выполнение некоторых операций обработки данных.

Виды блокировок:

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

  2. Блокировки обновления. Когда транзакция пытается изменить данные то для избегания появления мертвых блокировок сервер сначала устанавливает блокировку обновления. Эту блокировку можно рассматривать как переходный этап от коллективной к монопольной блокировке.

  3. Монопольная блокировка запрещает транзакциям одновременный доступ к ресурсу. Если ресурс удерживается монопольной (X) блокировкой, то другие транзакции не могут изменять данные.