СПОСОБ ПОЛУЧЕНИЯ ИНФОРМАЦИИ
INFORMATION ACQUISITION METHOD

Изобретение относится к способам получения информации с использованием компьютерного программного обеспечения
Наиболее близким по выполнению является способ, включающий построение моделирующих (проектных) диаграмм на языке Executable UML [с использованием таких понятий в предметной области как класс, компонент, обобщение (generalization), объединение (aggregation), поведение, варианты использования, машины состояний и в то же время предусматривающий выявление классов, полей (атрибутов) классов, определение наследования и методов], с последующим переводом диаграмм в текст программы и машиночитаемый код (http://ru.wikipedia.org/wiki/UML).
В способе в процессе построения диаграмм классов нет четкого алгоритма нормализации, что повышает риск ошибочных проектных решений, для расчета значений производных атрибутов необходимо описывать методы получения их значений (то есть разрабатывать и описывать алгоритмы подпрограмм), а для описания предметной области отсутствует понятие «категория», позволяющее разбить классы на подмножества, соответствующие заданным условиям, с действующими для каждого из них своими правилами и возможностью перекрытия описаний атрибутов, что вызывает необходимость проектирования императивных конструкций и тем самым усложняет процесс проектирования, проектирование требует построение большого количества разнотипных диаграмм с большим количеством базовых элементов, что усложняет понимание проектных решений заказчиком.
Техническим результатом способа является упрощение процесса проектирования за счет отсутствия необходимости описания императивных конструкций (определением производных атрибутов посредством формул и введением понятия «категория» для описания предметной области) и упрощения понимания диаграмм (использованием для каждого проекта только одной диаграммы и уменьшением количества базовых элементов), а также снижение риска ошибок проектирования (использованием четких правил нормализации).
Технический результат достигается тем, что способ получения информации, характеризуется тем, что построение проектной диаграммы на основании описания предметной области осуществляют на языке NVL (Белых А.В., Ковалев СМ., Ольховик О.В. Визуально-декларативный язык для проектирования программного обеспечения информационных систем. Вестник ДГТУ. - Ростов н/Д, 2009. - №4.), в синтаксисе которого из описания класса исключено понятие «метод», запрещены императивные конструкции, добавлено понятие «ограничение целостности» (которые описывают бизнес-ограничения на классе или его категории) и семантика которого описана N-моделью данных (Ольховик О.В., Белых А.В. N-Модель данных. Известия ЮФУ. Технические науки. Тематический выпуск "Интеллектуальные САПР". - Таганрог, 2009. - №6.), с использованием правил нормализации (Белых А.В., Ковалев С.М., Ольховик О.В. Нормализация объектно-ориентированных баз данных на основе N-модели данных. Вестник ВолгГТУ. Серия «Актуальные проблемы управления, вычислительной техники и информатики в технических системах». - Волгоград, 2009. Вып. 7.) с помощью программы, принимающей участие в построении диаграммы и автоматически переводящей диаграмму в текст программы на языке ISQL с последующим переводом последней в машиночитаемый код с помощью программы-транслятора, сохранении в памяти компьютера исходных данных предметной области, манипулировании ими (изменение, удаление, добавление) и выполнении информационных запросов с последующей выдачей сигналов, соответствующих получаемой информации.
В качестве программы, принимающей участие в построении диаграмм и автоматически переводящей диаграмму в текст программы, может быть использована, например, программа «Information System Development Studio» [номер гос. регистрации №2012660207 от 14.11.2012 г.].
Предметной областью может быть, например, «Товарная накладная» с исходными данными о товарах (код, наименование, цена, единица измерения, группа НДС), контрагентах (ИНН, наименование, правовая форма, адрес) и накладной (номер, дата, спецификация), а получаемой информацией - стоимости каждой позиции в спецификации накладной (с НДС и без НДС) и итоговой суммы по каждой накладной.
Предметной областью может быть, например, «Организация выставок» с исходными данными размер, расположение и тип арендуемого стенда, а получаемой информацией - доходность выставок и количество заявок, с которыми работает каждый менеджер.
Предметной областью может быть, например, «Учет объектов интеллектуальной собственности» с исходными данными об объектах интеллектуальной собственности (ОИС) такими, как их название, статус, сведения о пошлинах (вид, дата и сумма оплаты), сведения об авторах (имя, телефон, электронная почта), а получаемой информацией - количество ОИС, в том числе, каждого автора, суммарные затраты на каждый ОИС, и дата последней оплаты пошлины по каждому ОИС.
Предметной областью может быть, например, «Оперативное планирование производства» с исходными данными о сборочных единицах (код, наименование, заказ, количество в верхнем узле), о производственных операциях (код, наименование, порядковый номер, стоимость и трудоемкость), о материалах (код, наименование, единица измерения, цена, расход на сборочную единицу, коэффициент брака), а получаемой информацией - себестоимость каждой сборочной единицы, план ее производства и ее структура.
Ниже приведены примеры осуществления изобретения.
Пример 1. Способ проектирования программного обеспечения для предметной области «Товарная накладная»).
Описание предметной области «Товарная накладная» (упрощенный фрагмент - рис.1)). Товарная накладная - это основной документ, по которому организация осуществляет отпуск товаров. Исходными данными являются: сведения о товарах (код, наименование, цена, единица измерения, группа НДС), сведения о контрагентах (ИНН, наименование, правовая форма, адрес) и сведения о накладной (номер, дата, спецификация). В качестве ограничений целостности используются: уникальность номера и даты для каждой накладной, уникальность товара в каждой накладной, и условие, по которому количество товара в накладной должно быть больше нуля. Производятся вычисления: стоимости каждой позиции в спецификации накладной (с НДС и без НДС) и итоговой суммы по каждой накладной.
Пример 2. Способ проектирования программного обеспечения для предметной области «Организация выставок».
Описание предметной области «Организация выставок» (упрощенный фрагмент - рис.2). Компания на арендуемой территории проводит выставки, на которые в качестве экспонентов приглашаются юридические лица. Выставка характеризуется названием и сроками проведения. Выставка с одним названием может проводиться с периодичностью раз или два в год. За проведение выставки отвечает менеджер - сотрудник компании.
Экспонент подает заявку-договор на участие в выставке, где, помимо собственных реквизитов, указывает размер, расположение и тип арендуемого стенда (только одного). В зависимости от этих параметров рассчитывается сумма договора. Кроме того, в сумму договора входят обязательный взнос и аккредитация представителей экспонента. Для иностранных участников наценка составляет 25%. Для участников, оформивших заявку за девяносто дней до начала выставки, скидка - 10%. Помимо суммы договора, необходимо рассчитывать доходность выставок и количество заявок, с которыми работает каждый менеджер.
Пример 3. Способ проектирования программного обеспечения для предметной области «Учет объектов интеллектуальной собственности».
Описание предметной области «Учет объектов интеллектуальной собственности» (упрощенный фрагмент - рис.3). Исходными данными являются: сведения об объектах интеллектуальной собственности (ОИС) такие, как название, статус и сведения о заявке; сведения о пошлинах (вид, дата и сумма оплаты); сведения об авторах (имя, телефон, электронная почта). В ОИС выделены категории «изобретение» и «программа», для которых определены дополнительные исходные данные. Для изобретений это входящий номер заявки, описание и чертежи, для программ - дата создания, реферат и листинг. Вычисляются, в том числе: количество ОИС каждого автора, суммарные затраты на каждый ОИС, и дата последней оплаты пошлины по каждому ОИС.
Пример 4. Способ проектирования программного обеспечения для предметной области «Оперативное планирование производства».
Описание предметной области «Оперативное планирование производства» (упрощенный фрагмент - рис.4). Оперативное планирование производства является частью оперативного управления производством и решает в данном примере задачи подетального планирования и определения себестоимости изделий (без учета накладных расходов). Исходные данные:
сведения о сборочных единицах (код, наименование, заказ, количество в верхнем узле), сведения о производственных операциях (код, наименование, порядковый номер, стоимость и трудоемкость), сведения о материалах (код, наименование, единица измерения, цена, расход на сборочную единицу, коэффициент брака). Сборочные единицы подразделяются на детали и узлы. Деталь не имеет частей, а узел - это сборочная единица, которая не является деталью. Изделие является сборочной единицей, структурно не входящей ни в один узел. Заданы ограничения целостности: ацикличность (сборочная единица не может иметь в качестве вышестоящего узла саму себя или входить в собственную структуру), спецкод (код узла должен заканчиваться на три нуля).
Вычисляются: себестоимость каждой сборочной единицы, план ее производства и ее структура. Все эти данные вычисляются рекурсивно. Например, для всех сборочных единиц, не являющихся изделиями, потребность определяется как произведение ее количества в вышестоящем узле на потребность этого узла (запуск рекурсии). Для изделий потребность равна заказу (остановка рекурсии).
Для достижения результата в примерах используют программу ISDS. Создают в ней новый проект и рисуют проектную диаграмму. Далее программа ISDS автоматически переводит созданную проектную диаграмму в скрипт на языке ISQL и передает этот скрипт системе управления базами данных (СУБД) Interbase или Firebird. СУБД, в свою очередь, выполняет перевод полученного скрипта в машиночитаемый код, создавая при этом базу данных (структуры данных, триггеры, хранимые процедуры). После этого в созданной базе данных манипулируют данными и выполняют в ней информационные запросы на языке NVL посредством программного компонента OTNI, который транслирует запросы с языка NVL на язык ISQL. Манипуляцию данными (изменение, удаление, добавление) и выполнение информационных запросов осуществляют через пользовательский интерфейс, который реализуется как отдельная программа.
Таким образом, предлагаемый способ позволяет без описания императивных конструкций проектировать программное обеспечение и получать заданную информацию с использованием компьютерного программного обеспечения.