Обоснование выбора средств и методов разработки




Скачать 424.82 Kb.
Название Обоснование выбора средств и методов разработки
страница 1/3
Дата публикации 24.05.2014
Размер 424.82 Kb.
Тип Документы
literature-edu.ru > Информатика > Документы
  1   2   3

  1. Обоснование выбора средств и методов разработки




  1. Выбор языка программирования

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

Языки веб-программирования — это соответственно языки, которые в основном предназначены для работы с интернет-технологиями. Языки веб-программирования делятся на две группы: клиентские и серверные. Приложении А отображает полную информацию об этих языках.

Клиентские языки. Как следует из названия, программы на клиентских языках обрабатываются на стороне пользователя, как правило их выполняет браузер. Это и создает главную проблему клиентских языков — результат выполнения программы (скрипта) зависит от браузера пользователя. То есть если пользователь запретил выполнять клиентские программы, то они исполняться не будут, как бы ни желал этого программист. Кроме того, может произойти такое, что в разных браузерах или в разных версиях одного и того же браузера один и тот же скрипт будет выполняться по-разному. С другой стороны, если программист возлагает надежды на серверные программы, то он может упростить их работу и снизить нагрузку на сервер за счет программ, исполняемых на стороне клиента, поскольку они не всегда требуют перезагрузку (генерацию) страницы. Самыми распространенными клиентскими языками являются:

– JavaScript;

– ActionScript;

– Microsoft Silverlight.

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

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

– ASP .NET;

– JSP (Java);

– PHP;

– Perl;

– Ruby (Ruby on Rails).

Для более наглядного представления смотрите рисунок 1.1.




Рисунок 1.1 – Популярные языки веб-программирования

Необходимо, также, понимать различие между языком программирования и фреймворком. Язык программирования – это просто некоторый базовый синтаксис (возможно со стандартными библиотеками), с помощью которого можно создавать приложения. Фреймворк же предоставляет программисту различные библиотеки, значительно упрощающие создание программ и сайтов. Некоторые языки и фреймворки представляют собой неразрывное целое (например, ASP.NET и JSP). Другие языки могут использоваться без фреймворка (PHP и Perl).

Коротко рассмотрим самые популярные языки.

JavaScript – прототипно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript [1].

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

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

На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами.

ActionScript – объектно-ориентированный язык программирования, один из диалектов ECMAScript, который добавляет интерактивность, обработку данных и многое другое в содержимое Flash-приложений [1]. ActionScript исполняется виртуальной машиной (ActionScript Virtual Machine), которая является составной частью Flash Player. ActionScript компилируется в байткод, который включается в SWF-файл.

SWF-файлы исполняются Flash Player-ом. Flash Player существует в виде плагина к веб-браузеру, а также как самостоятельное исполняемое приложение (standalone). Во втором случае возможно создание исполняемых exe-файлов (projector), когда Flash Player включается в swf-файл.

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

Silverlight (Microsoft Silverlight) – это программная платформа, включающая в себя плагин для браузера, который позволяет запускать приложения, содержащие анимацию, векторную графику и аудио-видео ролики, что характерно для RIA (Rich Internet application). Версия 2.0 добавила поддержку для языков .NET и интеграцию с IDE.

Рассмотрев наиболее популярные клиентские языки я остановился на JavaScript, так как он обладает рядом преимуществ по сравнению с другими, а имеено:

– кроссплатформенность.

– не требует дополнительного ПО (Flash Player для ActionScript, .NET Framework для Silverlight);

– предоставляет большую интерактивность по сравнению с остальными;

– легкость в изучении.

Теперь рассмотрим серверную часть проекта.

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

JSP (JavaServer Pages) — технология, позволяющая веб-разработчикам легко создавать содержимое, которое имеет как статические, так и динамические компоненты. По сути, страница JSP является текстовым документом, который содержит текст двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP элементы, которые конструируют динамическое содержимое [1].

JSP — одна из высокопроизводительных технологий, так как весь код страницы транслируется в java-код сервлета с помощью компилятора JSP страниц Jasper, и затем компилируется в байт-код виртуальной машины java (JVM).

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

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, ВКонтакте, Wikipedia и др.

Perl – высокоуровневый интерпретируемый динамический язык программирования общего назначения, созданный Ларри Уоллом, лингвистом по образованию. Название языка представляет собой аббревиатуру, которая расшифровывается как Practical Extraction and Report Language — «практический язык для извлечения данных и составления отчётов». Первоначально аббревиатура состояла из пяти символов и в таком виде в точности совпадала с английским словом pearl («жемчужина»). Но затем стало известно, что такой язык существует, и букву «a» убрали. Талисманом языка Perl является верблюд — не слишком красивое, но очень выносливое животное, способное выполнять тяжёлую работу.

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

Ruby – динамический, рефлективный, интерпретируемый высокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования [1]. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно-ориентированному подходу — к Smalltalk.

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

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

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

– традиционностью;

– простотой;

– эффективностью;

– безопасностью;

– гибкостью.

Традиционность

Язык РНР кажется знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из Си, Perl. Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. PHP — язык, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным (правда, за некоторыми оговорками) и ясным синтаксисом.

Простота

Сценарий РНР может состоять из 10 000 строк или из одной строки — все зависит от специфики задачи. Не нужно подгружать все библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде.

Эффективность

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

По некоторым оценкам, большинство PHP-сценариев (особенно не очень больших размеров) обрабатываются быстрее аналогичных им программ, написанных на Perl.

Безопасность

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

В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source.

Гибкость

Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).

Подводя итог данной части дипломной работы можно сделать краткий вывод. Для написания ПО по управлению анализатором спектра N9320A с web-интерфейсом будет использованя связка – PHP + JavaScript + HTML.


  1. Выбор шаблона проектирования

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

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

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

На наивысшем уровне существуют архитектурные шаблоны, они охватывают собой архитектуру всей программной системы.

Типы шаблонов проектирования :

  1. Основные

  2. Частные

    1. Шаблоны параллельного программирования

    2. MVC

    3. Enterprise

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

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

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

Основная цель применения этой концепции состоит в разделении бизнес-логики (модели) от её визуализации (представления, вида). За счет такого разделения повышается возможность повторного использования. Наиболее полезно применение данной концепции в тех случаях, когда пользователь должен видеть те же самые данные одновременно в различных контекстах и/или с различных точек зрения. В частности, выполняются следующие задачи:

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

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

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

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

Рассмотрев вкратце основные шаблоны проектирования, я остановился на MVC, так как она показался мне наиболее понятным и простым в реализации, по сравнению с другими.
  1   2   3

Добавить документ в свой блог или на сайт

Похожие:

Обоснование выбора средств и методов разработки icon Типичные черты исследовательского проекта
При этом разработчики не скованы никакими внешними формальными требованиями типа проектной документации или используемых средств...
Обоснование выбора средств и методов разработки icon Тема обоснование выбора
Развитие у учащихся навыков самостоятельной работы на основе адаптивной технологии
Обоснование выбора средств и методов разработки icon Курсовой проект по курсу “Основы предпринимательской деятельности”...
«Экономическое обоснование проведения научно-исследовательской работы “Использование методов днк-анализа для диагностики моногенных...
Обоснование выбора средств и методов разработки icon Обоснование необходимости проекта
Проект «Путешествие в леголэнд» представляет собой систему организационно-педагогических мероприятий и действий, обеспечивающих интеграцию...
Обоснование выбора средств и методов разработки icon Программа учебник методическое обеспечение обоснование выбора хозяинова...
Рабочая тетрадь в двух частях. Москва «Просвещение» 2011 г. М. И. Моро Контрольные работы по математике Москва «Экзамен» 2011 г....
Обоснование выбора средств и методов разработки icon Арт-менеджмент управление в сфере искусства; совокупность принципов,...

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


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции