Сделай Сам Свою Работу на 5

Анализ серверных языков программирования





Введение

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

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

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



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

Разработка программ такого типа требует необходимость учета специфики работы учебного заведения. В качестве объекта исследования рассматривается учебный отдел Калужского филиала московского государственного технического университета имени Н.Э. Баумана.

Предметом исследования является анализ учебного процесса студентов университета.



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

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

1) Теоретический анализ учебной деятельности студентов университета

2) Анализ аналогичных программных продуктов

3) Разработка и проектирование веб-приложения для учебного заведения

4) Обоснование экономической эффективности разрабатываемого программного продукта

5) Анализ безопасности труда и защиты окружающей среды


 

Научно-исследовательская часть

Анализ предметной области

Для успешного и эффективного функционирования ВУЗа необходимо комплексное внедрение информационно-коммуникационных технологий (ИКТ) в различные функциональные подсистемы учебного заведения. Одной из таких подсистем является учебное расписание ВУЗа.

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

В рамках данной квалификационной работы будет использована существующая база данных КФ МГТУ им. Н.Э. Баумана.

Структура КФ МГТУ, как и других высших учебных заведений состоит из следующих основных подразделений: факультеты, кафедры, группы.

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



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

Учебная группа - определённое число студентов, изучающих одно и то же направление подготовки в одно и то же время под руководством одних и тех же преподавателей на протяжении определенного периода времени.

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

· различные направления учебной подготовки

· лабораторные занятия

Или наоборот – объединена с другими группами для чтения лекции по общей дисциплине для объединенных групп.

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

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

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

Для небольших высших учебных заведений характерно наличие небольшого количества учебных аудиторий, которые располагаются в одном учебном помещении (корпусе). Однако структура КФ МГТУ им. Н.Э. Баумана состоит из 6 учебных корпусов. Поэтому для определения местонахождения аудитории необходимо вначале указывать номер корпуса, в котором она располагается. Также для удобства первая цифра номера аудитории указывает на номер этажа, на котором она находится.

3) Расписание звонков учебного заведения. Согласно расписанию звонков КФ МГТУ, в день может проводиться до 7 учебных занятий. Каждое занятие длится 1,5 часа (90 минут) с коротким перерывом в 5 минут между двумя половинами (45 минут). Перерыв между двумя соседними парами составляет 15 минут. Также есть большая перемена между третьей и четвертой парой, которая длится 30 минут.

4) Преподаватели – сотрудники высшего учебного заведения, которые ведут подготовку студентов в различных учебных направлениях. На преподавателей возлагается проведение лекционных, лабораторных и семинарских занятий.

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

Анализ средств разработки

Анализ средств разработки веб-приложений

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

Анализ серверных языков программирования

Серверные языки веб-программирования могут быть условно классифицированы по операционной системе, на которой они работают: Windows и Linux, Unix. Это разделение в некоторой степени условно, т.к. практически все популярные языки и фреймворки портированы на обе ОС.

К языкам и средствам разработки серверной части сайта относят PHP, Python, Java, Perl, ASP.NET. Рассмотрим их основные преимущества и недостатки.

РНР - это язык программирования, предназначенный для создания сайтов. Это скрипт-язык, встраиваемый в НТМL, который интерпретируется и выполняется на сервере.

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

На РНР можно сделать все: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать сеансы - куки. Кроме этого в РНР включена поддержка многих баз данных, что делает написание Web-приложений с использованием БД до невозможности простым.

Одним из наиболее заметных достоинств РНР является возможность легкой работы с серверами баз данных. Для этого достаточно установить на Web-сервере программу работы с базой данных.

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

Преимущества PHP:

· является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);

· поддерживается большим сообществом пользователей и разработчиков;

· имеет развитую поддержку баз данных;

· имеется огромное количество библиотек и расширений языка;

· может быть развёрнут почти на любом сервере;

Недостатки PHP:

· имеет слабые средства для работы с исключениями;

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

· веб-приложения, написанные на PHP, зачастую имеют проблемы с безопасностью.

Python – это один из наиболее популярных современных языков программирования. Он пригоден для решения разнообразных задач и предлагает те же возможности, что и другие языки программирования: динамичность, поддержку ООП и кросс-платформенность.

Синтаксис Python достаточно лаконичный, поэтому он достаточно прост при использовании.

Python является языком общего назначения, поэтому может применяться практически в любой области разработки ПО (standalone, клиент-сервер, Web-приложения) и в любой предметной области. Кроме того, Python легко интегрируется с уже существующими компонентами, что позволяет внедрять Python в уже написанные приложения.

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

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

Преимущества Python:

· открытая разработка;

· довольно прост в изучении;

· хорошо читаемый код;

· множество полезных библиотек и расширений языка можно легко использовать в своих проектах благодаря предельно унифицированному механизму импорта и программным интерфейсам;

· абсолютно всё в Python является объектами в смысле ООП.

Недостатки Python:

· малая популярность Python при создании качественных программных проектов по сравнению с другими универсальными языками программирования;

· отсутствие коммерческой поддержки средств;

· изначальная ограниченность средств для работы с базами данных.

ASP.NET — это веб-платформа, предоставляющая все необходимые службы для создания серверных веб-приложений корпоративного класса. ASP.NET создана на основе платформы .NET Framework, поэтому все функции .NET Framework доступны для приложений ASP.NET. Приложения могут быть написаны на любом языке, совместимом со средой CLR, включая VisualBasic и C#.

ASP.NET MVC представляет собой платформу для создания сайтов и веб-приложений с использованием паттерна (или шаблона) MVC (model - view - controller).

Шаблон архитектуры Model-View-Controller (MVC) разделяет приложение на три основных компонента: модель, представление и контроллер (рис. 1). Платформа ASP.NET MVC представляет собой альтернативу схеме веб-форм ASP.NET при создании веб-приложений. Платформа ASP.NET MVC является легковесной платформой отображения с широкими возможностями тестирования и, подобно приложениям на основе веб-форм, интегрирована с существующими функциями ASP.NET.

Шаблон разработки MVC


Рис. 1 – Шаблон разработки MVC

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

В состав платформы MVC входят следующие компоненты.

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

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

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

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

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

 

ПреимуществаASP.NET:

· наличие средства визуального программирования – уменьшение времени разработки в 2 и более раз;

· реализация объектной модели приложения;

· выполняемый код – откомпелированное приложение;

· встроенная поддержка технологии Ajax.

Недостатки ASP.NET:

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

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.