Слайд 1
Уважаемые председатель и члены государственной аттестационной комиссии!
Представляемая к защите выпускная работа посвящена разработке веб-представительства среднего общеобразовательного учреждения для ГОУ СОШ № 1194 (г. Зеленоград) и программного модуля администрирования. На первом плакате описаны цель и задачи работы. К ним относится исследование предметной области, построение гибкой структуры веб-представительства, предоставляющей возможности его изменения и расширения, разработка схем для базы данных, алгоритмов работы, программная реализация веб-представительства. В качестве отдельной задачи можно выделить создание административной подсистемы, выполненной в виде независимого приложения. Также в задачи работы входили отладка и тестирование всех компонентов, и запуск веб-представительства в работу для средней общеобразовательной школы № 1194.
Слайд 2
В качестве языка разработки для веб-представительства был выбран C# и технология Microsoft ASP.NET 2.0. На это повлияло несколько факторов, решающими из которых явились:
— наличие большого опыта работы с .NET-технологиями;
— возможность написания одних компонентов доступа как для веб-приложения, так и для административной подсистемы;
— существование ранее написанных мной универсальных компонентов, позволяющих облегчить создание интерфейса администратора.
Прочие преимущества ASP.NET 2.0, применяемые в работе, можно увидеть на данном слайде.
В качестве платформы проектирования была выбрана MS Visual Studio 2005, позволяющая полностью реализовать все возможности технологии и распространяемая бесплатно для студентов ВУЗов.
Слайд 3
Перейдём к структуре веб-представительства. В неё включены два клиент-серверных взаимодействия – администратор и пользователь взаимодействуют с системой по-разному. Тогда как пользователь может обращаться только к веб-интерфейсу представительства, который расположен на одном с базой данных сервере, администратор через административную подсистему имеет прямой доступ к базе данных. Такой подход исключает взлом системы пользователем в отличие от веб-ориентированной системы администрирования.
Административная подсистема и веб-интерфейс используют одни и те же компоненты доступа к данным. Поговорим о них подробнее.
Слайд 4
Для того, чтобы понятно описать составляющие проектов, необходимо вкратце упомянуть об ORM (Object – Relational — Mapping) системах, в частности о Nhibernate, использовавшемся при создании компонентов доступа к данным. ORM-системы – это попытка объединить объектно-ориентированный подход, принятый в программировании на языках высокого уровня, со структурой релятивистских баз данных. Общий принцип заключается в том, что записям таблиц в соответствие должны быть сопоставлены объекты, отражающие их текущее состояние. Nhibernate – свободная ORM-система для .NET-приложений, являющаяся, по сути, портом с Hibernate, написанного для Java. В Nhibernate каждой таблице, к которой необходимо обеспечить объектно-ориентированный доступ, сопоставляется специальным образом оформленный класс, содержащий поля и свойства, соответствующие полям таблицы, а также так называемый xml-маппинг, который связывает поля таблицы с нужными свойствами класса. Таким образом, ликвидируется необходимость написания множества SQL-запросов, только более сложные запросы могут быть оформлены в виде хранимых процедур.
Слайд 5
Теперь расмотрим подробнее архитектуру проектов приложения. Проект BL посвящён важным составляющим веб-представительства – части модели MVP (этот паттерн использовался при разработке веб-интерфейса) и нескольким вспомогательным классам.
Проект Data целиком отведён под доступ к данным Nhibernate и содержит иерархию классов доступа и классы, отвечающие за инициализацию Nhibernate и создание объектов доступа.
Проект Core содержит объектную модель Nhibernate, включая непоказанные здесь xml-маппинги, а также интерфейсы классов доступа. По сути, программа никогда не общается с проектом Data напрямую, а только через интерфейсы, определённые в проекте Core.
Слайд 6
От доступа к данным перейдём собственно к их организации. На данном слайде можно увидеть инфологическую модель, описывающую базу данных среднего общеобразовательного учреждения.
Слайд 7
Здесь же можно наблюдать структуру БД. Как видно из схем, база данных содержит как несложные таблицы, например, таблицу новостей, так и таблицу с большим числом связей (Расписание). При проектировании БД было принято решение хранить изображения в базе данных, а не в файловой системе сервера. Это обусловлено двумя соображениями – целостностью данных (при варианте с файловой системой файлы изображений могут быть, например, удалены, а ссылки на них остаться в базе) и возможностью при развитии системы определять права доступа пользователя к изображениям, так как в данном случае на изображения отсутствуют прямые ссылки, а обработчик, поставляющий изображения из БД, может запретить доступ, например, неавторизованным пользователям.
Слайд 8
От структуры веб-представительства перейдём к административной подсистеме. На данном слайде представлена схема алгоритма работы администратора. При запуске административной подсистемы интерфейс позволяет выбор действия – настройку соединения с БД или редактирование данных. При первом запуске следует настроить соединение. Параметры соединения сохраняются в персонализованном хранилище, что, таким образом, исключает доступ к ним не только из-под учётной записи другого пользователя, но даже из другого приложения. Кроме задания настроек существует также возможность быстрого теста их. При выборе редактирования базы система определяет необходимый редактор и производит соответствующие действия. Как будет продемонстрировано ниже, есть только два типа редакторов, один из которых специален для расписания занятий, а второй является универсальным и автоматически подстраивает свой интерфейс под выбранную таблицу.
Слайд 9
Нам осталось рассмотреть интерфейсы пользователя и администратора. На данном слайде приведён скриншот страницы веб-представительства, которая выводит расписание для выбранного класса. Пользователю предоставляется возможность выбрать нужный класс из предлагаемого списка, после чего загружается расписание.
Дизайн страниц согласован с ГОУ СОШ №1194. Кроме панели содержимого присутствуют три постоянно отображаемых панели – меню, ссылки на тематические ресурсы и несколько последних новостей школы.
Слайд 10
На данном слайде приведён пользовательский интерфейс администратора. Здесь можно видеть все формы, о которых шла речь – форму выбора действия, форму настройки параметров соединения и редакторы – универсальный и расписания.
Универсальный редактор – это шаблонный редактор в том смысле, что форма всегда одна и та же, меняется только число столбцов в соответствии с рассматриваемой таблицей, а также подгружается необходимый элемент управления в нижней части.
Такая структура была разработана мной при прохождении практики в IT-компании «Аргуссофт-Интернейшнл» для фирмы «Альфа-страхование» и успешно интегрирована в данный проект. Её преимущества — полная ориентированность на Nhibernate и наличие базовых классов, облегчающих создание новых редакторов.
Слайд 11
Отладка веб-представительства велась на всех этапах разработки при помощи интегрированного отладчика MS Visual Studio 2005. На слайде представлен фрагмент кода с установленной точкой прерывания в момент, когда пользователь сбрасывает выделение в редакторе таблицы.
Тестирование проводилось несколькими способами, такими как тестирование «белого ящика» и системное тестирование на стороне клиента. Те компоненты, которые использовались в интерфейсе административной подсистемы, были тестированы профессиональными тестировщиками IT-компании «Аргуссофт-интернейшнл» методом чёрного ящика, все ошибки исправлены.
Слайд 12
Запуск веб-представительства в работу подразумевал несколько этапов – определение требований к ресурсам веб-сервера, согласование с заказчиком и собственно установку. На данном слайде можно увидеть требования, предъявляемые к веб-серверу. На момент запуска веб-представительства данным требованиям в полной мере удовлетворял хостинг от русской корпорации «Интернет-индустрия». Административная подсистема не выделяется особыми требованиями и может работать на любом компьютере, на котором установлен MS .NET Framework 2.0.
Слайд 13
В процессе работы над проектом поставленные задачи был выполнены в полной мере, а веб-представительство было запущено в работу для ГОУ СОШ 1194. Я же продолжаю работу с технологиями Microsoft в сфере веб-приложений. Благодарю за внимание. Доклад окончен.