Для тех, кто предпочитает чтению смотреть и слушать – видео, в котором всё то же самое и чуть больше (20 минут):Недавно к нам в компанию взяли нового сотрудникаДля тех, кто предпочитает чтению смотреть и слушать – видео, в котором всё то же самое и чуть больше (20 минут):Недавно к нам в компанию взяли нового сотрудника

Воякс И.И. (Woyax) программист MS Dynamics AX (D365FO): 1 Часть (ТЗ, проект, меню, консультация)

Для тех, кто предпочитает чтению смотреть и слушать – видео, в котором всё то же самое и чуть больше (20 минут):

Недавно к нам в компанию взяли нового сотрудника на должность программист или разработчик MS Dynamics AX 2012 (для начала выбрали версию 2012, но с перспективой его быстрого переключения на любые версии, включая D365 FO) - стажёр Воякс Иван Иванович (он же Woyax).

Рис.1 Пока наш стажёр Воякс слегка «худощав»
Рис.1 Пока наш стажёр Воякс слегка «худощав»

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

Вот чему он научился:

  • Работа в системах учета задач (Jira, Redmine и т.д)

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

  • Анализ ТЗ

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

    Рис.2 Три варианта ТЗ
    Рис.2 Три варианта ТЗ

    Каждое из этих описаний Воякс представит в структурированном виде, выделит необходимые названия объектов и укажет, чего может не хватать для однозначного понимания. На Рис.3 — пример работы Воякс с третьим вариантом ТЗ:

    Рис. 3 Результат анализа 3-его варианта ТЗ
    Рис. 3 Результат анализа 3-его варианта ТЗ

    Таким образом консультант может записывать (или диктовать) текст в любом порядке, как ему удобно по развитию его решения, а Воякс разобьёт это на разделы и подпункты (объекты системы).

  • Разбор ТЗ по объектам системы

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

    Рис. 4 Разбор (в ТЗ были указаны все системные имена)
    Рис. 4 Разбор (в ТЗ были указаны все системные имена)

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

    Рис. 5 Разбор (в ТЗ не указаны все системные имена и есть неоднозначные формулировки)
    Рис. 5 Разбор (в ТЗ не указаны все системные имена и есть неоднозначные формулировки)

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

  • Поиск объектов по системному меню и дополнительным описаниям

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

    Рис. 6 Поиск по меню (полный путь)
    Рис. 6 Поиск по меню (полный путь)

    Дополнительный поиск – это поиск по любой дополнительной информации. Например, по описаниям классов из метода description() или какой-либо информации в системе (например, если есть такая практика, что программисты куда-то добавляют описания создаваемой функциональности) или какой-либо сторонней информации (например, файлы с описаниями).

    Рис. 7 Поиск по меню и дополнительной информации названия пункта меню
    Рис. 7 Поиск по меню и дополнительной информации названия пункта меню

    Воякс оценивает по 100 бальной шкале совпадение искомого названия и результат. Если при поиске по меню оценка превышает некое допустимое значение (например, 90), то дополнительный поиск не выполняется.

    Если дополнительный поиск был выполнен, то Воякс выберет объект с максимальной оценкой.

    Рис. 8 Сравнение оценок и выбор объекта по максимальной оценке
    Рис. 8 Сравнение оценок и выбор объекта по максимальной оценке

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

  • Поиск и верификация объектов по системным названиям в системе

    Далее Воякс выполняет поиск объектов, которые он определил по ТЗ в системе и подтверждает их наличие.

    Рис. 9 Проверка объектов в системе
    Рис. 9 Проверка объектов в системе

    Добавили в ТЗ что-то непонятное про «Новый год», что не удалось распознать.
    Скрытую проверку объектов в системе Воякс уже выполнял на этапе поиска по меню и по дополнительной информации. Тогда он не нашел определенных после Разбора форм CustInvoiceJour и CustCollectionLetterJour (помните про неоднозначность трактовок) и переопределил названия поиском по меню на правильные CustInvoiceJournal и CustCollectionLetterJournal.

  • Определение имени проекта

    По контексту ТЗ Воякс генерирует системное название проекта: W049_InvoiceResponsibleFields_woy

    Рис. 10 Название проекта
    Рис. 10 Название проекта

    Название генерируется в соответствии с правилами именования проектов. Правила могут быть разные. В данном случае к основному названию (InvoiceResponsibleFields) добавляется префикс с номером задачи (W049_) и постфикс с кодом разработчика (_woy).

  • Создание проекта

    Воякс создаёт проект со всеми определёнными объектами системы и сгенерированным названием.

    Рис. 11 Воякс создаёт проект
    Рис. 11 Воякс создаёт проект

    И / ИЛИ задает вопрос в задаче и, например, переводит её на консультанта в определенный статус.

    Рис. 12 Задать вопрос по задаче
    Рис. 12 Задать вопрос по задаче
  • Воякс работает

    Рис. 13 Воякс приступает к работе
    Рис. 13 Воякс приступает к работе

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

    Рис. 14 Приятно наблюдать за его работой
    Рис. 14 Приятно наблюдать за его работой

    Результат: обработал 4 средних ТЗ, создал 3 проекта (с разными основными названиями по настроению), по одной задаче написал вопрос-уточнение консультанту. Работал 3 минуты 31 секунду.

    Рис. 15 Результат работы
    Рис. 15 Результат работы
  • Оказание консультации по работе какой-либо операции или алгоритма

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

    Рис. 16 Консультация (общий вопрос)
    Рис. 16 Консультация (общий вопрос)

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

    Рис. 17 Консультация по влиянию параметра
    Рис. 17 Консультация по влиянию параметра

    Также он может консультировать по работе форм. Например, ответить на вопрос: «Почему кнопка неактивна?».

    Рис. 18 Пример ответа по работе формы
    Рис. 18 Пример ответа по работе формы

    Промежуточные итоги работы и обучения

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

    В ближайших планах

    - Научить Воякс работать с одиночными классами, предлагать решения и вносить изменения согласно ТЗ.

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

    - Создавать поля в таблицах согласно ТЗ.

Отдельно отметим, что Воякс может также работать со всеми версиями MS Dynamics AX, включая D365FO (Microsoft Dynamics 365 Finance and Operations) .

Источник

Возможности рынка
Логотип 1
1 Курс (1)
$0.006271
$0.006271$0.006271
-3.31%
USD
График цены 1 (1) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

Блокчейн-группа призывает законодателей США поддержать политику вознаграждения криптовалютных клиентов

Блокчейн-группа призывает законодателей США поддержать политику вознаграждения криптовалютных клиентов

Криптоиндустрия выступает против ограничений доходности стейблкоинов Blockchain Association, ведущая некоммерческая организация, выступающая за криптовалюту
Поделиться
Crypto Breaking News2025/12/20 23:56
Юрриен Тиммер из Fidelity: ожидайте слабый 2026 год, так как четырёхлетний цикл биткоина остаётся неизменным

Юрриен Тиммер из Fidelity: ожидайте слабый 2026 год, так как четырёхлетний цикл биткоина остаётся неизменным

Директор по глобальной макроэкономике в гиганте управления активами остается долгосрочным быком по bitcoin, но не оптимистичен в отношении следующего года.
Поделиться
Coinstats2025/12/20 23:00
Как несколько технарей сделали топ-1 конфу на русском по ИИ в разработке

Как несколько технарей сделали топ-1 конфу на русском по ИИ в разработке

Всё началось с идеи небольшого гаражного междусобойчика на 400 зрителей, но быстро вышло из под контроля – 10 топовых спикеров, 3000 зрителей, пост на хабре на
Поделиться
ProBlockChain2025/12/20 19:12