Файл: Проектирование и создание информационной системы для торговой организации.pdf

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 129

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

12
Веб-приложения имеют свои положительные особенности,
соблюдающие и дополняющие свойства открытых систем [4]:

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

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

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

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

Предоставляются широкие возможности социального взаимодействия, взаимодействия и интеграции ИС с другими информационными системами функционирующими в глобальной сети.

Благодаря работоспособности на любом аппаратном обеспечении и актуальности таких систем, веб-приложения могут составлять реальную конкуренцию нативным приложениям операционных систем
(Apple iOS, Google Android, Windows Phone). В обозримом будущем конкурентоспособность может сильно возрасти благодаря работе W3C

13
(организация, разрабатывающая и внедряющая технологические стандарты для Всемирной паутины) над созданием открытых стандартов, дающих веб-приложениям доступ к аппаратной составляющей устройств, что сильно расширит возможности клиентской составляющей.
Как видно из перечисленных свойств и особенностей веб-приложений
— они весьма подходят к определению открытых систем и соблюдают их принципы. Наиболее яркое осуществление свойств открытых систем — это внутреннее и внешнее взаимодействие веб-приложения посредством сетевых технологий, что является соблюдением свойства взаимодействия.
Мобильность и переносимость отлично обеспечивается на клиентском уровне — как правило любая операционная система содержит браузер, который является программной основой для работы конечного пользователя с веб-приложением, на серверной стороне переносимость обеспечивается множеством совместимых аналогов программного обеспечения (такого как
СУБД), возможностью запуска серверного ПО в различных операционных системах и на аппаратных решениях, лёгкость переноса серверной части на другое оборудование. Черта масштабируемости хорошо присутствует в веб- приложениях — отчасти это обеспечивается стандартизацией разработки и реализации веб-приложений, из этого также вытекает свойство стандартизации, хотя некоторые аспекты программирования имеют довольно молодые и не устоявшиеся стандарты, они весьма быстро распространяются благодаря сфере и области функционирования данных информационных систем и возможности быстрого внедрения. Дружественность клиентского интерфейса к пользователю во многом соблюдается благодаря наличию технологий и стандартов по разработке веб-приложений для различных устройств, часто этот фактор сводится к самому значительному: размер экрана и вид используемого аппаратного обеспечения и способ управления
(классические клавиатура и компьютерная мышь или сенсорный экран). Веб- приложение позволяет сделать интерфейс удобным для конечного


14 пользователя независимо от того, использует тот смартфон (рис. 2.), персональный компьютер или телевизор с функцией SMART-TV. Клиентская часть веб-приложения может быть реализована в максимально простом и понятном виде, для решения конкретных задач пользователя «под ключ».
Рис. 2. Интерфейс веб-приложения на разных экранах
Организация разработки веб-приложения весьма гибкая, на конечный выбор методологии могут влиять такие факторы, как масштаб информационной системы, финансовые и временные рамки разработчика, техническое задание заказчика.
Современные аспекты и концепции в методиках для разработки
веб-приложений:

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

15 обеспечивает единое видение проекта каждым участником. В таких командах выставляются высокие требования к компетенции и конечному результату, поощряется желание в образовании совершенствовании навыков. Не редко такие команды собираются в крупных организациях для разработки конкретной информационной системы (пример, Microsoft Solution Framework), однако, есть и антонимичные примеры — экстенсивная модель роста за счёт увеличения прибыли, путём повышения набора низкооплачиваемых специалистов, что вызывает постоянную текучку кадров, но снижает риски из-за кадровых потерь.

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

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


16

Жизненный цикл разработки веб-приложения схож с методологией
Rational Unified Process и состоит из 4 фаз, которая может быть исполнена только один раз или повторяться несколько раз при необходимости. Фаза «Начало» формирует видение и границы проект, определяет основные требования, ограничения и ключевую функциональность продукта. Также при этой фазе оцениваются риски.
В фазе «Уточнение» производится анализ предметной области и построение архитектуры приложения, разработка интерфейсов и дизайна. В фазе «Конструирование» происходит реализация большей части функциональности. В фазе «Внедрение» - происходит тестирование и оценка, определяется качество получившегося веб- приложения, проводится оптимизация.

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

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

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

17 деталях, а другой сосредоточен на картине в целом. Через некоторое время происходит смена ролей. Смежный принцип коллективного владения кодом означает, что каждый разработчик несет ответственность за весь исходный код.
Исходя из вышеперечисленных способов разработки веб-приложений можно сделать вывод, что методика разработки может быть разной при разных проектах, а также совмещать в себе лучшие качества, организуя гибридные варианты в процессе реализации конкретных задач. На выбор методики может влиять время выполнения, обоснование используемых ресурсов и требовательность к конечному функционалу.
1.2. Стандарты разработки веб-приложений
Кроме методики организации разработки веб-приложений, не менее важными являются правила написания кода. Стандартизация написания кода веб-приложений — это развивающиеся решения, одной из популярных и глобально применяющихся методик, является БЭМ-методология (Блок,
Элемент, Модификатор), которая включает в себя компонентный подход к веб-разработке, подразумевающий разделение кода и файловой структуры интерфейса на независимые блоки. Данная методология разработана российской компанией Яндекс и описывает подход к написанию кода всех веб-технологий для построения интерфейса (HTML, CSS, JavaScript), а также составление документации, проведение тестов и т.д.


18
Рис. 3. БЭМ-методология как решение частых проблем веб-разработки
БЭМ-методология сопровождается большим количеством технической документации, готовыми к работе примерами, инструментариями, доступными в соответствующем разделе сайта «Технологии Яндекс»
(https://tech.yandex.ru/bem/).
БЭМ включает в себя:

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

Технологии и библиотеки с открытым исходным кодом — готовая реализация рекомендаций БЭМ.

Инструменты для автоматизации работы с методологией БЭМ.
Преимущества БЭМ:

Простая поддержка структуры кода при росте проекта.

Повторное использование кода — позволяет сократить сроки и стоимости новых разработок за счёт использования одинаковых компонентов.

19

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

Масштабирование — код развивается по заранее известным правилам.

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

Автоматизация — общие единые правила способствуют автоматизации процессов. Часть кода может быть сгенерирована автоматически.
БЭМ рекомендуют многие популярные разработчики, консультанты и технические директора. Его используют в таких IT-гигантах как Google,
Яндекс, BBC, Alpha-Bank, BuzzFeed, EPAM. Также БЭМ можно использовать не только в веб-разработке, но и в любом другом языке программирования и фреймворке, т. к. методология предлагает только абстрактные практики по повышению надёжности и повторному использованию кода [23].
Кроме стандартизированной разработки веб-приложения в части интерфейса, необходимо также стандартизировать разработку серверной части, основой которого является PHP-код. Наиболее популярным и применяемым в мире является стандарт кодирования PSR. Proposing a
Standards Recommendation — предлагаемые рекомендации стандартов, которые в свою очередь разделены на несколько независимых блоков.
Данный стандарт создан группой взаимодействия фреймворков (PHP-FIG), является развивающимся и постоянно дополняющимся, охватывая всё больше аспектов PHP-программирования [28]. На сайте сообщества можно найти как утверждённые рекомендации, так и рекомендации, находящиеся в разработке (http://www.php-fig.org).
Описание существующих на данный момент PSR стандартов
[28,34]:
PSR-1 - основной стандарт кодирования. Данный стандарт описывает наиболее общие правила, такие как использование тегов PHP, кодировка файлов, разделение места объявления функции, класса и места их использования, а также именование классов и методов.


20
PSR-2 - руководство по стилю кода. Расширяет первый стандарт, регулирует такие вопросы использования в коде как «табуляция или пробелы», переводы строк, максимальная длина строк, правила оформления управляющих конструкций (рис. 4.) и другое.
PSR-3 - интерфейс протоколирования. Этот стандарт разработан для того, чтобы обеспечить логирование (журналирование) в приложениях, написанных на PHP.
PSR-4 - стандарт автозагрузки. Это, наверное, самый важный и нужный стандарт PSR. Классы, которые реализуют PSR-4, могут быть загружены единым автозагрузчиком, что позволяет частям и компонентам из одного фреймворка или библиотеки быть использованными в других проектах.
PSR-6 - интерфейс кеширования. Кэширование используется для повышения производительности системы. И PSR-6 позволяет стандартно сохранять и извлекать данные из кэша, используя унифицированный интерфейс.
PSR-7 - интерфейс HTTP-сообщений. При написании сложных веб- приложений на PHP, почти всегда приходиться работать с HTTP заголовками.
Конечно, язык PHP предоставляет нам уже готовые возможности для работы с ними, такие как суперглобальный массив $_SERVER, функции header(), setcookie() и т.д., однако их ручной разбор чреват ошибками, да и не всегда можно учесть все нюансы работы с ними. И вот, чтобы облегчить работу разработчику, а также сделать единообразным интерфейс взаимодействия с
HTTP протоколом был принят данный стандарт.
PSR-11 - интерфейс контейнера. При написании PHP программы часто приходится использовать сторонние компоненты. И чтобы не заблудиться в обилии зависимостей были придуманы различные методы управления зависимостями кода, зачастую несовместимые между собой, которые данный стандарт и приводит к общему знаменателю.

21
PSR-13 - гипермедиа ссылки. Данный интерфейс призван облегчить разработку и использование прикладных программных интерфейсов (API).
PSR-16 - интерфейс простого кэширования. Является продолжением и улучшением стандарта PSR-6.
Рис. 4. Оформление кода и файловая структура в соответствии с PSR
Консорциум Всемирной паутины (World Wide Web Consortium,
W3C) — это организация, разрабатывающая и внедряющая для Интернета единые принципы и технологические стандарты
(называемые рекомендациями), которые затем внедряются производителями программ и оборудования. Консорциум возглавляет сэр Тимоти Джон Бернерс-Ли, автор множества разработок в области информационных технологий [40].
Стандарты, рекомендуемые W3C, являются открытыми и свободными для внедрения кем угодно, без финансовых отчислений консорциуму.
Организация не проводит сертификацию на соответствие стандартам и не планирует этим заниматься. Благодаря этому рекомендации консорциума получили широкое распространение, однако это вызывает проблему с тем, что некоторые производители следуют рекомендациям лишь частично (такое внедрение не нарушает общих стандартов W3C). Также внедрение разделено на несколько степеней внедрения – каждый сам решает в какой степени необходимо внедрение W3C стандартов. Из практических примеров – это частичное внедрение новых стандартов W3C в работе веб-обозревателей, что обуславливает веб-разработчиков необходимостью проводить дополнительное тестирование на кроссбраузерность веб-приложения.