Файл: Особенности алгоритмизации при разработке WEB-приложений (Основные этапы web разработки).pdf
Добавлен: 28.03.2023
Просмотров: 147
Скачиваний: 3
Основные этапы разработки web-приложений
Разработка web-приложения (web-разработка) — это комплекс мер и действий по планированию и созданию сайта в сети Internet в зависимости от поставленных целей и задач.
Современный Internet-сайт может решать, как маркетинговые задачи — продвигать на рынке товары и услуги предприятия, конкурентные преимущества компании, увеличивать спрос на продукцию и пр. — так и представлять собой информационный ресурс, задачи которого ограничиваются информированием целевой аудитории.
Непосредственно созданию сайта предшествует подробный комплексный анализ, определяющий критерии, которым должен соответствовать будущий web-проект.
Процесс создания web-приложения, в общем случае, включает шесть основных этапов:
· определение целей и задач проекта;
· разработка структуры сайта;
· разработка дизайн-макетов;
· html-вёрстка;
· программирование и контроль качества;
· запуск и сопровождение, SEO-оптимизация.
Каждый из перечисленных этапов в достаточной степени независим, что позволяет выбирать схему работы и исполнителя для каждого из них
Явная причина распространения информационных технологий появление глобальной сети интернет, они уже настолько прочно вошли в нашу жизнь, что публикация информации в WWW стала нормой. Поэтому организация взаимодействия информационной системы с web-сервером. Под информационной системой обычно понимается комплекс программ ориентированный набор, хранение, поиски обработку текстовой и/или фактографической информации. Подавляющее большинство информационных систем работает в режиме диалога с пользователем. Преимуществом данного подхода можно назвать: - отсутствие дублирования кода программы-сервера программам и-клиентами; - так как все вычисления выполняются на сервере, то требования к компьютерам, на которых установлен клиент так как все вычисления выполняются на сервере, то требования компьютерам, на которых установлен клиент, минимальны; - все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. Однако в данном подходе имеется существенный недостаток: при выходе из строя сервера, вся вычислительная сеть становится неработоспособной. В данной работе такой подход является оптимальным, т.к. имеется возможность обслуживать множественные запросы и возможность хранить большой объем данных. Актуальность данной работы заключается в том, что в сети Internet имеется множество информационных ресурсов данной тематики, однако большинство из них не соответствуют необходимым критериям пользователей, всвязисэтимнеобходимостьсозданияудобногоипростоговиспользованииинформационногоресурсаостаетсяактуальной. Целью является разработка web-приложения, которое будет удолетворять потребности потребителя. И для этого будет использоваться JavaScript, PHP и СУБД MySQL. Исходя из цели, были поставлены следующие задачи:
- анализ предметной области;
- построение логической и физической моделей БД;
- реализация спроектированной БД;
- проектирование и разработка web-приложения
Фреймфорки для разработки веб-приложения
Фреймворк (framework) —это программная оболочка, позволяющая упростить и ускорить решение типовых задач, характерных для данного языка программирования. Само слово framework означает «каркас» в переводе с английского. Действительно, фреймворки и призваны быть готовыми каркасами программ, на которые только и остаётся навесить стены и окна .
Сам фреймворк предлагает нам уже встроенные классы для: работы с базой данных, создания функциональных форм, валидации, логирования и др. Все эти классы можете легко использовать во всех ваших проектах, при этом их подключение и использование будет максимально простым.
Еще один из плюсов –структурирование архитектуры вашего приложения.
Vaadin
Maven (мавен) —это инструмент для сборки Java проекта: компиляции, создания jar, создания дистрибутива программы, генерации документации.
Преимущества Maven:
1)Независимость от OS. Сборка проекта происходит в любой операционной системе. Файл проекта один и тот же.
2)Управление зависимостями. Редко какие проекты пишутся без использования сторонних библиотек (зависимостей). Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Мавен позволяет управлять такими сложными зависимостями. Что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек.
3)Возможна сборка из командной строки. Такое часто необходимо для автоматической сборки проекта на сервере (Continuous Integration).
4)Хорошая интеграция с средами разработки. Основные среды разработки на java легко открывают проекты которые собираются c помощью maven. При этом зачастую проект настраивать не нужно -он сразу готов к дальнейшей разработке. Как следствие -если с проектом работают в разных средах разработки, то maven удобный способ хранения настроек. Настроечный файл среды разработки и для сборки один и тот же -меньше дублирования данных и соответственно ошибок
5)Декларативное описание проекта.
Spring Framework
Spring Framework (или коротко Spring) —универсальный фреймворк с открытым исходным кодом для Java-платформы.SpringJava-разработчикам в проектировании; кроме того, он предоставляет хорошо документированные и лёгкие в использовании средства решения проблем, возникающих при создании приложений корпоративного масштаба.Между тем, особенности ядра Spring применимы в любом Java-приложении, и существует множество расширений и усовершенствований для построения веб-приложений на Java Enterprise платформе. По этим причинам Spring приобрёл большую популярность и признаётся разработчиками как стратегически важный фреймворк.Одним из компонентов фреймворка является Spring Security, который представляет из себя инструмент, предоставляющий механизмы построения систем аутентификации и авторизации, а также другие возможности обеспечения безопасности для корпоративных приложений, созданных с помощью Spring Framework.
Определение целей и задач проекта
На этапе проектирования формулируются бизнес-цели создаваемого проекта, определяются требования, которым он должен удовлетворять, разрабатывается общая концепция.
На данном этапе имеет смысл уточнить пожелания заказчика, а также произвести исследование целевой аудитории. Для более глубокого анализа можно запросить у заказчика соответствующие материалы: брошюры, ежегодные отчёты, образцы продукции, другие сопутствующие данные — всё, что поможет составить представление о том, кто и с какой целью будет посещать сайт, какие задачи будут выполняться на сайте. Немаловажно выяснить технические возможности будущей основной пользовательской аудитории — пропускную способность каналов связи, используемые Internet-браузеры и пр.
Для нахождения целевой аудитории целесообразно войти в роль квалифицированного пользователя на аналогичных создаваемому Internet-ресурсах. Помимо прочего это поможет выявить новые креативные концепции для того, чтобы сайт был более конкурентоспособным и «не затерялся» среди множества других.
Когда цели определены, приступают к составлению расширенного плана проекта, отражающего сколько времени, денег и иных средств понадобится для выполнения работ на каждом из последующих этапов. Такой план часто содержит информацию о бюджете проекта, график работ (с соответствующим распределением ролей между web-разработчиками), техническую документацию, а также раздел «деталей и уточнений», где оговорены конкретные аспекты возможных спорных вопросов. В этот раздел также включают предложения о готовых разработках и шаблонах.
После детального рассмотрения и утверждения плана подписывается договор о выполнении работ.
Задача БД при создании веб-приложения
Согласно классическому определению, база данных —это упорядоченная совокупность информации, хранящейся в виде множеств, каждое из которых содержит записи унифицированного вида. Системы управления базами данных (СУБД) предоставляют программисту мощнейший инструментарий для создания, обновления и обработки больших объемов информации, имеющей сложную структуру. В классической теории выделяют три типа, три структуры баз данных: иерархическую, сетевую и реляционную. В настоящее время доминирующее положение занимают реляционные базы данных. Лидером среди баз данных, применяемых для разработки WEB-приложений, на сегодняшний день, безусловно, является MySQL. Главное достоинство MySQL (плавно переходящее в недостаток:) -ее простота. Как следствие -высочайшая скорость выполнения SQL-запросов и необходимость явного программирования основных правил поддержания целостности и непротиворечивости данных на уровне сервера приложений.
Среди других баз данных, применяемых для WEB-разработок, отметим Oracle и PostgreSQL. PostgreSQL -свободно распространяемая СУБД с открытым исходным кодом, ориентированная главным образом на работу в UNIX-подобных системах.
Функционирование БД обеспечивается совокупностью языковых и программных средств, называемых системой управления базами данных (СУБД).
Основная задача СУБД – предоставить пользователю БД возможность работать с ней, не вникая в детали на уровне аппаратного обеспечения. Иными словами, СУБД позволяет конечному пользователю рассматривать БД как объект более высокого уровня по сравнению с аппаратным обеспечением, а также предоставляет в его распоряжение набор операций, выраженный в терминах языка манипулирования данными высокого уровня (например, набор операций, которые можно выполнять с помощью языка SQL).
Сложные управляемые данными web-приложения по ряду причин используют СУБД. Во-первых, с помощью SQL web-программист может переложить большинство задач хранения и управления данными на СУБД. Во-вторых, СУБД лучше человека справляются с управлением большими объемами данных. В-третьих, БД хранят данные постоянно, в то время, как переменные и их данные в сценариях PHP обычно существуют лишь на протяжении запроса данной страницы. Благодаря этому постоянству СУБД могут принимать более разумные решения по поводу того, что относится к производительности работы с диском и кэшированию памяти.
Хранение информации в БД также позволяет разработчику PHP писать меньший объем кода (благодаря тому, что задачи обработки данных передаются СУБД) и рассматривать отвлеченно всю систему управления данными.
СУБД обычно дают следующие преимущества:
- высокая целостность данных (не гарантируемая файлами);
- улучшенная непротиворечивость данных при множественном доступе;
- улучшенная защита;
- стандартная защита;
- различные представления, основанные на одних и тех же структурах;
- независимость от файловых структур;
- устранение избыточности информации;
- отображение в объекты;
- экономия дискового пространства благодаря объединению таблиц без потерь.
Разработка структуры сайта
Разработка структуры сайта включает всё, что касается его содержания и информационной стратегии, определяющей, как должна быть организована подача информации, чтобы будущие посетители сайта могли быстро и легко её найти. Первоочередной задачей на данном этапе является создание карты сайта, отражающей взаимосвязи типовых страниц и их наиболее значимые функциональные возможности.
Карту сайта представляют в виде чертежа (блок-схемы), на котором каждая страница отображается отдельным прямоугольником. Связи между ними показывают схему переходов по страницам.
Также создают каркасы главной и основных типовых страниц, показывающие расположение текста и графики на странице, а также то, как пользователи будут работать с этими элементами. Каркас страницы должен предполагать возможности последующего расширения.
Более эффективную работу сайта обеспечивает соблюдение принципа: «пользователю удобнее добираться до нужной ему страницы максимум за два щелчка мыши». Поэтому обычно рекомендуется использовать не более двух уровней вложенности в пределах каждой группы элементов.
Завершив формирование облика сайта, компоновку страниц и определив размещение содержимого, переходят к следующему этапу web-разработки — к визуальному оформлению.
Разработка дизайн-макетов
Дизайн-макет — это графическое, наглядное изображение основных элементов сайта. Дизайн-макет полностью воплощает визуальную концепцию сайта. Его разработка выполняется в одной из графических программ (в подавляющем большинстве случаев — в Adobe Photoshop). В процессе разработки дизайнер руководствуется письменным соглашением (брифом) на создание дизайн-макета, который заполняется заказчиком и содержит пожелания к дизайну: тип, предпочтительные цвета, наличие тех или иных графических элементов и пр.
На этой стадии создаются все элементы web-дизайна в соответствии со стилем подачи информации и общей концепцией. Главным при дизайне сайта является умение разработать графические объекты, которые бы быстро загружались и хорошо смотрелись, независимо от используемого Internet-браузера.
Часто прибегают к использованию готовых дизайн-шаблонов, которые широко представлены в сети Internet или являются встроенными в различные графические редакторы, такие как, Microsoft FrontPage или Adobe PhotoShop. С помощью подобных шаблонов сайт создаётся за максимально сжатое время. Однако следует отметить, что у такого решения имеется ряд существенных недостатков, главный из которых — повторяемость и не уникальность дизайна. Шаблон является оболочкой с минимальным количеством интерактивных элементов и полезных модулей. Поэтому при выборе шаблона стоит обращать внимание не только на дизайн, но и на функциональность.
Важным элементом web-дизайна является графика, которую условно можно разделить на три категории: