Бакалавр
Дипломные и курсовые на заказ

Проект разработки приложения для управления базой данных учащихся СОШ

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

Информационные процессы влияют на все составляющие образовательной системы, определяют систему ориентиров и точек роста образовательной системы в целом. Связано это, в первую очередь, с тем, что образовательный процесс, представляющий собой организованное взаимодействие его участников, является также информационным процессом, связанным с производством, хранением, обменом и потреблением различной… Читать ещё >

Проект разработки приложения для управления базой данных учащихся СОШ (реферат, курсовая, диплом, контрольная)

Министерство образования и науки Российской Федерации Грозненский государственный нефтяной технический университет им. академика М. Д. Миллионщикова Факультет автоматизации и прикладной информатики Кафедра «Информационные технологии «

ДИПЛОМНЫЙ ПРОЕКТ Тема «Проект разработки приложения для управления базой данных учащихся СОШ Выполнил: ст-ка гр. ИТО-10

Денисултанова Лалита Робертовна Руководитель проекта:

Моисеенко Наталья Анатольевна

Грозный 2015

  • Введение
  • Глава 1. Аналитическая часть
  • 1.1 Технико-экономическая характеристика предметной области
  • 1.2 Техническая и технологическая сущность задачи
  • 1.3 Обоснование необходимости и цели использования вычислительных и телекоммуникационных средств для решения задачи
  • 1.4 Постановка задачи
  • 1.5 Анализ существующих разработок и обоснование выбора технологии проектирования
  • Рис. 1.4 Скриншот программы SMS-Школа
  • Глава 2. Проектная часть
  • 2.1 Технологическое обеспечение задачи
  • 2.2 Программное обеспечение задачи
  • 2.3 Техническое обеспечение задачи
  • 2.4 Оценка эффективности проекта
  • Глава 3. Информационная безопасность
  • 3.1 Объект защиты
  • 3.2 Методы обеспечения информационной безопасности
  • Заключение
  • Список использованных источников

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

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

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

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

Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом.

Разработка приложений для работы с БД автоматизирует работу на предприятиях, т.к. избавляет от бумажных документов и позволяет выбирать, находить и редактировать данные, которые требуются в кратчайшие сроки. Автоматизация хранения и поиска данных ведёт к повышению производительности труда. В данное время использование баз данных является актуальным практически во всех сферах деятельности человека, в том числе в сфере образования. [3]

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

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

Разработка автоматизированной базы данных очень важна для учебного заведения, так как разработанный программный продукт значительно упростит работу секретарю и классным руководителям, а также избавит их от излишнего объёма документации и сделает работу менее трудоёмкой.

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

Цель проекта — разработать базу данных и прикладное программное приложение для действующего образовательного учреждения обеспечивающее хранение, накопление и предоставление всей необходимой информации об учащихся, с помощью которого заказчик, в частности МБОУ «Средняя общеобразовательная школа № 18» г. Грозный, будет вести учет учащихся школы, контролировать данные о них, оперативно получать различные запросы, затрачивая на это минимум времени, осуществлять мониторинг их достижений, уровня подготовки и вести внутришкольный контроль за учащимися.

Задачи исследования:

— изучить структуры и содержания образовательного учреждения;

— создать базу данных учащихся СОШ;

— разработать прикладное программное приложение для управления базой данных учащихся СОШ.

Объектом исследования — является процесс разработки и внедрения прикладного программного приложения для управления БД.

Результат работы — разработанное программное приложения для управления базой данных учащихся СОШ.

Глава 1. Аналитическая часть

1.1 Технико-экономическая характеристика предметной области

Предметной областью создания прикладного программного приложения является МБОУ «Средняя общеобразовательная школа № 18» г. Грозного (рис. 1.1.).

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

Муниципальное бюджетное общеобразовательное учреждение «Средняя общеобразовательная школа № 18» г. Грозного, в дальнейшем именуемое «Учреждение», создано в соответствии с постановлением Мэрии города Грозного от 18.11.2011 г. № 95. Учредителем является Мэрия г. Грозного в лице Департамента образования Мэрии г. Грозного.

В настоящее время в МБОУ «СОШ № 18» обучаются 1350 учащихся. Из них:

1. 1−4 классы 595 учащихся;

2. 5−9 классы 590 учащихся;

3. 10−11 классы 165 учащихся;

Создано 44 классов-комплектов, обучающихся в 2 смены. Шестидневная рабочая неделя.

В соответствии с п. 3 ст.5. Закона РФ «Об образовании» школа обеспечивает доступность начального, общего среднего, общего полного образования.

Для учащихся созданы различные интеллектуальные и развлекательные кружки.

Учащиеся СОШ № 18 принимают активное участие в школьных, городских, республиканских олимпиадах, в научно-практических конференциях. [10]

Рис. 1.1 Структура МБОУ «Средняя общеобразовательная школа № 18» г. Грозного

1.2 Техническая и технологическая сущность задачи

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

Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом.

Разработка приложений для работы с БД автоматизирует работу на предприятиях, т.к. избавляет от бумажных документов и позволяет выбирать, находить и редактировать данные, которые требуются в кратчайшие сроки. Автоматизация хранения и поиска данных ведёт к повышению производительности труда. В данное время использование баз данных является актуальным практически во всех сферах деятельности человека, в том числе в сфере образования.

На сегодняшний день разработчик не связан рамками какого-либо конкретного ПО, а в зависимости от поставленной задачи может использовать самые разные приложения. [5]

1.3 Обоснование необходимости и цели использования вычислительных и телекоммуникационных средств для решения задачи

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

В наши дни, на рынке ПО существует множество программ, позволяющих сделать работу любого предприятия более эффективной. Однако они достаточно сложны в освоении и довольно громоздки для данного образовательного учреждения. Кроме того далеко не все из них подходят к специфике конкретной организации или предприятия, а некоторых просто не существует в природе. Также, в одних из них много лишних функций, в других — нет функций, необходимых для данной средней общеобразовательной школы. Написание программы специализированной под конкретную организацию или учреждение позволяет улучшить производительность труда, откроет новые горизонты. Поэтому было принято решение о необходимости собственной разработки, которая будет отвечать всем поставленным требованиям и иметь интуитивно понятный интерфейс рассчитанный на конечного пользователя. И не потребует систематической покупки лицензий, что является немаловажным фактом. [3]

1.4 Постановка задачи

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

Для этого необходимо решить следующие задачи:

— разработать базу данных учащихся средней образовательной школы;

— разработать прикладное программное обеспечение, которое выполняет следующие функции обработки данных: пополнение базы данных, изменение (редактирование и удаление) данных, поиск по заданным критериям, сканирование базы данных и оценка ее наполненности;

— разработать интуитивно понятный интерфейс, ориентированный на конечного пользователя;

— предусмотреть защиту данных от несанкционированного доступа;

— приложение должно работать на свободно распространяемом программном обеспечении.

Данная разработка позволит снизить временные и трудовые затраты работников школы.

Схема формирования и использования базы данных в образовательном учреждении представлена на рисунке 1.2.

Рис. 1.2 Схема формирования и использования базы данных

Функциональная схема проекта представлена на рисунке 1.3.

Рис. 1.3 Функциональная схема проекта

1.5 Анализ существующих разработок и обоснование выбора технологии проектирования

В ходе выполнения курсового проекта были проанализированы программные приложения, предназначенные для управления базами данных учащихся СОШ.

1. SMS-Школа (Рис. 1.4).

Программа предназначена для информирования родителей учеников об успеваемости и школьных событиях путем рассылки им индивидуальных SMS-сообщений либо e-mail. Программа «SMS-Школа» отсылает SMS-сообщения при помощи мобильного телефона или GSM-терминала, подключенного к компьютеру.

Основные возможности программы «SMS-Школа» :

— Создание и поддержка всех необходимых для работы справочников: видов оценок, учебных предметов, преподавателей, классов, списков учащихся классов.

— Импорт и экспорт данных в Excel и другие программы.

— Учет оплаты родителей за пользование сервисом рассылки SMS.

— Удобный ввод оценок учеников (ведение классных журналов).

— Рассылка сообщений об оценках, полученных учениками выбранного класса за день

база программное учащийся информация

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

— Ведение протокола отсылки SMS. Статистика отправки сообщений за произвольный период времени.

— Возможность работы с общей базой данных одновременно на нескольких компьютерах, объединенных в локальную сеть.

— Автоматическое создание резервных копий базы данных программы. [9]

Рис. 1.4 Скриншот программы SMS-Школа

2. База данных учащихся «Наша школа 1.2» (Рис. 1.5).

База данных учеников «Наша школа» создана в программе Microsoft Office Access 2007.

Автор МОУ СОШ № 2 г. Пестово.

Для полнофункционального использования базы необходимо наличие установленной программы Microsoft Office Access 2007. При отсутствии Access 2007 нужна версия «Наша школа 1.21»

Возможности базы данных:

— Хранение и систематизация сведений об учащихся, выпускниках, классах, преподавателях, успеваемости.

— Быстрое получение необходимых сведений об учащемся. Формирование списков учащихся по заданным критериям (классу, году рождения, успеваемости, занятости в ДО и др.) с выводом необходимых данных.

— Формирование отчётов по заданным критериям.

— Мониторинг образовательного процесса (по классам, педагогам, учебным периодам)

— Получение статистических сведений, использующихся для составления отчётности.

— Возможность хранить вложения на каждого учащегося в формате doc; jpeg и др. (характеристики, копии св. о рождении, заявления о приёме и т. д.). Пользователи Microsoft Office Access 2007 могут изменять программу и формировать новые запросы под свои требования.

База данных создавалась для использования в своей школе, авторы не имели своей целью широкое распространение программы. [11]

Рис. 1.5 Банк данных «Наша школа»

3. Дневник. ру — Единая образовательная сеть России, которая формирует уникальную электронную среду для учителей, учеников и их родителей. Разработка проекта началась в 2007 году и уже в 2009 проект был запущен под эгидой приоритетного национального проекта «Образование». Дневник. ру поддерживается Полномочным Представительством Президента РФ в СЗФО, региональными администрациями, министерствами, комитетами и департаментами образования.

Дневник. ру (рис. 1.6) совмещает в себе три модуля:

— дистанционное обучение,

— управление школьным документооборотом,

— социальная сеть.

Рис. 1.6 Дневник ру

Базовый функционал Дневник. ру бесплатный для всех участников образовательного процесса. Пользователям доступны электронный классный журнал и электронный дневник учащегося, а также медиатека, библиотека образовательной литературы, онлайн-тренинг тестирования ЕГЭ, возможность пройти вступительные олимпиады в крупнейшие ВУЗы России. [8]

Глава 2. Проектная часть

Проектная часть дипломной работы представлена в детальном описании процесса разработки приложения для управления базой данных учащихся СОШ.

2.1 Технологическое обеспечение задачи

При разработке данного прикладного программного приложения были использованы:

1. Microsoft Visual Studio

Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE,.net Framework, Xbox, Windows Phone.net Compact Framework и Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода напредметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Visual Studio включает один или несколько компонентов из следующих:

— Visual Basic.net, а до его появления — Visual Basic

— Visual C++

— Visual C#

— Visual F# (включён начиная с Visual Studio 2010)

Многие варианты поставки также включают Microsoft SQL Server либо Microsoft SQL Server Express

В прошлом, в состав Visual Studio также входили продукты:

— Visual InterDev

— Visual J++

— Visual J#

— Visual FoxPro

— Visual Source Safe — файл-серверная система управления версиями

Финальный релиз Visual Studio 2013 стал доступен для загрузки 17 октября 2013 вместе с.net 4.5.1

С момента выхода Visual Studio 2013 уже выпущено 3 обновления. Команда разработки не сбавляет темп, и среда получает новые функции и исправления с очень высокой частотой. (Рис. 2.1). [14]

Рис. 2.1 Окно программы Microsoft Visual Studio 2013

2. Язык программирования С#.

Язык программирования С# - (произносится си-шарп) — объектно-ориентированный язык программирования. Разработан в 1998;2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft.net и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23 270. Компилятор с C# входит в стандартную установку самой.net, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).

Особенности языка. C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем. (Однако эта закономерность была нарушена с выходом C# 3.0, представляющим собой расширения языка, не опирающиеся на расширения платформы.net.) CLR предоставляет C#, как и всем другим.net-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.net, J# и др.

Главной особенностью языка C# является его ориентированность на платформу Microsoft.net — создатели C# ставили своей целью предоставление разработчикам естественных средств доступа ко всем возможностям платформы.net. Видимо, это решение можно считать более или менее вынужденным, так как платформа.net изначально предлагала значительно большую функциональность, чем любой из существовавших на тот момент языков программирования.

Кроме того, создатели С# хотели скрыть от разработчика как можно больше незначительных технических деталей, включая операции по упаковке/распаковке типов, инициализации переменных и сборке мусора. Благодаря этому программист, пишущий на C#, может лучше сконцентрироваться на содержательной части задачи. В процессе решения этой задачи проектировщики C# пытались учесть уроки реализации Visual Basic, который достаточно успешен в скрытии деталей реализации, но недостаточно эффективен для написания крупных промышленных систем: создатели C# декларируют, что новый язык обладает мощностью С++ и в то же время простотой Visual Basic.

Еще одно преимущество создания нового языка программирования по сравнению с расширением существующих заключается в том, что при создании нового языка нет необходимости заботиться о проблемах обратной совместимости, которые обычно заметно затрудняют исправление застарелых проблем и даже внесение новых свойств в стандарт языка Таким образом, C# представляет собой новый язык программирования, ориентированный на разработку для платформы.net и пригодный как для быстрого прототипирования приложений, так и для разработки крупномасштабных приложений.

Многие существующие языки программирования обладают весьма запутанным синтаксисом и конструкциями с неочевидной семантикой — достаточно вспомнить сверх перегруженную значениями открывающую фигурную скобку в С++, использование ключевых слов в качестве идентификаторов в PL/I или проблемы отличия описателей видов от операций в Алголе 68. Все эти языковые особенности затрудняют написание компиляторов и служат источником труднонаходимых ошибок при создании программ. На другом полюсе этой проблемы находится язык Паскаль, в котором в целях упрощения было решено пожертвовать даже очевидно удобными для программиста свойствами.

C# занимает некоторую промежуточную позицию: из стандарта языка убраны наиболее неприятные и неоднозначные особенности С++, но в то же время язык сохранил мощные выразительные возможности, присущие для таких языков, как С++, Java или VB.

Некоторые особенности языка С++, которые не поддерживаются C#:

— по умолчанию, С# запрещает прямое манипулирование памятью, предоставляя взамен богатую систему типов и сборку мусора. Непосредственная работа с памятью по-прежнему доступна в специальном режиме «опасного» кода, но требует явного декларирования. Как следствие, в C# активно используется всего один оператор доступа". «;

— преобразования типов в C# значительно строже, чем в С++, в частности, большинство преобразований может быть совершено только явным образом. Кроме того, все приведения должны быть безопасными (т.е. запрещены неявные преобразования с переполнением, использование целых переменных как указателей и т. п.). Естественно, это заметно упрощает анализ типов при компиляции;

— одной из типичных ошибок в С++ было отсутствие оператора break при обработке одной из веток оператора switch. Проблема «провала» (fall-through) в C# решена кардинальным образом: компилятор требует наличия явного оператора перехода (break или goto case) в любой ветке;

— в C#, как и в Java, нет множественного наследования, вместо него предлагается использовать реализацию нескольких интерфейсов. Несмотря на то, что мнения по поводу множественного наследования сильно разнятся, отсутствие этого механизма в C# должно, по крайней мере облегчить разработку компилятора.

Проект C# был начат в декабре 1998 и получил кодовое название COOL (C-style Object Oriented Language). Версия 1.0 была анонсирована вместе с платформой.net в июне 2000 года, тогда же появилась и первая общедоступная бета-версия; C# 1.0 окончательно вышел вместе с Microsoft Visual Studio.net в феврале 2002 года.

Первая версия C# напоминала по своим возможностям Java 1.4, несколько их расширяя: так, в C# имелись свойства (выглядящие в коде как поля объекта, но на деле вызывающие при обращении к ним методы класса), индексаторы (подобные свойствам, но принимающие параметр как индекс массива), события, делегаты, циклы foreach, структуры, передаваемые по значению, автоматическое преобразование встроенных типов в объекты при необходимости (boxing), атрибуты, встроенные средства взаимодействия с неуправляемым кодом (DLL, COM) и прочее.

Кроме того, в C# решено было перенести некоторые возможности C++, отсутствовавшие в Java: беззнаковые типы, перегрузку операторов (с некоторыми ограничениями, в отличие от C++), передача параметров в метод по ссылке, методы с переменным числом параметров, оператор goto (с ограничениями). Также в C# оставили ограниченную возможность работы с указателями — в местах кода, специально обозначенных словом unsafe и при указании специальной опции компилятору.

Проект спецификации C# 2.0 впервые был опубликован Microsoft в октябре 2003 года; в 2004 году выходили бета-версии (проект с кодовым названием Whidbey), C# 2.0 окончательно вышел 7 ноября 2005 года вместе с Visual Studio 2005 и.net 2.0.

В июне 2004 года Андерс Хейлсберг впервые рассказал на сайте Microsoft о планируемых расширениях языка в C#3.0. В сентябре 2005 года вышли проект спецификации C# 3.0 и бета-версия C# 3.0, устанавливаемая в виде дополнения к существующим Visual Studio 2005 и.net 2.0. Окончательно эта версия языка вошла в Visual Studio 2008 и.net 3.5.

Если C# 3.0 совместить с C# 2.0 по генерируемому MSIL-коду; улучшения в языке — чисто синтаксические и реализуются на этапе компиляции. Например, многие из интегрированных запросов LINQ можно осуществить, используя безымянные делегаты в сочетании с предикатными методами над контейнерами вроде List. FindAll и List. RemoveAll.

Превью C# 4.0 было представлено в конце 2008 года, вместе с CTP-версией Visual Studio 2010.

Visual Basic 10.0 и C# 4.0 были выпущены в апреле 2010 года, одновременно с выпуском Visual Studio 2010.

Существует несколько реализаций C#:

— реализация C# в виде компилятора csc. exe включена в состав.net Framework;

— в составе проекта Rotor (Shared Source Common Language Infrastructure) компании Microsoft;

— проект Mono включает в себя реализацию C# с открытым исходным кодом.;

— проект DotGNU также включает компилятор C# с открытым кодом;

— DotNetAnywhere — ориентированная на Embedded-системы реализация CLR, поддерживает практически всю спецификацию C# 2.0. [7]

3. Microsoft Office Access

Microsoft Office Access или просто Microsoft Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

Основные компоненты MS Access:

— построитель таблиц;

— построитель экранных форм;

— построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);

— построитель отчётов, выводимых на печать.

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.

Microsoft Jet Database Engine (англ.), которая используется в качестве движка базы данных MS Access является файл-серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этим данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских базах данных, таких, например, как триггеры.

Встроенные средства взаимодействия MS Access со внешними СУБД с использованием интерфейса ODBC снимают ограничения, присущие Microsoft Jet Database Engine. Инструменты MS Access, которые позволяют реализовать такое взаимодействие, называются «связанные таблицы» (связь с таблицей СУБД) и «запросы к серверу» (запрос на диалекте SQL, который «понимает» СУБД).

Корпорация Microsoft для построения полноценных клиент-серверных приложений на базе MS Access рекомендует использовать в качестве движка базы данных СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.

Известны также реализации клиент-серверных приложений на базе связки Access 2003 c другими СУБД, в частности, MySQL.

Access, при работе с базой данных, иначе взаимодействует с жёстким (или гибким) диском, нежели другие программы.

В других программах, файл-документ, при открытии, полностью загружается в оперативную память, и новая редакция этого файла (изменённый файл) целиком записывается на диск только при нажатии кнопки «сохранить» .

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

Целостность данных в Access обеспечивается также за счёт механизма транзакций.

Кнопка «Сохранить» в Access тоже есть, но в Access в режиме просмотра данных она нужна, в первую очередь, для сохранения изменённого режима показа таблицы или другого объекта — то есть, для сохранения таких изменений, как:

— изменение ширины столбцов и высоты строк,

— перестановка столбцов в режиме просмотра данных, «закрепление» столбцов и освобождение закреплённых столбцов,

— изменение сортировки,

— применение нового фильтра,

— изменение шрифта; цвета текста, сетки и фона, и т. п.

Кроме того, в Access эта кнопка нужна в режиме «Конструктор» для сохранения изменений структуры объекта базы данных, сделанных в этом режиме.

Версии Access:

— 1992: Access 1 для Windows 3.0

— 1993: Access 2.0 для Windows 3.1x (Office 4.3)

— 1995: Access 7 для Windows 95 (Office 95)

— 1997: Access 97 (Office 97)

— 1999: Access 2000 (Office 2000)

— 2001: Access 2002 (Office XP)

— 2003: Access 2003 (из комплекта программ Microsoft Office 2003)

— 2007: Microsoft Office Access 2007 (из комплекта программ Microsoft Office 2007) (Рис. 2.2).

— 2010: Microsoft Office Access 2010 (из комплекта программ Microsoft Office 2010)

— 2012: Microsoft Access 2013 (из офисного пакета приложений Microsoft Office 2013). [15]

Рис. 2.2 Окно программы Microsoft Office Access

2.2 Программное обеспечение задачи

Первым шагом на пути реализации проекта было создание базы данных учащихся СОШ.

База данных состоит из трех таблиц:

— «Учащиеся» ;

— «Участок» ;

— «Руководители» .

1. Таблица «Учащиеся» содержит в себе всю необходимую информацию об учащихся школы (портфолио ученика, личные и социальные данные). Основной задачей проекта является создание клиентского приложения, которое управляет базой данных и выполняет все запросы на языке запросов SQL. По этой причине, необходимость в распределении всей информации об учащихся в несколько связанных между собою таблиц отсутствует.

Структура таблицы «Учащиеся» (таблица 2.1)

Таблица 2.1

Структура таблицы «Учащиеся»

Имя поля

Тип данных

№ л/д

Текстовый

ФИО

Текстовый

Класс

Текстовый

Литер

Текстовый

Дата рождения

Дата/время

Улица

Текстовый

Дом

Текстовый

Квартира

Текстовый

Телефон/моб

Текстовый

Телефон/дом

Текстовый

Документ

Текстовый

Серия/док

Текстовый

Номер/док

Текстовый

Фото

Гиперссылка

Пол

Текстовый

СНИЛС

Текстовый

Мед/полис

Текстовый

ИНН

Текстовый

Инвалид (Диагноз)

Текстовый

Ребенок из группы риска

Логический

Дата постановки на учет

Дата/время

Причина постановки на учет

Текстовый

№ прик/о прибытии

Текстовый

Дата прибытия

Дата/время

Откуда прибыл

Текстовый

№ прик/о выбытии

Текстовый

Дата выбытия

Дата/время

Причина выбытия

Текстовый

Портфолио

Текстовый

Примечание

Текстовый

ФИО опекуна

Текстовый

Уровень подготовки ученика

Текстовый

Соц/положение семьи

Текстовый

Увлечение

Текстовый

Сирота/Полусирота

Текстовый

2. Таблица «Участок» содержит в себе список улиц входящих в закрепленный за школой микроучасток.

Структура таблицы «Участок» (таблица 2.2)

Таблица 2.2

Структура таблицы «Участок»

Имя поля

Тип данных

Улица

Текстовый

3. Таблица «Руководители» содержит список классных руководителей.

Структура таблицы «Руководители» (таблица 2.3)

Таблица 2.3

Структура таблицы «Руководители»

Имя поля

Тип данных

Класс

Текстовый

Литер

Текстовый

Кл_руководитель

Текстовый

Таблица «Учащиеся» — основная таблица базы, тогда как таблицы «Участок» и «Руководители» являются вспомогательными.

Следующим этапом в реализации идеи проекта являлось создание прикладного программного приложения для управления базой данных.

При запуске приложение открывается главное окно программы «School Base» (Рис. 2.3).

Рис. 2.3 Окно программы " School Base"

Листинг окна «School Base»

namespace Диплом

{

public partial class Form1: Form

{

public Form1 ()

{

InitializeComponent ();

}

private void button2_Click (object sender, EventArgs e)

{

dobavit f = new dobavit ();

f. Show ();

}

private void button3_Click (object sender, EventArgs e)

{

Запрос f = new Запрос ();

f. Show ();

}

private void button1_Click (object sender, EventArgs e)

{

О_программе f = new О_программе ();

f. Show ();

}

private void button4_Click (object sender, EventArgs e)

{

Настройки f = new Настройки ();

f. Show ();

}

}

}

Нажатие кнопки «Добавить ученика» генерирует открытие окна Добавление сведений об учащемся" (Рис. 2.4), посредством которого в базу добавляются все данные о новом ученике, либо корректируются данные об учащемся уже имеющемся в базе.

Рис. 2.4 Окно «Добавление сведений об учащемся»

Листинг окна «Добавление сведений об учащемся «

namespace Диплом

{

public partial class dobavit: Form

{

public dobavit ()

{

InitializeComponent ();

}

OleDbConnection connect;

private void button2_Click (object sender, EventArgs e)

{

string orphan, social, risk, pass;

DateTime bdate, d_uchet, d_arrival, d_disposal;

if (connect. State == ConnectionState. Closed)

connect. Open ();

orphan = «» ;

if (orphan1. Checked == true)

orphan = «Сирота» ;

if (orphan2. Checked == true)

orphan = «Полусирота» ;

social = «|» ;

for (int i = 0; i <= family. CheckedItems. Count — 1; i++)

social = social + family. CheckedItems [i] + «|» ;

if (risk_group. Checked == true)

risk = «TRUE» ;

else

risk = «FALSE» ;

pass = «|» ;

for (int i = 0; i <= passion. CheckedItems. Count — 1; i++)

pass = pass + passion. CheckedItems [i] + «|» ;

try

{

bdate = Convert. ToDateTime (born_date. Text);

}

catch (Exception)

{

bdate = new DateTime (1111, 1, 1);

born_date. Text = «» ;

}

try

{

d_uchet = Convert. ToDateTime (uchet. Text);

}

catch (Exception)

{

d_uchet = new DateTime (1111, 1, 1);

uchet. Text = «» ;

}

try

{

d_arrival = Convert. ToDateTime (date_arrival. Text);

}

catch (Exception)

{

d_arrival = new DateTime (1111, 1, 1);

date_arrival. Text = «» ;

}

try

{

d_disposal = Convert. ToDateTime (date_disposal. Text);

}

catch (Exception)

{

d_disposal = new DateTime (1111, 1, 1);

date_disposal. Text = «» ;

}

if (ID. Text == «» || f_name. Text == «» || l_name. Text == «» || m_name. Text == «»)

{

MessageBox. Show («Внимание! Необходимо заполнить все обязательные поля!», «Ошибка добавления», MessageBoxButtons. OK, MessageBoxIcon. Error);

return;

}

try

{

OleDbCommand command = new OleDbCommand («INSERT INTO [Учащиеся] ([№ л/д], [ФИО], [Класс], [Литер], [Дата рождения], [Улица], [Дом], [Квартира], [Телефон/моб], [Телефон/дом],» +

" [Документ], [Серия/док], [Номер/док], [Пол], [СНИЛС], [Мед/полис], [ИНН], [Инвалид (Диагноз)], [Сирота/Полусирота], [Соц/положение семьи], [Ребенок из группы риска], [Дата постановки на учет], [Причина постановки на учет]," +

" [№ прик/о прибытии], [Дата прибытия], [Откуда прибыл], [№ прик/о выбытии], [Дата выбытия], [Портфолио], [Примечание], [ФИО опекуна], [Уровень подготовки ученика], [Причина выбытия], [Увлечение])" +

" VALUES ('" + x. Text + ID. Text + «','» + f_name. Text + «» + l_name. Text + «» + m_name. Text + «','» + klass. Text + «','» + liter. Text + «','» + bdate. ToString () +

" ','" + street. Text + «','» + dom. Text + «','» + kv. Text + «','» + phone_m. Text + «','» + phone_d. Text + «','» + dok. Text + «','» + series. Text + «','» + number. Text + «','» + pol. Text +

" ','" + SNILS. Text + «','» + med_polis. Text + «','» + INN. Text + «','» + diagnosis. Text + «','» + orphan + «','» + social + «',» + risk + «,'» + d_uchet. ToString () + «','» + of_reason. Text +

" ','" + order1. Text + «','» + d_arrival. ToString () + «','» + adr_depart1. Text + «','» + order2. Text + «','» + d_disposal. ToString () + «','» + portfolio. Text +

" ','" + footnote. Text + «','» + parent. Text + «','» + achiever. Text + «','» + reason_depart. Text + «','» + pass + «')», connect);

command. ExecuteNonQuery ();

}

catch (Exception)

{

MessageBox. Show («Не удалось добавить запись в базу данных. Указанный номер личного дела уже существует.», «Ошибка добавления», MessageBoxButtons. OK, MessageBoxIcon. Error);

}

}

private void dobavit_Load (object sender, EventArgs e)

{

connect = new OleDbConnection («Provider=Microsoft. ACE. OLEDB.12.0; Data Source=» + Application. StartupPath. ToString () + «\Диплом. accdb»);

connect. Open ();

}

private void family_SelectedIndexChanged (object sender, EventArgs e)

{

if (family. GetItemCheckState (1) == CheckState. Checked && family. GetItemCheckState (3) == CheckState. Checked)

{

family. SetItemCheckState (1, CheckState. Unchecked);

family. SetItemCheckState (3, CheckState. Unchecked);

}

}

private void klass_SelectedIndexChanged (object sender, EventArgs e)

{

}

private void f_name_TextChanged (object sender, EventArgs e)

{

if (f_name. Text! = «»)

x. Text = f_name. Text. Substring (0, 1). ToUpper () + «-» ;

}

private void phone_d_Click (object sender, EventArgs e)

{

if (phone_d. MaskCompleted == false)

phone_d. SelectionStart = 1;

}

private void phone_m_Click (object sender, EventArgs e)

{

if (phone_m. MaskCompleted == false)

phone_m. SelectionStart = 1;

}

private void born_date_Click (object sender, EventArgs e)

{

if (born_date. MaskCompleted == false)

born_date. SelectionStart = 0;

}

private void SNILS_Click (object sender, EventArgs e)

{

if (SNILS. MaskCompleted == false)

SNILS. SelectionStart = 0;

}

private void uchet_Click (object sender, EventArgs e)

{

if (uchet. MaskCompleted == false)

uchet. SelectionStart = 0;

}

private void date_arrival_Click (object sender, EventArgs e)

{

if (date_arrival. MaskCompleted == false)

date_arrival. SelectionStart = 0;

}

private void date_disposal_Click (object sender, EventArgs e)

{

if (date_disposal. MaskCompleted == false)

date_disposal. SelectionStart = 0;

}

private void risk_group_CheckedChanged (object sender, EventArgs e)

{

if (risk_group. Checked == true)

{

uchet. Enabled = true;

label27. Enabled = true;

of_reason. Enabled = true;

label29. Enabled = true;

}

else

{

uchet. Enabled = false;

label27. Enabled = false;

of_reason. Enabled = false;

label29. Enabled = false;

}

}

private void button1_Click (object sender, EventArgs e)

{

orphan1. Checked = false;

orphan2. Checked = false;

}

private void reason_depart_SelectedIndexChanged (object sender, EventArgs e)

{

if (reason_depart. SelectedIndex == 3)

{

klass. Text = «» ;

liter. Text = «» ;

}

}

}

}

При нажатии на кнопку «Поиск учащихся» открывается окно «Поиск» (Рис. 2.5). Данное окно позволяет производить поиск учащихся в базе по различным критериям.

Рис. 2.5 Окно «Поиск»

Листинг окна «Поиск»

namespace Диплом

{

public partial class Запрос: Form

{

public Запрос ()

{

InitializeComponent ();

}

OleDbConnection connect;

DataTable table;

string query;

int parametres;

private void Запрос_Load (object sender, EventArgs e)

{

connect = new OleDbConnection («Provider=Microsoft. ACE. OLEDB.12.0; Data Source=» + Application. StartupPath. ToString () + «\Диплом. accdb»);

connect. Open ();

}

private void CheckParams ()

parametres = 0;

if (name. Text! = «») parametres++;

if (pol. Text! = «—-») parametres++;

if (klass. Text! = «—-») parametres++;

if (liter. Text! = «—-») parametres++;

if (street. Text! = «—-») parametres++;

if (dok. Text! = «—-») parametres++;

if (achiever. Text! = «—-») parametres++;

if (diagnosis. Checked == true) parametres++;

if (risk_group. Checked == true) parametres++;

if (orphan1. Checked == true

private void zapros_Click (object sender, EventArgs e)

{

CheckParams ();

if (parametres == 0)

{

MessageBox. Show («Укажите, пожалуйста, параметры запроса.», «School Base», MessageBoxButtons. OK, MessageBoxIcon. Error);

return;

}

query = «SELECT * FROM [Учащиеся] WHERE («;

if (name. Text! ="")

{

query = query + «[ФИО] LIKE '%» + name. Text + «%' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (pol. Text! = «—-»)

{

query = query + «[Пол] ='» + pol. Text + «' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (klass. Text! = «—-»)

{

query = query + «[Класс] ='» + klass. Text + «' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (liter. Text! = «—-» && liter. Enabled==true)

{

query = query + «[Литер] ='» + liter. Text + «' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (street. Text! = «—-»)

{

query = query + «[Улица] ='» + street. Text + «' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (dok. Text! = «—-»)

{

query = query + «[Документ] ='» + dok. Text + «' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (reason_depart. Text! = «—-» && reason_depart. Enabled == true)

{

query = query + «[Причина выбытия] ='» + reason_depart. Text + «' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (reason_depart. Text == «—-» && reason_depart. Enabled == true)

{

query = query + «[Причина выбытия] <>'' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (achiever. Text! = «—-»)

{

query = query + «[Уровень подготовки] ='» + achiever. Text + «' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (diagnosis. Checked==true)

{

query = query + «[Инвалид (Диагноз)] <>'' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (risk_group. Checked == true)

{

query = query + «[Ребенок из группы риска] =TRUE «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (orphan1. Checked==true)

{

query = query + «[Сирота/Полусирота] ='Сирота' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (orphan2. Checked == true)

{

query = query + «[Сирота/Полусирота] ='Полусирота' «;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (passion. CheckedItems. Count! =0)

{

query = query + «(» ;

for (int i = 0; i <= passion. CheckedItems. Count — 1; i++)

%' «;

if (i! = passion. CheckedItems. Count — 1)

query = query + «AND «;

query = query + «)» ;

parametres—;

if (parametres > 0) query = query + «AND «;

}

if (family. CheckedItems. Count! = 0)

{

query = query + «(» ;

for (int i = 0; i <= family. CheckedItems. Count — 1; i++)

%' «;

if (i! = family. CheckedItems. Count — 1)

query = query + «AND «;

query = query + «)» ;

parametres—;

if (parametres > 0) query = query + «AND «;

}

query = query + «)» ;

if (connect. State == ConnectionState. Closed)

connect. Open ();

OleDbCommand command = new OleDbCommand (query, connect);

OleDbDataReader reader = command. ExecuteReader ();

table = new DataTable ();

for (int i = 0; i <= 34; i++)

table. Columns. Add (reader. GetName (i));

if (reader. HasRows == true)

while (reader. Read ())

table. Rows. Add (reader. GetValue (0), reader. GetValue (1), reader. GetValue (2), reader. GetValue (3),

reader. GetValue (4), reader. GetValue (5), reader. GetValue (6), reader. GetValue (7), reader. GetValue (8), reader. GetValue (9), reader. GetValue (10),

reader. GetValue (11), reader. GetValue (12), reader. GetValue (13), reader. GetValue (14), reader. GetValue (15), reader. GetValue (16), reader. GetValue (17), reader. GetValue (18),

reader. GetValue (19), reader. GetValue (20), reader. GetValue (21), reader. GetValue (22), reader. GetValue (23), reader. GetValue (24), reader. GetValue (25),

reader. GetValue (26), reader. GetValue (27), reader. GetValue (28), reader. GetValue (29), reader. GetValue (30), reader. GetValue (31), reader. GetValue (32),

reader. GetValue (33), reader. GetValue (34));

reader. Close ();

MessageBox. Show (table. Rows. Count. ToString ());

connect. Close ();

}

private void disposal_CheckedChanged (object sender, EventArgs e)

{

if (disposal. Checked==true)

{

reason_depart. Enabled = true;

label33. Enabled = true;

}

else

{

reason_depart. Enabled = false;

label33. Enabled = false;

}

}

private void klass_SelectedIndexChanged (object sender, EventArgs e)

{

if (klass. Text == «—-»)

liter. Enabled = false;

else

liter. Enabled = true;

}

private void button1_Click (object sender, EventArgs e)

{

orphan1. Checked = false;

orphan2. Checked = false;

}

}

}

При нажатии на кнопку «Настройки» открывается соответствующее окно (Рис. 2.6). Данное окно позволяет производить настройку базы данных, а в частности корректирует информацию во вспомогательных таблицах «Руководители» и «Участок» .

Рис. 2.6 Окно «Настройки»

Кнопка «О программе» вызывает окно «О программе School Base» (Рис. 2.7) которое содержит логотип программы, сведения о разработчике и версии программы.

Рис. 2.7 Окно «О программе School Base»

В окне «Карточка учащегося» отображается вся имеющаяся в базе информация об ученике (Рис. 2.8).

Рис. 2.8 Окно «Карточка учащегося»

Листинг окна «Карточка учащегося»

namespace Диплом

{

public partial class karta: Form

{

public karta ()

{

InitializeComponent ();

}

OleDbConnection connect;

int n, col;

DataTable table;

private void karta_uchenika_Load (object sender, EventArgs e)

{

connect = new OleDbConnection («Provider=Microsoft. ACE. OLEDB.12.0; Data Source=» + Application. StartupPath. ToString () + «\Диплом. accdb»);

connect. Open ();

if (connect. State == ConnectionState. Closed)

connect. Open ();

OleDbCommand command = new OleDbCommand («SELECT * FROM [Учащиеся] ORDER BY [ФИО] asc», connect);

OleDbDataReader reader = command. ExecuteReader ();

table = new DataTable ();

for (int i = 0; i <= 34; i++)

table. Columns. Add (reader. GetName (i));

if (reader. HasRows == true)

while (reader. Read ())

table. Rows. Add (reader. GetValue (0), reader. GetValue (1), reader. GetValue (2), reader. GetValue (3),

reader. GetValue (4), reader. GetValue (5), reader. GetValue (6), reader. GetValue (7), reader. GetValue (8), reader. GetValue (9), reader. GetValue (10),

reader. GetValue (11), reader. GetValue (12), reader. GetValue (13), reader. GetValue (14), reader. GetValue (15), reader. GetValue (16), reader. GetValue (17), reader. GetValue (18),

reader. GetValue (19), reader. GetValue (20), reader. GetValue (21), reader. GetValue (22), reader. GetValue (23), reader. GetValue (24), reader. GetValue (25),

reader. GetValue (26), reader. GetValue (27), reader. GetValue (28), reader. GetValue (29), reader. GetValue (30), reader. GetValue (31), reader. GetValue (32),

reader. GetValue (33), reader. GetValue (34));

reader. Close ();

col = table. Rows. Count;

if (col! = 0) ShowStudent (0);

if (col > 1)

{

pred. Enabled = true;

next. Enabled = true;

}

connect. Close ();

}

private void button1_Click (object sender, EventArgs e)

{

}

private void ShowStudent (int n)

{

string fio, date;

DateTime bdate;

ID. Text = table. Rows [n]. ItemArray. ToString ();

fio = table. Rows [n]. ItemArray. ToString ();

f_name. Text = fio. Substring (0, fio. IndexOf (««));

l_name. Text = fio. Substring (fio. IndexOf (««) + 1, fio. LastIndexOf (««) — fio. IndexOf (««));

m_name. Text = fio. Substring (fio. LastIndexOf (««) + 1, fio. Length — fio. LastIndexOf (««) — 1);

klass. Text = table. Rows [n]. ItemArray. ToString () + «» + table. Rows [n]. ItemArray. ToString ();

date = table. Rows [n]. ItemArray. ToString ();

if (date! = «01.01.1111 0: 00: 00»)

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));

born_date. Text = bdate. ToShortDateString ();

}

else

born_date. Text = «не указана» ;

street. Text = table. Rows [n]. ItemArray. ToString ();

dom. Text = table. Rows [n]. ItemArray. ToString ();

kv. Text = table. Rows [n]. ItemArray. ToString ();

phone_d. Text = table. Rows [n]. ItemArray. ToString ();

phone_m. Text = table. Rows [n]. ItemArray. ToString ();

dok. Text = table. Rows [n]. ItemArray. ToString ();

series. Text = table. Rows [n]. ItemArray. ToString ();

number. Text = table. Rows [n]. ItemArray. ToString ();

SNILS. Text = table. Rows [n]. ItemArray. ToString ();

med_polis. Text = table. Rows [n]. ItemArray. ToString ();

INN. Text = table. Rows [n]. ItemArray. ToString ();

diagnosis. Text = table. Rows [n]. ItemArray. ToString ();

date = table. Rows [n]. ItemArray. ToString ();

if (date! = «01.01.1111 0: 00: 00»)

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));

uchet. Text = bdate. ToShortDateString ();

}

else

uchet. Text = «не находится в группе риска» ;

of_reason. Text = table. Rows [n]. ItemArray. ToString ();

order1. Text = table. Rows [n]. ItemArray. ToString ();

date = table. Rows [n]. ItemArray. ToString ();

if (date! = «01.01.1111 0: 00: 00»)

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));

date_arrival. Text = bdate. ToShortDateString ();

}

else

date_arrival. Text = «не указана» ;

adr_depart1. Text = table. Rows [n]. ItemArray. ToString ();

order2. Text = table. Rows [n]. ItemArray. ToString ();

date = table. Rows [n]. ItemArray. ToString ();

if (date! = «01.01.1111 0: 00: 00»)

{

bdate = new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date. Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));

date_disposal. Text = bdate. ToShortDateString ();

}

else

date_disposal. Text = «не указана» ;

reason_depart. Text = table. Rows [n]. ItemArray. ToString ();

portfolio. Text = table. Rows [n]. ItemArray. ToString ();

footnote. Text = table. Rows [n]. ItemArray. ToString ();

parent. Text = table. Rows [n]. ItemArray. ToString ();

achiever. Text = table. Rows [n]. ItemArray. ToString ();

family. Text = table. Rows [n]. ItemArray. ToString ();

passion. Text = table. Rows [n]. ItemArray. ToString ();

orphan. Text = table. Rows [n]. ItemArray. ToString ();

}

private void pred_Click (object sender, EventArgs e)

{

if (n > 0) n—;

ShowStudent (n);

}

private void next_Click (object sender, EventArgs e)

{

if (n < col-1) n++;

ShowStudent (n);

}

}

2.3 Техническое обеспечение задачи

Техническое обеспечения для данного приложения будет рассматриваться с двух сторон:

· Разработчик.

· Пользователь (заказчик).

Разработчику для создания и обеспечения работоспособности базы данных и прикладного программного приложения понадобится:

— Персональный компьютер с периферийными устройствами.

А также информация для создания базы данных учащихся СОШ:

— Личные дела учащихся школы.

— Социальные данные учащихся (Ф.И.О., дата рождения, класс и т. п.).

— Количество классов (Список классов и классных руководителей).

— Портфолио учащихся.

— Список улиц прикрепленных к школе.

Таким образом, чтобы создавать и редактировать базу данных учащихся СОШ и прикладное программное приложение достаточно иметь компьютер.

Персональный компьютер с периферийными устройствами, наиболее важный компонент, так как вся работа будет выполняться на нем. Периферийные устройства: Клавиатура, Мышь. Так же он должен обладать определенными системными характеристиками, что бы обеспечить работы программного обеспечения.

Со стороны пользователя для работы с приложением, понадобится только персональный компьютер с периферийными устройствами. Компьютерные характеристики не отличаются от характеристик компьютера разработчика, допускается еще более минимальные системные требования. Используются те же периферийные устройства можно даже добавить еще устройства вывода. [4]

2.4 Оценка эффективности проекта

Современная ситуация в сфере образования формируется под воздействием глобальной тенденции информатизации общества.

В настоящее время многие организации используют в своей деятельности различные информационные системы, облегчающие работу персонала. Это не только информационные системы, которые предназначены для управления организацией в целом, но и информационные системы управления документооборотом организации, которые предназначены для перевода всего объема документации организации в электронный вид, что повышает удобство обработки документов, а также повышает эффективность функционирования предприятия, посредством уменьшения времени, затрачиваемого для оформления и обработки документов. На сегодняшний день автоматизация документооборота учреждений образования также необходима, как автоматизация бухгалтерского учета в середине девяностых годов прошлого века. Причин этому много. Во-первых, информацию необходимо обрабатывать как можно быстрее и качественнее, подчас информационные потоки не менее важны, чем материальные. Во-вторых, утеря информации или ее попадание в чужие руки может обойтись весьма дорого.

Потеря времени равносильна потере денег, поскольку за это время можно было бы их заработать, следовательно, время надо беречь и расходовать с толком. [3]

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

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

Для этого необходима:

— оценка размера разрабатываемого проекта;

— оценка трудоемкости в человеко-часах;

— оценка продолжительности проекта в календарных месяцах. [1]

Предложенный вариант программного кода на языке С# включает свыше 700 строк программного кода.

Комплекс работ по разработке проекта:

— системный анализ;

— анализ требований;

— проектирование;

— кодирование;

— тестирование.

Анализ предметной области и поставленной задачи занял около 2 недель календарного времени.

Проектирование и кодирование, с учетом сложности и итогового размера программы — 3 недели.

Затем на тестирование программы и опытное и эксплуатационное внедрение целесообразно выделить еще 3 недели.

Таким образом, в среднем весь комплекс работ по разработке и внедрению программного продукта занимает 8 недель.

В расчете на 8 недель по 5 рабочих (8-часовых) дней это 320 часов рабочего времени. Допустим, программист работал не по 8, а по 4 часа в день.

Для воплощения проекта подобного класса целесообразно привлекать одного программиста, таким образом, трудоемкость составит приблизительно 160 чел/часов. При минимальной почасовой ставке программиста 100 руб. его труд оценивается в 16 000 руб.

При разработке программного приложения были использованы следующие программные средства:

1) Лицензированная русская версии Microsoft Visual Studio Community 2013 предоставляется бесплатно. [13]

2) Microsoft Office Access 2007.

С 2012 года лицензированная русская версия пакета Microsoft Office 2007 с комплектом ключей предоставляется МБОУ «СОШ№ 18» Министерством образования ЧР бесплатно.

Затраты на разработку приложения «School Base» приведены в таблице 2.4.

Таблица 2.4

Затраты на реализацию проекта

Наименование

Стоимость

Microsoft Visual Studio Community 2013

;

Microsoft Office Access 2007

;

Оплата труда программиста

16 000.00 р.

Итого:

16 000.00 р

Глава 3. Информационная безопасность

3.1 Объект защиты

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

Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом.

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

Возможные угрозы безопасности проекта могут быть классифицированы по различным признакам:

По аспекту информационной безопасности, на который направлены угрозы:

— Угрозы конфиденциальности (неправомерный доступ к информации).

— Угрозы целостности (неправомерное изменение данных).

— Угрозы доступности (осуществление действий, делающих невозможным или затрудняющих доступ к ресурсам информационной системы).

По степени преднамеренности действий:

— Случайные (неумышленные действия, например, сбои в работе систем, стихийные бедствия).

— Преднамеренные (умышленные действия, например, шпионаж и диверсии).

По расположению источника угроз:

— Внутренние (источники угроз располагаются внутри системы).

— Внешние (источники угроз находятся вне системы).

По размерам наносимого ущерба:

— Общие (нанесение ущерба объекту безопасности в целом, причинение значительного ущерба).

— Локальные (причинение вреда отдельным частям объекта безопасности).

— Частные (причинение вреда отдельным свойствам элементов объекта безопасности).

По степени воздействия на информационную систему:

— Пассивные (структура и содержание системы не изменяются).

— Активные (структура и содержание системы подвергается изменениям). [6]

3.2 Методы обеспечения информационной безопасности

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

На сегодняшний день существует большой арсенал методов обеспечения информационной безопасности:

— препятствие;

— управление доступом;

— маскировка, регламентация;

— принуждение и побуждение;

— средства шифрования информации, хранящейся на компьютерах и передаваемой по сетям;

— межсетевые экраны;

— виртуальные частные сети;

— средства контентной фильтрации;

— инструменты проверки целостности содержимого дисков;

— средства антивирусной защиты;

— системы обнаружения уязвимостей сетей и анализаторы сетевых атак.

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

Управление доступом — метод защиты информации регулированием использования всех ресурсов автоматизированной информационной системы организации (фирмы). Управление доступом включает следующие функции защиты:

— идентификацию пользователей, персонала и ресурсов информационной системы (присвоение каждому объекту персонального идентификатора);

— аутентификацию (установление подлинности) объекта или субъекта по предъявленному им идентификатору;

— проверку полномочий (проверка соответствия дня недели, времени суток, запрашиваемых ресурсов и процедур установленному регламенту);

— разрешение и создание условий работы в пределах установленного регламента;

— регистрацию (протоколирование) обращений к защищаемым ресурсам;

— реагирование (сигнализация, отключение, задержка работ, отказ в запросе) при попытках несанкционированных действий.

Маскировка — метод защиты информации в автоматизированной информационной системе путем ее криптографического закрытия.

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

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

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

Системы шифрования позволяют минимизировать потери в случае несанкционированного доступа к данным, хранящимся на жестком диске или ином носителе, а также перехвата информации при ее пересылке по электронной почте или передаче по сетевым протоколам. Задача данного средства защиты — обеспечение конфиденциальности. Основные требования, предъявляемые к системам шифрования — высокий уровень криптостойкости и легальность использования на территории России (или других государств).

Межсетевой экран представляет собой систему или комбинацию систем, образующую между двумя или более сетями защитный барьер, предохраняющий от несанкционированного попадания в сеть или выхода из нее пакетов данных.

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

Говоря о криптографии и межсетевых экранах, следует упомянуть о защищенных виртуальных частных сетях (Virtual Private Network — VPN). Их использование позволяет решить проблемы конфиденциальности и целостности данных при их передаче по открытым коммуникационным каналам. Использование VPN можно свести к решению трех основных задач:

— защита информационных потоков между различными офисами компании (шифрование информации производится только на выходе во внешнюю сеть);

— защищенный доступ удаленных пользователей сети к информационным ресурсам компании, как правило, осуществляемый через интернет;

— защита информационных потоков между отдельными приложениями внутри корпоративных сетей (этот аспект также очень важен, поскольку большинство атак осуществляется из внутренних сетей).

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

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

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

Для противодействия естественным угрозам информационной безопасности в компании должен быть разработан и реализован набор процедур по предотвращению чрезвычайных ситуаций (например, по обеспечению физической защиты данных от пожара) и минимизации ущерба в том случае, если такая ситуация всё-таки возникнет. Один из основных методов защиты от потери данных — резервное копирование с четким соблюдением установленных процедур (регулярность, типы носителей, методы хранения копий и т. д.) [6]

Средства защиты в зависимости от способа реализации можно разделить на группы:

1. Технические;

2. Программные;

3. Программно-технические;

4. Организационные.

Средства защиты информации, реализованные в данном проекте, следующие:

1) Программные средства защиты — это использование антивирусной программы на всех рабочих станция (персональных компьютерах) с целью защиты. (Рис. 3.1.)

Рис. 3.1 Окно программы NOD 32

Безопасность достигается за счет поиска опасных объектов на вашем компьютере, запуском сканирования компьютера

Если на компьютере обнаружены угрозы, то они указываются в журнале. Необходимо применить действия: Удалить, Лечить. Журнал угроз.

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

2) Технические специальные политики, которые помогают отслеживать распространение информации. Например, администратор должен постоянно следить за достоверностью информации, вносить корректировки путем регулярного отслеживания.

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

Политика безопасности зависит:

— От конкретной технологии обработки информации;

— От используемых технических и программных средств;

— От расположения организации.

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

Аутентификация — процедура проверки подлинности, например: проверка подлинности пользователя путём сравнения введённого им пароля с паролем в базе данных пользователей; подтверждение подлинности электронного письма путём проверки цифровой подписи письма по ключу шифрования отправителя; проверка контрольной суммы файла на соответствие сумме, заявленной автором этого файла. В русском языке термин применяется в основном в сфере информационных технологий.

Авторизация — предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий. Часто можно услышать выражение, что какой-то человек «авторизован» для выполнения данной операции — это значит, что он имеет на неё право.

3) Организационные, т. е. методы, которые помогают предотвратить пиратство, и обеспечивают сохранение авторских прав.

Авторское право — это подотрасль гражданского права, регулирующая отношения, связанные с созданием и использованием произведений науки, литературы или искусства, то есть объективных результатов творческой деятельности людей в этих областях. Программы для ЭВМ и базы данных также охраняются авторским правом. Они приравнены к литературным произведениям и сборникам, соответственно. По приказу Гостехкомиссии о «защите информации и авторских правах» нарушители авторских прав, так называемые плагиаторы, должны быть привлекаются к ответственности.

Незаконное использование произведений или объектов смежных прав либо иное нарушение предусмотренных настоящим Законом авторского права или смежных прав влечет за собой гражданско-правовую, административную, уголовную ответственность в соответствии с законодательством Российской Федерации (п. 1 в ред. Федерального закона от 20.07.2004 N 72-ФЗ). [1]

Программы для ЭВМ и базы данных также охраняются авторским правом. Они приравнены к литературным произведениям и сборникам, соответственно.

Заключение

В последнее время происходит стремительное развитие информационных технологий. Это связано с тем, что во всем мире возросли информационные потоки. Объем информации, который используется сегодня в процессе функционирования общеобразовательной школы, постоянно увеличивается, а текущая информация часто изменяется. Поэтому должностным лицам школы, ответственному за ведение документооборота и другим участникам образовательного процесса приходится вносить и изменять новые данные в соответствующие документы вручную, что отнимает много сил и времени. Это негативно сказывается на эффективности работы школы. Кроме того, ведение документооборота традиционным способом ухудшает качество обучения школьников, поскольку в документооборот вовлечены не только административно-управленческий аппарат школы, но и учителя, на которых ложится дополнительная нагрузка, связанная с оформлением документов и предоставления необходимых отчетов руководству, поскольку, как правило, большинство учителей являются классными руководителями.

Развитие информационных технологий оказывает большое влияние на сферу образования, поскольку эти технологии могут очень эффективно применяться не только в процессе передачи знаний, но и в управлении образовательным процессом. [3]

Реализация и внедрение данного проекта упростит работу с документами учащихся, повысит ее эффективность, повысит производительность труда сотрудников за счет сокращения времени обработки и поиска документов, повысит оперативность доступа к информации.

В данной работе предпринята попытка создания информационной системы — автоматизированной базы данных для работы с данными учащихся.

Цель проекта заключалась в разработке базы данных и прикладного программного приложения для действующего образовательного учреждения обеспечивающего хранение, накопление и предоставление всей необходимой информации об учащихся, с помощью которого заказчик, в частности МБОУ «Средняя общеобразовательная школа № 18» г. Грозного, будет вести учет учащихся школы, контролировать данные о них, оперативно получать различные запросы, затрачивая на это минимум времени, осуществлять мониторинг их достижений, уровня подготовки и вести внутри-школьный контроль за учащимися.

Проект предусматривал 3 последовательных этапа реализации,

— изучение структуры и содержания образовательного учреждения;

— создание базы данных учащихся СОШ;

— разработка прикладного программного приложения для управления базой данных учащихся СОШ.

Задачи проекта считаю выполненными, а цель достигнутой.

Список использованных источников

1. Агальцова В. П. Экономика. Экономическая Эффективность. [Текст] / В. А. Агальцова. — М.: Форум, 2013. — 447 с.

2. Васильков А.Б., Безопасность ПК. [Текст] / А. Б. Васильков. — М.: Форум, 2012. — 220 с.

3. Гершунский Б. С. Компьютеризация в сфере образования: проблемы и перспективы. [Текст] / Б. С. Гершунский. — М.: МГУР, 2012. — 264с.

4. Илюшечкин В. М. Основы использования и проектирования баз данных [Текст] / В. М. Илюшечкин — М: ИД Юрайт, 2011 — 213 с.

5. Касимов И. Информационные технологии в управлении образованием [Текст] / Педагогическая техника, 2005, № 1.

6. Павловская Т.А. C#. Программирование на языке высокого уровня [Текст] / Т. А. Павловская — М.: Вильямс, 2009 — 240 с.

7. Пауэрс Л. Microsoft Visual Studio [Текст] / М. Снелл, Л. Пауэрс — CПб.: БХВ-Петербург, 2008 — 1200 с.

8. Сайков Б. П. Организация информационного пространства образовательного учреждения: практическое руководство. [Текст] / Б. П. Сайков. — М.: БИНОМ. Лаборатория знаний. 2005. — 406 с.

9. Соломенчук В. П. Аппаратное обеспечение. [Текст] / В. П. Соломенчук. — М.: Форум, 2013. — 322 с.

10. Фрост Р. Базы данных. Проектирование и разработка. [Текст] / Р. Фрост, Д. Дей, К. В. Слайк — М: НТ Пресс, 2008 — 592 с.

11. Чипига А. П. Информационная безопасность. [Текст] / А. П. Чипига. — М.: Гелиос АРМ, 2012. — 102 с.

12. Шилдт Г. C# 4.0 полное руководство. [Текст] / Г. Шилдт — М.: Вильямс, 2011 — 1056 с.

13. Дневник ру [электронный ресурс]. / Режим доступа: http://dnevnik.ru/ (дата обращения: 03.04.15)

14. Образовательный проект «Открытый урок» [электронный ресурс]. Режим доступа: http://festival.1september.ru (дата обращения: 18.04.15)

15. Официальный сайт МБОУ «Средняя общеобразовательная школа № 18» г. Грозный [электронный ресурс]. Режим доступа: http://sosh18chr. fo.ru/ (дата обращения: 20.04.15)

16. Официальный сайт МАОУ «Средняя общеобразовательная школа № 2» г. Пестово [электронный ресурс]. Режим доступа: http://pestovo-school2.ru/ (дата обращения: 24.04.15)

17. Официальный сайт свободной библиотеки «Википедия» [электронный ресурс]. Режим доступа: www.Wikipedia.org/wiki/Веб-программирование / (дата обращения: 05.05.15)

18. Официальный сайт Visual Studio [электронный ресурс]. Режим доступа: https: // www.visualstudio.com/, свободный. — Загл. с экрана. (10.05.15)

19. Софт-канал [электронный ресурс]. Режим доступа: http://www.izone.ru/ (дата обращения: 15.05.15)

20. Компьютерный информационный портал [электронный ресурс]. Режим доступа: http://www.oszone.net/ (дата обращения: 07.05.15)

Показать весь текст
Заполнить форму текущей работой