ТЕХНИЧЕСКИЕ НАУКИ
Методика анализа программно-аппаратных средств незаконной организации и проведения азартных игр в Российской Федерации Астахова Л. В.1, Волков А. В.2, Григорьев В. В.3
'АстаховаЛюдмила Викторовна /Astakhova Ludmila Viktorovna — доктор педагогических наук, профессор,
заместитель декана, факультет компьютерных технологий, управления и радиоэлектроники, Южно-Уральский государственный университет;
2ВолковАндрей Владимирович / Volkov Andrey Vladimirovich - специалист компьютерно-технических экспертиз,
ООО «БИОМАНИГРУПП»;
3ГригорьевВладимир Викторович / Grigoriev Vladimir Viktorovich - заместитель начальника отдела, отдел по обеспечению экономической безопасности и противодействия коррупции управления МВД России по г. Челябинску, г. Челябинск
Аннотация: в работе рассмотрены проблемы правого регулирования процессов организации и проведения азартных игр в Российской Федерации. На примере отдельных программно-аппаратных средств, проведен анализ распространенных методик теневых и незаконных подходов к организации и проведению азартных игр, изучены основные технические и программные способы незаконной организации азартных игр. Обоснована методика анализа программно-аппаратных средств незаконной игорной деятельности, рассмотрены перспективы повышения эффективности государственного контроля и профилактики названной деятельности.
Ключевые слова: азартные игры, незаконная игорная деятельность, уголовная ответственность, игровое оборудование, методика, расследование, осведомленность.
За последние десять лет игорный бизнес превратился в качественно новый и весьма прибыльный вид предпринимательской деятельности в Российской Федерации. Широко распространились не только различные негосударственные лотереи, но и появилось новое направление деятельности -игровые автоматы. На конец 2014 г. в стране функционировало более 60 тысяч игровых залов, в которых было размещено около 800 тысяч игровых автоматов [5]. Все это происходит на фоне роста интереса к данному виду развлечения.
В настоящее время правовое регулирование общественных отношений в сфере игорного бизнеса осуществляется на основе большого количества нормативных актов административного, финансового и налогового права, принятых как на федеральном уровне, так и на уровне субъектов Федерации. Однако принятых правовых мер по его регулированию недостаточно для защиты общества от вредных проявлений данной деятельности.
Игорный бизнес распространился настолько, что стал представлять реальную угрозу для общественной нравственности и здоровья человека. Во-первых, человек стремится получить деньги, не прилагая никаких усилий, у него теряется интерес к работе, поскольку он надеется получить деньги с помощью выигрыша. Во-вторых, азартные игры опасны для здоровья человека, так как неминуемо приводят к зависимости от игры - игромании, являющейся психическим расстройством. Данное расстройство психиатры ставят в один ряд с наркотической и алкогольной зависимостью [5].
Неслучайно анализ законодательства стран СНГ в данной сфере показал, что превалирующей позицией в нем «является отнесение преступлений, связанных с азартными играми, к посягательствам на общественный порядок и общественную нравственность. Такой подход реализован даже в тех странах, где организация азартных игр полностью не запрещена и является при соблюдении определенных требований одним из видов разрешенной экономической деятельности» [4].
Игорный бизнес является также благоприятной почвой для распространения преступлений. Этому способствует простота извлечения предпринимателем прибыли, что, в свою очередь, влечет концентрацию большого количества наличных денежных средств в игорных заведениях.
В 2007-2008 гг. многие объекты игорного бизнеса перешли в нелегальный статус. Наиболее примечательны примеры, приведенные МВД России. Так, в Кемеровской области за указанный период было изъято 747 незаконно установленных игровых автоматов, в Красноярском крае - 730, в Тюменской области - 62. В 2008 г. представители незаконного игорного бизнеса не ослабили своих позиций [5].
На смену клубам игровых автоматов пришли компьютерные развлекательные центры. Владельцы заведений не только изменили названия, но оснастили клубы новым техническим оборудованием, внешне похожим на обычные компьютеры, а, по сути, являющимися игровыми автоматами.
29 декабря 2006 г. был принят Федеральный закон «О государственном регулировании деятельности по организации и проведению азартных игр и о внесении изменений в некоторые законодательные акты Российской Федерации» № 244-ФЗ, который ввел жесткие требования к организации и проведению азартных игр, а также к организаторам и посетителям игорных заведений [9].Федеральным законом от 20.07.2011 № 250- ФЗ «О внесении изменений в отдельные законодательные акты Российской Федерации», в УК РФ была введена ст. 171.2, предусматривающая ответственность «за незаконную организацию и (или) проведение азартных игр с использованием игрового оборудования вне игорной зоны, либо с использованием информационно -телекоммуникационных сетей, в том числе сети «Интернет», а также средств связи, в том числе подвижной связи, либо без полученного в установленном порядке разрешения на осуществление деятельности по организации и проведению азартных игр в игорной зоне» [8, 7]. Федеральным законом от 22.12.2014 № 430-Ф3 «О внесении изменений в статью 171.2 Уголовного кодекса Российской Федерации и статьи 14.1.1 и 28.3 Кодекса Российской Федерации об административных правонарушениях» в ст. 171.2 УК РФ были внесены изменения: теперь уголовная ответственность наступает вне зависимости от размера извлеченного дохода, т.е. за факт осуществления указанной деятельности, кроме того, был увеличен размер штрафа, предусмотренный санкцией данной статьи [3].
Однако, несмотря на изменения в законодательстве, постоянно появляются и развиваются принципиально новые технические, программные и аппаратные методы и средства незаконной организации и проведения азартных игр, реализуемые в форме попыток выдать игорную деятельность за иную, не подлежащую регулированию обозначенными федеральными законами. В последнее время широкое распространение получили так называемые биржевые терминалы, представляющие собой игровые автоматы либо персональные компьютеры с установленным на них игровым программным обеспечением, юридически сопровождаемые следующими утверждениями (на примере представителей компаний владеющих «биржевыми» терминалами «НоН1ха11е»):
«В соответствии с положениями статьи 2 Федерального закона от 29.12.2006 г. № 244-ФЗ «О государственном регулировании деятельности по организации и проведению азартных игр и о внесении изменений в некоторые законодательные акты Российской Федерации» (далее - Закон об азартных играх), правовое регулирование деятельности по организации и проведению азартных игр осуществляется, в том числе, в соответствии с Гражданским кодексом Российской Федерации (далее - ГК РФ).
Организация игр и пари регулируется Главой 58 ГК РФ «Проведение игр и пари». В пункте 2 статьи 1062 ГК РФ подчеркивается, что правила указанной главы не распространяются на требования, связанные с участием в сделках, предусматривающих обязанность стороны или сторон сделки уплачивать денежные суммы в зависимости от изменения цен на товары, ценные бумаги, курса соответствующей валюты, величины процентных ставок, уровня инфляции или от значений, рассчитываемых на основании совокупности указанных показателей, либо от наступления иного обстоятельства, которое предусмотрено законом и относительно которого неизвестно, наступит оно или не наступит. При этом требования, связанные с участием граждан в указанных в настоящем пункте сделках, подлежат судебной защите только при условии их заключения на бирже.
Таким образом, из вышеизложенного следует, что:
1. Деятельность по организации и проведению сделок в отношении любых внебиржевых производных финансовых инструментов, как рынка ценных бумаг, так и рынка Еогех (например, опционов, форвардов - далее Деривативов) Законом об азартных играх не регулируется.
2. Сделки в отношении Деривативов являются биржевыми играми.
3. Сделки в отношении Деривативов на рынке Еогех до 1 октября 2015 года не регулируются нормативными правовыми актами финансовых регуляторов Российской Федерации (ранее -Федеральная служба по финансовым рынкам России (далее - ФСФР), в настоящее время - ЦБ РФ).
Это подтверждается Письмом ФСФР от 16.07.2009 г. № 09-ВМ-02/16341. Кроме того, деятельность по предоставлению услуг дилинговыми компаниями по доступу на международный рынок Еогех не относится к лицензируемым видам деятельности (письма Минэкономразвития РФ от 18.04.2011 г. № Д06-2098, от 24.01.2011 г. № Д06-414).
МБ. 29 декабря 2014 года был принят Федеральный Закон № 460-ФЗ, в соответствии с которым, в частности, устанавливается необходимость лицензирования деятельности форекс-дилеров, а также их членства в саморегулируемых организациях (СРО). Указанный Закон в этой части вступает в силу 1 октября 2015 года.
4. При соответствующем оформлении договорных взаимоотношений между гражданином и Компанией, предоставляющей услуги на рынке Еогех, указанные взаимоотношения не регулируются Законом РФ от 07.02.1992 г. № 2300-1 «О защите прав потребителей».
Из текста видно, что незаконную организацию и проведение азартных игр маскируют под организацию биржевых торгов, торговлю бинарными опционами и т.д. Несмотря на очевидность этих фактов, следует
26
констатировать низкий уровень раскрываемости преступлений, связанных с незаконной игорной деятельностью. Это обусловлено, в частности, недостаточным уровнем профессионализма сотрудников правоохранительных органов [2], которым необходимы специальные знания. Эти знания необходимы для классификации расследуемой деятельности как игорной, для классификации изымаемой техники как игровой, для определения наличия в составе изъятого оборудования специфических для игровой техники функциональных модулей, проверки соответствия характеристик модулей требованиям закона [6, с. 96]. Однако, как справедливо отмечают эксперты, «методик классификационного исследования игрового и лотерейного оборудования еще не существует» [6, с. 96]. Необходимость разработки и апробации принципиально новой методики классификации деятельности подозреваемого в совершении преступления по статье 171.2 УК РФ как деятельности по незаконной организации и проведению азартных игр обусловила актуальность настоящей статьи. В условиях отсутствия обширной практики и малого количества судебных решений, вынесенных по данной статье, представляется важным создание такой методики классификации, которая позволила бы с необходимой степенью достоверности проводить анализ программно-аппаратных средств и организационных аспектов незаконной деятельности, в целях объективного правоприменения.
В ходе данного исследования по специально разработанной авторской методике была проанализирована работа программно-аппаратного комплекса «Holitrade», распространенного в сфере незаконного проведения азартных игр в России, и сделаны выводы о том, что имеет место именно маскировка под указанные виды деятельности и подмена понятий. При этом имеет место нарушение действующего законодательства, путем введения в заблуждение граждан производится извлечение прибыли от незаконной организации и проведения азартных игр. Клиенты и пользователи таких программно-аппаратных комплексов также нарушают закон.
В ходе анализа было проведено исследование системного блока персонального компьютера с установленным на нем программным обеспечением «Holitrade». Для исследования была использована разработанная методика:
• скачивание с сайта i.holitrade.com программного обеспечения «loto», «operator»;
• установка указанного программного обеспечения на системный блок персонального компьютера;
• Проведение анализа возможностей программного обеспечения;
• анализ сетевого взаимодействия программного обеспечения с внешними ресурсами;
• анализ особенностей алгоритмов, заложенных в основу программного обеспечения.
В ходе исследования установлено программное обеспечение «loto», версия 1.117.0.706 Данное программное обеспечение представляет собой программу-клиент для обеспечения доступа к функциям встроенных программ и связи с серверами системы «Holitrade».
При установке указанной программы создается каталог с именем «games_Ml» (имя может быть изменено) со следующей структурой:
«cgold.dat hannibalofcarthago.dat
bananasgobahamas.dat happybugs.dat
beetlemania.dat hottarget.dat
beetlemaniadx.dat hotvolee.dat
bonuspoker.dat indianspirit.dat
bookofra.dat island.dat
bookofradx.dat island2.dat
budmo.dat jackhammer.dat
champagneparty.dat jewels4all.dat
chukcha.dat j okeranddeuceswild. dat
coctail.dat jump.dat
coldspell.dat justjewels.dat
columbus.dat justjewelsdx.dat
columbusdx.dat keks.dat
d3dx9_27.dll libmysqld.dll
deuceswild.dat loto.exe
dolphinspearl.dat loto.ini
dolphinspearldx.dat lucky.dat
DXErr9ab.dll luckyladyscharm.dat
egyptianexperience.dat luckyladyscharmdx.dat
fruitcase.dat magicmoney.dat
garage.dat marcopolo.dat
gnome.dat marcopolodx.dat
gnomedeluxe.dat money.dat
goldcraze.dat moneygame.dat
gonzoquest.dat monkey.dat
gopstop.dat oilcompany.dat
oliversbar.dat
pandacash.dat
pharaohsgoldii.dat
pharaohsgoldiidx.dat
pirate.dat
pirate2.dat
plentytwenty.dat
probki.dat
rezident.dat
roulette3d.dat
shared.dat
sharky.dat
silverfox.dat
sizzlinghot.dat
sizzlinghotdx.dat
skalolaz.dat
slotopol.dat
slotopoldeluxe.dat
swamp.dat
sweetlife.dat
themingdynasty.dat
unicornmagic.dat
venetiancarnival. dat
vovka.dat
zoo.dat
data\home.err
data\ibdata1
data\ib_logfile0
data\ib_logfile1
data\kiosk\billorders.frm
data\kiosk\billstat.frm
data\kiosk\db.opt
data\kiosk\deffered_commands.frm
data\kiosk\dispstat.frm
data\kiosk\incassation.frm
data\kiosk\option.frm
data\kiosk\payorders.frm
data\kiosk\pinpayoutorders.frm
logs\
share\engli sh\errmsg .sys»
sweetlife2.dat
Для функционирования указанная программа «loto» использует файл конфигурации, в котором хранятся основные настройки программы. Указанный файл расположен в одном каталоге с программой, имеет название «loto.ini» и содержит в себе следующие сведения:
«[Relay] RelayEnabled=1
RelayHost=http://relay. dyndns. org/relay/ RelayClient=holitrade [Localization] ; языкинтерфейса (ru, en)
; пустая строка означает язык по умолчанию в операционной системе Lang=
; валюта в произвольной форме
; пустая строка означает валюту по умолчанию в операционной системе
Currency=
[Options]
; номер сот-порта к которому подключен купюроприемник
; тип купюроприемника (cashcode, nv200, md100) BillValidator=cashcode
; код валюты разрешенной к приему (по умолчанию^и - российские рубли для cashcode, RUB - для NV200) BillCountryCode =RUS
; тип диспенсера банкнот (Lcdm1000, Lcdm2000, Ecdm200, SmartPayout) Dispenser=Lcdm1000
; номер com-порта к которому подключен диспенсер, для SmartPayout указать тот же COM-порт что и купюроприемник DispCom=0
; которкий ответ диспенсера (если не удается настроить на самом диспенсере) DispShortAnswer=0 ; тип терминала Terminal=main
; команда, выполняемая при запуске игры (web | bill | menu)
; web (по умолчанию) - отобразить веб страницу, указанную в параметре OpenWebPageOnGame ; bill - включить купюроприемник, чтобы принимать деньги непосредсвенно во время игры ; menu - отображать главное меню CommandOnGame=bill
; веб-страница, открываемая при старте игры при CommandOnGame=web (если пустое значение, то будет ; открываться главное меню)
; эта же страница будет открываться по таймауту, если отключено завершение сеанса по таймауту ; работает только после авторизации OpenWebPageOnGame=http: \\www.yandex. ru
; MAC-адрес подставляемый в качестве имени киоска вместо оригинального MAC-адреса сетевой карты ForceMac =wy005
; завершать сеанс, по истечении этого времени, если пользователь не совершает никаких действий ; при включенном параметре Autologin делается выход в основное меню ; 0-не завершать сеанс (время в секундах)
BillCom=0
Log0utlnterval=30
; ограничение выдачи денег терминалом за определенный период времени:
; максимальная сумма в рублях
PayLimit =10000
; интервал времени в минутах
PayLimitInterval =60
; разрешить регистрировать пин коды
AllowUserPinCodes =1
PinCodeLoginAfterCreate =1
; время в течении которого разрешена печать чека при выплате через пин код, мин PinPayOutPrintTime =5
;время в секундах через которое будет запущена игра при простое киоска (-1 игра не запускается) RestartGameTime =30
; блокировка диспенсера при любой ошибке по выдаче купюр, блокировка снимается перезапуском киоска
; при включении блоировки отправляется СМС с уведомлением
LockDispenser0nError=0
; скрытиепинкода
HidePinCode=0
; если не удается подключиться к серверу, перезагружаем компьютер. ; интервал времени в минутах (0 - выключает данную функцию) RebootTimeInterval=15
; маска для ввода номера телефона при СМС выплатах, для Украины это: 38 (__)_
phonemask=7 (__)___
; время выхода из игры в режиме простоя в секундах. Минимально 30 сек., максимально 600 сек. (10 минут) GameExitTime0ut=30
; включает или отключает защиту от размена купюр (1 - включена) ExchangeProtection=1
; задержка при старте программы в секундах, иногда необходима для инициализации купюрников, 0 -отключено
StartDelay=0 [Bill]
; включение/отключение обработки команды Cassete Out (откидывание стекера) ; при выключении опции, вход в админ-меню только с конпки или через сайт EnableHandleCassete0ut=1 [Dispenser]
; номиналы купюр диспенсера, которые можно будет выбрать при инкассации ; значения задаются через запятую, максимальное количество номиналов - 9 ; значение по умолчанию -10, 50, 100, 500, 1000, 5000 Nominals=10, 50, 100, 500, 1000, 5000
; защита баланса при застревании купюры на выходе диспенсера (застрявшая купюра будет учтена как выданная)
TakeExitJam=1 [View]
; изображение для заголовка HeaderImage= ; фоновое изображение BodyImage=
; отображение экранной клавиатуры
ShowKeyboard=1
; ширина экрана
Width=1280
; высота экрана
Height=1024
[Printer]
; разрешить/запретить печать чеков Enabled=0
; разрешить/запретить печать чеков при приеме купюр
Print0nBill=0
; шрифтначеке
FontName=Times New Roman
; размер шрифта на чеке
FontSize=10
; смещение
Left0ffset=50
Top0ffset=150
[PrintHeader]
Нашафирма [PrintFooter]
СЛУЖБАПОДДЕРЖКИ: (ххх) ххх-хх-хх
Наша фирма
Наш адрес
[Reports]
; отчеты
; разрешить отчет о состоянии терминала 0\1 (по умолчанию разрешено) ReportStatusEnable=1
; частота отправки отчета в секундах (по умолчанию 300 с = 5 мин), параметр выдерживается неточно ReportStatusInterval=300
; разрешить отчет о настройках, действующих в терминале 0\1 (по умолчанию разрешено) ReportOptionsEnable=1
; частота отправки отчета в секундах (по умолчанию 600 с = 10 мин), параметр выдерживается неточно
ReportOptionsInterval=600
[Alerts]
; уведомления по sms о необходимости инкассации (уведомления регулярно отсылаются на сервер, а уже он осуществляет отправку sms, если они разрешены)
; частота проверки необходимости уведомления (по умолчанию 600 с = 10 мин), параметр выдерживается неточно
AlertInterval=600
; номер телефона, на который будут отправлятся уведомления
; номер можно здесь не указывать, а указать в веб-админке
; если номер задать здесь и в веб-админке, приоритет отдается веб-админке
; формат номера 7xxxxxxxxxx
AlertPhone=
; уведомлять о состоянии купюроприемника 0\1 (по умолчанию разрешено, если купюроприемник отсутствует, то уведомления не отсылаются) BillAlertEnable=1
; минимальное количество купюр, оставшееся до достижения заданного настройками лимита, при котором отправляется уведомление BillAlertCount=0
; минимальная сумма, оставшая до достижения заданного в настройках лимита, при котором отправляется уведомление
BillAlertSum=0
; уведомлять о состоянии диспенсера 0\1 (по умолчанию разрешено, если диспенсер отсутствует, то уведомления не отсылаются) DispAlertEnable=1
; максимальное количество купюр (суммарно во всех кассетах), оставшееся в диспенсере, при котором, отправляется уведомление DispAlertCount=0
; максимальная сумма (суммарно во всех кассетах), оставшаяся в диспенсере, при которой отправляется уведомление
DispAlertSum=0 [Office]
; отображать кнопку «Выбрать услугу» 0\1 (по умолчанию 1) MenuButton Visi ble=1
; отображать кнопку «Пополнить счет» 0\1 (по умолчанию 1) BillButtonVisible=1
; отображать кнопку «Снять деньги» 0\1 (поумолчанию 1) PayoutButtonVisible=1
; отображать кнопку «Вернуться в игру» 0\1 (по умолчанию 1) StartGameButtonVisible=1
; отображать кнопку «Получить деньги через центр выплат» 0\1 (по умолчанию 0) PinPayButtonVisible=1
; отображать кнопку «Получить деньги через центр выплат» при ошибках диспенсера 0\1 (по умолчанию 0) PinPayButtonVisibleFromDisp=1
; номер SMS центра можно здесь не указывать, а указать в веб-админке ; если номер задать здесь и в веб-админке, приоритет отдается веб-админке ; формат номера 7xxxxxxxxxx SMSCenterPhone=
; номер телефона поддержки, который будет выводить в окне киоска( в верху окна) SupportPhone=»
Факт использования программой «loto» указанного файла «loto.ini» подтверждается следующим: - в ходе проведения исследования была произведена процедура проверки взаимодействия программы «loto» с файлом «loto.ini» путем перемещения файла «loto.ini» из папки с программой
«loto». После этого был произведен запуск программы «loto». При отсутствии файла «loto.ini» в папке с программой «loto» программа «loto» при запуске сообщает об ошибке: «Не удается определить MAC-адрес устройства». В случае, когда файл «loto.ini» присутствует в папке с программой «loto», указанное сообщение об ошибке не появляется. В файле «loto.ini» имеются строки:
«; MAC-адрес подставляемый в качестве имени киоска вместо оригинального MAC-адреса сетевой карты
ForceMac= wy005»,
указывающие на то, что программа «loto» получает сведения о МАС-адресе. В данном случае параметр ForceMac выступает в качестве уникального идентификатора экземпляра программы «loto», отсутствие которого не позволяет программе функционировать. По данному идентификатору каждый экземпляр программы «loto» идентифицируется в личном кабинете, описанном ниже, и благодаря этому идентификатору возможно осуществление удаленного управления экземпляром программы и персональным компьютером, на котором она установлена.
- в ходе проведения исследования была произведена процедура проверки взаимодействия программы «loto» с файлом «loto.ini» путем проверки реакции программы «loto» на изменение содержимого файла «loto.ini». В файле «loto.ini» имеются следующие строки: «; номер сот-порта к которому подключен купюроприемник
BillCom=0; номер сот-порта к которому подключен диспенсер, для SmartPayoutуказать тот же COM-порт что и купюроприемник DispCom=0»,
указывающие на номера COM-портов, к которым подключаются устройства «купюроприемник» и «диспенсер».
Кроме этого, в папке с программой «loto» имеется папка «logs», в которой при запуске программы появляется файл с расширением «txt» и именем, соответствующим дате, когда запускается программа «loto». В данный файл программа «loto» записывает информацию о своей работе. В случае, если в файле «loto.ini» параметр «BillCom», задающий номер COM-порта, к которому подключен купюроприемник, равен 0, программа «loto» в файл с информацией о своей работе записывает следующую информацию:
«Не задан com-порт купюроприемника» (рис. 2.14 приложения).
В ходе проведения исследования параметр «BillCom» в файле «loto.ini» был приравнен к значению «20», после чего была запущена программа «loto». Программа «loto» в файл с информацией о своей работе записала следующую информацию:
«Инициализируем купюроприемник cashcode (порт 20)»
Таким образом, подтверждается, что программа «loto» обращается в процессе своей работы к файлу «loto.ini» для получения сведений о настройках своей работы.
Содержимое данного файла «loto.ini» указывает на то, что программа «loto» имеет возможность подключения устройств, для ввода средств с их дальнейшей фиксацией в меню «Баланс» (количество внесенных средств).
Кроме этого, был произведен анализ сетевого взаимодействия представленной программы с внешними ресурсами.
Рассматриваемая программа в процессе своей работы отправляет и получает данные на адрес dydns.org, используя в качестве параметров идентификации логин «holitrade». DynDNS представляет собой сервис, который позволяет пользователям получить личный адрес, который будет привязан к пользовательскому компьютеру, не имеющему постоянного IP-адреса.
Когда информация попадает на адрес relay.dydns.org с логином «holitrade», сервер DynDNS пересылает её на адрес i.holitrade.com. По указанному адресу расположен личный кабинет пользователя системы «holitrade», в ходе анализа функций которого установлено следующее:
• В личном кабинете Holitrade возможно управление (создание, редактирование, удаление) учетными записями, используемыми программой «loto» для своей работы.
• В рамках настройки указанных учетных записей возможно редактирование так называемого «процента отдачи» (по умолчанию равного 60 %), который представляет собой значение процента прибыли от выигрыша, получаемого в процессе функционирования программы «loto». Установить значение этого параметра ниже 60 возможность отсутствует. Кроме того, необходимо отметить, что при торговле бинарными опционами и на биржевых торгах в целом не предусмотрено существование какого-либо управляемого относительного параметра, влияющего на размер прибыли.
• В личном кабинете отсутствуют какие-либо ресурсы, имеющие отношение к биржевым торгам, бинарным опционам и схожим по смыслу функционирования площадкам. Имеются функции сбора статистики функционирования подключенных к личному кабинету программ «loto».
• Любые изменения параметров счета в программе «loto» отражаются в личном кабинете i.holitrade.com.
• Из указанного личного кабинета возможно осуществление прямого управления персональным компьютером, на котором установлено программное обеспечение «loto» (блокировка, выключение, возможность приема и передачи файлов).
В ходе анализа сетевого взаимодействия программы «loto» с внешними сервисами не установлено фактов обращения программы к каким-либо площадкам биржевых торгов, площадкам по торговле бинарными опционами и схожим по смыслу функционирования площадки.
В программе «loto» предусмотрена настройка ставки и параметров игры. Программа поддерживает подключения устройств, для списания электронных средств с игрового баланса. Указанная программа не относится к лотерейному оборудованию, т.к. не обладает соответствующими признаками.
В ходе исследования установлено программное обеспечение «operator», версия 1.117.0.706. Данное программное обеспечение представляет собой программу-клиент для обеспечения пополнений игровых баллов, списания игровых баллов, контроля установленных ставок и процента отдачи (выигрыша) на персональных компьютерах, на которых установлена описанная выше программа «loto», и для связи с серверами системы «Holitrade».
При установке указанной программы создается каталог с именем «operator» (имя может быть изменено) со следующей структурой: «operator.exe Config.ini»
Для своего функционирования указанная программа «operator» использует файл конфигурации, в котором хранятся основные настройки программы. Указанный файл расположен в одном каталоге с программой «operator» с именем «config.ini». Данный файл содержит в себе следующие сведения:
«[Relay] RelayEnabled=1
RelayHost=http://relay. dyndns. org/relay/ RelayClient=holitrade [Localization] Lang=RU Currency= [FORMSETTINGS] WIDTH=1125 HEIGH=784 LEFT=93 TOP=63 Skin=Caramel [Main] Version=2 BankLimitVisible=1 [treeGroups. treeGroups: TcxTreeList]
[treeGroups.treeGroups/Bands: TcxTreeListBands]
[treeGroups. treeGroups/Bands/BandO: TcxTreeListBand]
Caption="" RealMinWidth=20 RealWidth=0 Visible="True" Index=0 BandIndex=-1 ColIndex=0
[treeGroups. treeGroups/clmnID: TcxTreeListColumn]
Visible="False" Index=0 LineCount=1 ColIndex=1 RowIndex=0 BandIndex=0 Caption=""
32
SortOrder= "soNone " SortIndex=-1 RealMin Width=20 RealWidth=0
[treeGroups. treeGroups/clmnName: TcxTreeListColumn]
Visible="False"
Index=1
LineCount=1
ColIndex=10
RowIndex=0
BandIndex=0
Caption=""
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnDescr: TcxTreeListColumn]
Visible="False"
Index=2
LineCount=1
ColIndex=11
RowIndex=0
BandIndex=0
Caption=""
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnIsNode: TcxTreeListColumn]
Visible="False"
Index=3
LineCount=1
ColIndex=12
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnBankLimit: TcxTreeListColumn]
Visible="False"
Index=4
LineCount=1
ColIndex=13
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnLockedBankLimit: TcxTreeListColumn]
Visible="False"
Index=5
LineCount=1
ColIndex=22
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnTimeLimitEnabled: TcxTreeListColumn]
Visible="False"
Index=6
LineCount=1
ColIndex=14
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnTimeLimitExpire: TcxTreeListColumn]
Visible="False"
Index=7
LineCount=1
ColIndex=15
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnTimeLimitRest: TcxTreeListColumn]
Visible="False"
Index=8
LineCount=1
ColIndex=16
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnLocked: TcxTreeListColumn]
Visible="False"
Index=9
LineCount=1
ColIndex=17
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnLockedMessage: TcxTreeListColumn]
Visible="False"
Index=10
LineCount=1
ColIndex=20
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnMaxChildCnt: TcxTreeListColumn]
Visible="False"
Index=11
LineCount=1
ColIndex=21
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnRegDate: TcxTreeListColumn]
Visible="False"
Index=12
LineCount=1
ColIndex=18
RowIndex=0
BandIndex=0
Caption=""
Sort0rder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnAdminPercent: TcxTreeListColumn]
Visible="False"
Index=13
LineCount=1
ColIndex=19
RowIndex=0
BandIndex=0
Caption=""
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnCaption: TcxTreeListColumn]
Visible="True"
Index=14
LineCount=1
ColIndex=0
RowIndex=0
BandIndex=0
Caption="Ha3Banue "
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnBankLimitStr: TcxTreeListColumn]
Visible="True"
Index=15
LineCount=1
ColIndex=2
RowIndex=0
BandIndex=0
Caption="Банк-лимит "
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnIncredit: TcxTreeListColumn]
Visible="True"
Index=16
LineCount=1
ColIndex=3
RowIndex=0
BandIndex=0
Caption="Bxod "
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups.treeGroups/clmnOutCredit: TcxTreeListColumn]
Visible="True"
Index=17
LineCount=1
ColIndex=4
RowIndex=0
BandIndex=0
Caption="Bbixoà"
SortOrder= "soNone " SortIndex=-1 RealMinWidth=20 RealWidth=0
[treeGroups. treeGroups/clmnProfit: TcxTreeListColumn]
Visible="True "
Index=18
LineCount=1
ColIndex=5
RowIndex=0
BandIndex=0
Caption="npu6bWh "
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnPercent: TcxTreeListColumn]
Visible="True "
Index=19
LineCount=1
ColIndex=6
RowIndex=0
BandIndex=0
Caption="Фактический %" SortOrder= "soNone " SortIndex=-1 RealMinWidth=20 RealWidth=0
[treeGroups. treeGroups/clmnFeedbackPercent: TcxTreeListColumn]
Visible="True "
Index=20
LineCount=1
ColIndex= 7
RowIndex=0
BandIndex=0
Caption="3adambiü %"
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnJackpot1 : TcxTreeListColumn]
Visible="True "
Index=21
LineCount=1
ColIndex=8
RowIndex=0
BandIndex=0
Caption="Джекпот1"
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[treeGroups. treeGroups/clmnJackpot2: TcxTreeListColumn]
Visible="True "
Index=22
LineCount=1
ColIndex=9
RowIndex=0
BandIndex=0
Сарйоп="Джекпот2"
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0
[UsersFrame.grdUsersTableView: TcxGridTableView]
Footer= "False " GroupByBox= "False " GroupFooters=0 NewItemRow="False " Version=1
[UsersFrame.grdUsersTableView/clmnID: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=0
Visible="False"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnLocked: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=1
Visible="False"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnAccessRight s: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=2
Visible="False"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnLastCompN ame: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=3
Visible="False"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnBindToCom p: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=4 Visible="False" SortOrder= "soNone " SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFramegrdUsersTableView/clmnN: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=5
Visible="True "
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" UsersFrame.grdUsersTableView/clmnOnline: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=6
Visible="True "
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnAuthType: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=7
Visible="False"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnLogin: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=8
Visible="True "
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnComment: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=9
Visible="True "
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnBalance: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=10 Visible="True" SortOrder= "soNone " SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnRate: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=11
Visible="True"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnInCredit: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=12
Visible="True"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnOutCredit: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=13
Visible="True"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnProfit: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=14
Visible="True"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnPercent: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=15
Visible="True"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnActiveGame : TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=16 Visible="True " SortOrder= "soNone " SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnNumEntries: TcxGridColumn]
GroupIndex=-1 Width=64 AlignmentHorz=0 Index=17 Visible="True " SortOrder= "soNone " SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnLastEntry: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=18
Visible="True "
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnRegDate: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=19
Visible="True "
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnGroupID: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=20
Visible="True "
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnGroupName : TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=21
Visible="False"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping="False" [UsersFrame.grdUsersTableView/clmnRefUser: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=22 Visible="False" SortOrder= "soNone " SortIndex=-1
WasVisibleBeforeGrouping= "False " [UsersFrame.grdUsersTableView/clmnBonus: TcxGridColumn]
GroupIndex=-1
Width=64
AlignmentHorz=0
Index=23
Visible="True"
SortOrder= "soNone "
SortIndex=-1
WasVisibleBeforeGrouping= "False " [Server]
OperatorName=wj
[treeGroups. treeGroups/clmnCountry: TcxTreeListColumn]
Visible="False" Index=23
LineCount=1
ColIndex=23
RowIndex=0
BandIndex=0
Caption=""
SortOrder= "soNone "
SortIndex=-1
RealMin Width=20
RealWidth=0
[treeGroups.treeGroups/clmnCurrency: TcxTreeListColumn]
Visible="False"
Index=24
LineCount=1
ColIndex=24
RowIndex=0
BandIndex=0
Caption=""
SortOrder= "soNone "
SortIndex=-1
RealMinWidth=20
RealWidth=0»
Содержимое данного файла «config.ini» указывает на то, что программа «operator» использует адрес сервера, к которому программа осуществляет подключение для приема и\или передачи сведений о своей работе: http://relay.dyndns.org/relay/ с именем клиента «holitrade».
Так как исследуемое программное обеспечение «loto», описанное выше, использует аналогичные параметры подключения для своей работы, можно утверждать, что они функционируют в комплексе. Программа «operator» выполняет функции для обеспечения пополнений игровых баллов, списания игровых баллов, контроля установленных ставок и процента отдачи (выигрыша), то есть, программа «operator» выполняет функции организации игрового процесса для программы «loto».
Кроме того, необходимо отметить следующие особенности:
• Программа «operator» имеет версию для установки на мобильные телефоны под управлением операционной системы «Android». Эта версия имеет возможности и функции, идентичные версии программы «operator» для персональных компьютеров.
• Описанное программное обеспечение «loto» и «operator» могут быть запущены в среде операционных систем семейства UNIX\LINUX при условии использования эмуляторов программной среды операционных систем семейства «Windows» (например, эмулятора Wine).
Факт наличия возможности осуществления ставок, факт возможности настройки процента выигрыша через личный кабинет i.holitrade.com, отсутствие связи с какими-либо биржевыми площадками и имеющиеся в программе «loto» функции указывают на то, что персональный компьютер, на который установлено такое программное обеспечение, может считаться игровым оборудованием, использование которого за пределами игорной зоны является незаконной организацией и проведением азартных игр.
Резюмируя результаты анализа описанного программного обеспечения, можно составить следующую схему взаимодействия (Рис. 1):
Рис. 1. Схема информационных потоков 37
• Программа «loto» отвечает за обеспечение игровых функций (доступ к играм, ставки, получение выигрыша).
• Программа «operator» осуществляет управление программами «loto» (пополнение баланса, включение\выключение программ, ведение статистики).
• Личный кабинет на сайте i.holitrade.com выступает как средство управления пользователями (учетные записи для программы «operator», регистрация идентификаторов программ «loto», пополнение баланса, ведение статистики, настройка процента выигрыша, управление программами «operator» и «loto»).
Между программами и личным кабинетом производится информационный обмен. Информационный обмен состоит из запросов, которые программы «loto» и «operator» отправляют на указанный в конфигурационных файлах адрес relay.dyndns.org, IP-адрес 148.251.166.211. Запросы выглядят следующим образом:
- запрос, отправляемый программами для проверки связи с сервером:
Длительность запроса 1.918705 секунд, адрес: 148.251.166.211, протокол TCP, длина запроса 66 байт, содержимое запроса: [SYN] Seq=0 Win=63443 Len=0 MSS=1460 WS=64 SACK_PERM=1
- запрос, отправляемый программами для получения и изменения своих настроек: Длительность запроса 1.997432 секунд, адрес: 148.251.166.211, протокол HTTP, длина запроса 274
байт, содержимое запроса: GET /holitrade/gamelauncher.iniHTTP/1.1.
Обоснованная в данной работе методика уже находит применение в реальной правоприменительной практике. Так, например, прокурор г. Катав-Ивановск Челябинской области, утвердил обвинительное заключение по уголовному делу в отношении жителя города Юрюзани, обвиняемого по пункту «а» части 2 статьи 171.2 УК РФ «Незаконные организация и проведение азартных игр вне игорной зоны с использованием информационно-телекоммуникационных сетей, в том числе сети «Интернет», а также средств связи, совершенные группой лиц по предварительному сговору» [1]. Экспертное заключение, вынесенное в рамках указанного делопроизводства, формировалось, в том числе, по методике, обоснованной в данной работе, что подтверждает ее практическую значимость.
Таким образом, использование разработанной методики классификации незаконной игорной деятельности позволило сделать вывод, что распространяемое программное обеспечение «Holitrade» является одним из средств незаконной организации и проведения азартных игр, функционирование которого маскируется под торговлю бинарными опционами и\или биржевые торги.
В свете описанного актуальным представляется проведение более эффективных оперативно -розыскных мероприятий с привлечением экспертов и специалистов, знакомых с тонкостями функционирования программно-аппаратных средств, схожих с описанными в данной работе. Использование обоснованной методики позволит обеспечить всестороннее и объективное исследование и предотвращение ухода от уголовной ответственности лиц, занимающихся незаконной деятельностью в сфере азартных игр.
К детерминантам преступлений, предусмотренных ст. 171.2 УК РФ, относятся также наличие спроса на услуги по проведению азартных игр среди населения; «терпимость общественного мнения к фактам незаконной организации и проведения азартных игр, обусловленная общим упадком нравственности в обществе, стремлением значительной его части к противоправному обогащению; отрицательные результаты работы средств массовой информации; отсутствие социальной рекламы и пропаганды негативного влияния азартных игр на здоровье и общественную нравственность» [2]. Из этого следует, что необходимы разработка и внедрение системы повышения осведомленности граждан о существующих средствах незаконной организации и проведения азартных игр, функционирование которого маскируется под торговлю бинарными опционами и\или биржевые торги, а также об уголовной ответственности за участие в этих играх.
Литература
1. [Электронный ресурс]: Жители Юрюзани выдавали подпольное казино за биржу. URL: http://www. 1 obl.ru/news/proisshestviya/casino-birzha.
2. Лихолетов А. А. Детерминанты преступлений, совершаемых в сфере игорного бизнеса / А. А. Лихолетов // Российский ежегодник уголовного права, 2013. № 7. С. 74-89.
3. Маркова Е. С., Кирьянов А. В. Актуальные вопросы уголовной ответственности за незаконную организацию и проведение азартных игр / Е. С. Маркова, А. В. Кирьянов // Территория права: сборник научных статей. Курск, 2015. С. 151-154.
4. Науменко О. П. Уголовная ответственность за незаконные организацию и проведение азартных игр по законодательству стран СНГ / О. П. Науменко // Бизнес в законе, 2014. № 4. С. 34-37.
5. Севостьянов Р. А. Проблемы уголовной ответственности за организацию и ведение незаконного игорного бизнеса: автореф. дисс... канд. юр. наук. Саратов 2009. - 24 с.
6. Семенов Н. В., Замараева Н. А. Проблемы применения специальных знаний при расследовании преступлений, связанных с незаконной игорной деятельностью (статья 171.2. УК РФ «незаконные организация и проведение азартных игр») / Н. В. Семенов, Н. А. Замараева // Теория и практика судебной экспертизы. - 2012.- № 3 (27). С. 94-97.
7. Уголовный кодекс Российской Федерации от 13 июня 1996 г. № 63-Ф3 (ред. от 30.03.2015, с изм. от 07.04.2015) // СПС «КонсультантПлюс», 2015.
8. Федеральный закон от 20.07.2011 № 250-ФЗ «О внесении изменений в отдельные законодательные акты Российской Федерации» // СПС «КонсультантПлюс», 2015.
9. Федеральный закон от 29.12.2006 № 244-ФЗ (ред. от 22.07.2014) «О государственном регулировании деятельности по организации и проведению азартных игр и о внесении изменений в некоторые законодательные акты Российской Федерации» (с изм. и доп., вступ. в силу с 22.08.2014) // СПС «КонсультантПлюс», 2015.
Системный анализ предметной области и построение концептуальной модели базы данных «научная деятельность студентов вуза» Абрамченко Н. В.
Абрамченко Нина Владимировна /Abramchenko Nina Vladimirovna - кандидат педагогических наук, доцент, кафедра высшей математики и информатики, Финансовый университет при Правительстве Российской Федерации (Омский филиал), кафедра информационной безопасности, Сибирская государственная автомобильно-дорожная академия (СибАДИ), г. Омск
Аннотация: проблема проектирования баз данных как ядра информационных систем, адекватных своей предметной области, зачастую возникает из-за недостаточного понимания между заказчиком и разработчиком. Решением проблемы служит создание концептуальной модели базы данных на основе системного анализа предметной области.
Ключевые слова: информационные системы, проектирование баз данных, концептуальная модель, системный анализ.
Создание базы данных предполагает интеграцию данных, предназначенных для решения набора конкретных прикладных задач отдельных пользователей (групп пользователей) - сотрудников организации, для которых создается база данных. Соответственно, каждый пользователь может иметь собственные представления о данных и связях между ними, что выражается в его концептуальных требованиях к базе данных. Требования каждого пользователя должны быть учтены и обобщены в единое представление, которое далее будет служить основой для построения единой базы данных (рис. 1).
Объединяя частные представления о содержимом базы данных, полученные в результате опроса пользователей, и свои представления о данных, которые могут потребоваться в будущих приложениях, разработчик сначала создает обобщенное неформальное описание создаваемой базы данных [1].
Это описание, выполненное с использованием естественного языка, математических формул, таблиц, графиков и других средств, понятных всем людям, работающих над проектированием базы данных, называют концептуальной моделью базы данных (или схемой).
Рис. 1. Обобщение представлений пользователей о данных 39