AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Прочие вопросы
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.03.2002, 09:20   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Организация работы программистов
Всем добрый день.

До недавнего времени я занимался разработкой в Аксапте один, но недавно в нашей организации появилось еще несколько разработчиков. Соответственно встала проблема оптимальной организации их совместной работы.
Поясню, что я хотел сказать. Допустим я детально разобрался в устройстве какого-то модуля (ну например, Закупки). Естественно возникает желание как-то оформить мои знания таким образом, чтобы они стали легко доступными и для других разработчиков. То есть, необходим какой-то механизм, который позволит им избежать изучения данной области с нуля.
Первая (да пожалуй, и единственная толковая) мысль – UML. Но тут же вспоминаешь про два важных момента. Во первых, UML довольно громоздкий язык моделирования и требует значительного времени на его изучение, а в дальнейшем на составление диаграмм. Во вторых, я не знаю не одного средства, позволяющего генерировать код, пригодный для Аксапты. Допустим первое не так уж и страшно – я с UML знаком (не скажу, что детально знаю), остальным разработчикам объясню. Генерировать код по моделям, в принципе, не так уж и нужно. Скорее нужно, как уже говорилось выше, документировать свои знания об Аксапте.

Отсюда первый вопрос: Как Вы считаете, нужен ли в данном случае UML или это явно не тот случай и не стоит тратить на это время? А если не стоит - подскажите пожалуйста, как лучше документировать как коллективные знания о системе, так и модификации вносимые в нее?

Если UML вполне здесь подходит, то встает вопрос о выборе средства для построения диаграмм. Попробую сформулировать требования к этому средству. Так как я не собираюсь генерировать код по создаваемым моделям, то на первое место выходят требования удобства и простоты работы, а также количество и возможности настройки отчетов. Так же не помешают хорошие возможности импорта/экспорта данных из построенных моделей.
Насколько я, понял, лидером в данной области считается Rational Rose. Или я не прав?
Кроме Rational Rose я рассмотрел ряд других средств для построения UML диаграмм и Visual UML (Visual Object Modelers) показался мне наиболее подходящим для решения моих задач. Если говорить про Rational Rose, то мне очень не понравилось то, как он составляет отчеты (а точнее, всего один отчет, причем практически не настраиваемый). Может есть дополнительны модуль, позволяющий создавать разнообразные отчеты ? Кроме того, все инструментальные средства, рассмотренные мной, позволяют работать только одному человеку с одним документом. Или это тоже есть в виде отдельного модуля для Rational Rose?

Вопрос второй: Если все таки мы решим использовать UML, какое инструментальное средство посоветуете Вы?
Старый 14.03.2002, 09:32   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Неужели никому нечего сказать по этому поводу ?????

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

Может я не четко выразил свою мысль или некорректно сформулировал свой вопрос ?
Или все заняты "переводом бизнес-процессов под управление системой Navision Axapta" и ни у кого нет времени на ответ в форуме ? :-)

Спасибо за внимание.
Старый 14.03.2002, 10:00   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Скзать есть что.
Действительно нет времени.

Кратко:
= документация явно недостаточна
= методк от поставщика пока мало
= российская функциональность меняется очень часто
= международная достаточно стабильна, но она очень-очень объемна
= скоро бдует следующая версия Аксапты. И по анонсам там изменится многое

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

Жду обещанных на весеннем семинаре методк поставщика.
__________________
полезное на axForum, github, vk, coub.
Старый 20.03.2002, 15:33   #4  
Oo is offline
Oo
Участник
 
10 / 11 (1) +
Регистрация: 21.12.2001
Очень интересует эта проблема, не верю в будущие возможные предложения поставщика. Я думаю, действительно, никто серьезно не подходит к процессу разработки несколькими людьми и передачи сведений. Наверное, время не пришло и все еще мало на грабли на собственные же..
Будем надеяться ( Пока, действительно , просто зашиваемся
Старый 20.03.2002, 16:11   #5  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
mazzy
Жду обещанных на весеннем семинаре методк поставщика.
Не могли бы Вы уточнить, что это за семинар и когда он будет проводиться.


Попробую задавать более конкретные вопросы.

Два программиста работют над различными проектами. В ходе их работы им приходится изменять один и тот же объект (таблицу,...) из АОТ. Система работает в двухзвенной архитектуре (!!!). Как Вы решаете такие проблемы ?
Старый 20.03.2002, 18:57   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
У нас проблема решается таким образом:

Приложение лежит на общем сетевом диске
По очереди блокируем объект и изменяем его.
В коде комментариями отмечаем что, где и зачем.

Естествнно, существуют документы (Т.З.) на изменение функциональности, на которые и ставятся ссылки в комментариях.
Старый 20.03.2002, 19:00   #7  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Wamr
Приложение лежит на общем сетевом диске
Спасибо. Обязательно попробую.
Старый 20.03.2002, 20:31   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
warm на вопрос о блокировании уже ответил.
Могу только добавить, что используемые объекты лучше складывать в проект и выполнять блокирование для проекта целиком. Тогда одним движением блокируются и разблокируются все взаимосвязанные объекты.

Семинар уже был. Это был партнерский семинар.
Там говорилось о методиках. И о том, что они будут.
__________________
полезное на axForum, github, vk, coub.
Старый 21.03.2002, 19:14   #9  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Wamr
Приложение лежит на общем сетевом диске
По очереди блокируем объект и изменяем его.
В коде комментариями отмечаем что, где и зачем.
Попробовал - тоже решение. Хотя...

Например :

Два программиста работают над разными проектами, один изменяет класс А, другой класс Б. Каждый предварительно блокирует свой класс.

Теперь представим, что из класса Б вызывается класс А.

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

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

А в Аксапте так нельзя ?
Старый 21.03.2002, 21:03   #10  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
В таком случае программистам следует сделать первоначальный устойчивый слепок среды и перейти к программированию в локальных средах, построенных исходя из этого "слепка". По завершении работы над задачами некоторое время придется потерять на интеграцию проектов (для этого, кстати, в Axapta есть средства; посмотрите хотя бы http://www.axforum.info/forums/showt...=&threadid=254 и http://www.axforum.info/forums/showt...=&threadid=253), но так или иначе чем-то все равно приходится жертвовать.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 27.03.2002, 21:00   #11  
rkouznet is offline
rkouznet
Участник
 
4 / 10 (1) +
Регистрация: 20.03.2002
Адрес: Санкт-Петербург
Re: Организация работы программистов
Старый 05.04.2002, 18:48   #12  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Еще один вопрос, вернее ситуация: два программиста работают в двузвенной архитектуре с одной и той же базой данных. Один из них изменил длину поля в одной таблице и синхронизировал базу данных. Второй изменил вторую таблицу и синхронизировал базу данных. В результате его синхронизации первая таблица вернулась к первоначальному состоянию.

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

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

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

Может можно эту операцию автоматизировать ? Или решать эту проблему стоит совсем по другому ? Поделитесь пожалуйста Вашим опытом.
Старый 05.04.2002, 19:12   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Хм... А зачем в твоем случае держать Appl каталог на КАЖДОЙ машине?

Программисты должны работать в одном каталоге на серевере.

Пользователям имеет смысл ставить Appl локально только в том случае, если логика меняется нечасто и/или сеть очень загружена.

Если уж appl сделать у каждого локальным, то автоматические обновления можно сделать двумя способами:
1. загружать не Аксапту, а командный файл. Командный файл перед запуском аксапты проверяет и копирует новую логику (достаточно проверять изменяемые слои. обычно usr-слоя достаточно).
2. в login-script'е запустить подобный командный файл. Тогда логика будет обновляться при входе пользователя в сеть.

Но в любом случае это не очень хороший путь. Прямой и штатный способ уменьшить нагрузку на сеть - использовать трехзвенку.
Старый 05.04.2002, 20:05   #14  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано mazzy
Командный файл перед запуском аксапты проверяет и копирует новую логику (достаточно проверять изменяемые слои. обычно usr-слоя достаточно).
В этом случае в Axapta еще придется приделать script OnStart, который БД будет синхронизировать. Не то, чтобы это проблематично было сделать, но все-таки... Кроме того, было бы неплохо его сделать более менее интелектуальным: скажем, чтобы хотя бы два раза в день не синхронизировал или чтобы не синхронизировал от разных пользователей. В общем, "есть об чем подмуать".

А каким образом командный файл будет проверять логику (точнее, что подразумевается под процедурой проверки)?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 05.04.2002, 21:08   #15  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Проверить нужно совпадение того, что на сервере с тем, что лежит на локальной машине. Проверить достаточно длину. Наверное, стоит проверить и дату и время последней модификации.

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

НО! Честно говоря, это гемор, от которого лучше избавиться трехзвенкой.
Старый 08.04.2002, 08:45   #16  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
mazzy
Хм... А зачем в твоем случае держать Appl каталог на КАЖДОЙ машине?
Хм.. Вы предлагаете разместить приложение на сетевом диске и каждый пользователь будет запускать приложение с сетевого диска, а не с локального ?
А выдержит ли сеть ? Каталог Appl - более 300 Мб все-таки. Как я понимаю при работе с программой большая часть этого добра будет передаваться по сети на рабочее место пользователя. А если пользователей ожидается человек 30-50 ? Пока сеть не так уж и загружена, но в результате предлагаемой Вами операции не станет ли она таковой ?

Цитата:
1. Загружать не Аксапту а командный файл. Командный файл перед запуском аксапты проверяет и копирует новую логику (достаточно проверять изменяемые слои. обычно usr слоя достаточно).
То есть, как я понял, копирования файлов axusp* и axusr* будет достаточно ?

Цитата:
Но в любом случае это не очень хороший путь. Прямой и штатный способ уменьшить нагрузку на сеть - использовать трехзвенку.
Здесь решение принимал не я. Кстати, не могли бы Вы подсказать какого сервера будет достаточно для организации сервера приложений ориентировочно на 30-50 пользователей ?
Старый 08.04.2002, 09:26   #17  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
исходя из своей практики, могу сказать, что при 30-50 пользователях (даже при 15-20)
с каталогами приложений на сетевых дисках аксапта практически не работает. в смысле скорости. единственное правильное решение - использовать AOS. рано или поздно Вы все равно придете к этому. копировать приложения локально, проверка дат,.. - это все лишняя головная боль, отсутствие четкости и уверенности в переносе наработок....
Для предприятий с числом пользователей 1-5 я бы посоветовал двухзвенную архитектуру. 5-10,15 - терминальные соединения. больше - используйте Axapta Object Server. Единственная недостаток здесь - некоторые вещи, которые прекрасно работают на 2хуровневой не работают корректно под АОСом. Но в основном у нас это касалось своих разработок. Ну и плюс проблемма с кэшем
Что касается характеристик серверов - у нас примерно одинаковые ситуации. Работает приблизительно 40 - 50 пользователей. через AOS.
AOS - Pentium III 1000/512mb/2 IDE (даже не скази!!!)винчестера. Загрузка аоса приблизительно 50-60 %, пиковой не бывает практически никогда.
...
и еще нашел http://www.navision.ru/main.asp?IDR=355
__________________
С уважением, Вячеслав.
Старый 08.04.2002, 16:32   #18  
artem is offline
artem
Участник
 
13 / 10 (1) +
Регистрация: 27.03.2002
Адрес: Москва
Судя по сообщениям, в axapta основном используется в 2хуровневой конфигурации. Интересно было бы узнать, почему? AOS шибко дорогой?
Старый 08.04.2002, 16:45   #19  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Судя по:

Цитата:
AOS - Pentium III 1000/512mb/2 IDE (даже не скази!!!)винчестера. Загрузка аоса приблизительно 50-60 %, пиковой не бывает практически никогда.
не такой уж и дорогой.

В самое ближнее время попробуем перейти на трехзвенку.

Спасибо всем за советы.
Старый 08.04.2002, 17:09   #20  
artem is offline
artem
Участник
 
13 / 10 (1) +
Регистрация: 27.03.2002
Адрес: Москва
Судя по сообщениям, в axapta основном используется в 2хуровневой конфигурации. Интересно было бы узнать, почему? AOS шибко дорогой?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Журнал работы пользователей (логи)? Anais DAX: Администрирование 7 26.08.2009 09:15
Ошибка: Сессия работы на сервере AOS прервана... Atani DAX: Программирование 6 09.08.2007 09:28
Организация работы кладовщика:продажа товаров контрагенту без заказа thyra DAX: Функционал 18 07.04.2006 14:43
Использование профилировщика и толкование результатов его работы belugin DAX: Программирование 3 22.11.2005 16:56
Настройка прав доступа для работы с журналами платежей Pismarkina DAX: Администрирование 3 27.05.2005 09:31

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:18.