@iPrime
Разработчик

Есть ли языки для описания технического задания по формирования сложных отчетов в табличной форме?

По базе данных формируются отчеты в большом количестве. Отчеты от маленьких до больших. "Технические задания" на правила для расчета значений ячеек может занимать по 50 страниц и более. Задания пишутся, чуть ли не формально (для строк.., графов ... реквизиты таки-то, условия такие-то, исключения такие-то,...). Написать автоматический парсер невозможно из-за формального подхода в описании условий. Я так думаю, чтобы не изобретать велосипед, что уже существуют способы или языки для написания таких заданий, по которым потом строятся в автоматическом режиме запросы. Подскажите направление, куда смотреть? Т.к. когда приходят "задания" в таком виде, уходит уйма времени на его изучение, трудно понять, что изменилось, что добавили.
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 4
dimonchik2013
@dimonchik2013
non progredi est regredi
@Doc44
Изначально SQL придуман для менеджеров.
Не для программистов.

Есть также графические построители запросов SQL.
Вполне пригодны для использования самыми что ни на есть рядовыми пользователями.

https://www.quora.com/What-are-some-good-visual-SQ...
Их на самом деле очень и очень много...

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

Полагаю, что им проще свалить это все же на программистов.
Ответ написан
@kn0ckn0ck
Продюсер
Помимо того, что потребуется найти и договориться об использовании какого-то языка описания, потребуется еще и обучить постановщиков использованию этого языка. Вот эта вторая задача может быть куда более неподъемная чем первая.

Что касается языков для описания/моделирования отчетных форм, то общеизвестных стандартов нет. Все это всегда привязано к конкретному BI-инструменту и встроено в его графическую IDE, при помощи которой эти отчеты создаются: MS SSRS, Crystal Reports, Cogons BI, Oracle BI и т.п.

В простых случаях можно было бы обойтись обычным UML с добавлением OCL, но разве вам этого будет достаточно?

Если попробовать решать другую проблему - увидеть изменения в ТЗ на отчетную форму, то вам не язык нужен, а инструмент для ведения требований (или ALM систему).
Ответ написан
Комментировать
oshliaer
@oshliaer
Google Products Expert
Странное задание. Кажется немного неправдоподобным.

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

# Контроль версий

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

# Структуры данных

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

# Алгоритмы

Чего проще, указать на схеме "срез последних"? Никогда не было остатков на "конец периода"? Уникальные. Поиск дубликатов. Поиск первого вхождения. Сортировка.

# Классификация

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

# Увеличения уровня абстракции

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

Получается, что лучший инструмент, опять карандаш.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы