1 2 3 Оглавление ПЕРЕЧЕНЬ ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ....................................................................................... 5 ВВЕДЕНИЕ ............................................................................................................................................. 6 1 ПОСТАНОВКА ЗАДАЧИ НА ПРОЕКТИРОВАНИЕ ............................................................................... 7 1.1 Анализ предметной области ........................................................................................................ 7 1.2 Анализ существующей информационной системы.................................................................... 7 1.3. Постановка задачи........................................................................................................................ 8 2 ПРОЕКТНОЕ РЕШЕНИЕ ....................................................................................................................10 2.1 Выбор модели жизненного цикла разработки системы .........................................................10 2.2 Выбор модели проектирования .................................................................................................14 2.3 Определение требований к техническим средствам ..............................................................16 2.4 Описание среды разработки ......................................................................................................18 2.4.1 C#3.5, ASP.NET ...........................................................................................................................18 2.4.2 MS SQL 2008 Express .................................................................................................................20 2.4.3 LINQ ............................................................................................................................................21 2.4.4 Итоговые требования, предъявляемые к ПО.........................................................................22 3 АРХИТЕКТУРА РАЗРАБАТЫВАЕМЫХ СИСТЕМ ...............................................................................23 3.1 Модель данных ...........................................................................................................................23 3.2 Описание системы, реализующей функции администрирования пользователей ИС .........26 3.3 Описание системы, реализующей функции администрирования групп ИС ..........................28 3.4 Описание системы, реализующей функции администрирования расписания преподавателей ИС ...........................................................................................................................29 4 ИНТЕРФЕЙС СИСТЕМЫ ...................................................................................................................31 4.1 Интерфейс системы администрирования информации о пользователях ИС ........................32 4.2 Интерфейс системы администрирования информации о группах ИС....................................36 4.3 Интерфейс системы администрирования информации о расписании преподавателей .....38 ЗАКЛЮЧЕНИЕ .....................................................................................................................................39 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ .....................................................................................40 4 ПЕРЕЧЕНЬ ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ БД – база данных ВУЗ – высшее учебное заведение Гб – гигабайт ЖЦ – жизненный цикл ИС – информационная система ЛВС – локальная вычислительная сеть Мб – мегабайт ОЗУ –оперативное запоминающее устройство ОС – операционная система ПК – персональный компьютер ПО – программное обеспечение СпбГУАП – Санкт-Петербургский Государственный Университет Аэрокосмического Приборостроения ЭВМ – электронная вычислительная машина HDD – жесткий магнитный диск ORM – объектно-реляционное отображение 5 ВВЕДЕНИЕ Деятельность отдельных людей, групп, коллективов и организаций сейчас все в большей степени начинает зависеть от их информированности и способности эффективно использовать имеющуюся информацию. Информатизация общества - реализация комплекса мер, направленных на обеспечение полного и своевременного использования достоверных знаний во всех видах человеческой деятельности. Одной из особенностей информатизации является проблема внедрения систем автоматизации документооборота, которая становиться как никогда актуальной. Параллельно с этими процессами была осуществлена реформа высшего образования и переход ВУЗов на систему рейтингового учета успеваемости студентов, которая потребовала более точного и полного учета успеваемости студентов во время семестра. Вследствие всего выше сказанного на базе 43 кафедры была разработана и введена в эксплуатацию информационная система рейтинговых ведомостей. Администрирование информационной системы является неотъемлемой частью системы, обеспечивающей ее оптимальное использование. В цели и задачи администрирования входит: поддержание информации в актуальном состоянии размещение новой информации Осуществляться данный процесс должен администратором через web-интерфейс. Данный дипломный проект представляет собой разработку функционала, обеспечивающего эффективное администрирование системы рейтинговых ведомостей. 6 1 ПОСТАНОВКА ЗАДАЧИ НА ПРОЕКТИРОВАНИЕ 1.1 Анализ предметной области Рассматриваемой предметной областью является 43 кафедра СпбГУАП и рейтинговая система оценки успеваемости студентов. В результате анализа предметной области были выделены следующие возможные роли для пользователей системы, а также права и возможности, которыми наделяются члены каждой из групп: Студент – лицо, которое может просматривать информацию о своей текущей успеваемости Преподаватель – занимается редактированием успеваемости студентов, их посещаемости занятий Администратор – редактирует список групп, добавляет новых пользователей, новые группы, обновляет расписание 1.2 Анализ существующей информационной системы В результате анализа созданной информационной системы было установлено, что в ней реализованы следующие задачи: Обеспечение доступа к данным с любого компьютера локальной сети кафедры или удаленного компьютера за пределами университета. 7 добавление, удаление и редактирование сведений об успеваемости студентов и их посещении занятий хранение и редактирование данных о предметах (такие данные, как список рекомендуемой литературы, ссылки на учебники и т.д.) обеспечение возможности экспорта данных в традиционный формат Разработка структуры базы данных. Разработка интерфейс взаимодействия пользователя с системой Однако, в системе был выявлен существенный недостаток. Все основные функции администрирования осуществлялись непосредственно через SQL Server Management Studio. Это существенно усложняло процесс, так как пользователь, вносящий изменения должен был обладать определенными знаниями и навыками работы с SQL Server Management Studio. Кроме того, администрирование подобным образом могло привести к возникновению ошибок, так все таблицы редактировались отдельно(например, можно было не внести новые данные в одну из нескольких связанных таблиц). 1.3. Постановка задачи В дипломном проекте поставлена задача – расширить функционал существующей системы контроля успеваемости студентов, с целью обеспечения выполнения следующих действий: 8 Добавление новых пользователей в существующую группу(с базовой валидацией) Добавление новых групп(с базовой валидацией) Редактирование информации о пользователях Просмотр расписания Добавление новых записей в расписание Для выполнения поставленной задачи необходимо выполнить следующие действия: Определить программные средства для реализации создаваемой системы Редактировать структуру базы данных Разработать интерфейс взаимодействия администратора с системой 9 2 ПРОЕКТНОЕ РЕШЕНИЕ 2.1 Выбор модели жизненного цикла разработки системы Жизненный цикл следует рассматривать как основу проектирования системы: с ним связываются и цели проекта — окончательные и промежуточные, распределение и контроль расходования ресурсов, а также все другие аспекты управления развитием проекта.1 Прежде всего, эта привязка обусловлена разбиением проектирования системы на этапы, которые ассоциируются с определенными видами работ или функций, выполняемых разработчиками в тот или иной момент развития проекта. Этапы характеризуются достижение локальных направленностью (для этапа) выполняемых целей проекта. функций на Необходимость отслеживания целей приводит к понятию контрольных точек — моментов разработки, когда осуществляется подведение промежуточных итогов, осмысление достигнутого и ревизия сделанных ранее предположений. Модель жизненного цикла ПО — структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла. Модель жизненного цикла зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует. Наиболее часто говорят о следующих моделях ЖЦ ПО: 1 Каскадная(водопадная) Спиральная или модель Боэма http://ru.wikipedia.org 10 Каскадная модель предполагает строго последовательное (во времени) и однократное выполнение всех фаз проекта с жестким (детальным) предварительным планированием в контексте предопределенных или однажды и целиком определенных требований к программной системе. Рис.1 Каскадная модель жизненного цикла. На рис.1 изображены типичные фазы каскадной модели жизненного цикла и соответствующие активы проекта, являющиеся для одних фаз выходами, а для других - входами. Каскадная схема включает несколько важных операций, применимых ко всем проектам: составление плана действий по разработке системы; планирование работ, связанных с каждым действием; применение операции отслеживания хода выполнения действий с контрольными этапами. Будучи активно используема, эта модель продемонстрировала свою “проблемность” в подавляющем большинстве проектов. Практика показывает, что в реальном мире каскадная модель не должна применяться. Основное заблуждение каскадной модели состоит в предположении, что проект проходит через весь процесс один раз, а все ошибки будут сосредоточены в реализации, и их устранение будет происходить равномерно, во время тестирования. В каскадной модели переход от одной 11 фазы проекта к другой предполагает полную корректность результата (выхода) предыдущей фазы. Однако, например, неточность какого-либо требования или некорректная его интерпретация, в результате, приводит к тому, что приходится “откатываться” к ранней фазе проекта и требуемая переработка не просто выбивает проектную команду из графика, но приводит часто к качественному росту затрат и, не исключено, к прекращению проекта в той форме, в которой он изначально задумывался. Кроме того, эта модель не способна гарантировать необходимую скорость отклика и внесение соответствующих изменений в ответ на быстро меняющиеся потребности пользователей2. Спиральная модель (рис.2) была впервые сформулирована Барри Боэмом (Barry Boehm) в 1988 году. Она представляет собой процесс разработки программного обеспечения, сочетающий в себе как проектирование, так и постадийное прототипирование с целью сочетания преимуществ восходящей и нисходящей концепции, делающая упор на начальные этапы жизненного цикла: анализ и проектирование. Рис.2 спиральная модель жизненного цикла Спиральная модель обладает рядом преимуществ: 2 http://swebok.sorlik.ru 12 уделяет специальное внимание раннему анализу возможностей повторного использования предполагает возможность эволюции жизненного цикла, развитие и изменение программного продукта предоставляет механизмы достижения необходимых параметров качества как составную часть процесса разработки программного продукта уделяет специальное внимание предотвращению ошибок и отбрасыванию ненужных, необоснованных или неудовлетворительных альтернатив на ранних этапах проекта позволяет контролировать источники проектных работ и соответствующих затрат не проводит различий между разработкой нового продукта и расширением (или сопровождением) существующего позволяет решать интегрированный задачи системной разработки, охватывающей и программную и аппаратную составляющие создаваемого продукта Основная проблема спирального цикла — определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. С учетом всех выше перечисленных достоинств и недостатков, была выбрана спиральная модель проектирования, как наиболее соответствующая поставленной задаче. 13 2.2 Выбор модели проектирования Проектирование играет важную роль в процессах жизненного цикла создания программного обеспечения. Существуют различные стратегии и методы, помогающие в проведении работ по проектированию. На сегодняшний день в программной инженерии существуют два основных подхода к разработке ПО, принципиальное различие между которыми обусловлено разными способами декомпозиции систем. В настоящее время наибольшее распространение получили следующие методы проектирования: Функционально-ориентированное или структурное проектирование (Function-Oriented – Structured Design) Объектно-ориентированное проектирование (Object- Oriented Design) Функционально - ориентированное проектирование это один из классических методов проектирования “сверху-вниз”. Ориентация на функции означает, что в процессе разработки проекта системы выделяются функции, являющиеся условно независимыми частями системы. Это позволяет с одной стороны рассматривать их как независимые друг от друга части системы, а с другой стороны создавать из них более крупные фрагменты системы за счет взаимодействия функций. Неоспоримым достоинством структурного подхода является возможность обозначения рамок системы, что является чрезвычайно важным на этапе установления требований к системе и анализа. Важной идеей, лежащей в основе структурных методов, является идея иерархии. Для понимания сложной системы недостаточно разбиения ее на части, необходимо эти части организовать определенным образом, а именно в виде иерархических структур. Также структурные методы широко используют графические нотации, также служащие для облегчения понимания сложных систем. 14 Однако, структурный подход к проектированию отличается рядом особенностей, которые не очень хорошо увязываются с современными методами конструирования ПО: Этот подход скорее является последовательным и трансформационным, чем итеративным подходом с наращиванием возможностей (т.е. этот подход не способствует непрерывному процессу разработки, осуществляемому посредством итеративной детализации и пошаговой поставки ПО с наращенными возможностями). Этот подход направлен на поставку негибких решений, которые способны удовлетворить набор определенных функций, но которые может быть трудно масштабировать и расширять в будущем, Этот подход предполагает разработку «с чистого листа» и не поддерживает повторное использование уже существующих компонент. Объектно-ориентированное проектирование представляет собой множество методов проектирования, базирующихся на концепции объектов. Данная область активно эволюционирует с середины 80-х годов, основываясь на понятиях объекта (сущности), метода (действия) и атрибута (характеристики). Здесь главную роль играют полиморфизм и инкапсуляция. Достоинства : комплексирование всех компонентов ИС за счет методологического единства и информационной, программной и технической совместимости открытость архитектуры — позволяет устанавливать ТПР на разных программно-технических платформах масштабируемость — допускает конфигурацию ИС для переменного числа рабочих мест 15 конфигурируемость — позволяет выбирать необходимое подмножество компонентов Принимая во внимание, тот факт, что данная ИС представляет собой совокупность взаимодействующих между собой объектов, ее реализацию было решено создавать на базе объектно-ориентированного подхода. 2.3 Определение требований к техническим средствам Самыми важными критериями, при подборе требований к техническим средствам являются: объем оперативного запоминающего устройства сервера; объем накопителя на жестком магнитном диске сервера; тип видеоадаптера и дисплея для работы пользователя; производительность центрального процессора сервера; наличие возможности вывода информации на бумажный, магнитный носитель; скорость передачи данных в локальной сети; приемлемая стоимость составляющих комплекса технических средств. Объем необходимого ОЗУ рассчитывается, исходя из размеров памяти, занимаемой загружаемой операционной системой, из необходимого объема памяти, выделяемого под драйверы для обслуживания ЭВМ, программы-оболочки, основного загружаемого модуля программного комплекса, динамических библиотек, подгружаемых по мере выполнения программы и резерва памяти для обработки информации. 16 Исходя из вышеизложенного, приходим, что для нормальной работы системы необходимо не менее 1024 Мбайт ОЗУ. По современным понятиям, это уже не слишком высокое требование объясняется тем, что для нормальной работы, выбранной в качестве рекомендуемой ОС системы Windows XP необходимо не менее 512 Мбайт оперативной памяти. Подбор объема накопителя на жестком магнитном диске, далее HDD основывается на размере обрабатываемых данных, в момент предполагаемой пиковой загруженности, занимаемом ОС объемом жесткого диска, а также на размере архивов создаваемых системой за прошлые годы. Так же следует учесть необходимое быстродействие HDD, в зависимости от потребности в скорости реакции системы. Предполагаемый срок службы техники – 5 лет. Так как 5 лет – средний срок полного морального устаревания парка машин и его замены. Скорость передачи данных в ЛВС зависит от выбранного сетевого программного и технического обеспечения. Парк применяемых машин на предприятии заказчика оснащен Ethernet-адаптерами и прочими сетевыми устройствами со скоростью передачи данных 100Mбит/сек. Учитывая достаточность этой скорости для работы системы, принято решение использовать имеющиеся средства. Подведя итоги выше приведенных рассуждений, необходимо выдвинуть следующие комплексные требования к составу технических средств, чтобы обеспечить нормальное функционирование системы: Сервер (минимальные требования): процессор не хуже Pentium IV 1ГГц объем ОЗУ не менее 1024 Мб объем жесткого диска не менее 10 Гб (свободно не менее 1ГБ) Сетевая карта Клиент: процессор не хуже Pentium II 400 МГц объем ОЗУ не менее 512 Мб; 17 графический адаптер не хуже SVGA 16 Мб; монитор не хуже SVGA 0.26, 15 дюймов сетевая карта 2.4 Описание среды разработки 2.4.1 C#3.5, ASP.NET При рассмотрении различных моделей проектирования решение было принято в пользу объектно-ориентированного подхода. Кроме того, должен быть обеспечен доступ к ИС с любого ПК локальной сети кафедры, а также через сеть Интернет. Для реализации данного проекта необходимо было выбрать мощный язык высокого уровня. Выбор пал на C# 3.5, основным достоинством которого является его Web-ориентированность. Ведь при помощи именно этого языка создаются приложения .NET. С# - это объектноориентированный язык программирования, вобравший в себя достоинства многих других успешных языков. Он прост в использовании как Visual Basic, но в тоже время гибок и мощен как C++ и Java. Выбор языка программирования С# определил выбор в пользу технологии ASP.NET как технологии, используемой для создания вебприложений. ASP.NET представляет собой комплексную технологию серверного программирования, включающую в себя сервисы, программную инфраструктуру и модель программирования, необходимые для создания веб-приложений. Будучи частью платформы Microsoft.NET, ASP.NET 18 позволяет с исключительной легкостью создавать и развертывать расширяемые приложения с компонентной структурой.3 Достоинства ASP.NET: Объектно-ориентированный подход Поддержка визуальных компонентов, инкапсулирующих не только вывод HTML, но и Javascript и даже AJAX. Кроме встроенных, существуют компоненты сторонних производителей. Есть возможность наследовать свой компонент от чужого и улучшать его, адаптируя под свои потребности Встроенные визуальные компоненты для редактирования и отображения данных, навигации, авторизации Встроенные средства кэширования, мониторинга, позволяющие повысить производительность и масштабируемость приложений Полноценный компилируемый язык программирования (C#, VB.NET, Delphi, J#) Удобная среда разработки и отладки приложений Шаблоны дизайна, пользовательские элементы управления, модель codebehind — позволяют не только отделить программный код от представления, но и использовать многократно один и тот же код Встроенная авторизация и аутентификация Встроенная поддержка веб-сервисов Расширяемая архитектура, основанная на провайдерах в таких областях как авторизация, хранение файлов, компиляция, сессия Усовершенствованная архитектура доступа к данным ADO.NET 3 Эспозито Д.,Microsoft ASP.NET 2.0 Базовый курс,Питер,2007,688с 19 Встроенная поддержка локализации сайтов (многоязычность) 2.4.2 MS SQL 2008 Express SQL Server 2008 упрощает инфраструктуру, предоставляя защищённую, масштабируемую и управляемую платформу доступа к корпоративным данным и сокращая время простоя приложений. SQL Server 2008 опирается на мощные возможности SQL Server 2005, но обеспечивает большую безопасность и доступность благодаря целому ряду усовершенствований. SQL Server 2008 позволяет сохранить БД в DatabaseProject с дальнейшим его помещением в общую систему контроля версий, что является очень удобным для группы разработчиков. Встроенные запросы LINQ (Language Integrated Query) позволяют разработчикам вместо использования SQL-запросов обращаться к данным из программ на управляемых языках, например C# . Благодаря LINQ стали возможны встроенные сильно типизированные запросы с ориентацией на наборы данных, написанные на .NET-языках и обращенные к ADO.Net (LINQ to SQL). В SQL Server 2008 имеется новый провайдер LINQ to SQL, позволяющий разработчикам использовать LINQ, обращаясь непосредственно к таблицам и полям SQL Server 2008. Также, немаловажным достоинством MS SQL 2008 Express является тот факт, что он является бесплатно распространяемой версией SQL Server. 20 2.4.3 LINQ По мере взросление платформы Microsoft.NET и поддерживаемых ею языков, таких как C#, стало ясно, что одной из наиболее проблемных областей для разработчиков остается доступ к данным из различных источников, в частности, доступ к базе данных. Вместо того, чтобы просто добавить больше классов и методов для постепенного восполнения этих недостатков, разработчики Microsoft пошли на один шаг дальше в абстрагировании основ запросов данных из этих конкретных доменов данных. В результате появился Language Integrated Query (LINQ) . LINQ – это технология Microsoft, предназначенная для обеспечения механизма поддержки уровня языка для опроса данных всех типов. Эти типы включают массивы и коллекции в памяти, базы данных, документы XML и многое другое. Большей частью LINQ ориентирован на запросы – будь то запросы, возвращающие набор подходящих объектов, единственный объект или подмножество полей из объекта или множества объектов. LINQ to SQL – наименование, присвоенное программному интерфейсу IQueryable<T>, позволяющему запросам LINQ работать с БД Microsoft SQL Server. Этот интерфейс в ранних выпусках LINQ назывался Dlinq. В современном мире, где господствуют объектно-ориентированные языки программирования, программирования и существует реляционной несоответствие базой данных. между При языком написании приложений мы моделируем классы как представления объектов реального мира. Однако, большинство БД промышленного масштаба остаются реляционными и хранят свою информацию в виде записей в таблицах, а не в виде объектов. Кроме того, LINQ to SQL – это реализация ORM начального уровня от Microsoft на основе LINQ, позволяющая выполнять мощные SQL21 запросы. Также LINQ to SQL предлагает средства отслеживания обновления и изменения БД.4 2.4.4 Итоговые требования, предъявляемые к ПО Выбор ОС был сделан в пользу Windows платформы, так как на данный момент времени она используется на 43 кафедре в качестве основной. Подводя итог анализа и выбора различных программных средств и технологий разработки, к ПО, установленному на серверной и клиентской машинах, предъявляются следующие требования: Для сервера: Windows Server 2003 и выше .net 3,5 и выше SQL Server 2005 и выше Для клиента : Windows XP и выше браузер Internet Explorer версии 7 и выше или другой с поддержкой XHTML 1.0 4 Раттц Д., LINQ Язык интегрированных запросов в C#2008 для профессионалов,Вильямс,2008,560с 22 3 АРХИТЕКТУРА РАЗРАБАТЫВАЕМЫХ СИСТЕМ 3.1 Модель данных Структура требованиями, БД существующего предъявленными к проекта создаваемой была продиктована системе, а также соображениями относительно простоты доступа к ИС. Все редактирование созданной БД осуществлялось непосредственно с помощью Microsoft SQL Server 2005, что значительно усложняло процесс внесения каких бы то ни было изменений в БД, а также могло привести к возникновению нежелательных ошибок. В соответствии с поставленной задачей, было принято решение о необходимости внесения изменений в существующую БД, имеющую структуру, изображенную на рис.3, администрирования. 23 с целью упростить процесс User U serID StudentAttendance G roupID A ttendanceID N ame S tudentID P atrony mic U serID F amily IsP resent Email P hone Credential U serID G roupID Logging Student P IN P ass LogID StudentID Group U serID U serID GroupID G roupID Name Ty pe IsTeacher M essage IP A ddress Bonus Teacher DisciplineID S tudentID TeacherID TeacherID U serID S core Days Day ID Name StudentLab LabWorkID S tudentID TeacherID P assedDate S core A nnotation Rev iew ed Attendance A ttendanceID DisciplineID TimeTable TeacherID TeacherID N ame DisciplineID Date G roupID A nnotation Day ID Time A uditory ID Discipline DisciplineID DisciplineTy peID N ame C ourse LabWork LabWorkID Auditory DisciplineID A uditory ID TeacherID Name N ame S tartDate EndDate Description LabWorkInfo M axBalls LabWorkInfoID DisciplineType LabWorkID DisciplineTy peID Description U RL Name Penalty P enalty ID LabWorkID P enalty Balls F romDate Рис.3 Структура базы данных 24 Для упрощения защищенности введение роли процесса администрирования и повышения было принято решение ввести роль администратора. Для администратора потребовалось внести изменения в существующую БД, которые заключаются в введении новой таблицы Admin. Содержание таблицы Admin отображено в таблице 1. Таблица1. Admin Имя поля Тип поля Комментарии Admin ID int Уникальный идентификатор администратора Также потребовалось установить связь таблицы Admin с таблицей User. Произведенные изменения отображены ниже на рис.4 Рис.4 Структура таблиц User и Admin Для обращения к отдельным таблицам, для формирования собственного запроса к БД используются сгенерированные классы, структура которых полностью повторяет структуру каждой таблицы, включая связанные таблицы, и этот же класс позволяет без дополнительного обращения к БД сохранять данные. Примером такого класса является класс User , необходимый для обращения к соответствующей таблице – остальные подобные классы аналогичны по структуре и не требуют дополнительного рассмотрения. На рисунке 5 изображен класс User в связке с классом Admin. 25 Рис.5 Классы, соответствующие таблицам User и Admin 3.2 Описание системы, реализующей функции администрирования пользователей ИС В постановке задачи были обозначены следующие функции, которые должен иметь возможность выполнять администратор : Добавление информации о новом пользователе Редактирование информации о существующих пользователях При выполнении заданных функций, администратор ведет работу с таблицей User, содержание которой отображает таблица 2 26 Таблица 2. User Имя поля Тип поля Комментарии UserID int Уникальный идентификатор пользователя GroupID int Уникальный идентификатор группы пользователей Name varchar(60) Имя Patronymic varchar(60) Отчество Family varchar(60) Фамилия Email varchar(40) Электронная почта Phone varchar(25) Телефон Для выполнения администрирования информации о пользователях сначала был реализован вывод информации об уже существующих пользователях, процесс которого описан функцией ShowUsers. Затем была выполнена задача реализации добавления новых пользователей. Во-первых, была создана специальная кнопка. События, срабатывающие при ее нажатии описаны функцией btnNewUser_Click. При этом список студентов переводится в режим редактирования. Затем были реализованы функции GetTextBoxValue и GridViewUsers_RowUpdating, с помощью которых осуществляется доступ к новым введенным данным и присвоение этих данных переменным. Следующей была описана функция SaveUser. Эта функция в качестве параметров получает переменные, которым присвоены значения введенных данных, и она выполняет сохранение этих новых данных в БД. Сохранение осуществляется с учетом группы, которую выбирает администратор из всего списка групп перед нажатием кнопки добавления пользователя. Для редактирования информации об уже существующих пользователях были созданы две кнопки. Первая переводит запись о 27 пользователе в режим редактирования и сразу после нажатия заменяется на кнопку сохранения. События, происходящие по нажатию этих кнопок описываются функциями GridViewUsers_RowEditing и btnSave_Click соответственно. Также была создана кнопка, отменяющая результаты редактирования, она описана функцией GridViewUsers_RowCancelingEdit. При этом для добавления новой информации, и для редактирования существующей была настроена базовая валидация, не позволяющая оставлять незаполненными определенные поля, чтобы не допустить добавления пустых записей. 3.3 Описание системы, реализующей функции администрирования групп ИС В соответствии с поставленной задачей, необходимо обеспечить возможность добавления новой группы. Информация о существующих группах автоматически выводится на страницу администратора в виде списка. Для добавления новой группы была также создана кнопка, по нажатию которой срабатывает выполнения функции btnNewGroup_Click. В этой функции осуществляется доступ к TextBox tbNewGroupName, в который администратор вводит номер новой группы. при этом номер группы может состоять не только из одних цифр, но также содержать и буквы, указывающие дополнительную информацию о группе(например, номер 4535к указывает на то, что группа является контрактной). Далее номер группы преобразуется в GroupID, путем взятия первых четырех символов и переводом их в числовой формат. А затем выполняется сохранение данных о новой группе в БД. При добавлении новой группы также была реализована 28 валидация, выдающая сообщение об ошибке, при попытке создать новую группу, без введения ее номера. 3.4 Описание системы, реализующей функции администрирования расписания преподавателей ИС Функции администратора по отношению к расписанию преподавателя заключаются в просмотре существующего расписания и внесении в него новых записей. Был создан новый класс TimeTableBD, входящий в состав класса CashedBD, реализующего процесс кэширования данных, необходимый для ускорения выполнения загрузки данных из базы. В данном файле реализован метод GetTimeTableList, спомощью которого можно просмотреть существующее расписание. Также в сборку LabTracker.Site были добавлены файлы TimeTable.aspx функционал, и реализующий TimeTable.aspx.cs, отображение в которых страницы содержится веб-портала с расписанием преподавателей и методы добавления новых записей в расписание. Добавление новой записи в расписание реализовано следующим образом. При нажатии на кнопку добавления срабатывает событие btnAddNewGroup_to_Teacher_Click, которое добавляет вверх таблицы расписания редактируемую строку. Редактируемая строка состоит из списков существующих осуществляется преподавателей, из групп и дисциплин, соответствующих gvTimeTable_RowDataBound. Затем, ее заполнение БД функцией помощью функции таблиц с gvTimeTable_RowUpdating получается доступ к введенным данным, в ней 29 осуществляется вызов функции SaveNewRecord, которая сохраняет новые данные в БД. 30 4 ИНТЕРФЕЙС СИСТЕМЫ При проектировании пользовательского интерфейса основополагающим было соблюдение критериев простоты и удобства. В результате, был разработан простой и интуитивно-понятный графический интерфейс. Для удобства пользователей количество различных веб-страниц было сведено к минимуму, что положительно сказывается на времени обучения работе с системой и минимизации возможных проблем работы ИС. Аутентификация пользователя – одна из важнейших частей любой ИС, является общей для всех групп пользователей. При входе в систему пользователю предлагается выбрать свою группу и имя, которое должно присутствовать в этой группе. Этот процесс изображен на рисунке 6 Рис.6 Аутентификация пользователей 31 При вводе неверного пароля выдается сообщение об ошибке, которое изображено на рисунке 7 Рис.7 сообщение о вводе неверного пароля Далее будет описан интерфейс административных функций, который применим только к пользователям из группы Администраторы 4.1 Интерфейс системы администрирования информации о пользователях ИС В проекте был реализован функционал, позволяющий добавлять записи о новых пользователях, просматривать списки групп, а также редактировать существующую информацию и,при необходимости,отменять произведенные изменения. Если аутентификация прошла успешно, то администратор попадает на страницу, изображенную на рисунке 8 32 Рис.8 вид страницы администратора Если необходимо просмотреть список группы, то необходимо выбрать ее в списке, одним кликом левой кнопки мыши,послечего в окне будет отбражент текущий список пользователей, входящих в выбраннуу группу. Результат просмотра списка участников, например, группы 4737 отображен на рисунке 9. Рис.9 просмотр списка группы 4737 33 При выводе списка, около каждой записи появляетсядве кнопки, для редактирования записи и отмены произведенных изменений. Нажатие кнопки обновления переводит запись в состояние редактирования, которое изображено на рисунке 10 Рис. 10 Редактирование записи При переводе строки в режим редактирования, кнопка «правка» автоматически заменяетсяна кнопку «сохранить». При нажатии кнопки «сохранить» происходит обновление записи. Если же по какой-либо причине необходимо отменить произведенные изменения, то следует нажать кнопку «отмена» Для вставки новой записи, необходимо выбрать группу в списке и ввести ее номер в специальное окно, а затем нажать на кнопку «добавить пользователя». Результат этих действий приведен на рисунке 11 34 Рис.11 Добавление нового пользователя В новую редактируемую строку ноебходимо ввести новые данные и нажать на кнопку «сохранить». Эти действия отражены на рисунке 12 Рис.12 Сохранение нового пользователя После нажатия на кнопку сохранения, если все данные были введены верно, новая запись добавиться в нонец таблицы. Для запрета сохранения пустых записей, в проекте была реализована валидация, которая выдает сообщение, если не заполнено обязательное поле. Действие валидации отображается рисунком 13 35 Рис.13 действие валидации 4.2 Интерфейс системы администрирования информации о группах ИС В разработанном проекте осуществлена возможностьдобавления новой группы, а так же просмотр список всех групп. Все группы выводяться в список, который помещается слева на странице администратора . вид списка групп отображается рисунком 14. Рис.14 вид списка групп Для добавления новой группы, необходимо ввести номер создаваемой группы в специальное окно, затем нажать на кнопку «добавить группу», 36 чтобы сохранить ее. Действия администратора при добавлении группы отражено на рисунке 15 Рис.15 добавление новой группы В процессе описания функции добавления группы. как и в случае с добавлением пользователей, была учтена необходимость запрета сохранения пустых записей, реализованная с помощью базовой валидации. Этот механизм отражен на рисунке 16 Рис.16 действие валидации 37 4.3 Интерфейс системы администрирования информации о расписании преподавателей Администрирование расписания преподавателей предполагает возможность просмотра существующего расписания и добавления в него новых записей. Просмотр расписания отражен на рисунке 17 Рис.17 просмотр расписания По нажатию кнопки «Add» осуществляется перевод расписания в режим редактирования. При этом добавляется новая строка, состоящая из 3х списков, в каждый из которых выводятся списки всех преподавателей, групп и дисциплин. Администратор осуществляет необходимый ему выбор и сохраняет новые данные. 38 ЗАКЛЮЧЕНИЕ В результате проделанной работы была создана система администрирования ИС электронных ведомостей. Созданная система отвечает всем выдвинутым требованиям и позволяет производить все необходимые действия, обозначенные в постановке задачи. Система web-администрирования была разработана с применением таких современных технологий, как LINQ и ASP.NET. Основными направлениями развития системы можно следующие задачи: Дальнейшее расширение функций администратора Реализация пакетной обработки данных 39 назвать СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 1. Албахари Д., Албахари Б., LINQ Карманный справочник БХВ, 2009, 240с 2. Бучег Г. ASP.NET Учебный курс БХВ, 2002, 512с 3. Культин Н., C# в задачах и примерах,БХВ,2007,241с 4. Культин Н., Microsoft Visual C# в задачах и примерах,БХВ,2009,314с 5. МакДональд М., Шпушта М., Microsoft ASP.NET 3.5 с примерами на C# для профессионалов,Вильямс,2008,1424с 6. Раттц Д., LINQ Язык интегрированных запросов в C#2008 для профессионалов,Вильямс,2008,560с 7. Троелсен Э.,Язык программирования C#2008 и платформа .NET 3.5,Вильямс,2008,1400с 8. Шилдт Г.,Полный справочник по C#,Вильямс,2004,752с 9. Эспозито Д.,Microsoft ASP.NET 2.0 Базовый курс,Питер,2007,688с 10. Эспозито Д.,Программирование с использованием Microsoft ASP.NET 3.5,Питер,2009,1008с 11. http://swebok.sorlik.ru 12. http://ru.wikipedia.org 40 ПРИЛОЖЕНИЕ 1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ 1 Введение Система «Web-администрирования системы электронных ведомостей» создается с целью упростить работу администратора ИС . 2 Назначение разработки Основные задачи, которые должна решать разрабатываемая система: Повышение эффективности администрирования ИС Повышение достоверности данных Проверка возможности дальнейшего процесса перехода на электронный документооборот 3 Требования к функциональным характеристикам ИС должна представлять собой комплекс программных средств для решения поставленных задач и соответствовать следующим требованиям к функциональности: Обеспечивать доступ к данным с любого компьютера локальной сети кафедры или удаленного компьютера за пределами университета. добавлять и редактировать сведения пользователях ИС добавлять и редактировать сведения группах ИС добавлять новые сведения о расписании преподавателей обеспечить возможность просмотра расписания преподавателей 41 4 Требования к надежности При выборе технических средств для реализации ИС и разработки ПО, необходимо учесть требования, предъявляемые к ИС: Высокая степень защиты данных; Обеспечение достоверности отображаемых данных; регистрация всей информации, циркулирующей в системе; возможность выдачи информации на экран монитора в форме, обеспечивающей эффективную работу оператора; обеспечение высокой надежности как технических средств, так и ПО. 5 Условия эксплуатации ИС должна быть реализована на языке программирование высокого уровня, с использованием возможностей интерфейса веб-страниц. Клиент: процессор не хуже Pentium II 400 МГц объем ОЗУ не менее 512 Мб; монитор не хуже SVGA 0.26, 15 дюймов Клавиатура IBM PC AT 101/102 клавиши Манипулятор мышь. Сервер: процессор не хуже Pentium IV 1ГГц объем ОЗУ не менее 1024 Мб объем жесткого диска не менее 10 Гб (свободно не менее 1ГБ) Сетевая карта 42 6 Требования к информационной и программной совместимости Вся клиентская часть ИС должна быть разработана на языке C# 3.5. Часть приложения, обеспечивающая необходимую работу с СУБД, должна быть реализована на языке T-SQL, совместимым с MS SQL Server 2008 Системное программное обеспечение, требуемое для сервера ПО, включает в себя операционную систему Microsoft Windows XP или выше, сетевое программное обеспечение Microsoft, комплекс библиотек .NET Framework 3.5 Системное программное обеспечение для клиента - браузер с поддержкой технологии AJAX 7 Требования к программной документации Документация на разрабатываемую систему должна включать: руководство пользователя; руководство системного программиста. 8 Стадии и этапы разработки Период разработки разбивается на следующие стадии: Разработка концептуальной модели Разработка пользовательских интерфейсов Разработка способов взаимодействия с БД Кодирование алгоритмов Отладка и тестирование 43 Сборка и финальное тестирование системы Завершающей созданного стадией программного является продукта. разработка В документации ней функциональность и структура сохраняемых документов. 44 описывается