4 Глава 2 Практическая часть - YashinaS/statisticswebirbis GitHub Wiki

2.1 Описание используемых инструментов в процессе создания ПО

Для формирования базы данных используется реляционная система управления базами данных MySQL. MySQL - это самая распространенная полноценная серверная СУБД. MySQL очень функциональная, свободно распространяемая СУБД, которая успешно работает с различными сайтами и веб приложениями. Преимущества MySQL

• Простота в работе;

• Богатый функционал - MySQL поддерживает большинство функционала SQL.

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

• Масштабируемость - MySQL легко работает с большими объемами данных и легко масштабируется

• Скорость - упрощение некоторых стандартов позволяет MySQL значительно увеличить производительность. Для создания программного обеспечения статистического учета пользователей системы автоматизации библиотек «ИРБИС» использовалась интегрированная среда разработки Embarcadero RAD Studio XE2 с применением императивного структурированного объектно-ориентированного языка программирования Delphi (Object Pascal). Входные данные включают информацию о времени запроса, удаленном адресе ПЭВМ, URL запросе, коде ответа и объеме в Кб. Данная информация содержится в текстовом файле веб-сайта, в котором регистрируются все запросы, а также все ошибки, связанные с этими запросами. Файл генерируется при запуске HTTP сервера Apache. Apache — это HTTP сервер, обладающий высокой надежностью и гибкостью, под HTTP сервером следует понимать программное обеспечение для обработки HTTP запросов. Основная работа Apache это обработка и ответ на HTTP запросы и генерирование динамическое содержание страниц. Гибкость достигается путем использования файла .htaccess, благодаря которому можно переопределять глобальные настройки сервера Apache. Этот файл используется для настройки редиректов, обработки ошибок, безопасности, доступа, кодировки и т.д. На сегодняшний день Apache является одним из самых популярных ПО для веб-сервера. Его используют хостинг-провайдеры по всему миру.
Для представления статистики в табличном виде использовалась программа Microsoft Excel.

2.2 Методологии разработки

Существуют разные методологии разработки программного обеспечения. Гибкая модель разработки проекта Agile одна из наиболее популярных методологий управления. Agile — система идей и принципов «гибкого» управления проектами, на основе которых разработаны популярные методы Scrum, Kanban и другие. Ключевой принцип — разработка через короткие итерации (циклы), в конце каждого из которых заказчик (пользователь) получает рабочий код или продукт. Характер гибкой методики разработки сводится к:

• Люди и взаимодействие важнее процессов и инструментов

• Работающий продукт важнее исчерпывающей документации

• Сотрудничество с заказчиком важнее согласования условий контракта

• Готовность к изменениям важнее следования первоначальному плану. К преимуществам метода относятся:

• короткие и понятные итерации — циклы разработки длятся от 2 недели до 2 месяцев, по окончанию которых заказчик получает рабочую версию продукта

• высокая степень вовлечения исполнителей, организаторов и заказчиков проекта

• минимизация рисков благодаря гибкой системе внесения изменений. Из-за отсутствия слаженности постоянно нарушаются планы, происходит отставание от графика, бюджет проекта раздувается, деньги и время утекают сквозь пальцы, задачи разных подразделений дублируются, люди спорят и не помогают друг другу, хотя, казалось бы, их усилия направлены на достижение одной цели. Кроме того, заказчики часто бывают неудовлетворены окончательным вариантом созданного продукта. Методика Scrum, которую разработали Джефф Сазерленд и Кен Швабер, призвана решить все эти проблемы. Scrum — это противоположность классическому поэтапному подходу, применяемому к реализации проектов. Подход, лежащий в основе методики Scrum, можно применять в разных видах деятельности. Scrum — методология гибкой разработки на основе Agile, в основе которого лежит «спринт» — отрезок от 1 до 4 недель, по окончанию которого должна быть получена рабочая версия продукта. Важными характеристиками Scrum является ее гибкость и ориентированность на клиента, так как она предполагает его (клиента) непосредственное участие в процессе работы. Scrum не требует внедрения каких-либо дорогостоящих инструментов. Схему методики Scrum вкратце можно описать следующим образом:

  1. Для начала необходимо выбрать «Владельца продукта» — человека, обладающего видением того, что вы собираетесь создать или достигнуть.
  2. Затем нужно собрать «Команду», в которую войдут люди, непосредственно выполняющие работу. Они должны обладать навыками и знаниями, которые помогут воплотить идею владельца продукта в жизнь.
  3. Нужно выбрать «Скрам-мастера» — того, кто будет следить за ходом реализации проекта, обеспечивать проведение коротких собраний и помогать команде устранять препятствия на пути достижения цели.
  4. Приступая к работе, нужно создать максимально полный список всех требований, предъявляемых к продукту или цели. Пункты этого списка должны быть расставлены по приоритету. Список носит название «Бэклог продукта». Он может развиваться и изменяться на протяжении всего срока реализации проекта.
  5. Участники команды должны оценить по своей системе оценок каждый пункт на предмет сложности и затрат, которые потребуются для его выполнения.
  6. Затем участники, скрам-мастер и владелец продукта должны провести первое скрам-собрание, на котором они запланируют спринт — определенное время для выполнения части заданий. Продолжительность спринта не должна превышать один месяц. За каждый спринт команда нарабатывает определенное количество баллов. Команда должна постоянно стремиться к тому, чтобы превзойти в новом спринте количество наработанных баллов за предыдущий спринт, то есть ее цель — постоянно превосходить свои собственные результаты — «наращивать динамику производительности».
  7. Чтобы все участники были в курсе состояния дел нужно завести скрам-доску с тремя колонками: «Нужно сделать, или бэклог»; «В работе»; «Сделано». На доску участники клеят стикеры с заданиями, которые в процессе работы поочередно перемещаются из колонки «Бэклог» в колонку «в работе», а затем в «сделано».
  8. Ежедневно проводится скрам-собрание. По выражению Джеффа Сазерленда «это пульс всего процесса Scrum». Суть его проста — ежедневно, на ходу, пятнадцать минут на то, чтобы все дали ответы на три вопроса: «Что ты делал вчера, чтобы помочь команде завершить спринт?», «Что ты будешь делать сегодня, чтобы помочь команде завершить спринт?», «Какие препятствия встают на пути команды?».
  9. По завершении спринта команда делает его обзор — проводит встречу, на которой участники рассказывают, что сделано за спринт.
  10. После показа результатов работы за спринт участники проводят ретроспективное собрание, на котором обсуждают, что команда делала хорошо, что можно сделать лучше, что можно улучшить прямо сейчас. Для применения методологии разработки Scrum использовался сервис GitHub. GitHub – сервис для работы с системой контроля версий Git, которая является важным инструментом командной разработки. Git позволяет возвращать отдельные файлы и весь проект к прежнему состоянию, просматривать происходящие со временем изменения. Определять, кто последним вносил изменения во внезапно переставший работать модуль, отследить цепь событий, которая привела к ошибкам и многое другое. Одним из наиболее популярных ресурсов для работы с Git является сайт GitHub. Для удобства работы с ним существует графический клиент GitHub Desktop и консольный Git Shell. Используя возможности сервиса GitHub был создан репозиторий, в котором хранятся: • Актуальная версия программы. • Предыдущие версии программы. • Вопросы, предназначенные для взаимодействия между участниками команды. • Раздел «Проект», целью которого является отслеживание текущего состояния разработки. • Wiki предназначен для сбора, хранения, редактирования текстовой информации.

 анализ требований(VKR)(пользовались Git Scrum UP ?)  проектирование  реализация релиз Заказчику(диаграмма развертывания, install)(пользовались Git Scrum UP ?)    Решения с применением этих технологий.

2.3 Разработка интерфейса

В процессе разработки программного обеспечения, была поставлена задача, не только наполнить его функционалом, требуемым заказчиком, но и разработать понятный пользователю интерфейс. Для этого использовались требования UI/UX дизайна. Пользовательский интерфейс (UI) ориентирован на фактические элементы взаимодействия с пользователем — в основном, физические и технические методы ввода и вывода. UI относится к накоплению подходов и элементов, которые позволяют пользователю взаимодействовать с системой. Он не затрагивает такие детали, как, например, реакция пользователя на систему. Опыт взаимодействия (UX) — это цель. Не только для интерфейса, но и для заказчика программного обеспечения. То есть это то, какой опыт/впечатление получает пользователь от работы с интерфейсом. Удается ли ему достичь цели и на сколько просто или сложно это сделать. Ориентируясь на выше изложенный материал, в интегрированной среде разработки Embarcadero RAD Studio XE2 был создан проект с отдельным юнитом, отвечающим за дизайн приложения. Для формирования интерфейса использовались стандартные объекты, такие как: Panel и Label. Разрабатывая меню приложения и сопутствующую навигацию, главной задачей было – структурировать информацию для улучшения взаимодействия пользователя с системой. Решить эту задачу помогло занесение элементов навигации в отдельный блок – меню. Используемая цветовая гамма и сочетание цветов были заимствованы с сервиса WEB Ирбис, для демонстрации принадлежности созданного ПО с данным сервисом.

Таблица внешних спецификаций первой формы

//При создании приложения, но и разработать понятный пользователю интерфейс с учетом современных требований UI/UX дизайна UX — это User Experience (дословно: «опыт пользователя»). То есть это то, какой опыт/впечатление получает пользователь от работы с вашим интерфейсом. Удается ли ему достичь цели и на сколько просто или сложно это сделать. А UI — это User Interface (дословно «пользовательский интерфейс») — то, как выглядит интерфейс и то, какие физические характеристики приобретает. Определяет, какого цвета будет ваше «изделие», удобно ли будет человеку попадать пальцем в кнопочки, читабельным ли будет текст и тому подобное.
UX/UI дизайн — это проектирование любых пользовательских интерфейсов в которых удобство использования так же важно как и внешний вид.

Подвести к терминам UI UX Раскрыть термины Описать, как мы использовали данные требования при создании ПО

  • почему меню именно такое (структурированная информация)
  • почему такие цвета (ГОСТ, визуально ненапрягающие) Как это перенесли в Delphi (какие компоненты использовали, на отдельном юните)