Разработка программного обеспечения (ПО) на заказ в Кургане | НПП Асти
Выберите город:
×

Разработка программного обеспечения в Кургане

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

Качество

Работаем в соответствии с промышленными стандартами разработки MISRA C/C++, AUTOSAR, которые обеспечивают надежность и безопасность исполняемого кода.

Гибкость

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

Надежность

Составим грамотное техническое задание, подпишем договор с прозрачными сроками разработки и соглашение о неразглашении (NDA), при необходимости. Работаем с НДС и без НДС.

Наши работы

Разработка прикладного ПО - десктопные приложения

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

Веб разработка

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

Стенды для тестирования

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

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

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

Какие части решения мы можем разработать

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

Мы не выбираем тип программы по названию услуги. Для начала выясняем, где должна выполняться функция и какие данные ей доступны. Например, требование «показать состояние прибора» затрагивает не только экран приложения: устройство должно измерять нужный параметр и передавать его в понятном формате. Если этих возможностей нет, они становятся отдельной частью задачи. Такой разбор помогает не обещать результат, который нельзя получить средствами одного приложения.

Возможный состав работ:

  • прошивка электронного устройства;
  • программа настройки или диагностики;
  • настольное либо веб-приложение;
  • серверный модуль обмена данными;
  • интеграция с действующим ПО.

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

Интерфейс настройки электронного устройства

Граница между программой и оборудованием

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

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

Как мы превращаем задачу в проверяемые требования

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

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

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

Совместимость с действующей системой

Если новое ПО должно работать с уже используемым продуктом, значение имеют версии, форматы данных и правила обмена. Даже небольшое изменение структуры сообщения может нарушить работу действующего устройства или приложения. Мы уточняем, какие интерфейсы следует сохранить, допускается ли обновление связанной части и как проверяется совместимость. Это особенно важно, когда прежние версии остаются в эксплуатации.

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

Разработка, испытания и передача результата

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

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

Проверка сигнала электронного устройства на осциллографе

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

В зависимости от проекта результат может включать:

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

Изменения после первой версии

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

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

С чего начать заказ разработки ПО

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

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

Частые вопросы

+Можно ли обратиться, если есть только описание задачи?

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

+Что делать, если исходный код прежней программы недоступен?

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

+Возможно ли разработать ПО для уже изготовленного устройства?

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

+Как согласовать работу программы с чужой системой?

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

+Как учитывается работа без постоянного подключения?

Для начала определяем, какие функции должны оставаться доступны без связи и что должно произойти после ее восстановления. Возможно локальное хранение данных, отложенная отправка или ограничение отдельных действий; выбор зависит от задачи и допустимого риска потери информации. Мы согласуем правила при конфликте изменений и включим важные сценарии в проверки. Само слово «офлайн» не определяет поведение системы достаточно точно.

+Нужен ли образец оборудования для разработки прошивки?

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

+Можно ли предусмотреть обновление ПО после выпуска изделия?

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

+Что получают для дальнейшего сопровождения своими силами?

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

+Как проверяют программу при изменении требований?

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

+От чего зависит срок разработки?

На срок влияют объем функций, готовность исходных материалов и доступность среды для проверки. Интеграция с действующей системой может потребовать времени на согласование интерфейса; новая плата - на получение образца. Мы оцениваем эти зависимости вместе с реализацией кода и предлагаем этапы с проверяемыми результатами. Если важные параметры пока неизвестны, сначала определяем объем исследования, а затем уточняем оценку всего проекта.

Пункты выдачи заказов

Доставка возможна и в другие пункты выдачи
Адрес Время работы
г. Курган, ул. Карла Маркса, дом 147 Пн-Пт 10:00-20:00, Сб-Вс 10:00-18:00
г. Курган, ул. Радионова, дом 60 Пн-Пт 10:00-20:00, Сб-Вс 10:00-18:00