Структурное проектирование АСОИ (1034723)
Текст из файла
Оглавление
Лекция №1 - Распределённые системы обработки данных 4
Распределённые системы обработки данных 4
Пример модели РСОД 4
Подходы к проектированию автоматизированных систем 5
Модели проектирования 5
Лекция №2 - Спиральная модель 8
Распределённые системы обработки данных 8
Модели проектирования 8
Диаграммы выявления информационных потребностей 10
SADT 10
DFD 11
Лекция №3 - DFD 12
Диаграммы выявления информационных потребностей 12
DFD 12
Пример построения DFD 12
Лекция №4 - Работа клирингового центра 18
Диаграммы выявления информационных потребностей 18
DFD 18
Работа клирингового центра 18
ПО для построения DFD 19
Этап концептуального проектирования 19
Проектирование инфологической схемы БД 20
Лекция №5 - Спецификации прикладных программ 22
Этап концептуального проектирования 22
Проектирование инфологической схемы БД 22
Разработка спецификация будущих приложений 22
Лекция №6 - Этап логического проектирования 24
Этап концептуального проектирования 24
Разработка спецификация будущих приложений 24
Средства для разработки всех этапов проектирования 25
Разработка контекстных диаграмм потоков данных 25
Разработка диаграммы сущность-связь 26
Построение DFD и FHD 26
Разработка даталогической схемы БД и приложений 26
Этап логического проектирования 26
Методы индексации данных в реляционных БД 26
Лекция №7 - Индексация данных 28
Этап логического проектирования 28
Методы индексации данных в реляционных БД 28
Лекция №8 - SQL 33
Этап логического проектирования 33
Методы индексации данных в реляционных БД 33
Некоторые возможности языка SQL 34
Оператор SELECT 36
Лекция №9 - SQL (продолжение) 37
Некоторые возможности языка SQL 37
Запросы без соединения таблиц 37
Запросы с использованием соединения таблиц 39
Подзапросы 40
Лекция №10 - SQL (продолжение) 41
Некоторые возможности языка SQL 41
Подзапросы 41
Запросы, использующие кванторы 42
Некоторые стандартные функции SQL 43
Особенности разработки приложений для работы с БД в сети 44
Блокировка обновляемых записей 44
Ведение транзакций 45
Лекция №11 - Восстановление БД после сбоя 47
Особенности разработки приложений для работы с БД в сети 47
Ведение версий записи 47
Схема восстановления данных после сбоя 47
Обработка тупиковых ситуаций 49
Лекция №12 - Анализ и выбор архитектуры 50
Анализ и выбор архитектуры распределённой системы 50
Модели доступа к данным 50
Лекция №13 - Анализ и выбор архитектуры (продолжение) 54
Анализ и выбор архитектуры распределённой системы 54
Модели доступа к данным 54
Интероперабельные системы 56
Лекция №14 - Анализ и выбор архитектуры (продолжение) 58
Анализ и выбор архитектуры распределённой системы 58
Интероперабельные системы 58
Тиражирование данных 58
Зачем нужно тиражирование 59
Классификация способов тиражирования 59
Лекция №15 - Анализ и выбор архитектуры (продолжение) 62
Анализ и выбор архитектуры распределённой системы 62
Интероперабельные системы 62
Теорема CAP 65
Лекция №1 - Распределённые системы обработки данных
Распределённые системы обработки данных
Распределённая система обработки данных (РСОД):
-
если её данные и/или программы располагаются на разных узлах системы;
-
если система обеспечивает прозрачный доступ к этим данным. Незаметно для клиента, он не видит подзапросов, а только результат;
-
эта система устойчива к потере связности.
Пример модели РСОД
Два филиала.
В Санкт-Петербурге сидит оператор, выполняет запрос: "Найти клиентов банка, у которых остаток на счёте в Санкт-Петербурге остаток на счёте не меньше 2000, а в Москве - не менее 1000".
Этот запрос на языке SQL поступает на сервер БД №2 и там оптимизируется: выделяются подзапросы:
-
к серверу БД №1: найти клиентов, у которых остаток на счёте не меньшее 1000, и которые имеют счёт в Санкт-Петербурге. Запрос выполняется на сервере БД №1 и результат возвращается на сервер БД №2;
-
сервер БД №2 формирует и выполняет: из полученного на предыдущем шаге множества найти клиентов, у которых остаток на счёте в Санкт-Петербурге составляет не меньше 2000. Подзапрос выполняется, и результаты возвращаются на исходную рабочую станцию.
Кажется, что эта система распределённая. Но не будем спешить. Например, прервалась связь между филиалами - и первый подзапрос не выполнится. Так что система из примера не является распределённой. Для обеспечения распределённости надо использовать репликации - локальные копии БД других филиалов.
Подходы к проектированию автоматизированных систем
Есть несколько:
-
структурный:
-
общая задача декомпозируется по иерархии сверху вниз на более простые. Используются диаграммы потоков данных (DFD);
-
используются реляционные базы данных;
-
при обработке записей БД применяется процедурный язык (C, C++ и прочие). SQL не является процедурным. Возникает проблема импеданса, которая решается курсовом;
-
объектно-ориентированный:
-
с самого начала выделяются классы (объекты);
-
используются объектно-ориентированные БД;
-
при обработке записей применяется объектно-ориентированное программирование.
Преимущества и недостатки:
-
при ООП, по существу, предметную область можно представить в виде сцены, а объекты выступают в качестве актёров на этой сцене. Всё очень наглядно. Число объектов резко сокращается по сравнению со структурным. * при структурном же подходе, при усложнении предметной области, БД становится необозримой;
-
некоторые предметные области сложно представить в виде объектов и связей между ними. Например, медицина, экономика - там данные плохо структурированы;
-
для ОО БД нет такой стройной теории, как для реляционных;
В общем, мы будем рассматривать структурный подход.
Модели проектирования
В структурном подходе к проектированию РСОД используются две модели:
-
каскадная - в настоящее время не используется;
-
спиральная - используется сейчас.
Каскадная модель
Проектирование происходит поэтапно.
Особенность каскадной модели: каждый следующий этап разработки системы начинается после завершения всех работ предыдущего этапа.
Краткое описание этапов проектирования
Выявление потребностей конечных пользователей
Функциональный граф предметной области - это граф, узлы которого обозначают процессы и данные будущей системы, а дуги используются для обозначение входных и выходные данных процессов этого графа.
Пример графа:
d22=f2(d12,d21)=f2(f1(d11),d21)
И, вообще говоря, функционального графа достаточно для построения всей системы.
Современные компьютеры построены по архитектуре фон Неймана (данные и процессы разделены). Поэтому для реализации системы проектировщик вынужден извлечь из графа данные (овалы) и структурировать их в виде схемы БД, а также извлечь процессы (прямоугольники) и реализовать их в программах. В общем, проектировщик вынужден резать граф "по живому" - что и является источником большого количества ошибок при проектировании.
Концептуальное проектирование
Пример инфологической схемы:
Пунктиром показаны синтетические ключи.
Спецификафия задачи - это совокупность входных и выходных данных и алгоритм связи между ними. Для описания спецификаций используется структурированный язык.
Концептуальный проект не зависит от будущей реализации (от архитектуры системы). Он определяет содержание проекта.
Лекция №2 - Спиральная модель
Распределённые системы обработки данных
Модели проектирования
Каскадная модель
Краткое описание этапов проектирования
Выбор архитектуры
На этом этапе решаются следующие задачи:
-
выбирается модель доступа к данным (файловый сервер, сервер БД, сервер приложений);
-
выбирается комплекс технических средств (сервер, рабочие станции);
-
выбор общесистемного ПО (приобретаемое ПО, а не разрабатываемое - операционные системы, СУБД);
-
выбор методов тиражирования данных - обеспечивает устойчивость системы к потери связности.
Логическое проектирование
Выполняется отражение концептуального проекта (2 этап) в СУБД или в КТС (3 этап).
Логический проект зависит от реализации, в отличие от концептуального.
Комплексная отладка
Здесь этапы разработки БД и приложения объединяются.
Сопровождение
Выполняется эксплуатация системы, выявляются и устраняются ошибки. Модернизация системы, если информационные потребности конечных пользователей меняются (а меняются они всегда).
Преимущества и недостатки каскадной модели
Преимущества:
-
проста;
-
понятна;
-
имеет некоторую привязку к ГОСТу;
Недостатки:
-
цикл разработки системы по этой модели достаточно велик (более 2 лет). Система успевает начать морально устаревать, появляются задачи, не заложенные в проект. Поэтому сразу после внедрения системы требуется её модернизация.
Результаты исследования, полученные Мартином
Диаграмма распределения по этапам проектирования выявленных ошибок:
Диаграмма распределения трудозатрат на выявление и исправление ошибок:
Диаграмма распределения трудозатрат по этапам проектирования:
На основании этих диаграмм можно сделать вывод, что при использовании каскадной модели почти 50% трудозатрат приходится на исправление ошибок, допущенных на первых двух этапах.
Законы информатики
Сформулированы на основе результатов исследования Мартина.
Два закона:
-
Закон неопределённости - процесс автоматизации задачи меняет представление пользователя об этой задаче. То есть, пользователь решает эту задачу без автоматизации иначе, чем с ней. Поэтому надо привлекать конечного пользователя к проектированию системы уже на ранних этапах;
-
Закон цены ошибки - чем больше времени прошло с момента совершения ошибки проектирования до момента её обнаружения, тем больше требуется затрат на её исправление.
Спиральная модель
Модель можно представить следующим образом:
Цифрами обозначены этапы каскадной модели, то есть она как бы встроена в спиральную.
Но в отличие от каскадной, все этапы реализуются с помощью CASE-средств. Использование этих средств позволяет существенно уменьшить время реализации витка подсистемы.
CASE средства являются основной RAD (Rapid Application Development). Эта технология включает в себя следующие шаги:
-
с помощью CASE-средств проектировщик разрабатывает и уточняет графических интерфейс. Здесь не надо детально писать код, используется графически-объектная технология;
-
после согласования графического интерфейса разработчик приступает к детальному программированию - обработка события от элементов графического интерфейса (например, нажатия кнопок).
Витков в спирали может быть любым. Разделение работ на 6 этапов является условным, так как работы могут выполнятся в комплексной итерации и параллельно на любом витке спирали.
Диаграммы выявления информационных потребностей
SADT
SADT - Structured Analysis and Design Technique - используются для описания информационных (бизнес) процессов, которые существуют в организациию. Здесь описывается и ручная обработка, и машинная.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.