powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Бизнес процесс, экспертные системы, опыт
34 сообщений из 34, показаны все 2 страниц
Бизнес процесс, экспертные системы, опыт
    #34585366
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые участники!
Предлагаю воссоединиться для обсуждения практических вопросов.
Появление "новых" технологий проектирования, программирования и средств разработки заставляет задуматься над извечным вопросом программиста - "НА ХРЕНА?"
В переводе на литературный - а можно-ли из этого "нового" получить практическую выгоду.

ИТАК:
"Object Design"
"Recursive Development"
"Knowledge base"
"Expert system"
"Business driven application"

Для меня эти понятия оказались более чем связаны.

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

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

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

"OBJECT DEZIGN"

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

Object Dezign = Tranzaction Dezign

Даное утверждение позволяет легко перейти от реляционной модели информации к объектной модели:
Связи 1:1 и 1:M - являются характерным признаком того, что мы имеем дело с Экземпляром объекта (Object Instance) , т.е. связанные сущности являются свойствами головного объекта (Nested attributes). Вся обработка ЭКЗЕМПЛЯРА объекта, должна выполняться в рамках одной транзакции ибо изменение любого свойства объекта означает изменение ВСЕГО экземпляра объекта.

Связи 0:1 и 0:M - реализуют ссылки на сторонние независимые сущности (Reference), Изменение ссылки не приводит к изменению объекта, на который ссылается атрибут.

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

Практический выход: .Net Dataset - Это НЕ ВИРТУАЛЬНАЯ БАЗА - Это набор данных, который обрабатвывается за одну тразакцию = Экземпляр объекта = Object Instance

Утверждение уже более чем спорное...

Поговорим?
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34586836
Майевтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Истинно говорю вам! - 1 января 2000 года Земля натолкнётся на небесную ось!
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34587744
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите за банальности,
Но тема слишком сложная, что бы не договориться изначально о терминологии.

Продолжу по поводу "OBJECT DEZIGN"

Почему объектная модель информации, а не традиционная диаграмма отношений логических объектов ERD (Entity-Relationship Diagramm)?

Оказалось что общаться с заказчиками в терминах Объекты и их свойства существенно проще чем в терминах ERD, поскольку удаётся обойтись без мутного понятиия "Связи", когда сами проектировщики с этим термином не знают что делать, то-ли это связь а может уже сущность.

Конечно из песни слов не выкинешь и приходится вводить различные типы атрибутов объекта для опиcания связей, как-то: ссылка, группа атрибутов, множественная группа...
Но и в ERD связи имеют два имени, смотря со стороны какой сущности на них смотреть.

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

Ещё один аспект - Расчетные (Виртуальные) свойства объекта.
Расчётные атрибуты могут быть включены в описание объекта на равных правах с хранимыми атрибутами. Заказчика, в основном, не интересует расчетное это свойство или хранимое.
Остаётся описать ПРАВИЛА получения значения для таких атрибутов. Вот и ещё одна тема - "Knowledge base"

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

Следующий вопрос, а может он и первый, который возникает при проектировании, это процедуры.
А если точнее, то кто, что, когда и где делает, т.е. тот самый БИЗНЕС ПРОЦЕСС. Тема отдельная но неотъемлемая.
Объектная модель дополненная описанием процедур позволяет ответить на вопрос ЧТО.

ЧТО == Метод объекта

Но ближе к телу...
Я использовал для пректирования (и затем управление приложением) следующее описание (Модель, метадата,... как угодно называйте) см.приложение

Для работы с описанием разработал приложение и пару процедур:
DBSCHEMA_LOAD - Создание модели по существующей базе
DDL_Create - Создание базы по модели
XSD_Create - Создание схемы по модели
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34587751
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander BezninПростите за банальности,
Но тема слишком сложная, что бы не договориться изначально о терминологии.

а о чем она(тема) вообще?
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34588357
сирко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такий розумный, аж страшно ...
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34590573
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iscrafm[а о чем она(тема) вообще?
Перевожу на русский:
А-у..., Господа!
ЭТО (Бизнес процесс, экспертные системы) кто-нибудь САМ руками делал с практическим результатом ???
Поделитесь!!! Проблем внутри немерено...

сиркотакий розумный, аж страшно ...
Похоже у Вас есть опыт, поделитесь, не боитесь, что засмеют, я уже не боюсь...
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34590758
Майевтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр, а может вы сначала просто объясните, хотя бы на примере ТурАгентства:

1. С какими проблемами проектирования, реализации и поддержки/развития вы столкнулись.
2. Какие варианты решения этих проблем вы рассматривали, к какому выводу пришли и почему.
3. Какие свои собственные конструкции вы изобрели и для чего - т.е. как эти конструкции позволили эффективно решить проблемы из пункта 1.

Пока из ваших описаний совсем не понятно, коим образом object deZign и tranZaction deZign, что бы под ними не понималось, относятся к тематике Баз Знаний и Экспертных Систем и почему эти "технологии" понадобились для турагентства.

Alexander BezninУважаемые участники!
...
"Recursive Development" Понятия Recursive Development как устоявшегося термина в Гугле не нашёл. Что это?

....
Даное утверждение позволяет легко перейти от реляционной модели информации к объектной модели:
Связи 1:1 и 1:M - являются характерным признаком того, что мы имеем дело с Экземпляром объекта (Object Instance) , т.е. связанные сущности являются свойствами головного объекта (Nested attributes). Вся обработка ЭКЗЕМПЛЯРА объекта, должна выполняться в рамках одной транзакции ибо изменение любого свойства объекта означает изменение ВСЕГО экземпляра объекта. С книгой Domain-Driven Design Эрика Иванса знакомы?

Связи 0:1 и 0:M - реализуют ссылки на сторонние независимые сущности (Reference), Изменение ссылки не приводит к изменению объекта, на который ссылается атрибут.Что в данном случае означает 0?

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

Оказалось что общаться с заказчиками в терминах Объекты и их свойства существенно проще чем в терминах ERD, поскольку удаётся обойтись без мутного понятиия "Связи", когда сами проектировщики с этим термином не знают что делать, то-ли это связь а может уже сущность.Интересное наблюдение, пока не очень верится, тем более то принципиально ORM отличается от ERM скорее наличием методов, которые не то что заказчик - разработчик не всегда может нормально выделить (особенно люди с Data-Centric бэкграундом).

Но и в ERD связи имеют два имени, смотря со стороны какой сущности на них смотреть.Это в каком стандарте прописано?

С другой стороны, одно и то же свойство объекта может измениться в процессе осознания от простого атрибута (реализуемого как поле в таблице) до множественной группы атрибутов (записи в связанной таблице). Имя свойства и его физический смысл от этого не меняется.Осознание происходит в процессе разработки (анализа и преоктирования) или уже эксплуатации готовой системы? В чьей голове это осознание происходит?

Ещё один аспект - Расчетные (Виртуальные) свойства объекта.
Расчётные атрибуты могут быть включены в описание объекта на равных правах с хранимыми атрибутами. Заказчика, в основном, не интересует расчетное это свойство или хранимое.
Остаётся описать ПРАВИЛА получения значения для таких атрибутов.С объектным паттерном Strategy знакомы? С системами бизнес-правил (Business Rules Engine)?

Объектная модель дополненная описанием процедур позволяет ответить на вопрос ЧТО.При использовании объектного подхода процедур нет, есть методы, которые проистекают из детализации Функциональной модели (Use-Case Model).

Я использовал для пректирования (и затем управление приложением) следующее описание (Модель, метадата,... как угодно называйте) см.приложение

Для работы с описанием разработал приложение и пару процедур:
DBSCHEMA_LOAD - Создание модели по существующей базе
DDL_Create - Создание базы по модели
XSD_Create - Создание схемы по моделиХороший такой боянчег, "нажитый непосильным трудом", поздравляю. При чём тут базы знаний и экспертные системы-таки?
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34593078
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МайевтикАлександр, а может вы сначала просто объясните, хотя бы на примере ТурАгентства:

1. С какими проблемами проектирования, реализации и поддержки/развития вы столкнулись.


Спасибо за реальный ответ,
Теперь по вопросам:

Основная задача которую пришлось решать сразу - это Billing
причём ON Line:
Агент принимает от клиента заказ и должен в процессе разговора по телефону выполнить:
1.Бронирование услуг (авиа, ж.д, гостиниц ....)
2.Отослать предложения по поездке клиенту
3.Получить подтверждение,
4.Выпустить билеты,
5.Расчитать стоимость услуг и заказа в зависимости от формы оплаты, договора с клиентом, договора с каждым из поставщиков....
6.Выпустить документы бух.учёта
7.Сформировать отчёт поставщику,
8.Собрать всё в два(Три при кредитовании) конверта и отдать курьеру,

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

На остальные вопросы чуть позже
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34593432
Mainframe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю, вы разрабатываете (разработали?) систему генерации физическиой модели базы данных на основании онтологических описаний. В связи с этим у вас вопросы ? у меня встречные вопросы - вы смотрели аналогичные системы? чем ваша отличается ? В какую конкретно СУБД ваши программы генерируют схему данных? Учитываете вы особенностти СУБД при генерации типов данных. ограничений и т.п. как именно генерируются свойства?
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34594132
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Майевтик1. С какими проблемами проектирования, реализации и поддержки/развития вы столкнулись?

Продолжим, по поводу проблем

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

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

Попытка использования CASE (в данном случае это был Power Builder) показала, что изменчивость приложения потребует постоянной работы руками (до мозолей и без всякого удовольствия), даже если считать, что созданный в CASE программный код достаточно хорош и не противоречит собственным принципам (naming convention, error processing, multilingual). Заказчик тот был представительством инофирмы в России, и просил сделать что-нибудь быстро и дёшево, и еще Заказчик задробил использование RDBMS по причинам отсутствия денег на DBA... (предлагалось на выбор ORACLE или MS SQL), пришлось согласится в полной осознанке о последствиях на MS Access.

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

Кстати по поводу "Recursive Development" - этот термин мне подарили в 1995 в фирме Debis System Haus Gmbh, где посчастливилось руководить разработкой системы управления стандартами по заказу DIN и Mercedes. Там, после утверждения ТЗ, требовали в процессе разработки рабочую версию ПО каждые 15 дней. Через 4 итерации приложение было принято в эксплуатацию и продолжало разрабатываться дальше.

Собственно ничего нового я и не изобретал...
MS Access - оказался вполне благодарным животным и подкинул много интересных идей...
Правда пришлось повозиться с многопользовательским режимом и многокомпонентной архитектурой приложения дабы хоть как-то эмулировать RDBMS но это темы другого форума...

"Описание"

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

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

Из имеющегося на тот момент - загрузка файлов регулярной структуры (CSV, XLS)
Требовалось расширить на файлы нерегулярной структуры.

Принял решение создать описание информации в этих файлах и описание куда и что загружать.
Типичные случаи:
- CSV
- CSV c типизацией строк
- Форматированный текст (Звёздное небо)

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

Структура описания файла:
...

Простите отвлекают
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34594659
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МайевтикdeZign и tranZaction deZign
Простите - Copy/Paste
Видел, что-то не то, но сразу не сообразил
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34598630
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MainframeКак я понимаю, вы разрабатываете (разработали?) систему генерации физическиой модели базы данных на основании онтологических описаний. В связи с этим у вас вопросы ? у меня встречные вопросы - вы смотрели аналогичные системы? чем ваша отличается ? В какую конкретно СУБД ваши программы генерируют схему данных? Учитываете вы особенностти СУБД при генерации типов данных. ограничений и т.п. как именно генерируются свойства?

И это то-же, но как побочный эффект, да другие системы видел и пользовался...
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34598665
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander BezninКстати по поводу "Recursive Development" - этот термин мне подарили в 1995 в фирме Debis System Haus Gmbh, где посчастливилось руководить разработкой системы управления стандартами по заказу DIN и Mercedes. Там, после утверждения ТЗ, требовали в процессе разработки рабочую версию ПО каждые 15 дней. Через 4 итерации приложение было принято в эксплуатацию и продолжало разрабатываться дальше.Это все очень похоже на Iterative development
Iterative and incremental development
IBM Rational Unified Process
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34602994
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelyЭто все очень похоже на Iterative development
Да похоже, общий смысл то-же, дело в ньюансах
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603031
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Модератор: удалено по просьбе автора
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603045
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Beznin
Принял решение создать описание информации в этих файлах и описание куда и что загружать.
Типичные случаи:
- CSV
- CSV c типизацией строк
- Форматированный текст (Звёздное небо)

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


Что-то не понимаю. Практически везде есть стандарты обмена. В Авиа это, например RP 1707-08.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603071
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сахават Юсифов В Авиа это, например RP 1707-08.
А первоисточник есть? в гугле не нашёл.
Я наверное давно не смотрел новости в этой области и работаю по старинке,
Но ни в Сирене ни в Amadeus мне об этих стандартах ничего не сказали.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603077
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Beznin Сахават Юсифов В Авиа это, например RP 1707-08.
А первоисточник есть? в гугле не нашёл.
Я наверное давно не смотрел новости в этой области и работаю по старинке,
Но ни в Сирене ни в Amadeus мне об этих стандартах ничего не сказали.

http://www.google.com/search?q=IATA+RP+1707b&sourceid=ie7&rls=com.microsoft:en-US&ie=utf8&oe=utf8
Вот что-то уже есть. Да этим рекомендациям 1000 лет.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603090
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сахават Юсифов
Вот что-то уже есть. Да этим рекомендациям 1000 лет.

Т.е. есть подозрение, что указанные системы бронирования этот стандарт поддерживают, но за большие деньги.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603106
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Beznin
Код: plaintext
1.
2.
3.
4.
5.
...
1.	Структура исходной информации НЕ СОВПАДАЕТ со структурой данных приложения: Т.е. в процессе загрузки необходимо обеспечить не только преобразование типов (12МАР => 12.03.07)
2.	Обеспечить совместимую идентификацию
3.	Обеспечить обработку недостающей (неоднозначной информации)  



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

Задача заполнения и разбора форм встречается в процессе управления системой связи, когда в ответ на запрос объект управления возвращает экранную форму расчитанную на чтение с терминала человеком. В этом случае форму тоже можно рассматривать как поток байтов, но есть и более продуктивные модели, например наложение маски или синтаксический анализ. Такого класса ПО тоже существует в природе. Например всякоразные считыватели форм, как экранных так и бумажных.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603107
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Beznin Сахават Юсифов
Вот что-то уже есть. Да этим рекомендациям 1000 лет.

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

Я видел российскую систему Регина (кажется, часть большой системы, если интересно то могу найти ссылку в избранных), там это поддерживается.
А мне рекомендации дал Заказчик (аэропорт). На сайте IATA эти документы в свободном доступе не лежать.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603112
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сахават Юсифов Alexander Beznin Сахават Юсифов
Вот что-то уже есть. Да этим рекомендациям 1000 лет.

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

Я видел российскую систему Регина (кажется, часть большой системы, если интересно то могу найти ссылку в избранных), там это поддерживается.
А мне рекомендации дал Заказчик (аэропорт). На сайте IATA эти документы в свободном доступе не лежать.
А вот и ТАИС
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603118
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот часть реального сообщения по IATA.

Message ID: 220619

004 000 220633 MAY 07

BAKKKXH

.HDQRMJ2 220619

PNL

J2255/25JUN GYD PART1

CFG/012C144Y

RBD C/CDZ Y/YNBMLHUQVGX

AVAIL

GYD ESB

C012

Y019

-ESB000C

-ESB000D

-ESB000Z

-ESB029Y

1AKAN/POLAT MR .L/PHXZP .R/PSPT HK1 994887/TR/AKAN/PMR/M

.R/MCO/7714010043020

1ALILI/GALIB MR .L/PC871 .R/PSPT HK1 1244619/AZ/ALILI/GALIB/M

.R/1ZZ DOB 09/11/82 .R/TKNM7714400650280

1ALIYEV/FUAD MR-A2 .L/PJBJJ .R/PSPT HK1 P1163640/AZ/ALIYEV/

.RN/FUAD/M

1ALIYEV/ORKHANMR .L/QBXT1 .R/PSPT HK1 P1113643/AZE/ALIYEV/

.RN/ORKHANMR/M .R/TKNM HK1 77144006477126

1ALIYEVA/AFSHAN MRS-A2 .R/PSPT HK1 P1163790/AZ/ALIYEVA/AFSHAN/

.RN/F .R/TKNM HK1 77144006506493

1CAPRAK/FAHRETTIN MR .L/QF2ZN .R/TKTNMB 7714400631364

1CELIK/MUSAMR .L/Q7D18 .R/PSPT HK1 TRP106526/TR/CELIK/MUSA/M

.R/TKNM HK1 77144006516971

1DONDUOGLU/MUSTAFAMR .L/Q5413 .R/PSPT HK1 TRO361190/TR/

.RN/DONDUOGLU/MUSTAFAMR/M .R/TKNM HK1 77144006516923

1FATALIYEVA/R MISS .L/PM0RR .R/PSPT HK1 P2353966/AZ/

.RN/FATALIYEVA/RMISS/F .R/INFT HK1 FATALIYEVA/AYSEL

.RN/08MTHS-1FATALIYEVA/R MISS

1GUL/ABDULLAH MR .L/QJQF3 .R/PSPT HK1 446555/TR/GUL/AMR/M

1HASHIMOVA/KAMALA MRS-B2 .L/PVWHQ .R/PSPT HK1 P2274085/AZ/

.RN/HASHIMOVA/KAMALA/F .R/TKNM HK1 77144006519465

1HEYDAROV/ALIFMR .L/PEEBZ .R/PSPT HK1 P 1457667/AZE/HEYDAROV/

.RN/ALIF/M .R/TKNM HK1 77144006530503

1HUSEYNOVA/GIYMAT MRS .L/PNRX7 .R/PSPT HK1 P2377121/AZ/

.RN/HUSEYNOVA/GIYMATMRS/F .R/TKNM HK1 77144006532415

1HUSEYNOVA/SHAMISIYYA MRS .L/PW57V .R/PSPT HK1 P1068520/AZ/

.RN/HUSEYNOVA/SHAMISIYYA/F .R/INFT HK1 HUSEYNLI/ALI

.RN/19MTHS-1HUSEYNOVA/SHAMISIYYA MRS .R/1IN 21AUG05

1KELLE/ADNANMR-C3 .L/QB8GX .R/PSPT HK1 TRT473695/TR/KELLE/

.RN/ADNANMR/M .R/TKNM HK1 77144006516890

1KELLE/AHMETMR-C3 .R/PSPT HK1 TRN213297/TR/KELLE/AHMETMR/M

.R/TKNM HK1 77144006516901

1KIRAC/HASAN MR .L/QNXQS .R/PSPT HK1 P699704/TR/KIRAC/HASANMR/

.RN/M .R/TKNM HK1 77144006532382

1KOYUN/YUKSELMR .L/PC14Z .R/PSPT HK1 241640/TR/KOYUN/YMR/M

.R/TKNM HK1 77142029672252

1KURUCAY/LATIFMR .L/Q48DZ .R/PSPT HK1 828530/TR/KURUCAY/

.RN/LATIFMR/M

1MASIMOV/RMR .L/PSPX4 .R/PSPT HK1 P2274025/AZ/MASIMOV/RMR/M

.R/MCO7714010043332

1OJAGVERDIYEVA/R MRS .L/Q9FYT .R/PSPT HK1 P2170701/AZ/

.RN/OJAGVERDIYEVA/RMRS/F

1ORUJOVA/GULSUN MRS .L/QJCXG .R/PSPT HK1 P1132310/AZ/ORUJOVA/

.RN/GULSUN/F .R/TKNM HK1 77144006503660

1OZDOGAN/AHMET MR-B2 .R/PSPT HK1 TRD674159/AZ/OZDOGAN/AHMET/M

.R/TKNM HK1 77144006519476

1SARACOGLU/BERATICUMHURMR-D2 .L/QGLTH .R/PSPT HK1 TRN042349/

.RN/TR/SARACOGLU/BERATICUMHURMR/M .R/TKNM HK1 77144006498561

1SARACOGLU/IRINAMRS-D2 .R/PSPT HK1 P1606125/AZ/SARACOGLU/

.RN/IRINAMRS/F .R/TKNM HK1 77144006498572

ENDPART1
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603163
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа,
Не о стандартах разговор, так получилось, что тему зацепил,
Разговор о реализации загрузчика, даже при известных стандартах.
От Amadeus данные получаю в Air файлах, думаю они тоже придерживаютя некоторых стандартов.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
Ниже примеры исходных файлов и XML:
-------------------------------------------------------------------
AIR-BLK205;7A;;221;2400011889;9E11773364;001001
AMD 2400000495              
9E11773364;9E11773364
MUC1A YIQ9H2024;0101;MOWRU25GH;92220306;MOWRU25GH;92220306;MOWRU25GH;92220306;;;;;;;;;;;;;;;;;;;;;BA ATGI6R;OS HF55M 
A-AUSTRIAN AIRLINES;OS 2575
B-TTP/BTK
C-7906/ VLSU-VLSU-I-0
D-030123;030124;030124
G-X  ;SOTO;LONIEV;E1
H-012;005OLHR;LONDON LHR       ;VIE;VIENNA SCHWECHAT ;OS    0458 C C 29JAN0635 0945 29JAN;OK01;B ;0;320;;;30K;2 ;;ET;0210 ;N;800
H-005;006XVIE;VIENNA SCHWECHAT ;KBP;KIEV BORISPOL    ;OS    0661 C C 29JAN1035 1330 29JAN;OK01;S ;0;321;;;30K;;0950 ;;0155 ;N;667
U-014;002MIS 1A OK01 24JAN;SVO;MOSCOW;TAXI CONFM/ZZ;
U-010;003OSVO;MOSCOW SVO       ;LHR;LONDON LHR       ;BA    0875 B B 26JAN2040 2200 26JAN;OK01;M ;0;767;;;;2 ;;ET;0420 ;N;;1570;
U-011;004HHL SR OK01 26JAN;29JAN;LON;LONDON;1C1SBTI;;GBPRUB;148.00+26JAN+03+7576.63;;;;;;;;;;;DLY;RTT-;MYH;BC-YC1SBTI;BS-92220306;CF-13499786;AP-;CD-;CR-;DP-;EX-;FA-;FM-;G-CCVI4154810113241119EXP0804;ID-;MA-;RA-;RC-;RO-;SI-;SF-;**-;MYHOTEL BLOOMSBURY;11-13 BAYLEY STREET;BEDFORD SQUARE;LONDON;;UNITED KINGDOM;WC1B3HD;44 207 6676000;44 207 6676044;NONE;+;COM-8.0   PERCENT;;DES-CONSORTIA RATE 01JAN03 - 31DEC03;RATE IS SUBJECT TO 17,5 PCT TAX. SERVICE CHAR;GUESTS ENJOY 24HR USE OF MYLIBRARY, AN OASIS ;;;TAX-;;SVC-;;MEA-;;STA-;HLD-;CXL-CANCELLATION MUST BE RECEIVED 01 DAYS;PRIOR TO ARRIVAL LOCAL TIME TO AVOID PENALTY;;;;;ADV-;TTL-GBP444.00;;NGT-03;;VV-;RUB22729.89;BN-;;;;;RRO-;MOW 7 095 721 21 10 - BTI RUSSIA - AGENT VL;;P1
U-013;007MIS 1A OK01 29JUL;SVO;MOSCOW;ZZ;
K-FGBP1035.00    ;USD1665.00    ;;;;;;;;;;;USD1774.68    ;1.60901    ;;   
KFTF; USD64.36    GB AD; USD13.52    UB AS; USD8.00     YQ VO; USD11.14    ZY AE; USD8.00     YQ AS; USD4.66     AT SE;;;;;;;;;;;;;;;;;;;;;;;;
L-
M-COW            ;COW            
N-NUC;1628.05
O-XXXX;XXXX
Q-LON OS X/VIE OS IEV M1628.05NUC1628.05END ROE0.635729
I-001;01CHOULGA/DMITRY MR;;APMOW 7 095 721 21 10 - BTI RUSSIA - AGENT VL;;
T-O257-4407768663
FM*M*7;S5-6;P1
FPINV;S5-6;P1
FVOS;S5-6;P1
TKOK24JAN/MOWRU25GH
END
AIR-BLK205;7A;;221;2400011893;9E11773364;001001
AMD 2400000496              
9E11773364;9E11773364
MUC1A YIQ9H2024;0101;MOWRU25GH;92220306;MOWRU25GH;92220306;MOWRU25GH;92220306;;;;;;;;;;;;;;;;;;;;;BA ATGI6R;OS HF55M 
A-BRITISH AIRWAYS;BA 1256
B-TTP/BTK
C-7906/ VLSU-VLSU-M-1
D-030123;030124;030124
G-X  ;SITI;MOWLON;E1
H-010;003OSVO;MOSCOW SVO       ;LHR;LONDON LHR       ;BA    0875 B B 26JAN2040 2200 26JAN;OK01;M ;0;767;;;23K;2 ;;ET;0420 ;N;1570
U-014;002MIS 1A OK01 24JAN;SVO;MOSCOW;TAXI CONFM/ZZ;
U-011;004HHL SR OK01 26JAN;29JAN;LON;LONDON;1C1SBTI;;GBPRUB;148.00+26JAN+03+7576.63;;;;;;;;;;;DLY;RTT-;MYH;BC-YC1SBTI;BS-92220306;CF-13499786;AP-;CD-;CR-;DP-;EX-;FA-;FM-;G-CCVI4154810113241119EXP0804;ID-;MA-;RA-;RC-;RO-;SI-;SF-;**-;MYHOTEL BLOOMSBURY;11-13 BAYLEY STREET;BEDFORD SQUARE;LONDON;;UNITED KINGDOM;WC1B3HD;44 207 6676000;44 207 6676044;NONE;+;COM-8.0   PERCENT;;DES-CONSORTIA RATE 01JAN03 - 31DEC03;RATE IS SUBJECT TO 17,5 PCT TAX. SERVICE CHAR;GUESTS ENJOY 24HR USE OF MYLIBRARY, AN OASIS ;;;TAX-;;SVC-;;MEA-;;STA-;HLD-;CXL-CANCELLATION MUST BE RECEIVED 01 DAYS;PRIOR TO ARRIVAL LOCAL TIME TO AVOID PENALTY;;;;;ADV-;TTL-GBP444.00;;NGT-03;;VV-;RUB22729.89;BN-;;;;;RRO-;MOW 7 095 721 21 10 - BTI RUSSIA - AGENT VL;;P1
U-012;005OLHR;LONDON LHR       ;VIE;VIENNA SCHWECHAT ;OS    0458 C C 29JAN0635 0945 29JAN;OK01;B ;0;320;;;;2 ;;ET;0210 ;N;;800;
U-005;006OVIE;VIENNA SCHWECHAT ;KBP;KIEV BORISPOL    ;OS    0661 C C 29JAN1035 1330 29JAN;OK01;S ;0;321;;;;;0950 ;;0155 ;N;;667;
U-013;007MIS 1A OK01 29JUL;SVO;MOSCOW;ZZ;
K-FUSD450.00     ;;;;;;;;;;;;USD465.50     ;32.50      ;;   
KFTF; USD9.50     RI DP; USD2.00     UH SE; USD4.00     YQ VO;;;;;;;;;;;;;;;;;;;;;;;;;;;
L-
M-BEUCBAOW       
N-NUC450.00
O-XXXX
Q-MOW BA LON450.00NUC450.00END ROE1.000000
I-001;01CHOULGA/DMITRY MR;;APMOW 7 095 721 21 10 - BTI RUSSIA - AGENT VL;;
T-O125-4424413601
FENONREF/-EUCBA3N;S3;P1
FM*M*7;S3;P1
FPINV;S3;P1
FVBA;S3;P1
TKOK24JAN/MOWRU25GH
ENDX
---------------------------------------------------------
<?xml version="1.0" encoding="Windows-1251"?>
<AIR2057A>
<TKT Number="4424413601" Srl="125" AirLine="BA" Traveller="CHOULGA/DMITRY MR" CalcCry="USD" CalcTariff="450" PayTariff="450" PayTaxSum="15.5" ROE="32.5" SvcType="AIR" CRSType="1A" BookRef="Q9H202" BookDate="23.01.03" FullFare="465.5" OrgnRate="1.000000" CmssPcnt="7">
<Segments>
<SGT SegNo="1" StopOver="O" DprtAirPort="SVO" DprtName="MOSCOW SVO" ArrvAirPort="LHR" ArrvName="LONDON LHR" IsVoid="False" Carrier="BA" Flight="0875" DprtTime="20:40:00" DprtDate="26.01.03" Class="B" ArrvTime="22:00:00" ArrvDate="26.01.03" Seat="OK" Meal="M" AirCraft="767" WeightCode="23K" DprTrmnl="2" Duration="0420"/>
</Segments>
<Fares>
<FARE Code="MOW BA LON" Amount="450" CryCode="NUC"/>
</Fares>
<Taxes>
<TAX Amount="9.5" CryCode="USD" Code="RI DP"/>
<TAX Amount="2" CryCode="USD" Code="UH SE"/>
<TAX Amount="4" CryCode="USD" Code="YQ VO"/>
</Taxes>
</TKT>
</AIR2057A>

--------------------------------------------------------------------------------------
Запись создана 13.03.2007 в 17:58:47
МОВ                                                   МОВМОВ
ИЖВИЖ   4550РУБ                                       45Х1Ш8/ГРС
МОВИЖ   4550РУБПС1202296004             13МАР07             20МОЮ ТКП
---            КОСТИНА/НАТАЛИЯ Г-ЖА                         ООО"МАВИНС"
                                                            МОСКВА РФ
                                                            00115360     0172


               МОСКВА         ДМД  ИЖ 3302 Э 19  0955 17 Э                  20К
                                             МАР       Г
               ИЖЕВСК              ИЖ 3301 Э 21  0800 18 Э                  20К
                                             МАР       А
               МОСКВА         ДМД

                                                      ОАО ИЖАВИА
    9100РУБ    НАЛ
9100РУБ
                                   И160РУБ
9260РУБ                                                23A  ›Е6179022724
9260.00РУБ СБОРЫ ПР=0.00РУБ БР=0.00РУБ
НЕ ЗАБУДЬТЕ ЗАВЕРШИТЬ ДИАЛОГ ИЛИ ПЕЧАТЬ КВИТАНЦИИ
---------------------------------------------------------------------------------------



<?xml version="1.0" encoding="Windows-1251"?>
<SI_EMASK>
<TKT Number="6179022724" Srl="Е" AirLine="ОАО ИЖАВИА" AirLineNo="23A" Traveller="КОСТИНА/НАТАЛИЯ Г-ЖА" IssueDate="13.03.07" BookRef="45Х1Ш8" AgentNo="0172" IdentityDoc="ПС1202296004" PayForm="НАЛ" SITerminal="20МОЮ" Gross="9260" TaxSum="160" Tariff="9100" PayCry="РУБ">
<Segments>
<SGT SgtNo="1" DprtCityName="МОСКВА" DprtAirPort="ДМД" AirLine="ИЖ" Flight="302" Class="Э" DprtDate="19" DprtTime="0955" Seat="17" Wcode="20К"/>
<SGT SgtNo="2" DprtDate="МА" Seat="Г"/>
</Segments>
<Taxes>
<TAX Amount="160" CryCode="RUB"/>
</Taxes>
<SrcAmounts>МОВ            
ИЖВИЖ   4550РУБ
МОВИЖ   4550РУБ
</SrcAmounts>
</TKT>
</SI_EMASK>

...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603190
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mcureenabдо разработки собственных скриптовых языков, которые декларативно-процедурными средствами отображают структуру входного файла в структуру файла на выходе.


Ну похоже, этой дорогой и идём товарищи.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34603216
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander BezninГоспода,
Не о стандартах разговор, так получилось, что тему зацепил,
Разговор о реализации загрузчика, даже при известных стандартах.


Александр, я просто говорю о том, что если Вы посмотрели бы что сделано до Вас в области этой, то может вопрос о загрузчике и не возник бы.
Больше не по теме не буду. :)
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34616276
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотрел как пишут другие, и стало стыдно
Постараюсь форматить сообщения в более приличном виде
Повторю свой подход к описанию загрузчика:

Цель – создать такой обработчик файлов, который
1. распознавал бы известные (имеющие описание) файлы
2. возвращал значения по имени [+индексу], а еще лучше по иерархическому имени (в стиле Excel ссылок или XPath)

Прежде всего, потребовалось как-то получать часть текста.
Задание координат лучше, чем в Excel придумать не удалось, посему при известных разделителях для строк и отдельных слов обработчик стал возвращать для:
R8W3B5L3 – подстроку длиной 4 начинающуюся с 5 позиции 3-го слова в 8-ой строке заданного текста.
R8W3: R40W6 – Область текста начиная со строки 8 по строку 40 и в каждой строке 4 слова начиная с 3 по 6
Lines(L2=”Н-”).Text – Область текста, сформированную из строк, в которых первые 2 символа содержали “H-”
Words(25) – соответственно 25 слово из исходного текста

На этом минимальном инструментарии
1. Задавались характерные признаки файлов
PropertyRuleSeqNoXFileDefR1L14 = "Запись создана"1XFileDefR3L_3 = "ГРС"2XFileDefR20B62L1 in ("E";"Е")3
2. определялись именованные области (в стиле Excel)
ItemItem TypeSourceTab.OrderDataTypeXMLTypeNumberTxtCellR20B63L101TextAKSrlTxtCellR20B62L12TextARAirLineTxtCellR16B55L203TextAOAirLineNoTxtCellR20B56L34TextAO…GrossCalcbkNumPart(R20B1L15)15MoneyAOTaxSumCalcGross - Tariff16MoneyAOTariffCalcbkNumPart(R18B1L15)17MoneyAOPayCryCalcbkCharPart(R20B1L15)18TextAOSegmentsTxtTableR10B16:R14B1619TextERCMTaxesTxtTableR19B1620TextEOCMSrcAmountsTxtCellR2B1:R16B1L1521TextEOS

Для упрощения обработки пришлось таки типизировать именованные области:
TxtSectionНерегулярная областьTxtTableОбласть регулярной структурыTxtCellЭлементарная (неделимая) областьCalcРассчитываемое значение

Задавая для элементов подсказку (XmlType) можно получить вполне обрабатываемый XML и XSD
XMLTypeDescriptionAKКлючевой атрибутARОбязательный атрибутAOНеобязательный атрибутERCMМножественный обязательный элементEOCMМножественный необязательный элементEOSНеобязательный простой элемент

В результате хотелось, что бы обработчик текстовых файлов стал реагировать на запросы типа:
Код: plaintext
1.
2.
3.
4.
?Number
?Segments.Count
?Segments( 1 ).Departure.Airport.Name
?Taxes.Count
Описание файла получилось достаточно простым, но понадобилось обрабатывать выражения.
Помогла идея MS Office: Eval(Expression)
Хуже, с точки зрения производительности, конечно, не бывает …, хотя для обработки описаний подходит
Пришлось разработать языковые средства, но думаю, что существуют готовые разборщики выражений.
Программная реализация состоялась в виде IEval – интерфейса обработки выражений

В случае с загрузчиком файлов в программах стали доступны следующие конструкции
Код: plaintext
1.
2.
3.
4.
5.
…
value = txtLoader.Eval(“Number”)
…
sgtCount =  txtLoader.Eval(“Segments.Count”)
…

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
For each filedef In FileDefs
   defName = filedef.Name
   For each rule In FileDefs.Rules    
       If  Not TxtLoader.Eval(rule.Text) Then 
          defName = “”
          Exit For
       End If
   Next rule 
   If defName <> “” Then Exit For
Next fileDef 

ОПИСАНИЕ ЗАГРУЗКИ
После создания обработчика текстовых файлов с интерфейсом IEval сделать описание загрузки уже было делом техники
Для объекта, в данном случае Service (Услуга) задавалось файлы каких структур он обрабатывает
PrpType RuleNameTransform 1AX_TKTTransform 1AX_HTLTransform 1AX_CAR

А для атрибутов объекта указывалось имя (или выражение) определяющее источник данных
Для TktNo (номера билета)
PrpTypeRuleNameSeqNoRuleTransform1AX_TKT1Number

Для Segments (Описание маршрута)
PrpTypeRuleNameSeqNoRuleTransform1AX_TKT1SegmentsTransform1AX_HTL1SegmentTransform1AX_CAR1Segment
Описание загрузки можно также рассматривать как XLT преобразование


ПРОБЛЕМЫ

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

1. Структура исходной информации НЕ СОВПАДАЕТ со структурой данных приложения: Т.е. в процессе загрузки необходимо обеспечить не только преобразование типов (12МАР => 12.03.07)
2. Обеспечить совместимую идентификацию
3. Обеспечить обработку недостающей (неоднозначной информации)
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34616316
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РЕШЕНИЯ:
Наличие описания файлов обмена оказалось достаточным для создания прямого “OLE”
При загрузке, для решения проблем уже понадобились дополнительные усилия (ПРАВИЛА)
Расширение описания загрузки заключалось в задании нескольких правил в зависимости от тех или иных условий.

Эта идея не нова, тот же MS Access предлагает такой объект как Macros, оставалось только расширить список обрабатываемых операндов.
(MS Access позволял работать только со своими объектами и функциями)

Например, компания HP периодически присылала в плоском файле (Excel) списки сотрудников и просила выполнять жёсткий контроль при выписке билетов учитывая подразделения, расчётные центры и ещё какие-то SBE
При этом договориться о предоставлении XML было просто невозможно…
На основании пришедшего файла надо было

1.Подработать в целях получения отчётности и дальнейшей работы с файлами систем бронирования список сотрудников
a. Разделить ФИО сотрудника на фамилию имя и отчество (Разделители любые (и это у HP))
b. перевести с русского на английский, если заданы на русском (транслитерация)
c. перевести с английского на русский, если заданы на английском (статистика)
d. По косвенным признакам определить пол
2.Выделить уникальные списки
a. компаний холдинга
b. расчётных центров
c. статей расхода
3.Обеспечить привязку полученных списков к уже существующей информации
4.Добавить новые элементы
5.Отправить в архив элементы, которых нет в пришедшем списке
6.Отразить изменения для существующих элементов

Аналогично я поступал и при загрузке услуг из систем бронирования.
Особый кайф обработка одной и той же информации, но на разных языках (Начиная от имени пассажира, до кодов аэропортов, классов перелётов, кодов валют и т.п.). Информация приходит на английском, а для клиента надо выводить на русском и наоборот.
Когда Сирена вдруг убрала номер Бланка (единственный доступный идентификатор), я просто пошёл к ним в офис встал на колени и просил слёзно не делать этого…
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34618431
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Beznin
Когда Сирена вдруг убрала номер Бланка (единственный доступный идентификатор), я просто пошёл к ним в офис встал на колени и просил слёзно не делать этого…

Хорошо платят, наверное. :)
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34618539
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сахават ЮсифовХорошо платят, наверное. :)
Да не очень, но я о другом...

Если с входными формами ещё можно смириться, то требование о предоставлении отчётности (поставщикам) в виде форматированных XLS файлов уже раздражают (Это к теме стандартов)
Ужели принимающая сторона, а это крупные авиакомпании, держат штат операторов для переколачивания данных в свои системы учёта продаж ???

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

При данном подходе удалось удовлетворить практически всех потребителей.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34629801
dvvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Beznin
Оказалось что общаться с заказчиками в терминах Объекты и их свойства существенно проще чем в терминах ERD, поскольку удаётся обойтись без мутного понятиия "Связи", когда сами проектировщики с этим термином не знают что делать, то-ли это связь а может уже сущность.


Господь с Вами, зачем термины OD или ERD в разговоре с заказчиком! Пожалейте заказчика, общайтесь с ним в терминах его предметной области! Например, первое с чего я обычно начинаю работу с заказчиком - составление глоссария терминов заказчика, затем все работающие по проекту сотрудники его выучивают и не имеют права при общении с заказчиком отклоняться от этой терминологии.
А вы хотите заказчика учить своему птичьему языку. Он деньги платит, да еще и должен вашу терминологию осваивать?
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34636178
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvvv составление глоссария терминов заказчика, затем все работающие по проекту сотрудники его выучивают и не имеют права при общении с заказчиком отклоняться от этой терминологии.
А вы хотите заказчика учить своему птичьему языку. Он деньги платит, да еще и должен вашу терминологию осваивать?

В том-то и дело, "Птичий язык" в качестве операндов имеет те самые любимые и понятные заказчику термины, коды и сокращения заказчики определяют сами, а мне лишь остаётся научить PC переводить с птичьего на транслируемый (интерпретируемый) язык, ну попутно в SQL или XPATH
А уж как хранится информация, хуже или лучше, вопрос опыта разработчика.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34644721
dvvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander BezninВ том-то и дело, "Птичий язык" в качестве операндов имеет те самые любимые и понятные заказчику термины, коды и сокращения заказчики определяют сами, а мне лишь остаётся научить PC переводить с птичьего на транслируемый (интерпретируемый) язык, ну попутно в SQL или XPATH
А, в такой постановке вопроса, конечно, я полностью согласен, это лучше, чем общаться в терминах сущностей и связей.
...
Рейтинг: 0 / 0
Бизнес процесс, экспертные системы, опыт
    #34658697
Alexander Beznin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РАСЧЁТ
Пожалуй, это основная задача, связанная с понятием “Knowledge base”
Мне приходилось столкнуться с 4-мя задачами в этой области
1. Расчёт стоимости услуг, в частности расчет стоимости билетов для клиента
2. Расчёт заработной платы
3. Расчёт амортизационных отчислений
4. Расчет стоимости импортируемого товара

И если в последних 3-х случаях я шёл “стандартным” путём (Один запрограммированный алгоритм и куча коэффициентов в описании), то в первом (последнем по времени) пришлось применить систему ПРАВИЛ для получения искомого результата.

Итак, Сколько стоит билет для клиента?
ПриближениеКомментарий0 Столько - Сколько на нём написано. Фактически “увидев на клетке с тигром надпись буйвол = не верь глазам своим” 1На стоимость влияет форма оплаты (Invoice/Cash/CC). Могут возникать дополнительные сборы за счёт банковских % или налога с продаж (пока отменили)2Место оплаты услуг (Агентство / Касса поставщика; хотя агентство выполняло бронирование услуг)3Валюта продажи (+ конвертация)4Валюта покупки (+ конвертация)5Форма покупки (Invoice/Cash/CC). Могут возникать дополнительные сборы за счёт банковских % 6Контракт с поставщиком (использование спец.тарифов)7Контракт с клиентом (размер скидки и вознаграждения агентства) …

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

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

Новая вводная – Агентство не имеет прямого договора с авиаперевозчиком, а получает бланки у другого агентства (VIP, MAVINS)
Одна серия бланков (195) от разных поставщиков и в каждом случае свои условия…

Ниже пример решения на основе Правил

Code Name AttributeValueCodeValuencCmssSppCommission Included In Tariff (Rub)Formula0SupplierCode <> OwnCompany!Code and instr(type;"visa") > 0 and buyType notin ("Nnet";"NGross")Formula0SupplierCode <> OwnCompany!Code and instr(type;"visa") > 0 and buyType notin ("Nnet";"NGross")FormulancCmssSpp1ncCmssSpp1Commission of External Supplier Included In Tariff (Rub)FormulancTariff * CmssPercentOrder!Type = "Group"FormulancCmssSppStdncCmssSppStdCommission Included In Tariff (Rub) for Regular OrdersFormulancCmssSppUSDFormulancCmssSppRUBCalcCurrency = "RUB"ncCmssSppRUBCommission Included In Tarrif (Rub). Original Tariff is RubFormulaRulesValue(SpplComp!ContrTerms("SvcNcCmssSpp"))SpplComp!ContrTerms("SvcNcCmssSpp")!Countof(*) > 0FormulaCRSTariff * CmssPersent

А здесь часть контракта с LH (Lufthansa) по поводу расчёта комиссии
AttributeValueConditionCmssPcnt1CmssPercentCmssPcnt10TicketDate > 01.09.04 And Cities(code = [bkWordGet(Routing;1;"/";" ";"\";"-")])!Country = "DE"SvcNcCmssSppCRSTariff * CmssPcnt1 * NSRTicketDate > 01.09.04 And CalcCurrency <> "RUB"SvcNcCmssSppCRSTariff * CmssPcnt1TicketDate > 01.09.04 And CalcCurrency = "RUB"

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

Отсутствие условий (здесь колонка Code Value) - Это правила умолчания
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Бизнес процесс, экспертные системы, опыт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]