Форум Сообщества Аналитиков

×


Использование UML при проектировании задач в 1С(Прочитано 69047 раз)
Я думаю, все хорошо себе представляют, что 1с является средой для разработки бизнес-приложений.

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

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

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

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

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



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

Пусть в ходе выявления бизнес-требований был предложен такой ВИ:

Принять товарно-материальную ценность (ТМЦ)
1. Поставщик привозит ТМЦ и сопроводительные документы (счет-фактуру)
2. Кладовщик на основании счет-фактуры поставщика оприходует ТМЦ.
3. Кладовщик подписывает счет-фактуру и создает документ "Приход ТМЦ".
4. Поставщик идет в бухгалтерию.
5. Бухгалтер на основании подписанной кладовщиком счет-фактуры и, руководствуясь договором, выписывает счет на получение денег.
6. Поставщик со счетом идет в кассу.
7. Кассир выдает требуемую сумму и создает "расходный ордер".

Согласно моему пониманию я описал ВИ уровня бизнеса в стиле прозрачный ящик. Уровень обобщенный (могу ошибаться - просьба поправить)

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

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

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

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



Цитировать
Принять товарно-материальную ценность (ТМЦ)
1. Поставщик привозит ТМЦ и сопроводительные документы (счет-фактуру)
2. Кладовщик на основании счет-фактуры поставщика оприходует ТМЦ.
3. Кладовщик подписывает счет-фактуру и создает документ "Приход ТМЦ".
4. Поставщик идет в бухгалтерию.
5. Бухгалтер на основании подписанной кладовщиком счет-фактуры и, руководствуясь договором, выписывает счет на получение денег.
6. Поставщик со счетом идет в кассу.
7. Кассир выдает требуемую сумму и создает "расходный ордер".
не знаю, важно ли это, но у нас в аптеке очень большая номенклатура (тысячи наименований в день), поэтому поставщики привозят бумажные документы, а в 1С приходная формируется:
- модем - файл в формате поставщика (кто во что горазд)
- конвертер (сам писал) их формата в XML 1C
- 1C в меню берёт этот файл и формирует приходную

Цитировать
Согласно моему пониманию я описал ВИ уровня бизнеса в стиле прозрачный ящик. Уровень обобщенный (могу ошибаться - просьба поправить)
имхо чёрный ящик для каждого пунтка ВИ

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


Цитировать
Для 1с существует жестко определенная структура классов? Документ, Справочник, Регистр, Перечисление, Операция, Проводка?
да.
спр = СоздатьСправочник(Номенклатура)
спр.СоздатьНовый(ыыыыыыыы)

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

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

Цитировать
Вот и интересно как наиболее оптимально тут действовать? Имеет ли смысл создавать независмую модель? Не увеличивает ли это трудоемкость? И вообще применима ли технология UML или вернее имеющихся процессов разработки, ориентированных на UML, в реализации проектов на 1С? Или требуется идти совсем другим путем?
у меня за спиной 1С-ники, так они чаще используют диаграммы переходов (или как там их называют с ромбиками :))))



Хочу вас обрадовать: решение по разработке OOM для 1С уже есть.

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

В итоге было решено использовать Sybase PowerDesigner 11 и его OOM-модель. Определили классы 1Cv8, описали атрибуты. Получилось все очень даже красиво: конфигурация бьется по предметным областям, наглядно отображаются взаимосвязи между объектами, в т.ч. и генерация объктов на основании друг друга.

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

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

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



Выкладывайте конечно.
Если не сложно, то не плохо запросить и более новую модель.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



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

Объясню причину. Мы много говорим и изучаем ООМ, а зачастую студенты делают проекты для организаций под 1С, и теряются в использовании ООМ для этого, да что говорить нетолько ООМ но И ЕР, разве немного Use Case или IDEF0 или 3. Но никакой полной картины нет. правда мы пока юзаем 1с7, но будем закупать программисткую лицензию по 540 за штуку.
Было бы очень не плохо совместить в курсе КИС  и разработку конфигурации и ее реализацию. Реализация у меня есть - несколько примеров раззжеванных до тошноты, а хотелось бы что бы студенты сами во второй половине семестра сделали свою конфигурацию и при этом использовали знания по ООМ...



Итак, модель я заполучил. Что-то изобразить с ее помощью можно, но не реализована генерация объектов конфигурации 1Cv8 и реинжиниринг. Первое, на самом деле, было заточено под .Net для доступа к конфигурации, а вторая часть оказалась слишком трудозатратной.

Если кому-то интересно - пишите в личку адреса электронной почты, я буквально в тот же день вышлю вам .xol-файл (это описание объектной модели для Sybase PowerDesigner). Предупреждаю сразу, что файл заточен под 11-ую версию, так что как младшие или старшие будут с ним работать, ничего сказать не могу.

Заодно, если кому-то нужно, есть PD 12.1 с лицензией.

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



Если кому-то интересно - пишите в личку адреса электронной почты, я буквально в тот же день вышлю вам .xol-файл (это описание объектной модели для Sybase PowerDesigner). Предупреждаю сразу, что файл заточен под 11-ую версию, так что как младшие или старшие будут с ним работать, ничего сказать не могу.
Денис, нет у меня Дизайнера. Отказался от него, вернее есть 9.5, но давно не используется. Да и если честно, после других систем возвращаться пока к дизайнеру неохота. Потому нет ли у дизайнера возможности сохранять модели в формате, который могут понять Rational Rose 2003, Enterprise Architect, Telelogic Tau, Together, Visual Paradigm, Visio наконец. :-))

Цитировать
Заодно, если кому-то нужно, есть PD 12.1 с лицензией.
Стоит ли разрабасываться лицензией, еще осудять как Поносова :)

Цитировать
Вообще, объясните мне, пожалуйста, как такой гигант, как 1С, до сих пор так нелогично относится к процессу разработки конфигурации? Хотя, не в обиду будет сказано 1С-разработчикам, способы разработки продуктов на этой платформе очень ощутимо отличаются от общепринятых...
А зачем. Изначально это была коробочная версия с постпродажным или пост внедренческим обслуживанием. Причем вторая статья превалирует в доходной части и существенно. Например купили лицензию на рабочее место скажем за 10 тыс + всякое там ослуживание где-то 2-3 тыс в мес. уже через год это становится = 24-36 тыс. А если нужна адаптация стандартной конфигурации - а она практически нужна всегда - поскольку аже такие огранизации как вузы - вроде чисто бюджетную имеют бухгалтерию и по идее должны иметь единый набор процессов и их сценариев, все равно требуют переделки. Переделка в целом типичная и довольно понятная - тянет обычно тыс на 30-40 р. как минимум. Так что как понимаешь бабки крутятся - народ одинэсит во всю...

У меня был такой опыт - пивоваренная компания вышла на меня каким-то неизвестным мне образом - якобы я самый главный специалист в городе по корпоративным информационным системам :) - поговорили с людьми: товарищам хотелось через месяц получить конфигурацию управления складом, но с очень большими дополнениями и двойной бухгалтерией конечно. Я конечно ни какой не спец был, да и есть, просто читал курс по ERP :-). 1С только начинал осваивать. Однако поговорив с людьми, естественно загрузил их по полной программе. Сказал что за месяц, если и можно сделать но наверное еесли будут работать сразу 100 человек, да и то не возможно - будут друг другу мешать. В итоге я помог им связаться к компанией IT-soft, узнал примерно через полгода, что они даже пока еще не утвердили полностью ТЗ. Еще через год - был сделан проект, который даже был примерирован, а конфигурацию было решено внедрить на других пивоваренных площадках страны...
Однако в личных раговорах с разработчиками я понял, что никакие IDEF, UML, и другие нотации не используются, и даже не стремятся использоваться. Аргумент был таков, а как это нам использовать? Базу мы не разрабатываем, классов как таковых у нас нет - всю библиотеку мы имеем от движка, а что своего разрабатываем, то мол это свои dll, выгрузки, и т.п.
Я им пытался сказать, что мол ну и что - не путайте божий дар с морковкой. Одно другому не мешает. Они как-то предложили мне рассказать им об скажем использовании UML, но я к сожалению не был тогда столь подкован-раз, да и просто кому-то доказывать что-то, особенно когда люди явно настроены против.

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



Интересно будет посмотреть.
Что-то сейчас по проектированию под 1С существует?
Покажите.



UML диаграммы для 1С Ответ #9 : 23 Мая 2008, 17:13:43
Доброго времени суток!!! Плизззз....  :-\
Поделитесь опытом построения UML диаграмм для бизнес-процессов провайдера связи  (в частности интеграция биллинга с 1С:Бухгалтерией 8). Вообще интересно, насколько раскручено проектирование бизнес-процессов 1C с помошью UML?? Это актуально сейчас?? ???



Так я и тему открыл, что бы это же самое узнать.

Насколько я понимаю этот вопрос, моделирование бизнес-процессов никак не определяется для или не для 1 С это делается. Я таки полагал другое, как используя метамодель 1С применять UML моделирование - возможно ли это или нет?

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

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



Сейчас пытаюсь начертить диаграммы UML ...Вот получилось что :  отвратительно некрасивая Диаграмма классов  и еще хуже UseCase  :o :o :o :o :o  подправьте  ::)  Задача диплома такая: автоматизация проектирования задач обмена между биллинговой и бухгалтерской(1С) системами!! Интеграция проиисходит с помощью внешней обработки(на 1С) на уровне файлов XML. Обмениваются системы данными: о клиентах, о договорах, о платежах. Хочу сначала с помощью UML показать бизнес-процессы провайдера, а потом детализированно описать модуль инетеграции и кто из акторов с ним работает...путаюсь...пугаюсь



и вот еще диаграмма классов...это уже по самому модулю интеграции биллинга с 1с



вот какая сейчас. Я думаю, что доработаю свою UML диаграмму до стадии проектирования обмена в 1С....поэтому  ::)прошу прощения за моё присутствие в ЭТОЙ теме :)



вот я тут передумала кое-что, предоставляю неоконченное описание бизнес-процессов компании провайдера. Думаете много еще надо исправить? ;D




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19