Дневник. ру (рис.1.6) совмещает в себе три модуля:
- дистанционное обучение,
- управление школьным документооборотом,
- социальная сеть.
Рис. 1.6 Дневник ру
Базовый функционал Дневник. ру бесплатный для всех участников
образовательного процесса. Пользователям доступны электронный классный журнал и
электронный дневник учащегося, а также медиатека, библиотека образовательной
литературы, онлайн-тренинг тестирования ЕГЭ, возможность пройти вступительные
олимпиады в крупнейшие ВУЗы России. [8]
Проектная часть дипломной работы представлена в детальном описании процесса разработки приложения для управления базой данных учащихся СОШ.
При разработке данного прикладного программного приложения были использованы:
1. Microsoft Visual Studio
Microsoft Visual Studio - линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE,.net Framework, Xbox, Windows Phone.net Compact Framework и Silverlight.Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например,Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода напредметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).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 23270. Компилятор с C# входит в стандартную установку самой.net, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств, вроде Visual Studio.# относится к семье языков с 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. Все эти языковые особенности затрудняют написание компиляторов и служат источником труднонаходимых ошибок при создании программ. На другом полюсе этой проблемы находится язык Паскаль, в котором в целях упрощения было решено пожертвовать даже очевидно удобными для программиста свойствами.# занимает некоторую промежуточную позицию: из стандарта языка убраны наиболее неприятные и неоднозначные особенности С++, но в то же время язык сохранил мощные выразительные возможности, присущие для таких языков, как С++, Java или VB.
Некоторые особенности языка С++, которые не поддерживаются C#:
- по умолчанию, С# запрещает прямое манипулирование памятью, предоставляя взамен богатую систему типов и сборку мусора. Непосредственная работа с памятью по-прежнему доступна в специальном режиме "опасного" кода, но требует явного декларирования. Как следствие, в C# активно используется всего один оператор доступа". ";
- преобразования типов в C# значительно строже, чем в С++, в частности, большинство преобразований может быть совершено только явным образом. Кроме того, все приведения должны быть безопасными (т.е. запрещены неявные преобразования с переполнением, использование целых переменных как указателей и т.п.). Естественно, это заметно упрощает анализ типов при компиляции;
- одной из типичных ошибок в С++ было отсутствие оператора break при обработке одной из веток оператора switch. Проблема "провала" (fall-through) в C# решена кардинальным образом: компилятор требует наличия явного оператора перехода (break или goto case <name>) в любой ветке;
- в 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.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 позволяет разрабатывать приложения и БД практически "с нуля" или написать оболочку для внешней БД.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:
- 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
Первым шагом на пути реализации проекта было создание базы данных учащихся СОШ.