
- •1. Жизненный цикл информационных систем: этапы планирования разработки, определения требований, сбора и анализа требований, проектирования бд и выбора целевой субд
- •2. Жизненный цикл информационных систем: этапы разработки приложений, создания прототипов, реализации, конвертирования и загрузки данных, тестирования, эксплуатации
- •3. Требования. Место в жц разработки ис
- •Функциональные требования
- •Нефункциональные требования
- •Пользовательские требования.
- •Системные требования.
- •8. Разработка требований
- •9. Управление требованиями (и управление изменениями требований)
- •11. Модели систем
- •12. Модели системного окружения
- •13. Поведенческие модели
- •15. Объектные модели.
- •Прототипирование в процессе разработки по
- •Эволюционное прототипирование
- •Экспериментальное прототипирование
- •Технологии быстрого прототипирования.
- •Прототипирование пользовательского интерфейса.
- •Архитектурное проектирование
- •Архитектурное проектирование. Структурирование системы
- •Архитектурное проектирование. Моделирование управления
- •Управление, основанное на событиях
- •Архитектурное проектирование. Модульная декомпозиция
- •Обектно-ориентированная модель
- •Модель потоков данных
- •Проектирование диалога с пользователем: структура пользовательского интерфейса
- •Проектирование диалога с пользователем: графическое представление диалога
- •Проектирование диалога с пользователем: текствое представление
- •Распределенные бд
- •Проблемы с распределенными бд
Проектирование диалога с пользователем: текствое представление
Текстовое представление диалога.
1. If <условие> then … - Форма Бекуса-Науэра
2. логические выражения
3. регулярные выражения
Наибольшее распространение – продукционные правила (если, то). Не существует «иначе».
Основной принцип работы продукционных правил – все правила равны между собой, всегда все работают. Если выполняются все части условия, то переходим к действию.
Условная часть может представлять собой некоторую комбинацию событий и внутренних или других состояний. Действия – физические действия, которые выполняются в системе и переводят систему в другое состояние (изменение интерфейса, обращение к БД и т.д). Три типа систем, построенных на продукционных правилах:
системы, ориентированные на события
системы, ориентированные на состояния
смешанные
1. В системах, ориентированных на события и условия, и действия представляют собой множество событий. События делятся на три вида:
А) пользовательские (те, которые сгенерировал пользователь). Такие события обозначают с заглавной буквы.
Б) внутренние события, используются для сохранения состояния диалога. Их имена начинаются со строчных букв. Это некоторые флаги. Хранятся в системе.
В) события отклика системы. Имена таких событий заключаются в угловые скобки. Они нужны для того, чтобы определить некоторый ответ системы (вывод на экран, звуковое оповещение, визуальный эффект, показ сообщений).
Пример: рисование ломаной линии.
1 правило:
Выбран_режим_ломанная_линия -> начало_линии, <курсор_линия>
2 правило: Одиночный_щелчок, начало_линии -> продолжение_линии, <резиновая_нить>
3 правило: Одиночный_щелчок, продолжение_линии -> продолжение_линии, <нарисовать_отрезок>
4 правило: Двойной_щелчок, продолжение_линии -> <рисовать_отрезок>, <отключить_резиновую_нить>, <стандартный_курсор>
5 правило: Esc -> <стереть_все>, <стандартный_курсор>, <отключить_резиновую_нить>
Модуль логики диалога имеет собственную память, которая может содержать множество событий. Правило срабатывает, если все события его условной части загружены в память. События пользователя записываются в память в момент возникновения. При срабатывании правила все события условной части из памяти удаляются, а действительной части туда заносятся. События отклика системы удаляются из памяти по мере их выполнения.
Плюс таких систем: просто добавить/удалить/изменить функционал (добавить/удалить/изменить правило).
2.Система правил, ориентированных на состояния.
Память представляет собой множество именованных значений (атрибутов). Состояние системы определяется конкретным значением этих атрибутов.
Атрибут – мышь. Значения – не_работает/ выбор_линии/ одиночный_щелчок/ двойной_щелчок.
Атрибут – линия. Значения – начало_линии/продолжение линии/выбор изменен.
Атрибут – резиновая нить. Значение – вкл, выкл.
Атрибут – рисование. Значение – ничего_не_рисуется/рисуется_линия.
Правила:
Мышь=выбор_линии -> мышь=не_работает, линия=начало_линии
Мышь=одиночный_щелчок, линия=начало_линии -> мышь=не_работает, линия=продолжение_линии, резиновая_нить=вкл.
Мышь=одиночный_щелчок, линия=продолжение_линии -> мышь=не_работает, рисование=рисуется_линия
Мышь=двойной_щелчок, линия=продолжение_линии -> мышь=не_работает, резиновая_нить=выкл, рисование=рисуется_линия
Правило выполняется, когда состояние соответствует его условной части. Выполнение правила не приводит к обязательной смене значения атрибутов. Если действительная часть правила содержит новое значение атрибута, то изменения произойдут.
3.смешанные системы.
Событие: условие -> действие
Наступление события представляется как сигнал к выполнению правила, но правило не сработает, если его условие ложно. События могут порождаться пользователем. Атрибуты при этом остаются неизменными, пока это явно не будет задано в действии, кроме того в действии могут порождаться новые события. Некоторые правила могут не иметь условия. Например, в нашем случае, нажатие клавиши ESC.
С помощью таких правил удобно описывать конкурентный диалог (жирный, курсив, подчеркивание).