Продажа, внедрение и сопровождение программных продуктов 1С, Microsoft, Касперский, Kerio и др.
Диалог Софт
ТЦ "Гэлакси", офис 436
+7(3012) 21-30-29

Разработка

Разработка

Общие этапы взаимодействия и процессы разработки программного обеспечения

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

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


Сложность разработки программного обеспечения

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

Общие приемы взаимодействия между пользователем, прикладным программным обеспечением, операционной системой и оборудованием (аппаратным обеспечением)
Разработка
Объекты взаимодействия

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

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

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

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

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

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

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


Процесс разработки (добработки) программного обеспечения для 1С:Предприятие

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

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


Бизнес-моделирование задач
Разработка

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

Следует отметить, что сегодня существуют специализированные инструменты для описания бизнес-процессов, например, такие как Business studio, Casewise Corporate Modeler Suite, ERwin Process Modeler, а так же инструменты для описания, имитации и анимации бизнес-процессов предприятия, например, такие как AnyLogic, IBM WebSphere Business Modeler и др.


Анализ требований заказчика
Разработка

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

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

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

  • Общение с представителем заказчика или с пользователями заказчика, чтобы определить, каковы их требования к разработке (доработке) функционала к 1С:Предприятие;
  • Анализ требований и определение, являются ли собранные требования неясными, неполными, неоднозначными, или противоречащими, и затем решение этих проблем к адаптации 1С:Предприятие;
  • Документирование требований в различных формах, таких как простое описание, сценарии использования, пользовательские истории, или спецификации процессов.

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


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

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

Бизнес-требования обычно определяют диапазон таких факторов, как бизнес-процессы, факторы производительности (такие как безопасность, надежность и пропускная способность), а также бюджетные ограничения и ограничения на издержки.

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

Системные требования подразумевают возможности и ограничения оборудования, сети и среды выполнения.

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

Разработка

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


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

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

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

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

На рисунке показан фрагмент среды разработки 1С:Предприятие - это конфигуратор.

Разработка
Тестирование и отладка исполняемого кода
Разработка

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

Для 1С:Предприятие существуют разработанные методы (объектного) нагрузочного, функционального, тестирования совместимости прикладных решений, например, прикладные решения разработанные фирмой "1С", такие как "Автоматизированная проверка конфигураций" и "Автоматизированные тесты для проверки типовых конфигураций".


Составление документации
Разработка

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

К технической документации относится описание работы алгоритмов моделей, описание работы процедур и функций разработанного или доработанного кода программы. Часто при составлении технической документации используются автоматизированные средства — генераторы документации, такие как Doxygen, javadoc, NDoc и др. Они получают информацию из специальным образом оформленных комментариев в исходном коде, и создают справочные руководства в каком-либо формате, например, в виде текста или HTML.

К пользовательской документации относится руководство пользователя и справочный текст, описывающие, как пользоваться разработанным программным продуктом. Хорошая пользовательская документация идёт ещё дальше и предоставляет инструкции о том что делать в случае возникновения проблем. Очень важно, чтобы документация не вводила в заблуждение и была актуальной. Руководство должно иметь чёткую структуру; очень полезно, если имеется сквозной предметный указатель. Логическая связность и простота также имеют большое значение.

Для 1С:Предприятие составление руководство пользователя на разработку (доработку) являеюся обязательным и важном этапом.


Внедрение разработки
Разработка

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

При внедрении программного обеспечения требуется действие в трех следующих плоскостях работ:

  • Выделение критических, с точки зрения общего результата, процедур в деятельности организации. Когда набор таких процедур определен, необходимо в первую очередь использовать ИТ-решение для автоматизации операций внутри именно этих процедур. Таким образом, разработанное ИТ-решение автоматически становится жизненно важным и востребованным для организации, а также будет обеспечена публичность процесса внедрения;
  • Расширение нормативной базы организации путем включения в нее регламентов, описывающих порядок выполнения процедур автоматизируемых процессов. В противном случае есть опасность возникновения рассогласования между автоматизированными процедурами и остальными процессами организации;
  • Выполнение работ по общей стандартизации существующей деятельности организации, когда выделяются лучшие практики выполнения процедур и включаются в ИТ-решение по принципу наибольшей полезности для большинства участников. Процент таких процедур относительно общего объема автоматизации может быть невелик, но это придает процессу построения решения вес в организации за счет увеличения его «полезности».

Сопровождение разработки
Разработка

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

В нашей компании сопровождение продуктов 1С:Предприятие выделяется в 4 линии:

  • Call-center, информационный центр, горячая линия - обработка телефонных обращений от заказчиков, передача обращений техническим специалистам;
  • Инженер по сопровождению, инженер технической поддержи, support engineer - консультация/настройка/устранение ошибок в работе ПО/наполнение базы знаний, составление мануалов;
  • Инженер по сопровождению, инженер технической поддержи, support engineer - функциональное сопровождение/проектная деятельность на этапе запуска ПО на машинах заказчика;
  • Инженер по сопровождению, инженер технической поддержи, support engineer - системное сопровождение/проектная деятельность на этапе запуска ПО на оборудовании заказчика.