СПАСОИ (10) - Лекция №6 - Этап логического проектирования
Этот конспект ещё не дописан. Здесь не хватает: - диаграмм DFD и FHD - примера для даталогической схемы |
...начало

Этап концептуального проектирования
Разработка спецификация будущих приложений
Структурированный естественный язык
Пример для естественного языка
Спецификация процесса 1.1.2а из DFD "банкомат".
@Вход: Разрешение/отказ ПЦ-Б
@Выход: Признак разрешения для банкомата (0 - нет, 1 - да, 2 - ожидание)
@Спецификация процесса: Проверка разрешения ПЦ-Б
ЕСЛИ разрешение/отказ ПЦ-Б = true ТО
выйти(0)
ИНАЧЕ
выдать сообщение об ошибке
ЕСЛИ ошибка в пароле ТО
проверить счётчик1 на максимум,
запросить пароль,
увеличить счётчик1,
обновить данные транзакции,
повторить функцию "предварительная проверка карты, составление запроса в ПЦ",
выйти(2)
ИНАЧЕ
ЕСЛИ ошибка в сумме ТО
проверить счётчик2 на максимум,
запросить сумму,
увеличить счётчик2,
обновить данные транзакции
ИНАЧЕ
удалить карту из банкомата,
выйти(1)
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
@Конец спецификации
Визуальные языки разработки спецификаций
Они же FlowForm.

Конструкция - это:
- один элемент "выполнить действие" или просто "действие";
- последовательность конструкций;
- выбор между конструкциями;
- итерация конструкций.
Пример для FlowForm
Описать спецификацию процесса 1.1.2а из DFD "банкомат".

Средства для разработки всех этапов проектирования
CASE-средства для проектирования всей системы.
Рассмотрим на примере Oracle Designer.
Разработка контекстных диаграмм потоков данных
Process Modeler.

К каждому процессу может быть прикреплён мультимедиа-контент, показывающий, что там происходит.
Процессы:
- изготовление;
- доставка;
- приёмы хранения и доставка потребителю.
Разработка диаграммы сущность-связь
Построение DFD и FHD
В DFD можно осуществить привязку потоков к именам и атрибутам сущностей, определённых на предыдущем шаге.
FHD - Function Hierarchy Diagram, формируется на основе DFD. В неё можно включать новые процессы, и они автоматически появятся в DFD (но без связей).
Разработка даталогической схемы БД и приложений
Design Editor.
На этом этапе происходит:
- генерация даталогической схемы БД на основе инфологической. Строится Data Diagrams;
- генерация модулей. Строится Module Diagrams.
Сгенерированные формы затем можно изменять в Module Logic Navigator и писать скрипты для обработки событий.
Этап логического проектирования
Задачи этапа:
- оптимизация схемы БД и генерация даталогической схемы с помощью CASE-средств;
- на основании разработанных ранее спецификаций пишется код программы.
Методы индексации данных в реляционных БД
Индекс - некоторая структура, обеспечивающая быстрый поиск данных в БД.
Типы индексов:
- хэш-индекс;
- B-индекс.
Хэш-индекс
Имеет следующую структуру:

Описание:
- запись данных помещается в таблицу БД;
- значение ключа
q
хэшируется, и, тем самым, вычисляется номер разделаi
; - в
i
раздел индекса помещаетсяq
(без изменений) иp
(указатель на запись в БД).
Предположим, что выполняется запрос, и по значению ключа a = q
необходимо считать запись.
Доступ к записи можно описать с помощью следующей цепочки: $$q\rightarrow h(q) = i\rightarrow$$ чтение i
раздела хэш-индекса $$\rightarrow (q, p)\rightarrow$$ чтение по p
записи из таблицы БД.
В среднем, чтобы найти и читать запись, требуется две операции чтения (двух блоков) с внешнего диска.
Размер хэш-раздела ограничен, и поэтому в процессе работы БД возможно его переполнение. В этом случае образуются разделы перегруженных цепочек. При поиске запись ищется сначала в основном разделе, а потом в перегруженных.