Разработка базы данных для АСУ «Компьютерные курсы»

Автор работы: Пользователь скрыл имя, 02 Декабря 2012 в 13:20, курсовая работа

Краткое описание

Целью данной работы является построение информационной системы (ИС) «Компьютерные курсы» для автоматизации работы учебного заведения.Задачи данной работы:
 провести системный анализ предметной области «Компьютерные курсы»;
 провести обзор информационных технологий, подходящих для разработки информационной системы учебного заведения;
 изучить аналогичные информационные системы данной предметной области;
 описать требования, предъявляемые к разработке данной базы данных;
 разработать инфологическую модель базы данных;
 обосновать выбор модели данных и осуществить логическое проектирование информационной системы;
 нормализовать спроектированную модель и составить схему базы данных;
 осуществить физическое проектирование базы данных выбранной СУБД;
 разработать программное обеспечение, реализующее отчеты и формы для базы данных;

Содержание работы

Введение……………………………………………………………………………………….3
Глава I. Анализ предметной области объекта автоматизации «Компьютерные курсы»…4
1.1 Системный анализ объекта автоматизации «Компьютерные курсы»………….4
1.2. Обзор информационных технологий, подходящих для разработки ИС компьютерных курсов…………………………………………………………………5
1.3. Обзор продуктов-аналогов……………………………………………………….10
1.4. Требования к разрабатываемой базе данных……………………………………13
Выводы…………………………………………………………………………………13
Глава II. Проектирование базы данных……………………………………………………....14
2.1. Разработка инфологической модели……………………………………………..14
2.2. Обоснование выбора модели данных………………………………………........15
2.3. Логическое проектирование………………………………………………….......24
2.4. Нормализация схемы базы данных……………………………………………….26
Выводы………………………………………………………………………………….28
Глава III. Программная реализация……………………………………………………...........29
3.1. Анализ и выбор СУБД…………………………………………………………….29
3.2. Физическое проектирование базы данных в СУБД………………………..........29
3.3. Разработка представлений………………………………………………………...30
3.4. Разработка форм……………………………………………………………………31
3.5. Разработка отчетов……………………………………………………………........31
3.6. Реализация ограничений…………………………………………………………..32
3.7. Безопасность и контроль…………………………………………………………..32
Выводы………………………………………………………………………………......34
Заключение……………………………………………………………………………………...35
Список литературы……………………………………………………………………………..36

Содержимое работы - 1 файл

АСУ Компьютерные курсы.doc

— 346.00 Кб (Скачать файл)

В целом MS Access предоставляет большое количество возможностей за сравнительно небольшую стоимость. Также необходимо отметить ориентированность на пользователя с разной профессиональной подготовкой, что выражается в наличии большого количества вспомогательных средств (Мастеров, как уже отмечалось), развитую систему справки и понятный интерфейс. Эти средства облегчают проектирование, создание БД и выборку данных из нее.

MS Access предоставляет в распоряжение непрограммирующему пользователю разнообразные диалоговые средства, которые позволяют ему создавать приложения не прибегая к разработке запросов на языке SQL или к программированию макросов или модулей на языке VBA.

Access обладает широкими возможностями по импорту/экспорту данных в различные форматы, от таблиц Excel и текстовых файлов, до практически любой серверной СУБД через механизм ODBC.

Еще одно немаловажное преимущество MS Access заключается в развитых встроенных средствах разработки приложений. Большинство приложений, распространяемых среди пользователей, содержит тот или иной объем кода VBA (Visual Basic for Applications). Поскольку VBA является единственным средством для выполнения многих стандартных задач в Access (работа с переменными, построение команд SQL во время работы программы, обработка ошибок, использование Windows API и т. д.), для создания более-менее сложных приложений необходимо его знание и знание объектной модели MS Access.

Одним из средств программирования в Access является язык макрокоманд. Программы, созданные на этом языке, называются макросами и позволяют легко связывать отдельные действия, реализуемые с помощью форм, запросов, отчетов. Макросы управляются событиями, которые вызываются действиями пользователями при диалоговой работе с данными через формы или системными событиями.

Полупрофессиональные СУБД

SQLite

SQLite — встраиваемый движок баз  данных. В 2005 году проект получил  награду Google-O’Reilly Open Source Awards.

Слово «встраиваемый» означает, что SQLite не использует парадигму клиент-сервер, то есть движок SQLite не является отдельно работающим процессом, с которым взаимодействует программа, а предоставляет библиотеку, с которой программа компонуется и движок становится составной частью программы. Таким образом, в качестве протокола обмена используются вызовы функций (API) библиотеки SQLite. Такой подход уменьшает накладные расходы, время отклика и упрощает программу. SQLite хранит всю базу данных (включая определения, таблицы, индексы и данные) в единственном стандартном файле на том компьютере, на котором исполняется программа. Простота реализации достигается за счёт того, что перед началом исполнения транзакции весь файл, хранящий базу данных, блокируется; ACID-функции достигаются в том числе за счёт создания файла-журнала.

Несколько процессов или потоков могут  одновременно без каких-либо проблем  читать данные из одной базы. Запись в базу можно осуществить только в том случае, если никаких других запросов в данный момент не обслуживается; в противном случае попытка записи оканчивается неудачей, и в программу возвращается код ошибки. Другим вариантом развития событий является автоматическое повторение попыток записи в течение заданного интервала времени.

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

Благодаря архитектуре движка возможно использовать Sqlite как на встраиваемых (embedded) системах, так и на выделенных машинах с гигабайтными массивами данных.

 

Технологии, поддерживающие SQLite. Языки  программирования. 
Сама библиотека SQLite написана на C; существует большое количество привязок к другим языкам программирования, в том числе C++, Java, .NET, Python, Perl, PHP, Tcl (средства для работы с Tcl включены в комплект поставки SQLite), Ruby, Haskell, Scheme, Smalltalk и Lua, а также ко многим другим. Полный список существующих средств можно найти на странице проекта.

 

Web-инструментарии.

В ряде инструментариев присутствует возможность использования SQLite как  базы данных, например:

  • Adobe Flex
  • PHP
  • Ruby on Rails
  • 1C Работа в 1С-Предприятии 7.7 с базами данных SQLite
  • SQLite Manager — add-on для Firefox предлагает визуальный интерфейс для работы с SQLite

MySQL

MySQL является собственностью компании Sun Microsystems, осуществляющей разработку  и поддержку приложения. Распространяется  под GNU General Public License и под собственной коммерческой лицензией, на выбор. Помимо этого компания MySQL AB разрабатывает функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в LAMP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL портирована на большое количество платформ:AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL на OpenVMS. Важно отметить, что компания MySQL AB предоставляет для свободной загрузки не только исходные коды СУБД, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули.

MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

Профессиональные СУБД

Microsoft SQL Server

Cистема управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет — для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.

 

Функциональность. 
Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.

Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.

SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL — это совокупность одинаково конфигурированных серверов, такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.

SQL Server поддерживает избыточное дублирование данных по трем сценариям:

  • Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.
  • История изменений: Все изменения базы данных непрерывно передаются пользователям.
  • Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.

В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.

 

Разработка приложений

Microsoft и другие компании производят большое число программных средств разработки, позволяющих разрабатывать бизнес-приложения с использованием баз данных Microsoft SQL Server. Microsoft SQL Server 2005 включает в себя также Common Language Runtime (CLR) Microsoft .NET, позволяющий реализовывать хранимые процедуры и различные функции приложениям, разработанным на языках платформы .NET (например, VB.NET или C#). Предыдущие версии средств разработки Microsoft использовали только API для получения функционального доступа к Microsoft SQL Server.

1.3. Обзор продуктов-аналогов

В настоящее время на рынке информационных систем позиционируются продукты, имеющие аналогичные с разрабатываемой ИС объекты автоматизации: колледж, учебное заведение, ВУЗ. Рассмотрим подробнее данные продукты и приведем их основные особенности.

 

АСУ "Колледж"

 
Концепция АСУ УП «Колледж» была предложена в конце 90-х годов, примерная работоспособная версия создана в 2000 году, а реально работающая система появилась в 2001 году. С 2002 года в ТПК в полном режиме работают и продолжают развиваться модули: «Отделение», «Отдел кадров», «Учебная часть», «Библиотека», «Тестирование».

 

АРМ “Отдел кадров”

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

АРМ “Учебная часть”

- это мощный инструмент контроля  за ходом учебного процесса. При  помощи этого программного обеспечения  можно получить достоверную картину  по количеству проведенных часов данным преподавателем, в данной группе (это формы №2 и №3), графики учебного процесса конкретных групп. Кроме этого, можно получать списки ежедневного изменения расписания занятий и другие документы. Для корректировки учебного процесса существует раздел «Замены», в котором программа помогает подобрать предмет и преподавателя для проведения занятий в группе с учетом вычитанных часов и учебного плана.

АРМ “Отделение”

предназначен для автоматизированного  учета студентов колледжа. Предусмотрена  автоматическая сортировка списков студентов по заданному шаблону поиска, учет оплаты за обучение, учет перемещений из группы в группу. Предусмотрен вывод на печать семестровой ведомости списка группы, списков студентов группы для журналов, печать справок для военкоматов, печать выписок к дипломам.

АРМ “Библиотека”

позволяет систематизировать ведение  книжного фонда. На его основе реализован поиск нужной книги по различным  критериям с любого компьютера колледжа. Активно идет разработка реализации повседневного контроля “движения” фонда – учет выдачи книг.

АРМ “Тестирование”

помогает строить картину успеваемости в разрезе предметов, преподавателей, учебных групп. В общем доступе  находятся множество унифицированных  по формату и интерфейсу тестов по различным предметам. Тесты имеют гибкую систему настройки. Любой студент может проверить свои знания по любому предмету. В режиме тренировки программа не ограничивает тестируемого по времени и сообщает оценку, не занося ее в отчет. В режиме проверки результаты тестов заносятся в общую базу данных для анализа и обработки. При этом данные студента (фамилия, имя, группа) однозначно соответствуют его сетевому имени, т.е. для работы достаточно зарегистрироваться в сети и запустить тест – все остальное система “узнает” сама. Таким образом, в любой учебный день можно осуществлять мониторинг знаний по конкретному предмету любой группы, так как преподаватель может ограничить количество выдаваемых вопросов в соответствии с пройденным на данный момент материалом.

 

АСУ «Учебное заведение»

Программный комплекс “Автоматизированная система управления учебным заведением” представляет собой множество связанных между собой программ, обеспечивающих управление вузом в едином информационном пространстве, и включает в себя модули, работающие в среде Windows (учебный модуль, деканат, абитуриент, методический отдел, отдел кадров и т.д.) и WEB портал (отображение расписания занятий, успеваемости, учебных планов, начислений оплат за общежитие, контроль оплат за обучение и общежитие, тестирование студентов, запись студентов на изучение дисциплин т.д.). Вся информация хранится в одной общей базе данных. 
 
 Основными отличительными характеристиками комплекса, является наличие инструмента самостоятельного создания различных печатных форм и статистических экранных форм, что делает автоматизированную систему управления учебным заведением почти не зависимой от фирмы разработчика. Существующие функциональные возможности, как показала практика и анализ, позволяют охватить фактически все индивидуальные особенности вузов без программной доработки кода. Комплекс также позволяет создавать и учитывать индивидуальные траектории обучения студентов, в том числе через Internet. 
 
 Информация представленная на сайте позволяет: 
• просмотреть перечень решаемых задач и основные функциональные возможности; 
• получить доступ к библиотеке печатных форм, а также просмотреть примеры сформированных форм (раздел находится на этапе наполнения); 
• просмотреть список (историю) изменений и добавлений в различных модулях комплекса, а также скачать последнюю версию программы (доступно только зарегистрированным пользователям); 
• скачать инструкцию пользователя с добавлениями и изменениями (доступно только зарегистрированным пользователям).

Информация о работе Разработка базы данных для АСУ «Компьютерные курсы»