Станьте Большим: Простые Советы Для Создателей Новых Бизнес-Приложений



Станьте большим: простые советы для создателей новых бизнес-приложений

Когда в голову приходит очередная бизнес-идея, зачастую даже самое поверхностное погружение в поиск Яндекса или Google не оставляет камня на камне – как известно, все было придумано до нас.

Идея создания универсального агрегатора услуг, не ограничивающегося одним или несколькими направлениями, витала в воздухе уже давно.

Наша команда не упустила шанс и запустила в эксплуатацию такой агрегатор.

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

Путь нашей команды был непростым и очевидно, что он далек от завершения.

Сегодня мы хотим поделиться своими рецептами разработки портала, который направлен на решение задач как бизнеса, так и частных клиентов.



Задавайте себе вопросы

Как только идея родилась и вы уже поняли, что будете над ней работать, задайте себе ряд вопросов.

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

Есть три важных блока подготовки, на которые следует обратить внимание.

Напишите бизнес-требования — набор пользовательских задач, для решения которых предназначен ваш сайт, приложение, программное обеспечение.

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

Например, для нас это выглядело упрощенно так: Сторона 1. Заказчиком услуги является человек, оставляющий заявку на сайте через специальную форму с набором полей для заполнения из справочника и открытых полей.

Сторона 2. Исполнитель – лицо (компания), которое отвечает на поступившую заявку и сообщает свои условия выполнения заказа: цену, количество, сроки и другие параметры.

Процесс: выбор заказчиком лучшего предложения из списка исполнителей.

Установив такую схему, легко понять, что необходимо реализовать в системе.

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

Это очень упрощенный процесс описания бизнес-требований.

На самом деле важно проработать все до мельчайших деталей, составить схемы, отметить критические и некритические моменты.

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

Соберите требования к пользовательскому интерфейсу.

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

Иногда на этом этапе компании уделяют слишком много внимания цветам, стилю и шрифту.

Это, безусловно, важные элементы, и над ними должен работать профессиональный дизайнер и планировщик, но сейчас важнее другое — удобство использования.

Воспроизводите действия пользователя, проектируйте их последовательность, моделируйте логику взаимодействия компонентов программы.

В принципе, для этого разработчику доступно множество сервисов; можно (и часто необходимо) использовать даже UML-диаграммы.

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

На этом этапе проектируются бэкэнд, фронтенд и слой.

Исходя из планируемой загруженности проекта подбирается фреймворк и СУБД, планируются трудовые ресурсы.

Выбор своего набора инструментов для начала разработки Бонджойн , мы исходили из нескольких соображений.

Наша команда разработчиков владеет многими языками программирования, но для гибкого и постоянно обновляемого приложения мы отдаем предпочтение PHP. В программе планировалось ввести множество форм заявлений.

Все оказалось серьезнее, чем мы думали: без шуток, здесь уже 22 совершенно разных раздела услуг, от кастомного WEB-сайта до автозапчастей и туризма.

И это число растет с каждым месяцем.

Нам понадобятся сложные пользовательские фильтры.

Нам нужна безопасность и устойчивость к взлому, поскольку данные пользователей и пароли будут храниться.

Нам нужен почтовый клиент и удобная интеграция с ним.

Кстати, мы выбрали Amazon Simple Email Service (SES) — его инфраструктура показалась наиболее удобной с точки зрения отправки огромного количества писем.

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

Никакая CMS нам совершенно не подходит и мы хотим обеспечить максимальную управляемость сайта.

Мы любим jQuery за его простоту, легкий доступ к элементам DOM и API для работы с AJAX. Интерфейс будет простым и понятным.

Для нас важна продуктивность.

Мы долго изучали возможности различных фреймворков, спорили, слушали доводы приверженцев того или иного инструмента.

В итоге выбор пал на.



.

Йии.

Потом еще один первый.

Это было взвешенное и осознанное решение.

У нас было много вопросов по поводу фреймворка и только Yii, соответствующий одной из версий происхождения названия, на большинство из них ответил: «Да, это так».

Итак, что же привлекло нас в этом конкретном инструменте разработки? Yii обеспечил скорость развертывания, стабильность поддержки и постоянные изменения.

Кроме того, он очень хорошо документирован как на русском, так и на английском языке — вся команда разработчиков могла разобраться в нюансах работы с фреймворком.

Наш сервис задумывался как портал, предполагающий авторизацию и хранение пользовательских данных.

И Yii нам в этом очень помог.

Строгие алгоритмы безопасности обеспечивают надежную защиту от кражи файлов cookie и SQL-инъекций (SQL-инъекций).

Пока нам не пришлось добавлять защитное оборудование самостоятельно.

Клиентская часть Yii использует jQuery, простую, популярную и всеми любимую библиотеку JavaScript. Yii имеет отличную реализацию и документацию по работе с формами, включая проверку входных данных.

Yii необходим для командной работы.

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

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

Кроме того, Yii хорошо совместим с кодом других PHP-фреймворков и сторонних приложений.

Фреймворк значительно расширяет возможности PHP; многие библиотеки с компонентами просто созданы для разработки бизнес-приложений.

Фактически, каждый компонент можно использовать как расширяемый компонент. Наконец, Yii хорош для тестирования: он идеально настраивает тестовую среду, запускает модульные тесты, а ведение журнала ошибок упрощает отладку.

Гибкая, производительная среда с открытым исходным кодом позволила нам создать и развернуть веб-портал в кратчайшие сроки.

Бонджойн .

Сегодня мы уделяем больше внимания фронтенду, поскольку пользовательский интерфейс требует постоянных улучшений.



Что дальше?

Сейчас мы активно изучаем Yii2, который намного мощнее своего предшественника.

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

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

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

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

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

Ограничения обязательно будут – по знаниям, времени, ресурсам.

И вы должны научиться вписываться в них, чтобы выйти на рынок и по ходу дела вносить изменения.

Все инструменты разработки должны соответствовать целям вашего бизнеса.

Если вы выбираете язык программирования, фреймворк, базу данных, почтовый клиент, CMS исходя из дешевизны, ясности и простоты, вы можете столкнуться с серьезными ограничениями.

Проектирование на начальном этапе существенно ускоряет разработку и значительно упрощает взаимодействие дизайнеров и разработчиков.

Важно уделять внимание не только передней части, но также задней части и дизайну.

Мы допустили несколько ошибок, и теперь их исправление стоит нам времени и денег.

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

Более того, спиральная разработка дает еще одно важное преимущество: ваш продукт не разрабатывается в лаборатории на основе гипотез, а получает разнонаправленную обратную связь от сотен и тысяч пользователей.

Их вызовы дают понять, где необходимо внести изменения в следующей итерации.

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

Кстати, это одна из причин выбора фреймворка Yii — компонентная логика, ООП в ядре и парадигма MVC (Модель-Представление-Контроллер) позволяют менять систему максимально гибко и быстро.

При этом проблем с работой решения у пользователей не возникает. Но надо помнить, что на любом этапе разработки в первую очередь должны быть решены вопросы логики работы, хранения данных и безопасности.

Путь работы над ошибками и постоянного улучшения проекта даже интереснее, чем путь развития.

Особенно интересно, если при исправлениях обратиться к более совершенным инструментам и технологиям.

В любом случае, главное – не останавливаться, ведь весьма вероятно, что ваша идея уже созревает в чьей-то голове.

Теги: #Yii #разработка #дизайн #бизнес-требования #спецификация #разработка сайтов #Yii

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.