Курсовая работа. КУРСОВАЯ Мрыхин Е.Р.. Реферат 4 Введение 4
Скачать 1.2 Mb.
|
3. Анализ технического задания и обоснования структурыпроектируемойсистемыЗаданием курсовой работы является создание информационной системы «Телефонные переговоры». Компания предоставляет абонентам телефонные линии для междугородних переговоров. Задачей является отслеживание стоимости междугородних телефонных переговоров. Абонентами компании являются юридические лица. Все переговоры абонента с другим городом автоматически фиксируется в базе данных. Стоимость переговоров зависит от города, в который осуществляется звонок, и времени суток (день, ночь).Телефонная компания разработала гибкую систему скидок на переговоры. Так, стоимость минуты уменьшается в зависимости от длительности разговора. Размер скидки для каждого города разный. Согласно техническому заданию, база данных должна наглядно и в удобном виде представлять информациюоб абонентах, переговорах, тарифах, скидках. Техническое задание на разработку информационной системы «Телефонные переговоры» включает основные этапы разработки, модули информационной системы, описание базы данных. В ходе разработки ТЗ были выделены следующие этапы: анализ предметной области; построение ER- диаграммы базы данных «Телефонные переговоры» проектирование таблицы базы данных; разработка форм информационной системы; сборка частей приложений; тестирование ИС; разработка отчетов, запросов. Основные требования к методике составления информационной системы следующие: Данные должны быть предоставлены во взаимосвязанных таблицах. Каждая таблица должна содержать точные, проверенные данные. Внесенные в таблицы данные должны быть правильно оформлены. Таблицы должны быть связны в иерархической последовательности. Созданная информационная система должна иметь экранную кнопочную форму, что обеспечивает легкость применения. Поиск по записям. Иметь возможность вносить новые данные. Иметь быстрый доступ ко всем таблицам. Возможность редактирования данных. Поиск по ключевым полям. Печать отчета. 4.Концептуальное проектирование предметной области4.1.Описание функционирования информационной системыИнформационная система «Телефонные переговоры» (далее ИС «Телефонные переговоры») предназначена для ведения и хранения информации о клиентах, операциях, сотрудниках. ИС «Телефонные переговоры» разработана в виде приложения, предоставляющее пользователю возможность просмотра информации об Абонентах(наименование, ИНН, адрес). Переговоры (Дата, Номер телефона, город, длительность разговора в минутах, Время суток, Стоимость переговоров, Стоимость с учетом скидки). Тарифы (город, Тариф (стоимость минуты разговора) дневной, Тариф ночной). Скидки (город, продолжительность переговоров, Процент скидки от общей суммы). Форма содержит кнопки для ввода, обновления, поиска данных, поддерживает возможность корректировки данных, кнопки перехода на другие формы. Поддерживается возможность работы с запросами и отчетами. 4.2.Постановка задачиОписание предметной области Вы работаете в коммерческой службе телефонной компании. Компания предоставляет абонентам телефонные линии для междугородних переговоров. Вашей задачей является отслеживание стоимости междугородних телефонных переговоров. Абонентами компании являются юридические лица, имеющие телефонную точку, ИНН, расчетный счет в банке. Стоимость переговоров зависит от города, в который осуществляется звонок, и времени суток (день, ночь). Каждый звонок абонента автоматически фиксируется в базе данных. При этом запоминаются город, дата, длительность разговора и время суток. Информационная система должна осуществлять: ведение учета переговоров; поиск по дате, фамилии названии) абонента. В пользовательском интерфейсе базы данных должны быть предусмотрены следующие возможности: поиск переговоров; поиск абонентов; поиск по скидкам; редактирование информации; печать отчета. 5. Логическое проектирование системы5.1. Выбор и обоснование инструментария проектированияРассмотрим существующие СУБД для выбора инструмента проектирования базы данных информационной системы «Телефонные переговоры». 1. Redis. Redis (англ. Remotedictionary Server) – это сетевое журналируемое хранилище данных типа «ключ -значение» с открытым исходным кодом. Нереляционная высокопроизводительная СУБД. Хранит базу данных в оперативной памяти, снабжена механизмами снимков и журналирования для обеспечения постоянного хранения (на диске). Также предоставляет операции для реализации механизма обмена сообщениями в паттерне издатель-подписчик. С его помощью приложения могут создавать каналы, подписываться на них и помещать в каналы сообщения, которые будут получены всеми подписчиками (как IRC-чат). Поддерживает репликацию данных с основных узлов на несколько подчинённых (англ. master‑slavereplication). Также Redis поддерживает транзакции и пакетную обработку команд (выполнение пакета команд, получение пакета результатов). Redis работает на большинстве POSIX-систем, таких как Linux, *BSD, Mac OS X без каких-либо дополнений.Linux и Mac OS X – две операционные системы, в которых был разработан и в большей степени протестирован Redis, поэтому VMware рекомендует использовать именно их для развёртывания. Официальной поддержки для сборок Windows нет, но доступны некоторые опции, позволяющие обеспечить работу Redis на этой системе. Компания Microsoft активно работает над переносом Redis на Windows. В версии 2.6.0 добавлена поддержка Lua, позволяющего выполнять запросы на сервере. Lua позволяет атомарно совершить произвольную обработку данных на сервере и предназначена для использования в случае, когда нельзя достичь того же результата с использованием стандартных команд. Множество языков программирования имеют библиотеки для работы с Redis: C, C++, C#, Clojure, Lisp, Erlang, Java, JavaScript, Haskell, Lua, Perl, PHP, Python, Ruby, Scala, Go, Tcl, Rust, Swift. Все данные Redis хранит в виде словаря, в котором ключи связаны со своими значениями. Одно из ключевых отличий Redis от других хранилищ данных заключается в том, что значения этих ключей не ограничиваются строками. Поддерживаются следующие абстрактные типы данных: Строки. Списки. Множества. Хеш-таблицы. Упорядоченные множества. Тип данных значения определяет, какие операции (команды) доступны для него. Redis поддерживает такие высокоуровневые операции, как объединение и разность наборов, а также их сортировку. Восстановление данных проводится двумя разными способами. Первый – это механизм снимков, в котором данные асинхронно переносятся из оперативной памяти в файл формата *RDB (расширение дампов Redis). Второй способ (с версии 1.1) – файл, доступный только для дозаписи, в котором хранится лог всех операций, изменявших данные в памяти. Redis поддерживает репликацию типа master-slave. Данные с любого сервера Redis могут реплицироваться произвольное количество раз. Репликация полезна для масштабирования чтения (но не записи) или при очень больших объёмах данных. Все данные, которые попадают на один узел Redis (который называется master) будут попадать также на другие узлы (называются slave). Для конфигурирования slave-узлов можно изменить опцию slaveof или аналогичную по написанию команду (узлы, запущенные без подобных опций являются master-узлами). Репликация помогает защитить данные, копируя их на другие сервера. Репликация также может быть использована для увеличения производительности, так как запросы на чтение могут обслуживаться slave-узлами. Эти узлы могут ответить слегка устаревшими данными, но для большинства приложений это приемлемо. Система репликации Redis ещё не поддерживает автоматическую отказоустойчивость. Если master-узел выходит из строя, необходимо вручную выбрать новыйmaster – из списка slave-узлов. Необходимо использовать RedisSentinel для мониторинга и автоматического переключения master-узлов, если необходима устойчивая к сбоям система. Redis Sentinel – это система, разработанная для помощи в управлении узлами Redis. Она выполняет следующие задачи: Мониторинг: Sentinel постоянно проверяет, что master- и slave- узлы работают так, как ожидается. Уведомление: Sentinel может уведомить системного администратора или другую программу о том, что с отслеживаемыми узлами что-то не так. Автоматическое переключение: Если master-узел не работает так, как ожидается, Sentinel может начать процесс восстановления работоспособности, в котором slave-узел объявляется как master-, другие slave-узлы меняют конфигурацию на использование нового master-узла и приложение информируется об использовании нового адресаmaster-узла. Поставщик конфигурации: Sentinel сообщает клиентам и другим Redis-узлам адрес текущегоmaster-узла. В случае отказа, Sentinel сообщает новый адрес. RedisSentinelвходит в состав Redis начиная с версии 2.6 (Sentinel 1 – устарел). Начиная с версии Redis 2.8 поставляется текущая версия–Sentinel 2. Sentinel не рекомендуется использовать в единственном экземпляре. Кластер Sentinel-узлов поддерживает кворум, благодаря чему сохраняет работоспособность даже при переменном составе и временном отсутствии некоторых из них. Microsoft Access Microsoft Access – система управления базами данных от фирмы Microsoft. СУБД Access занимает одно из ведущих мест среди систем для проектирования, создания и обработки баз данных. Достоинствами MSAccess являются: очень простой графический интерфейс, который позволяет не только создавать собственную базу данных, но и разрабатывать приложения, используя встроенные средства; хранит все данные в одном файле; предлагает большое количество Мастеров, которые выполняют основную работу за пользователя при работе с данными и разработке приложений, помогают избежать рутинных действий и облегчают работу неискушенному в программировании пользователю; полностью совместим с операционной системой Windows; ориентированность на пользователя с разной профессиональной подготовкой; широкие возможности по импорту/экспорту данных в различные форматы, от таблиц Excel и текстовых файлов, до практически любой серверной СУБД через механизм ODBC; наличие развитых встроенных средств разработки приложений; наличие встроенного языка макрокоманд. FoxPro (Фокс-про́) – один из диалектов языка программирования DBase, применяемый в одноименном программном пакете. Как язык программирования, в основном, применяется для разработки Файл-серверныхреляционных СУБД, хотя существует за счет гибких и богатых средств языка возможность разработки и других классов программ. В настоящее время используется в среде разработки Microsoft Visual FoxPro. В качестве средства реализации курсовой работы использовалось следующее программное обеспечение: разработка базы данных – Microsoft Access 2007. Данный программный продукт более прост для разработки базы данных. |