Диплом: Разработка сетевого программного обеспечения на примере организации ООО "Авто.Ру Холдинг"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
52
операционная система Windows 10. Этот выбор обусловлен тем, что на
сегодняшний день Windows 10 является одной из наиболее распространенных
операционных систем и популярных систем. Операционная система Windows 10
обеспечивает стабильность работы благодаря постоянных обновлений,
предоставляя пользователям возможность сосредоточиться на выполняемой
работе. Для реализации приложения, позволяющего создать веб приложение,
необходимо прежде всего определится с архитектурой. В настоящее время
наиболее востребованы два типа архитектуры - клиент-сервер, файл-сервер.
Архитектура клиент-сервер предназначена для решения проблем файл-
серверных приложений путем разделения компонентов программного
обеспечения и размещения их там, где они будут функционировать наиболее
эффективно. Особенностью архитектуры клиент-сервер является наличие
выделенных серверов баз данных, понимающих запросы на языке
структурированных запросов SQL (Structured Query Language) и выполняющих
сортировку, агрегирование и поиск информации.
В архитектуре файл-сервер сетевое разделение компонентов диалога отсутствует,
а компьютер используется для функций отображения, что облегчает построение
графического интерфейса. Файл-сервер только извлекает данные из файлов, так
что дополнительные приложения и пользователи лишь незначительно
увеличивают нагрузку на центральный процессор. Объектами разработки в файл-
серверном приложении являются компоненты приложения, определяющие
логику диалога, а также логику обработки и управления данными. Разработанное
приложение реализуется либо в виде законченного в виде специального кода для
интерпретации, либо загрузочного модуля. Однако такая архитектура имеет
большой недостаток: при выполнении некоторых запросов к базе данных
пользователю могут передаваться огромные объемы данных, загружая сеть и
приводя к неопределенной времени реакции. Значительный сетевой трафик
особенно сказывается при организации удаленного доступа к базам данных на
файл-сервере через низкоскоростные каналы связи. Одним из вариантов
устранения данного недостатка является удаленное управление файл-серверным
приложением в сети. При этом в локальной сети размещается сервер приложений,
совмещенный с телекоммуникационным сервером (обычно называемым сервером
53
доступа), в среде которого выполняются обычные файл-серверные приложения.
Особенность состоит в том, что диалоговый ввод-вывод поступает от удаленных
клиентов через телекоммуникации. Приложения не должны быть слишком
сложными, иначе велика вероятность перегрузки сервера или же нужна очень
мощная платформа для сервера приложений.
Из выше написанного выше в ВКР будет использоваться клиент-серверная
архитектура так как она популярная для веба разработки также обеспечивает
надежную защиту информации, скорость и производительность веб приложения,
информационной базы и т.д.
Отличительная черта серверов БД - наличие справочника данных, в
котором записаны структура БД, ограничения целостности данных, форматы и
даже серверные процедуры обработки данных по вызову или по событиям в
программе. Объектами разработки в таких приложениях, помимо диалога и
логики обработки, являются, прежде всего, реляционная модель данных и
связанный с ней набор SQL-операторов для типовых запросов к базе данных.
Большинство конфигураций клиент-сервер использует двухуровневую модель, в
которой клиент обращается к услугам сервера. Предполагается, что диалоговые
компоненты размещаются на клиенте, что позволяет реализовать графический
интерфейс. Компоненты управления данными размещаются на сервере, а диалог
и логика - на клиенте. В двухуровневом определении архитектуры клиент-сервер
используется именно этот вариант: приложение работает на клиенте, СУБД - на
сервере. Поскольку эта схема предъявляет наименьшие требования к серверу, она
обладает наилучшей масштабируемостью. Поэтому для реализации описанного
приложения выбираем архитектуру клиент-сервер и реализуем его в виде веб-
приложения.
Одним из важных требований, предъявляемых к проектированию
информационных систем, эксплуатируемых совместно на технологической базе
весьма ограниченных возможностей, является большая их однородность,
позволяющая обеспечить совместимость, мобильность, переносимость.
Выбор системы управления баз данных (СУБД) представляет собой
сложную многопараметрическую задачу и является одним из важных этапов при
54
разработке приложений баз данных. Выбранный программный продукт должен
удовлетворять как текущим, так и будущим потребностям организации, при этом
следует учитывать финансовые затраты на приобретение необходимого
оборудования, самой системы, разработку необходимого программного
обеспечения на ее основе, а также обучение персонала. Кроме того, необходимо
убедиться, что СУБД способна принести организации реальные выгоды.
Наиболее простой подход при выборе СУБД основан на оценке того, в какой мере
существующие системы удовлетворяют основным требованиям создаваемого
проекта информационной системы. Более сложным и дорогостоящим вариантом
является создание испытательного проекта на основе нескольких СУБД и
последующий выбор наиболее подходящего из кандидатов. Но и в этом случае
необходимо ограничивать круг возможных систем, опираясь на некие критерии
отбора. В данном случае можно выделить несколько групп критериев:
- Моделирование данных
- Особенности архитектуры и функциональные возможности
- Контроль работы системы
- Особенности разработки приложений
- Производительность
- Надежность
- Требования к рабочей среде
- Смешанные критерии
Основным принципом выбора СУБД следует считать определение программного
продукта, в наибольшей мере соответствующего предъявляемым требованиям.
Эту задачу решить не очень просто. Во-первых, к СУБД предъявляется большое
число требований, которые с течением времени изменяются, во-вторых, СУБД
имеют большое число параметров, что затрудняет их сравнение. Кроме того,
информация о СУБД часто носит рекламный характер, не позволяющий сделать
правильное суждение. При выборе продукта следует обратить внимание на дату
его появления. В качестве показателей «благополучия» можно использовать:
твердое финансовое положение, перспективная динамика развития аппаратно-
программных средств, годовой оборот, численность состава, объем продаж и т.д.
стоимость. На стоимость программных продуктов в основном влияют вид
55
программного продукта и фирма - разработчик. Стоимость
полнофункциональных СУБД обычно колеблется в пределах $ 500 - $ 1000.
Общая стоимость включает в себя стоимость прикладного инструментария,
средств настройки конфигурации системы, администрирования БД и
сопровождения. Иногда общая стоимость крупных систем, построенных на базе
реляционных БД, достигает миллионов долларов. Основным фактором,
определяющим общую стоимость системы, чаще всего является число
поддерживаемых пользователей.
На уровне технических характеристик разнообразие СУБД еще больше, чем на
качественном уровне. К техническим характеристикам относятся:
- общие параметры (операционная среда, потребность в оперативной памяти,
ограничения на максимальный объем БД и др.);
- ограничения на операции над данными;
- типы данных;
- возможности средств формулировки и выполнения запросов;
- работа в многопользовательских средах;
- инструментальные средства разработки приложений;
- импорт и экспорт.
Оценка производительности производится методом тестирования с помощью
эталонных тестов из набора ANSI SQL Standard Scalable and Portable. В них
контролируется широкий спектр часто встречающихся операций БД и
моделируются однопользовательские и многопользовательские среды. В ВКР
будет использоваться СУБД MySQL. Её основные преимущества:
- Есть практически на любом хостинге.
- Простая установка и настройка.
- Гибко настраивается под нужды.
- В любом языке программирования, фреймворке есть интеграция с MySQL.
- Подходит для новичков.
- По сравнению с другими СУБД легко настраивается.
- Большая и удобная документация в которой есть ответы на все вопросы.
Из недостатков данной базы:
56
- Отсутствует встроенная поддержка OLAP и XML
- Техническая поддержка базы является платной
Не смотря на недостатки, база является самой популярной и имеет большой
бесплатный функционал по сравнению с другими популярными платными
базами.
Сегодня ведется много споров о том, целесообразно ли применять PHP для
разработки ИТ-продуктов и сервисов так как есть другие языки
программирования Python и Ruby. В интернете можно найти много
эмоциональных публикаций (преимущественно написанных разработчиками),
описывающих недостатки PHP и его фреймворков, что владельцы бизнесов и ИТ-
менеджеры компаний и организаций начинают сомневаться: а стоит ли вообще
использовать PHP в своих проектах. Однако PHP по-прежнему используют такие
лидеры рынка, как Slack, BlaBlaCar и Spotify. (См. список литературы
Программирование на языке высокого уровня: Учебник для студ. высш. учеб.
заведений / С.В. Синицын, А.С. Михайлов, О.И. Хлытчиев. (Высшее
профессиональное образование; Информатика), ИЦ Академия – 2011 г.)
Во-первых, благодаря тому, что PHP — детище Opensource, он может похвалиться
большим сообществом разработчиков, которое вносит постоянный вклад в его
развитие. Поэтому с каждой версией и он сам, и его фреймворки становятся
намного лучше. Что создает хорошую базу для других преимуществ, делающих
его настолько популярным при разработке бизнес-решений. От веб-приложений
до крупных маркет плейсов, от новоиспеченных стартап проектов до солидных
бизнес-проектов, PHP выбирают по ряду практических причин. Наиболее
привлекательной для ИТ-менеджеров и разработчиков то что PHP является
открыто доступным. Не нужно оплачивать лицензию. Помимо большой
экономии, выигрыш также приносит огромное и развитое сообщество, которое
постоянно улучшается и дополняет функционал языка. Тысячи готовых решений
на PHP уже доказали свою работоспособность «бери и пользуйся, не надо
изобретать велосипед». Хотя, справедливости ради, это основное преимущество
PHP одновременно является и главной его недостатком для проектов. Легкость и
доступность существенно снижают порог вхождения в профессию программиста,
а это неизбежно приводит к снижению качества. Поэтому выбор
57
профессиональной команды в случае PHP — очень критичен. PHP — частично
объектно-ориентированный язык программирования. Это дает возможность
повторно использовать код, что экономит силы и время в процессе разработки.
Существует множество фреймворков PHP: Symfony, Yii, Laravel, Joomla,
WordPress(шаблон сайта) и др. Каждый из них обладает своим функционалом и
заточен под определенные задачи. Изначально PHP был оптимизирован под
быстрое создание веб-приложений. Ему присущи такие встроенные функции, как
использование запросов POST и GET, работа с HTML и URL. Для бизнеса это
означает, что время затраченное (соответственно, и расходы) на разработку
сокращаются, а инвестиции начинают себя окупать быстрее.
Значимое преимущество PHP — это его универсальность и гибкость. Он
совместим со всеми популярными на сегодняшний день платформами ОС: от
Windows, Unix и Linux до MacOS; имеет поддержку большинства серверов
(включая Apache, Nginx, Netscape, Microsoft IIS, iPlanet, Xitami, Caudium и
Tornado) и более 15 баз данных (среди которых — MySQL, MongoDB, MarianDB,
Oracle и др.) Поэтому PHP часто выбирают для создания кроссплатформенных
приложений: это позволяет бизнесам максимально задействовать существующую
инфраструктуру с минимальными затратами.
- PHP - язык с очень высокой интегративностью, хотя традиционно
рекомендуется использовать PHP вместе с HTML, он успешно
интегрируется с JavaScript, WML, XML и другими языками
программирования. С браузером также не возникает проблем, поскольку
все написанные скрипты компилируются на стороне сервера.
- Любой проект на той или иной стадии развития подвергается
функциональным изменениям. Благодаря динамичному характеру PHP,
изменения можно внедрять на любой стадии разработки ПО без потерь во
времени.
- С точки зрения окупаемости инвестиций, для компаний очень выгодно,
когда разработка происходит в несколько итераций. Это позволяет
запускать различные модули ПО один за другим, внося по ходу
необходимые поправки. PHP позволяет разрабатывать и поддерживать
58
масштабные ИТ-проекты и непрерывно создавать любое количество
страниц с любыми настройками.
- Код на PHP отлично документируется и прозрачен. А значит, требуется
меньше времени для того, чтобы разобраться, что творится в коде —
конечно, если он правильно написан. Так что можно спокойно внедрять
итеративную разработку с минимальным риском проблем, если по ходу
вдруг придется заменить программиста на другого или даже целую
команду.
- Благодаря хорошей читабельности, модифицировать и менять код на PHP
не составляет особого труда. Как следствие — гораздо меньше проблем с
обновлениями и поддержкой. Проекты на PHP быстро и легко
подстраиваются под новые программные средства, которые появляются на
рынке IT, а также под новые требования бизнеса. А благодаря вкладу
открытого сообщества программистов, новый функционал языка,
соответствует возникающим новым нуждам бизнеса, появляется регулярно
и ничего не стоит. Поскольку в коде языка легко разобраться, поддержка
сервисов на PHP может осуществляться любой командой — не обязательно
той, которая изначально создавала проект.
- Универсальность PHP делает его наиболее популярным среди хостинг-
провайдеров. Любой надежный провайдер поддерживает PHP и
предоставляет хостинговые услуги для сайтов на нем. Как правило,
хостинговые пакеты услуг предоставляют поддержку PHP без
дополнительной оплаты —либо включая в бесплатные тарифные планы,
либо очень дешевые с неограниченным объемом и бесплатным доменным
именем.
- Отличная работа сайтов на PHP помогает удерживать клиентов.
- Быстрая загрузка сайта чрезвычайно важна для удержания пользователей.
Люди сегодня в состоянии удерживать непроизвольное внимание в течение
загрузки не более 6-8 секунд, и, если сайт медленно загружается — его
закрывают еще до окончания загрузки и больше не возвращаются.
Скорость загрузки сайтов на PHP сверхвысокая благодаря хорошим
59
интеграции и кастомизации с различными системами управления
контентом(CMS).
- PHP изначально создавался для создания динамических веб-страниц,
поэтому его скрипты справляются с этой задачей лучше, чем остальные
языки программирования. PHP код легко встраивается в HTML, что
позволяет легко конвертировать статические страницы в динамические. По
сути, это лучший язык для создания полноценных сайтов на основе HTML-
стандарта.
- PHP по умолчанию обеспечивает 1-1 соответствие между файлами и URL,
что позволяет программистам, дизайнерам и другим членам команды
создавать веб-страницы и редактировать. Это особенно полезно в случае
больших сайтов, по преимуществу со статическим контентом, большим
количеством страниц и различными шаблонами.
- Рост популярности PHP и его фреймворков в последние годы был
колоссальным, и эта тенденция по-прежнему сохраняется. Основные
бизнес-преимущества PHP заключаются в его экономичности, простоте,
масштабируемости, совместимости и удобстве. Сам по себе или, чаще, в
комбинации другими технологиями, PHP подходит для создания ИТ-
проектов любого типа: от небольших веб-сайтов до CRM-программ и
заканчивая больших маркетплейсов.
Использование JavaScript в проекте обусловлено тем что на данный момент
— это единственный язык для обработки событий, а также недавние созданные
фреймворки типа JQuery, React.js, Angular.js, Vue.js и др. которые позволяют
создавать быстро гибкие и адаптивные ко всем мобильным устройством сайты.
До недавнего времени язык использовался относительно для фронтенда однако
вскоре были созданы фреймворки типа: Node.js позволяющий писать бэкэнд для
сайта, React Native для создание ПО под мобильные устройства и Electron.js с
помощью которого можно писать десктоп приложения для ПК. Среди
конкурентов JavaScript нет равных такие компании как Google создали язык Dart
и языка TypeScript от Microsoft . Эти два языка создавались как подобие JavaScript
и также убрать все недостатки JS в новых языках, однако, как показывает
практика они не способны составить конкуренцию JS. Во-первых, мало
60
исходников во-вторых нет библиотек и фреймворках как на JS, в-третьих
сообщество языков-конкурентов очень мало и получать ответы на вопросы по
языку Dart или TypeScript можно ждать долго. Пока язык JS является
непобеждённым лидером около 10 лет в фронтенд разработки, а языки
TypeScript и Dart пока далеки для конкуренции с IT гигантом в вебе и так будет
по крайне мере еще 10 лет если не больше.
1.4.3. Обоснование проектных решений по техническому обеспечению
Обоснование выбора технического обеспечения требуемого для решения
задачи предполагает выбор типа ПК. При выборе ПК стоит остановиться на
ноутбуках. В отличие от стационарных ПК ноутбук всегда при себе (весь набор
нужных ПО всегда с собой), заниматься разработкой можно везде от дома лежа
на диване так и в парке. Недостатки переносного ЭВМ тоже есть это: работает от
аккумулятора, то есть при должной нагрузки на ноутбук можно проработать
менее 5 часов. Не все ноутбуки достаточно производительные, однако для
разработчика не обязательно покупать относительно мощный и дорогой ноутбук.
Для разработки веб приложение достаточно купить не дорогой ноутбук с SSD
диском для быстрого отклика программы и со встроенной оперативной памятью
около 4-6 гигабайт или более все остальное не так важно для разработчика.
Критерии выбора ноутбука:
- Размер. Желательно чтобы ноутбук был достаточно легким и
компактным, однако размеры экраны не должны быть меньше
определённого значения. Самым оптимальным вариантом является
выбор ноутбука с диагональю 14 дюймов.
- Разрешения экрана. Минимальное разрешение экрана для написания
программ, создания сайта или проверки готового ПО должно быть
равно 1920х1080 или FullHD.
- Автономность. Желательно даже при высокой загрузке ноутбука
работал не меньше 3 часов. Если финансовое положение позволяет,
то можно купить ноутбук, который при повышенных нагрузках
работает около 10 часов и более. Однако при большой емкости
аккумулятора тяжелее становиться и техника.
61
Как писалось ранее для работы с обычными программными средами
программирования подойдет не самая производительная аппаратно-техническая
часть – достаточно двухъядерного процессора и 4 ГБ памяти. Однако если учесть
необходимость использование других программ от просмотра фильма до запуска
3D – приложений лучше иметь более современную модель ноутбука.
Lenovo ThinkPad E470 – наилучшее соотношение цены и качества. Модель
китайского бренда является наиболее оптимальным для программирования,
обладает лучшей функциональностью среди своих конкурентов, который
предлагает современный рынок. в тоже время в качестве игрового ноутбука он не
подойдет из-за слабой видеокарты (Nvidia GeFroce 940MX 2 Гб)
Достоинства устройства:
- Производительный процессор Core i7-7500U и 16 ГБ ОЗУ.
- Вес всего 1,87 кг.
- FullHD разрешение на 14-дюймовом экране.
- Практически все порты и разъемы для любой периферийной техники.
- Прочный и жёсткий корпус и возможность открывать экран под углом 180
градусом.
Недостатки устройства:
- Не очень производительная видеокарта.
- Небольшой объем SSD диска 256 ГБ хватит не всем, однако можно
подключить дополнительный внешний жёсткий диск.
- Стоимость ноутбука не слишком доступная для большинства людей хотя
характеристики ноутбука цену оправдывают
- Небольшие углы обзора и яркости, недостаточную для работы на соленном
свету
Ноутбук ROG Strix GL702VM относится к игровым моделям – все
его параметры и характеристики соответствуют требованиям любой
современной игры и высоконагруженного ПО обеспечивают «запас» для
разработчиков, как минимум, на 3–4 года.Среди технических
характеристик, которые заслуживают внимания, стоит отметить

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран