Разработка приложения для управления продажами мужской одежды
Download 0.79 Mb.
|
Отчет.Практика.КуромбаевС.Р.
- Bu sahifa navigatsiya:
- АНАЛИЗ ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ, ПРОТОТИПОВ И ФОРМИРОВАНИЕ ТРЕБОВАНИЙ К ПРОЕКТИРУЕМОМУ ПРОГРАММНОМУ СРЕДСТВУ
- Обзор существующих аналогов
- Обзор литературных источников
- Требования к проектируемому программному средству
ОПРЕДЕЛЕНИЯ И СОКРАЩЕНИЯ
В данной пояснительной записке применяются следующие сокращения и определения: Программное обеспечение – совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ. СУБД – система управления базой данных. URL – uniform resource locator (единый указатель ресурсов). Авторизация – предоставление определенному лицу или группе лиц прав на выполнение определенных действий; а также процесс проверки данных прав при попытке выполнения этих действий. Веб-портал – веб-сайт, предназначенный для определенной аудитории, предоставляющий доступ к различным сервисам на основе персонализации пользователей с помощью любого устройства, подключенного к Интернету или корпоративной сети. БД – база данных. API – application programming interface (интерфейс программирования приложений). SQL – structured query language (язык структурированных запросов). HTTP – HyperText Transfer Protocol – протокол передачи гипертекста, протокол прикладного уровня передачи данных в виде гипертекстовых документов в формате «HTML», в настоящий момент используется для передачи произвольных данных. АНАЛИЗ ЛИТЕРАТУРНЫХ ИСТОЧНИКОВ, ПРОТОТИПОВ И ФОРМИРОВАНИЕ ТРЕБОВАНИЙ К ПРОЕКТИРУЕМОМУ ПРОГРАММНОМУ СРЕДСТВУ Для разработки программной системы, которая может принести реальную выгоду, необходимо, в первую очередь, выяснить, какие задачи она должна решать и какими свойствами обладать. Очень важно, чтобы ПО удовлетворяло как можно больше потребностей людей и организаций. Чтобы выявить все эти потребности и выяснить смысл высказанных требований приходится проводить достаточно большой анализ предметной области. Ещё предстоит определять область ответственности создаваемого программного средства, — какие именно из выявленных задач будут решаться, при решении каких задач он может оказать существенную помощь и чем именно. После определения этих задач в рамках общей системы и деятельностей пользователей, можно уже более точно сформулировать конкретные требования к ПО. Анализ деятельности крупных организаций, таких, как региональное отделение налоговой инспекции, мусороперерабатывающий завод или компания, которая производит ПО для ресторанов, дает огромные объемы информации. Из этой информации надо уметь отбирать самую существенную, а также уметь находить в ней пробелы — области деятельности, информации по которым недостаточно для четкого представления о решаемых задачах. Обзор существующих аналогов Перед тем, как приступить к реализации проекта, следует проанализировать существующие на данный момент системы подобного характера и тематики. С помощью этого мы можем сделать верные выводы о том, как необходимо создавать собственную систему на основе достоинств и недостатков рассмотренных ресурсов. Cafe-manager (сервис автоматизации кафе) Cafe-manager — это удобная система для автоматизации и управления любым заведением, как ориентированное на оплату по времени, так и классическое кафе без оплаты времени. Это могут быть, например, антикафе, кафе, кофейни, детские игровые площадки, кальян-бары, коворкинги, бильярд, боулинг и другие места, где клиент платит за время, а также за дополнительно оказанные услуги. Для подсчета стоимости времени, заказа, товаров, посетителей антикафе (тайм-кафе) разработано первое облачное решение. Пример системы представлен на рисунках 1.1 – 1.2. В данный момент CRM-система Cafe Manager используется в 1284 заведениях, каждый день система ведет учет более чем 64000 посетителей. Cafe Manager это первое облачное решение для учета посетителей в антикафе, поэтому от конкурентов его выгодно отличают цены, стабильность, доступность, поддержка смарт-карт, а также кастомизация под нужды заказчика. Программное обеспечение для антикафе Cafe Manager является облачным сервисом, поэтому не требует установки, настройки, обслуживания и обновления, вам остается только заниматься своим бизнесом. Рисунок 1.1 – Пример системы « Cafe-manager » Благодаря использованию облачных технологий и балансировки нагрузки сервера Cafe Manager всегда онлайн и доступны для клиентов. Профилактические работы занимают не более 1-2 минут и проходят по ночам, не чаще раза в квартал. Уведомление о проведении профилактических работ заранее рассылается всем клиентам сервиса. Рисунок 1.2 – Цены на тарифы Статистика системы: 642 заведений используют Cafe Manager Более 42000 счетов каждый день! 99.999% доступность сервиса Dooglys Облачная система автоматизации полного цикла работ кофеен, фудтраков, суши-баров, пиццерий, служб доставки еды, столовых, кафе, ресторанов. Простая, функциональная, интуитивно понятная система автоматизации. Все приложения работают через окно интернет-браузера. Пример системы представлен на рисунках 1.3 – 1.4. Cистема автоматизации Dooglys работает через окно интернет-браузера, достаточно ввести ссылку для конкретного модуля: административная часть, кассир, повар, официант, логист, фасовщик, TV, электронная очередь. Это позволяет оформлять заказы и следить за отчетностью дистанционно, из любого уголка земного шара. Рисунок 1.3 – Пример системы «Dooglys» Система Dooglys проста и удобна в настройке работы. Настройте кассу в течение часа; Система автоматизации Dooglys подходит для ресторанного бизнеса: кафе, бар, ресторан, сети кафе, суши-бары, пиццерии, кофейни, кондитерские, столовые; Попробуйте систему для автоматизации Вашего бизнеса в действии. Для Вашего удобства мы подготовили демо-версию нескольких систем бизнеса. Обзор литературных источников Далее приводится анализ сведений, которые влияют на формулирование требований, выбор архитектуры и дальнейшее проектирование и разработку программного средства. Обзор целевых платформ Выбор платформы для интернет-магазина должен происходить исходя из задач бизнеса и экономической целесообразности. Нет одного-единственного правильного решения, которое подойдёт для всех, как не существует одной марки автомобиля, который удовлетворит под все виды человеческих потребностей: одни предназначены подчёркивать статус владельца, другие — рабочие лошадки на каждый день, третьи помогают перевозить тяжёлые грузы, а четвёртые являются предметами инвестиций. Рейтинги платформ — не панацея, а маркетинговый инструмент. Часто рейтинги создают сами разработчики платформ или аффилированные с ними компании. В качестве основных вариантов платформ для разработки выберем следующие: настольное приложение; веб-приложение; мобильное приложение. Настольное приложение – это приложение, запускающиеся локально на компьютере пользователя. При его создании у разработчика есть возможность использовать аппаратную составляющую устройства пользователя, также обращаться к внутренней памяти машины и взаимодействовать с иными установленными приложениями. Стоит отметить, что при установке и использовании такого рода приложений пользователь сам может конфигурировать программное средство: изменить разрешение экрана, качество графики, запретить доступ к ресурсам и т.д. Однако у подобных приложений также присутствуют и недостатки. Как правило, такие приложения достаточно сильно завязаны на системных требованиях в виде определенных версий операционной системы, минимального размера ОЗУ и определенного дискового пространства, которое может достигать достаточно больших объемов. Еще одним недостатком является проблема с обновлением приложения на удаленных машинах пользователей. Как правило, пользователи сами обновляют десктопы, однако часто забывают или игнорируют просьбы об обновлении, что может вызвать сбой в работе устаревшей версии приложения. Веб-приложение, в свою очередь, устанавливается на удаленную машину – сервер – и поставляется пользователям через специальное ПО – браузер. Центр управления такими приложениями находится всегда в одном месте, а для использования необходимы минимальные системные требования: браузер, поддерживающий набор следующих веб-атрибутов: HTML5; CSS3; JavaScript 2020. Более того, пользователи всегда будут использовать самую последнюю версию приложения, поскольку разработчики самостоятельно обновляют ее на сервере. Вся бизнес-логика чаще всего выполняется на мощном удаленном сервере, что позволяет производить достаточно сложные вычисления на довольно «слабом» устройстве пользователя. Однако и у такого подхода существуют недостатки: необходимость в постоянном интернет-соединении для полноценной работы приложения, что не всегда возможно; необходимость в мощном сервере, для бесперебойного функционирования приложения, что влечет крупные затраты ресурсов и финансов. Мобильные приложения становятся заложниками ограничения платформ и устройств, на которых они работают: размеры экрана, аппаратная составляющая (процессор, ОЗУ, объемы внутреннего хранилища). С другой стороны, мобильные устройства всегда под рукой пользователя, что дает возможность использования мгновенных оповещений, адаптированных веб-приложений, мобильных приложений, игр практически в любой момент. Более того современные устройства оснащены модулями NFC, GPS, что дает разработчикам большие возможности для внедрения новых средств и способов использования мобильных устройств. Таким образом, при выборе основной платформы разработки необходимо учитывать все достоинства и недостатки той или иной платформы. Обзор архитектурных стилей Вопрос выбора архитектуры приложения во многом определяет направление разработки, а также внутреннюю и внешнюю структуру программного продукта, поскольку именно архитектура определяет организацию данных, синхронизацию и доступ к данным, протоколы связи и коммуникации, физическое распределение данных, связь между объектами приложения и распределение функциональности между ними, масштабируемость, возможность расширения и реализации для других платформ. Совокупность различных концепций, особенностей и нюансов определённой архитектуры и называется архитектурным стилем. Другими словами, архитектурный стиль – это общее решение для отдельной проблемы архитектуры программного средства, созданное вне какого-либо контекста. Применение архитектурных стилей упрощают решение целого класса абстрактных проблем. Разрабатывая архитектуру программного средства, системные архитекторы и программисты часто сталкиваются с необходимостью решать проблемы, с которыми не справляется один архитектурный стиль. Поэтому хорошей практикой считается использование нескольких стилей, которые помогают справиться со специфическими задачами. Ниже приведен обзор некоторых из них. Монолитная архитектура – вид архитектуры приложений, при которой пользовательский интерфейс, бизнес-логика и данные приложения описываются и взаимодействуют в рамках одного единого модуля. Основными достоинствами подобного рода архитектуры являются: относительная простота реализации за счет одномодульности; отсутствие необходимости межпроцессного взаимодействия; легкая масштабируемость; относительная быстрота развертывания; упрощение проведения сквозного тестирования. Микросервисная архитектура – вид архитектуры приложений, при которой все компоненты приложения имеют свой сервис для развертывания, базу данных и протоколы взаимодействия. К достоинствам подобного рода архитектуры можно отнести следующее: модульность описания; разграничение сервисов для раздельной работы над ними; возможность использования удобных протоколов общения; увеличение производительности служб и быстроты тестирования за счет меньших размеров сервисов; независимость сервисов друг от друга, что позволяет системе функционировать даже при поломке одного сервиса; отсутствие привязки сервиса к конкретной технологии; плавность использования CI/CD. Клиент-серверная архитектура – вид архитектуры приложений, при которой нагрузка распределена между двумя объектами: т.н. «поставщиком»-сервером и «получателем»-клиентом. Связь в паре клиент-сервер осуществляется посредством сетевых протоколов, каждый в этой паре является по сути программным обеспечением. К достоинствам такого подхода относят: невысокие технические и системные требования к машинам-клиентам, поскольку все вычисления производятся на сервере; безопасность хранения данных, т.к. базы данных расположены на сервере, который, как правило, защищен гораздо лучше, чем машины-клиенты; отсутствие необходимости дублирования исходного программного кода на машине-клиенте; возможность использования нескольких физических компьютеров, объединенных в одну сеть, в качестве сервера; быстрое обновление ПО на машинах-клиентах. Трехуровневая архитектура – вид архитектуры приложений, при котором в программном продукте присутствуют три компонента: клиент, сервер приложений, к которому подключен клиент, и сервер базы данных, с которым она взаимодействует. При таком подходе к архитектуре клиент максимально отдален от прямого взаимодействия с базой данных и контактирует с ней только через сервер приложения. Достоинствами такого подхода можно считать: относительно легкая масштабируемость; простота конфигурирования; возможность реализации концепции «тонкого клиента». Объектно-ориентированная архитектура – вид архитектуры, который выражается в разделении функциональности системы на множество автономных объектов, каждый из которых содержит некоторые данные и набор методов поведения, свойственных объекту. Обычной практикой является определение классов, соответствующих объектам предметной области. Применение данного стиля предоставляет следующие преимущества: соотнесение классов программы и объектов реального мира делает программное средство более понятным; полиморфизм и принцип абстракции предоставляет возможность повторного их использования; инкапсуляция повышает тестируемость объектов; улучшение расширяемости, возникшее благодаря независимости внешнего интерфейса объекта от изменения в представлении данных; высокая сцепленность объектов, которая достигается использованием разных объектов для разного набора действий. Таким образом, выбор правильной комбинации архитектурных стилей на этапе планирования качественно повлияет на процесс разработки в целом, поскольку каждый стиль имеет специфические преимущества, которые позволят решать различного рода задачи. Обзор баз данных В настоящее время тотальное большинство приложений, независимо от платформы разработки и от выбранной разработчиками архитектуры, работает с большими объемами информации. Вполне очевидно, что для оперативного доступа к данным необходимо, чтобы программный продукт четко знал, как и где расположен нужная ему информация, как получить к ней доступ и как использовать. Для этого все используемые приложением данные необходимо систематизировать и хранить в виде получившейся системы в одном месте. Данную задачу призваны решить базы данных. База данных – представленная в объективной форме совокупность самостоятельных материалов, систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью ЭВМ. В современных приложениях работа с базой данных ведется посредством готового программного обеспечения, которое содержит в себе все необходимые инструменты и компоненты для успешного взаимодействия с хранилищем данных. Сегодня, большинство пользовательских приложений рассчитаны на работу с базами данных, в которых может храниться не только текстовая информация, но и графика, музыка или любой другой тип данных. Так как потребность в использовании БД растет, появилось большое количество СУБД, для работы с которыми не требуется специальная техническая оснащенность. СУБД обычно дают следующие преимущества: высокая целостность данных; улучшенная непротиворечивость данных при множественном доступе; улучшенная защита; различные представления, основанные на одних и тех же структурах; независимость от файловых структур; устранение избыточности информации; экономия дискового пространства благодаря объединению таблиц без потерь. На данный момент существует большое количество СУБД, которые можно использовать для работы с различными приложениями. Выбор конкретной системы зависит от поставленных целей приложения и определяется многими факторами, но главный из них – возможность работы с построенной моделью данных. Поэтому одной из важнейших характеристик является тип модели (иерархический, сетевой, реляционный), который поддерживается СУБД. База данных для информационной системы должна быть реляционной. Помимо модели данных важным показателем является стоимость лицензии для разработки базы данных и стоимость поддержки данной СУБД. Также необходимо обращать внимание на минимальные технические требования для оперативной и эффективной работы СУБД. Далее будут рассмотрены популярные базы данных, использующиеся в разработке веб-приложений. SQL Server является одной из наиболее популярных систем управления базами данных (СУБД) в мире. Данная СУБД подходит для самых различных проектов: от небольших приложений до больших высоконагруженных проектов. SQL Server характеризуется такими особенностями как: производительность: SQL Server работает очень быстро; надежность и безопасность: SQL Server предоставляет шифрование данных; простота: с данной СУБД относительно легко работать и вести администрирование. MySQL фактически не имеет ограничений и файл БД может иметь размер вплоть до максимального для операционной системы, в которой установлен сервер. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании. MySQL является идеальным решением для малых и средних приложений. Исходники сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на Unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности. Краткий перечень возможностей MySQL: поддерживается неограниченное количество пользователей, одновременно работающих с базой данных; количество строк в таблицах может достигать 50 млн.; быстрое выполнение команд, возможно MySQL самый быстрый сервер из существующих серверов. Oracle на сегодняшний день явный лидер среди мощных коммерческих баз данных. По оценкам независимых экспертов, доля Oracle на этом рынке составляет порядка 55%. Но для работы с веб-приложениями до недавнего времени Oracle использовали довольно редко. Несмотря на достаточно широкий функционал, Oracle обеспечивает очень высокое быстродействие. Oracle имеет в своем составе такие мощнейшие инструменты, как оптимизатор SQL-запросов, механизм кластеризации таблиц, средства хеширования доступа к данным. Главное, на мой взгляд, ограничение для применения Oracle в веб-разработках - ее коммерческий характер. Но если вы используете выделенный (или имеете собственный) веб-сервер, то, выбирая базу данных, имеет смысл подумать именно об Oracle. Немало важную роль в выборе конкретной СУБД играют инструменты управления базами данных. Поэтому в первую очередь следует обращать внимание на инструменты взаимодействия с базами данных при выборе конкретной СУБД. Таким образом, выбор базы данных на этапе планирования качественно повлияет на процесс разработки, поскольку каждая база данных имеет свои особенности, которые могут как помочь в разработке, так и замедлить её. Требования к проектируемому программному средству После анализа литературных источников, а также обзора уже существующих аналогов необходимо сформулировать требования к проектируемому программному средству. Назначение проекта Назначением проекта является разработка программной системы, представляющей собой сайт, в котором пользователи могут создавать свои рестораны и вести свой бизнес или делать заказы с уже существующих ресторанов и кухонь. Основные функции Программная система должна поддерживать следующие основные функции: аутентификация, регистрация и авторизация; поддержка системы ролей; управление профилями пользователей; создание ресторанов и кухонь и управление ими; оценивание заказов; добавление комментариев к заказам и ресторанам; сортировка и фильтр имеющихся блюд и ресторанов; управление подписками на тарифы. Дополнительные функции После анализа существующих аналогов и определения основных функций веб-приложения были выделены следующие дополнительные функциональные требования: – создание и управление большими сетями доставки еды; – анализ роста развития того или иного ресторана. двухфакторная аутентификация; Требования к входным данным Входные данные для программного средства должны быть представлены в виде вводимого пользователем с клавиатуры текста, документов соответствующего формата и содержания и опций, предоставляемых пользовательским интерфейсом приложения. В бизнес-логике программного средства должны быть реализованы проверки входных данных на корректность, и в случае их невалидности, пользователь должен получать соответствующее уведомление с просьбой ввести данные необходимого формата. Требования к выходным данным Выходные данные должны быть представлены посредством отображения информации при помощи различных элементов реализованного и доступного пользовательского интерфейса. Требования к надёжности Для надежного функционирования программного средства от заказчика, а также команды поддержки приложения необходимо выполнение следующего комплекса административных и организационно-технических мероприятий: выполнение рекомендаций Министерства труда и социальной защиты РБ, изложенных в Постановлении от 23 марта 2011 г. «Об утверждении Норм времени на работы по обслуживанию персональных электронно-вычислительных машин, организационной техники и офисного оборудования»; выполнение требований ГОСТ 31078-2002 «Защита информации. Испытания программных средств на наличие компьютерных вирусов»; организация бесперебойного питания. Время на восстановление работоспособности системы после отказа, вызванного фатальным сбоем операционной системы или техническими неисправностями используемых аппаратных средств, не должно превышать время, необходимое для устранения текущих неисправностей или переустановку операционной системы с последующим перезапуском программного средства. Время на восстановление работоспособности системы после отказа, вызванного нефатальным сбоем операционной системы, не должно превышать время, необходимое для перезагрузки операционной системы и запуска программного средства. Поскольку одна из основных причин отказа приложения – это некорректное взаимодействие пользователя с операционной системой, необходимо обеспечить возможность эксплуатации программного средства конечным пользователем без предоставления ему административных привилегий. Также для надежного функционирования программного средства обязательно наличие необходимого уровня опыта и квалификации у конечного потребителя. Требования к аппаратному обеспечению клиентской части Клиентская часть программного средства должна функционировать на ЭВМ со следующими минимальными характеристиками: процессор Intel Core с тактовой частотой 2 ГГц и более; оперативная память 1 Гб и более; возможность выхода в сеть Интернет; Для корректной работы программного средства необходим один из следующих браузеров с соответствующей минимальной версией: Google Chrome 70; Opera 58; Mozilla Firefox 66; Apple Safari 12.0; Microsoft Edge 44. Выбор инструментов разработки На основании выдвинутых к программному средству основных и дополнительных функциональных требований, обзора существующих аналогов и анализа литературных источников, было принято решение о проектировании программного средства, функционирующего в сети Интернет. Веб-приложение будет состоять из 2 отдельных самостоятельных частей: frontend и backend. Далее будут описаны инструменты для каждого приложения по очереди. Frontend-разработка — создание удобной, красивой и эффективной клиентской части приложения. Разработка начинается с изучения языков разметки — HTML и CSS, постепенно подключая JavaScript и технологии на его основе. От выбора инструментов зависят качество и скорость работы, а определяется он задачами, которые проект решает. Большинство сайтов сегодня создается при помощи фреймворков, но порой проект можно написать на чистых CSS, HTML и JavaScript, а не накладывать новый слой абстракции, замедляя производительность. JavaScript ("JS" для краткости) — это полноценный динамический язык программирования, который применяется к HTML документу, и может обеспечить динамическую интерактивность на веб-сайтах. JavaScript сам по себе довольно компактный, но очень гибкий. Разработчиками написано большое количество инструментов поверх основного языка JavaScript, которые разблокируют огромное количество дополнительных функций с очень небольшим усилием. К ним относятся: программные интерфейсы приложения (API), встроенные в браузеры, обеспечивающие различные функциональные возможности, такие как динамическое создание HTML и установку CSS стилей, захват и манипуляция видеопотоком, работа с веб-камерой пользователя или генерация 3D графики; сторонние API позволяют разработчикам внедрять функциональность в свои сайты от других разработчиков, таких как Twitter или Facebook; также есть возможность применить к HTML сторонние фреймворки и библиотеки, что позволит ускорить создание сайтов и приложений. В качестве языка программирования был выбран TypeScript. Его отличие от JavaScript в том, что он является типизированным, что поможет обеспечить более высокую надёжность программного средства. Для реализации SPA и языка программирования TypeScript был выбран фреймворк Angular. В качестве интегрированной среды разработки front-end части была выбрана IDE WebStorm Professional 2021 от компании JetBrains. Использование данной среды позволяет легко разрабатывать кроссплатформенные приложения, в т.ч. веб-приложения. А также даёт множество возможностей в создании различного рода приложений на языке JavaScript и существенно упрощает процесс разработки. WebStorm Professional 2021 включает в себя редактор исходного кода и возможностью простейшего рефакторинга кода. Доступ к консоли позволяет легко привести разрабатываемое программное средство в рабочее состояние. Технологии для backend разработки играют первостепенную роль в разработке любых программных продуктов. Независимо от того, являетесь ли вы основателем стартапа, руководителем IT отдела или лицом, принимающим решения, выбор правильной технологии для backend разработки имеет решающее значение для конечного успеха вашего проекта. Действительно, хорошо подобранные технологии для написания backend части приложения могут гарантировать хорошую масштабируемость, скорость работы и быстрый ответ на запросы и потребности клиентов. При этом выбрать подходящий вариант довольно сложно. По сути, backend, это написанный код программистом, который связан с серверными операциями, включая CRUD-функции с базой данных и всю серверную логику. Большая часть рабочего синтаксиса и данных хранится в бэкенде любого приложения. Пользователи не могут получить доступ к серверной части никакой программы или приложения. Ниже представлены основные инструменты, использующиеся в backend-разработке. C# больше известный как C-sharp, является одним из самых известных языков программирования для backend разработки, который выбирают для автоматизации в среде Windows. C# также используется для WEB-разработки на фреймворке ASP.NET. Эта backend-технология наиболее часто используется для создания приложений для компьютеров и является неотъемлемой частью эры персональных компьютеров. Скорость выполнения C# выше, чем у большинства других языков программирования, например, Python. Характеристики C# объектно-ориентированный язык; кроссплатформенность; совместимость; автоматическая сборка мусора. Благодаря характеристикам языка C# для backend-разработки была выбрана технология ASP.NET Core. В качестве хранилища данных была выбрана база данных MS SQL Server. Выбор СУБД был продиктован использованием технологий ASP.NET Core и Entity Framework Core. Entity Framework Core (EF Core) представляет собой объектно-ориентированную, легковесную и расширяемую технологию от компании Microsoft для доступа к данным. EF Core является ORM-инструментом (object-relational mapping - отображения данных на реальные объекты). То есть EF Core позволяет работать с базами данных, но представляет собой более высокий уровень абстракции: EF Core позволяет абстрагироваться от самой базы данных и ее таблиц и работать с данными независимо от типа хранилища. Если на физическом уровне мы оперируем таблицами, индексами, первичными и внешними ключами, то на концептуальном уровне, который нам предлагает Entity Framework, мы уже работаем с объектами. Системой контроля версий был выбран Git, а хостингом для хранения исходного кода проекта и его разработки – GitHub. На основании выдвинутых к программному средству основных и дополнительных функциональных требований, обзора существующих аналогов и анализа литературных источников, было принято решение о проектировании программного средства, функционирующего в сети Интернет. Веб-приложение будет состоять из 2 отдельных самостоятельных частей: frontend и backend. Далее будут описаны инструменты для каждого приложения по очереди. Frontend-разработка — создание удобной, красивой и эффективной клиентской части приложения. Разработка начинается с изучения языков разметки — HTML и CSS, постепенно подключая JavaScript и технологии на его основе. От выбора инструментов зависят качество и скорость работы, а определяется он задачами, которые проект решает. Большинство сайтов сегодня создается при помощи фреймворков, но порой проект можно написать на чистых CSS, HTML и JavaScript, а не накладывать новый слой абстракции, замедляя производительность. JavaScript ("JS" для краткости) — это полноценный динамический язык программирования, который применяется к HTML документу, и может обеспечить динамическую интерактивность на веб-сайтах. JavaScript сам по себе довольно компактный, но очень гибкий. Разработчиками написано большое количество инструментов поверх основного языка JavaScript, которые разблокируют огромное количество дополнительных функций с очень небольшим усилием. К ним относятся: программные интерфейсы приложения (API), встроенные в браузеры, обеспечивающие различные функциональные возможности, такие как динамическое создание HTML и установку CSS стилей, захват и манипуляция видеопотоком, работа с веб-камерой пользователя или генерация 3D графики; сторонние API позволяют разработчикам внедрять функциональность в свои сайты от других разработчиков, таких как Twitter или Facebook; также есть возможность применить к HTML сторонние фреймворки и библиотеки, что позволит ускорить создание сайтов и приложений. В качестве языка программирования был выбран TypeScript. Его отличие от JavaScript в том, что он является типизированным, что поможет обеспечить более высокую надёжность программного средства. Для реализации SPA и языка программирования TypeScript был выбран фреймворк Angular. В качестве интегрированной среды разработки front-end части была выбрана IDE WebStorm Professional 2021 от компании JetBrains. Использование данной среды позволяет легко разрабатывать кроссплатформенные приложения, в т.ч. веб-приложения. А также даёт множество возможностей в создании различного рода приложений на языке JavaScript и существенно упрощает процесс разработки. WebStorm Professional 2021 включает в себя редактор исходного кода и возможностью простейшего рефакторинга кода. Доступ к консоли позволяет легко привести разрабатываемое программное средство в рабочее состояние. Технологии для backend разработки играют первостепенную роль в разработке любых программных продуктов. Независимо от того, являетесь ли вы основателем стартапа, руководителем IT отдела или лицом, принимающим решения, выбор правильной технологии для backend разработки имеет решающее значение для конечного успеха вашего проекта. Действительно, хорошо подобранные технологии для написания backend части приложения могут гарантировать хорошую масштабируемость, скорость работы и быстрый ответ на запросы и потребности клиентов. При этом выбрать подходящий вариант довольно сложно. По сути, backend, это написанный код программистом, который связан с серверными операциями, включая CRUD-функции с базой данных и всю серверную логику. Большая часть рабочего синтаксиса и данных хранится в бэкенде любого приложения. Пользователи не могут получить доступ к серверной части никакой программы или приложения. Ниже представлены основные инструменты, использующиеся в backend-разработке. C# больше известный как C-sharp, является одним из самых известных языков программирования для backend разработки, который выбирают для автоматизации в среде Windows. C# также используется для WEB-разработки на фреймворке ASP.NET. Эта backend-технология наиболее часто используется для создания приложений для компьютеров и является неотъемлемой частью эры персональных компьютеров. Скорость выполнения C# выше, чем у большинства других языков программирования, например, Python. Характеристики C# объектно-ориентированный язык; кроссплатформенность; совместимость; автоматическая сборка мусора. Благодаря характеристикам языка C# для backend-разработки была выбрана технология ASP.NET Core. В качестве хранилища данных была выбрана база данных MS SQL Server. Выбор СУБД был продиктован использованием технологий ASP.NET Core и Entity Framework Core. Entity Framework Core (EF Core) представляет собой объектно-ориентированную, легковесную и расширяемую технологию от компании Microsoft для доступа к данным. EF Core является ORM-инструментом (object-relational mapping - отображения данных на реальные объекты). То есть EF Core позволяет работать с базами данных, но представляет собой более высокий уровень абстракции: EF Core позволяет абстрагироваться от самой базы данных и ее таблиц и работать с данными независимо от типа хранилища. Если на физическом уровне мы оперируем таблицами, индексами, первичными и внешними ключами, то на концептуальном уровне, который нам предлагает Entity Framework, мы уже работаем с объектами. Системой контроля версий был выбран Git, а хостингом для хранения исходного кода проекта и его разработки – GitHub. Сформулированные требования позволят осуществить успешное проектирование и разработку программного средства.
Download 0.79 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling