<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; Алтынпара Артём Вячеславович</title>
	<atom:link href="http://web.snauka.ru/issues/author/speedrun-of-life/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Sat, 18 Apr 2026 09:41:14 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Исследование методов автоматизированного управления тележки-каталки</title>
		<link>https://web.snauka.ru/issues/2022/10/98942</link>
		<comments>https://web.snauka.ru/issues/2022/10/98942#comments</comments>
		<pubDate>Mon, 03 Oct 2022 12:47:50 +0000</pubDate>
		<dc:creator>Алтынпара Артём Вячеславович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[автоматизация]]></category>
		<category><![CDATA[пациент]]></category>
		<category><![CDATA[ПЕРЕДАТЧИК]]></category>
		<category><![CDATA[ПРИЁМНИК]]></category>
		<category><![CDATA[радиоволны]]></category>
		<category><![CDATA[сервопривод]]></category>
		<category><![CDATA[ТЕЛЕЖКА-КАТАЛКА]]></category>
		<category><![CDATA[управление]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=98942</guid>
		<description><![CDATA[Введение Актуальность разработки (цель исследования) обоснована тем, что в некоторых случаях при транспортировке больных или раненых медицинского персонала может просто не хватать, а больной зачастую находится в бессознательном состоянии. Правильно собранная микросхема шифратора для пульта и микросхема дешифратора, установленная для внедрённого сервопривода на каталку, позволят либо понижать, либо повышать скорость каталки, менять угол поворота, управлять [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;" align="center"><strong>Введение</strong></p>
<p>Актуальность разработки (цель исследования) обоснована тем, что в некоторых случаях при транспортировке больных или раненых медицинского персонала может просто не хватать, а больной зачастую находится в бессознательном состоянии. Правильно собранная микросхема шифратора для пульта и микросхема дешифратора, установленная для внедрённого сервопривода на каталку, позволят либо понижать, либо повышать скорость каталки, менять угол поворота, управлять движением на большой дистанции. Пациент сам сможет довезти себя до отделения.</p>
<p>В связи с этим потребуется электродвигатель для каталки. Он должен выполнять две основные задачи перемещения в пространстве:</p>
<p><strong>1. Рыскание </strong>— Поворот каталки вправо или влево. Это основное движение для вращения каталки. Оно достигается с помощью левой ручки газа влево или вправо на пульте.</p>
<p><strong>2. Тангаж </strong>— это движение каталки вперед или назад. Подача вперед обычно достигается нажатием ручки газа вперед, что заставляет каталку двигаться вперед от вас. Шаг назад достигается перемещением ручки газа назад.</p>
<p style="text-align: left;" align="center"><strong>Материалы и методы</strong></p>
<p>Когда станет понятно, как такая штука будет двигаться, необходимо остановиться на операторе. Ведь каталкой нужно будет управлять. И желательно это делать комфортно, точно, не доставляя неудобств пациенту. Оператору предлагается несколько вариантов.</p>
<p>1. Пульт управления, работающий по радиоканалу. Такое устройство не предусматривает обратной связи с каталкой. С его помощью регулируют высоту и повороты при движении. Для этого на пульте установлены два отдельных джойстика. Один предназначен для уменьшения и увеличения высоты, другой — для плавного управления поворотами. Главное достоинство радиопульта в большой дальности работы, а недостаток – сигнал можно перехватить или заглушить.</p>
<p>2. Использование сервопривода. Это силовой агрегат, управление которым реализовано через отрицательную обратную связь. Именно последняя дает возможность чутко контролировать заданные параметры перемещения. И у него просто должен быть датчик – позиции, нагрузки, скорости – и блок контроля, который поддерживает необходимые условия в автоматическом режиме.</p>
<p style="text-align: left;" align="center"><strong>Результаты и их обсуждение</strong></p>
<p>Основные функциональные узлы электропривода следующие:</p>
<p>1.Сам привод – мотор, превращающий электрическую энергию в механическую (силу поворота); для снижения скорости до необходимой снабжен редуктором, передающим крутящий момент.</p>
<p>2.Энкодер – датчик обратной связи, преобразующий угол поворота в управляющий сигнал, контролирующий вращение выходного вала (на последнем закреплен инструмент или какой-то другой орган выполнения действия).</p>
<p>3.Электронная начинка, принимающая входящие параметры, считывающая и сравнивающая значения, выполняющая операции включения/выключения – это тоже то, из чего состоит сервопривод.</p>
<p>4.Проводка – подключение питания (два кабеля) и доставка сигнала контроля (еще один).</p>
<p>Принцип работы сервопривода сводится к следующему:</p>
<p>Привод получает импульс на вход, допустим, команду изменения угла. Блок управления соотносит полученный сигнал с фактическими значениями, снятыми датчиком. Исходя из результатов анализа, данная плата выдает команду – перемещения по какому-то вектору, ускорения или замедления, – причем обязательно направленную на то, чтобы привести реальную цифру к заданной и необходимой.</p>
<p>Поскольку, тележка—каталка будет выполнять роль радиоуправляемой машинки, необходимо использовать большой (из-за размеров тележки), синхронный (отличается быстрым набором оборотов, а также прецизионным вращением), аналоговый (импульсы обрабатывает микросхема) сервопривод с карбоновыми шестерёнками (прочными и износостойкими).</p>
<p>Основные преимущества при использовании сервопривода: помехоустойчивость и быстрый отклик объекта управления на команды.</p>
<p>Главные недостатки: небольшой радиус действия сигнала и его долгая настройка.</p>
<p>Абстрагируясь от электроприводов и возвращаясь к радиосигналам, для автономного передвижения устройства (радиоуправляемой машинки) необходимо иметь передатчик (пульт управления), приёмник (печатная плата) и комплект антенн.</p>
<p>Если вкратце про пульт, то он содержит микросхему шифратор, которая вырабатывает сигналы команд и радиопередатчик на двух транзисторах. Пульт посылает в эфир команды, а машинка эти команды принимает и их исполняет.</p>
<p>Плата радиоуправляемой модели(машинки) состоит из трех частей: 1 радиоприемник, 2 микросхема-дешифратор, 3 Н-мост для управления двигателями.</p>
<p>Применяемый радиоприемник в недорогих моделях радиоуправления называется сверхрегенератор. У такого приемника мало деталей и очень простая схема, надежная работа и очень простая настройка на сигнал. На осциллографе он примет вид синусоиды.</p>
<p>Поэтому основными достоинствами данного метода будут простота в настройке и большой диапазон передачи сигнала. Но есть и недостатки: слишком широкая принимаемая полоса пропускания, паразитное излучение и, как следствие – помехи.</p>
<p style="text-align: left;" align="center"><strong>Заключение</strong></p>
<p>В последнее время беспроводные устройства связи упорно вытесняют проводную связь. Это связано в первую очередь с постоянным снижением стоимости радиочастотных компонентов – радио-трансиверов, антенн и др. В то же время растет стоимость материалов для проводной связи. Сейчас наблюдается бум беспроводных технологий, беспроводную связь внедряют там, где требуется локальная связь на расстоянии от единиц до сотен метров. Процесс создания современных систем дистанционного беспроводного управления насчитывает не один десяток лет. Из многих предлагаемых методов передачи сигнала в наше время чаще применяют ультразвуковые, инфракрасные и радиочастотные системы.</p>
<p>Таким образом, устройства, управляемые дистанционно – это правильный путь эволюции от ручной эксплуатации к автоматизированным процессам как в промышленности, так и в быту.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2022/10/98942/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Принципы применения реляционных баз данных на предприятиях гражданского сектора</title>
		<link>https://web.snauka.ru/issues/2022/10/98944</link>
		<comments>https://web.snauka.ru/issues/2022/10/98944#comments</comments>
		<pubDate>Wed, 12 Oct 2022 12:53:18 +0000</pubDate>
		<dc:creator>Алтынпара Артём Вячеславович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[администратор]]></category>
		<category><![CDATA[архитектура]]></category>
		<category><![CDATA[запросы]]></category>
		<category><![CDATA[пользователь]]></category>
		<category><![CDATA[приложение]]></category>
		<category><![CDATA[сервер]]></category>
		<category><![CDATA[система управления базами данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=98944</guid>
		<description><![CDATA[Введение Актуальность разработки (цель исследования) обоснована тем, что в некоторых случаях, особенно на предприятиях, возникают случаи обнаружения некорректной информации в базе данных. Это может быть связано либо с неправильным поисковым запросом, либо с неправильной структурой самого запроса. В первом случае виноват пользователь. Во втором – администратор. Есть ещё одна проблема – торможение (долгий отклик на [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;" align="center"><strong>Введение</strong></p>
<p>Актуальность разработки (цель исследования) обоснована тем, что в некоторых случаях, особенно на предприятиях, возникают случаи обнаружения некорректной информации в базе данных. Это может быть связано либо с неправильным поисковым запросом, либо с неправильной структурой самого запроса. В первом случае виноват пользователь. Во втором – администратор. Есть ещё одна проблема – торможение (долгий отклик на запрос) самого приложения. Это может быть связано либо с высокой загруженностью серверов, на которых располагаются данные, либо с неправильно подобранной архитектурой (двухзвенной, трёхзвенной).</p>
<p>Перед тем, как приступить к исследованию, необходимо дать определение первостепенным терминам:</p>
<p>1.База данных – совокупность экземпляров различных типов записей и отношений между записями и элементами. База данных – совокупность взаимосвязанных хранящихся вместе данных при наличии минимальной избыточности, допускающей их оптимальное использование одним или несколькими приложениями.</p>
<p>2.IDEF1X ‒ язык моделирования данных для разработки семантики моделей данных. IDEF1X используется для формирования графических представлений информационных моделей, которые отражают структуру и семантику информации внутри среды или системы.</p>
<p>4.PhpMyAdmin – это бесплатный программный инструмент, написанный на PHP, предназначенный для управления администрированием MySQL через Web.</p>
<p>5.MySQL – это система управления реляционными базами данных с открытым исходным кодом (СУРБД), работающая по модели клиент-сервер.</p>
<p>6.Объектно-реляционные СУБД (ОРСУБД) – реляционные СУБД, поддерживающие некоторые технологии, реализующие объектно-ориентированный подход (объекты, классы и наследование реализованы в структуре БД и языке запросов).</p>
<p>7.Транзакция – последовательность операций над БД, рассматриваемых СУБД как единое целое. Инициализируется пользователем или прикладной программой.</p>
<p style="text-align: left;" align="center"><strong>Материалы и методы</strong></p>
<p>Предположим, перед нами стоит решение трёх задач:</p>
<p>Задача 1: начислить заработную плату для каждого сотрудника своей фирмы с учётом его социальных надбавок и премий, занести информацию в первый файл.</p>
<p>Задача 2: провести учёт кадрового состава (т. е. занести исходные данные во внешнюю память с возможностью их удаления, корректирования и добавления) во второй файл.</p>
<p>Задача 3: произвести учёт экономии фонда оплаты труда в связи с болезнью некоторых сотрудников. Изменения занести в третий файл.</p>
<p>Это типичные ситуации, возникающие в каждом отделе кадров любой организации. При этом возникают закономерные недостатки:</p>
<p>1.Информация дублируется. В файлах будут присутствовать поля ФИО,</p>
<p>ОКЛ, ПРЕМ и т.д.</p>
<p>2.При внесении изменений (например, фамилии) приходится вносить одно значение в разные файлы и, как следствие, тратить дополнительное время.</p>
<p>3.Потенциальная возможность противоречивости данных (в один файл изменения внесены, в другой – нет).</p>
<p>Все три задачи можно решать, используя общую информационную базу из двух типов записей (находятся в некотором отношении).</p>
<p>В этом случае для решения задач используется некоторый вид данных, формируемый на основе интеграции записей.</p>
<p>Для описания этого вида данных, собственно, и вводится новое понятие – «база данных».</p>
<p>Роль интерфейса между прикладными программами и БД (базой данных), обеспечивающего их независимость, играет программный комплекс – система управления базами данных (СУБД). Её архитектура должна обеспечивать разграничение пользовательского и системного уровней.</p>
<p>Также необходимо дать каждому пользователю своё, отличное от других представление о свойствах хранимых данных.</p>
<p>Говоря об архитектуре, стоит рассматривать два подхода: 2–уровневый (созданный в 1971 году рабочей группой CODASYL и состоящий из системного и пользовательского представлений) и 3–уровневый (созданный в 1978 году комитетом SPARC ANSI и состоящий из внешнего, внутреннего и концептуального уровней).</p>
<p>Касательно <strong>внешнего (пользовательского) уровня</strong> он относится к основному приложению, с которым взаимодействует БД в режиме реального времени. (к примеру, можно взять программу 1С). Внешнее представление – несколько внешних схем, соответствующих разным пользовательским представлениям данных. Также каждый тип пользователей может применять свой язык общения с БД. Какой бы базовый язык высокого уровня ни использовался, он должен включать в себя подъязык работы с данными (SQL).</p>
<p>Для БД на <strong>концептуальном уровне</strong> имеется одна концептуальная схема, которая содержит:</p>
<p>1.Сущности, их атрибуты и связи между сущностями.;</p>
<p>2.Ограничения, накладываемые на данные;</p>
<p>3.Семантическую информацию о данных;</p>
<p>4.Обеспечение поддержки целостности данных</p>
<p>Данный уровень поддерживает каждое внешнее представление – любые доступные пользователю данные вычисляются и доступны именно здесь.</p>
<p>Этот уровень не содержит сведений о методах хранения данных.</p>
<p>На <strong>внутреннем уровне</strong> находится внутренняя схема, описывающая физическую реализацию БД (оптимальная производительность и использование дискового пространства).</p>
<p>Информация, хранимая на внутреннем уровне, распределяет дисковое пространство для сохранения данных и индексов, описывает подробности сохранения записей, сведения о размещении записей, сведения о сжатии данных и выбранных методах шифрования.</p>
<p>Сейчас повсеместно используется трёхуровневая архитектура. Её назначение в том, чтобы низкоуровневые функции никак не влияли на высокоуровневые, в логической независимости (защищённости внешних схем от изменений в концептуальной схеме) и физической (защищенности концептуальной схемы от изменений, во внутренней схеме).</p>
<p>С точки зрения пользователя СУБД реализует следующие высокоуровневые функции:</p>
<p>1.хранение данных;</p>
<p>2.изменение данных;</p>
<p>3.обработка данных;</p>
<p>4.получение выходных документов.</p>
<p>Высокоуровневые функции, в свою очередь, используют следующие низкоуровневые функции:</p>
<p>1.поддержка словаря данных;</p>
<p>2. управление данными во внешней памяти;</p>
<p>3. управление буферами оперативной памяти;</p>
<p>4. управление транзакциями;</p>
<p>5.ведение журнала изменений БД;</p>
<p>6.поддержка целостности и безопасности данных;</p>
<p>7.управление параллельным доступом</p>
<p>Говоря про типовую организацию современной СУБД, стоит отметить два важнейших аспекта:</p>
<p>Ядро СУБД – программный комплекс, обеспечивающий непосредственное выполнение физических операций над БД. Основная резидентная часть СУБД. В архитектуре «клиент-сервер» – основная составляющая серверной части системы.</p>
<p>Среда – совокупность интерфейсных модулей, обеспечивающих связь пользователей с ядром и через него с БД. Включает пользовательские интерфейсы и утилиты администратора БД (АБД).</p>
<p>1. менеджер данных (управление данными во внешней памяти);</p>
<p>2. менеджер буферов (управление буферами оперативной памяти);</p>
<p>3. менеджер транзакций (управление транзакциями);</p>
<p>4. менеджер журнала (журнализация)</p>
<p>Функции компонентов взаимосвязаны. Компоненты взаимодействуют по продуманным протоколам.</p>
<p>Ядро СУБД имеет собственный интерфейс. Он недоступен пользователям напрямую. Используется в программах, производимых компилятором SQL, и утилитах БД.</p>
<p>Транзакция – последовательность операций над БД, рассматриваемых СУБД как единое целое. Инициализируется пользователем или прикладной программой. Транзакция либо успешно выполняется, и СУБД фиксирует произведенные изменения во внешней памяти, либо ни одно из этих изменений не фиксируется (происходит откат). Поддержание механизма транзакций – обязательное условие для любых СУБД (особенно важно для многопользовательских).</p>
<p>Затрагивая тему СУБД стоит их классифицировать:</p>
<p>1.Иерархические СУБД – основаны на иерархической модели. Первые СУБД, 1950–60 годов. (Information Management System фирмы IBM).</p>
<p>2.Сетевые СУБД – основаны на сетевой модели. Первая сетевая СУБД разработана Чарльзом Бахманом в 1960 г. (IDS – Integrated Data Store корп. General Electric).</p>
<p>3.Реляционные СУБД – управляют реляционными базами данных. Практически все разработчики современных приложений баз данных ориентируются на РСУБД.</p>
<p>4.Объектно-ориентированные СУБД – основаны на объектной модели данных (данные – объекты, наделенные свойствами и использующие методы взаимодействия с другими объектами.</p>
<p>5.Объектно-реляционные СУБД (ОРСУБД) – реляционные СУБД, поддерживающая некоторые технологии, реализующие объектно-ориентированный подход (объекты, классы и наследование реализованы в структуре БД и языке запросов). ОРСУБД являются широко известные Oracle Database, Informix, DB2, PostgreSQL.</p>
<p>Все вышеперечисленные СУБД действуют по одному большому паттерну, называемому «Big Data» – совокупности подходов, инструментов и методов обработки структурированных и неструктурированных данных огромных объемов и многообразия для получения воспринимаемых результатов, в условиях непрерывного прироста, распределения по многочисленным узлам вычислительной сети.</p>
<p>Определяющими характеристиками для данного паттерна являются «три V»:</p>
<p>1.объем (Volume) – в смысле физического объема;</p>
<p>2.скорость (Velocity) – в смысле скорости прироста и необходимости высокоскоростной обработки и получения результатов);</p>
<p>3.многообразие (Variety) – в смысле возможности одновременной обработки различных типов структурированных и полуструктурированных данных.</p>
<p style="text-align: left;" align="center"><strong>Результаты и их обсуждение</strong></p>
<p>Родоначальником всех современных СУБД является NoSQL. Она применялась к БД, в которых делается попытка решить проблемы масштабируемости и доступности за счет атомарности и согласованности данных. На данный момент самыми распространёнными СУБД являются Oracle 12c, Microsoft sql server и MySQL. В чём же преимущества каждой из них? Какие недостатки в них обнаружены?</p>
<p><strong>Oracle 12c</strong> – предназначена для облачных сред и может быть размещена на одном или нескольких серверах, это позволяет управлять базами данных, которые содержат миллиарды записей. Некоторые из функций новейшей версии Oracle включают в себя grid framework и использования как физических, так и логических структур.</p>
<p>Преимущества:</p>
<p>1.Самые свежие инновации и впечатляющий функционал уже внедрены в этом продукте, поскольку компания Oracle стремится держать планку даже на фоне других разработчиков СУБД.</p>
<p>2.Оракул является крайне надёжной, фактически это эталон надёжности среди подобных систем.</p>
<p>Недостатки:</p>
<p>1.Стоимость Oracle может оказаться непомерно высокой, особенно для небольших организаций.</p>
<p>2.Система может потребовать значительных ресурсов уже сразу после установки, поэтому возможно потребуется модернизировать оборудование для внедрения Oracle.</p>
<p>Идеально подходит для крупных организаций, которые работают с огромными базами данных и разнообразными функциями.</p>
<p><strong>MySQL</strong> &#8211; одна из самых популярных СУБД для веб-приложений. Фактически, является универсальным стандартом для веб-серверов, которые работают под управлением операционной системы Linux. MySQL – это бесплатный пакет программ, однако новые версии выходят постоянно, расширяя функционал и улучшая безопасность. Существуют специальные платные версии, предназначенные для коммерческого использования. В бесплатной версии наибольший упор делается на скорость и надежность, а не на полноту функционала, который может стать и достоинством, и недостатком – в зависимости от области внедрения.</p>
<p>Преимущества:</p>
<p>1.Распространяется бесплатно.</p>
<p>2.Прекрасно документирована.</p>
<p>3.Предлагает много функций, даже в бесплатной версии.</p>
<p>4.Пакет MySQL включен в стандартные репозитории наиболее распространённых дистрибутивов операционной системы Linux, что позволяет устанавливать её элементарно просто.</p>
<p>5.Поддерживает набор пользовательских интерфейсов.</p>
<p>6.Может работать с другими базами данных, включая DB2 и Oracle.</p>
<p>Недостатки:</p>
<p>1.Придётся потратить много времени и усилий, чтобы заставить 2. MySQL выполнять несложные задачи, хотя другие системы делают это автоматически, например: создавать инкрементные резервные копии.</p>
<p>2.Отсутствует встроенная поддержка XML или OLAP.</p>
<p>3.Для бесплатной версии доступна только платная поддержка.</p>
<p>Идеально подходит для: организаций, которым требуется надежный инструмент управления базами данных, но бесплатный.</p>
<p>Ещё одной из популярных СУБД является программный продукт – <strong>Microsoft SQL-сервер</strong>. Это система управления базами данных, движок которой работает на облачных серверах, а также локальных серверах, причем можно комбинировать типы применяемых серверов одновременно. Вскоре после выпуска Microsoft SQL Server 2016, Microsoft адаптировала продукт для операционной системы Linux, а на платформе Windows он работал изначально.</p>
<p>Преимущества:</p>
<p>1.Продукт очень прост в использовании.</p>
<p>2.Текущая версия работает быстро и стабильно.</p>
<p>3Движок предоставляет возможность регулировать и отслеживать уровни производительности, которые помогают снизить использование ресурсов.</p>
<p>4.Вы сможете получить доступ к визуализации на мобильных устройствах.</p>
<p>5.Он очень хорошо взаимодействует с другими продуктами Microsoft.</p>
<p>Недостатки:</p>
<p>1.Цена для юридических лиц оказывается неприемлемой для большей части организаций.</p>
<p>2.Даже при тщательной настройке производительности SQL Server способен задействовать все что есть.</p>
<p>3.Сообщается о проблемах с использованием службы интеграции для импорта файлов.</p>
<p>4.Есть смысл покупать лицензию на этот продукт, если уже имеется ряд программ Microsoft.</p>
<p>Идеально подходит для: крупных организаций, которые уже используют ряд продуктов Microsoft.</p>
<p style="text-align: left;" align="center"><strong>Заключение</strong></p>
<p>Если сравнивать частоту использования реляционных баз данных на момент времени 2017 года и по настоящее время, то лидирующие позиции будут занимать MySQL и MS SQL Server. Первая – из-за того, что есть открытый исходный код СУБД и поддержка веб приложений, что очень актуально. Вторая – из-за бесплатной поддержки, частичного русификатора и интуитивно понятного интерфейса.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2022/10/98944/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Исследование программного продукта по критериям надёжности</title>
		<link>https://web.snauka.ru/issues/2022/11/98945</link>
		<comments>https://web.snauka.ru/issues/2022/11/98945#comments</comments>
		<pubDate>Tue, 01 Nov 2022 12:54:09 +0000</pubDate>
		<dc:creator>Алтынпара Артём Вячеславович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[восстановление]]></category>
		<category><![CDATA[зрелость]]></category>
		<category><![CDATA[критерий]]></category>
		<category><![CDATA[МЕТРИКА]]></category>
		<category><![CDATA[надежность]]></category>
		<category><![CDATA[ОТКАЗОУСТОЙЧИВОСТЬ]]></category>
		<category><![CDATA[стандарты]]></category>
		<category><![CDATA[тестирование]]></category>
		<category><![CDATA[ТЕТРИС]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/?p=98945</guid>
		<description><![CDATA[Введение Актуальность разработки (цель исследования) обоснована тем, что в настоящий момент в связи с экономической политикой Российской Федерации по импортозамещению любой производящийся программно-аппаратный продукт в нашей стране может иметь какие-либо скрытые дефекты. Необходимо разработать комплекс критериев и метрик оценивания надёжности какого-либо программного продукта. В связи с этим попробуем выполнить эту задачу на примере игрушки «Тетрис». [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left" align="center"><strong><span>Введение</span></strong></div>
<p><span>Актуальность разработки (цель исследования) обоснована тем, что в настоящий момент в связи с экономической политикой Российской Федерации по импортозамещению любой производящийся программно-аппаратный продукт в нашей стране может иметь какие-либо скрытые дефекты. Необходимо разработать комплекс критериев и метрик оценивания надёжности какого-либо программного продукта.</span><br />
<span>В связи с этим попробуем выполнить эту задачу на примере игрушки «Тетрис».</span><br />
<span>Основной функционал:</span><br />
<span>Случайные фигурки тетрамино падают сверху в прямоугольный стакан шириной 10 и высотой 20 клеток. В полёте игрок может поворачивать фигурку на 90° и двигать её по горизонтали. Также можно «сбрасывать» фигурку, то есть ускорять её падение, когда уже решено, куда фигурка должна упасть. Фигурка летит до тех пор, пока не наткнётся на другую фигурку либо на дно стакана. Если при этом заполнился горизонтальный ряд из 10 клеток, он пропадает и всё, что выше него, опускается на одну клетку. Дополнительно показывается фигурка, которая будет следовать после текущей — это подсказка, которая позволяет игроку планировать действия. Темп игры постепенно ускоряется. Игра заканчивается, когда новая фигурка не может поместиться в стакан. Игрок получает очки за каждый заполненный ряд, поэтому его задача — заполнять ряды, не заполняя сам стакан (по вертикали) как можно дольше, чтобы таким образом получить как можно больше очков.</span><br />
<span>Цель: развивать сообразительность, память, воображение ребёнка, знакомить с цветом, формой, величиной, а также способствовать развитию речи, развивать мелкие мышцы рук.</span><br />
<span>Требования к оборудованию:</span><br />
<span>В качестве аппаратной среды используется ПК типа IBM PC.</span><br />
<span>Системные требования:</span><br />
<span>1. Компьютер Pentium 200 МГц</span><br />
<span>2. Оперативная память 32 RAM</span><br />
<span>3. Видеокарта 800х600</span><br />
<span>4. Операционная система Microsoft Windows 98/ME/2000/XP/Vista/7</span><br />
<span>5. Клавиатура</span><br />
<span>6. Мышь</span><br />
<span>7. Размеры свободного дискового пространства 200 кб</span></p>
<div style="text-align: left" align="center"><strong><span>Материалы и методы</span></strong></div>
<p><span>Теперь оценим надёжность данного программного продукта по четырём критериям:</span><br />
<strong><span>Зрелость:</span></strong><br />
<span>Метрика &#8220;Объем модуля&#8221;. Как правило, наиболее весомые модули имеют больший объем кода. Если обозначить: А — объем модуля (например, число строк кода); В — объем кода аналогичного по функциональности модуля, взятый из статистических данных организации разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/0.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>В качестве модуля A возьмём весь код программы. Он содержит 10+68+4+119+12+128+18+11 = 370 строк кода из всех подмодулей.</span><br />
<span>В качестве модуля B возьмём весь код программы разработчика данного средства.</span><br />
<span>Он содержит 142 + 194 + 54 = 390 строк кода из всех подмодулей.</span><br />
<span>X = 370/1029 = 0,356.</span><br />
<span>Метрика &#8220;Время, затраченное на разработку модуля&#8221;. Как правило, на разработку наиболее весомого модуля затрачивается больше времени. Если обозначить: А — время, затраченное на разработку модуля; В — время, затраченное на разработку аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span></p>
<p><span>X =</span><img src="https://content.snauka.ru/web/98945_files/0(1).gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>Пускай время будет исчисляться в часах. У одного разработчика на создание общего, функционально простого модуля ушло 32 часа. У команды из пяти человек на создание общего модуля с клиентским уклоном ушло 70 часов.</span><br />
<span>Получаем что Х = А/B = 0,457</span><br />
<span>Метрика &#8220;Потребляемые ресурсы модулем&#8221;. Как правило, более весомый модуль потребляет и больше ресурсов. Если обозначить: А — объем потребляемых ресурсов модулем (объем оперативной памяти и т.п.); В — общий объем потребляемых программным средством ресурсов, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо: 0&lt;А &lt; B; 0&lt; X &lt;1.</span><br />
<span>В качестве потребляемых ресурсов взята используемая оперативная память, а программным средством является студия разработки модуля InteliJ IDEA Community Edition.</span><br />
<span>Под модулем подразумевается наше ПО. Оно потребляет 0,036 Мб оперативной памяти компьютера.</span><br />
<span>Для нормальной работы InteliJ IDEA требуется 1200 Mб оперативной памяти.</span><br />
<span>Х = A/B = 0,036/1200 = 0,00003</span><br />
<strong><span>Способность к восстановлению:</span></strong><br />
<span>Метрика &#8220;Зависимость модулей&#8221;. Как правило, в программном средстве модули связаны в древовидную структуру, где неправильная работа одного модуля приводит к неправильной работе других модулей. Если обозначить: А — количество модулей, зависящих от данного модуля; В — общее количество всех модулей, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо 0&lt;=А &lt; B; 0&lt; X &lt;1.</span><br />
<span>Пускай под модулями будем подразумевать классы (структуры) программы. Всего классов у программы восемь. Все они связаны между собой. Поэтому X=A/B = 1 / 8 = 0,125</span><br />
<span>Метрика &#8220;Частота использования модуля&#8221;. Вероятность появления ошибки возрастает с ростом количества вызовов модуля, поэтому часто вызываемые модули более весомы, нежели модули, вызываемые реже.</span><br />
<span>Если обозначить: А — количество вызовов модуля; В — общее количество всех вызовов модулей, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо 1&lt;=А &lt; B; 1/B&lt; X &lt;1.</span><br />
<span>Пускай под вызовами моделей будем иметь ввиду событие нажатия кнопки интерфейса программы либо нажатие клавиши на клавиатуре.</span><br />
<span>Используя клавиши со стрелками влево, вправо и вверх мы заставляем падающую сверху фигуру менять своё местоположение в пространстве. Задействовано 3 модуля т.е. А=3. Четвёртым не всегда задействованным модулем будет являться клавиша со стрелкой вниз. Она отвечает за скорость падения фигуры.</span><br />
<span>Итак, X=A/B = 3 / 4= 0,75</span><br />
<span>Метрика &#8220;Время работы модуля&#8221;. Как правило, чем большее время находится модуль в работе, тем он более весом. Если обозначить: А — время работы модуля; В — общее время выполнения всей задачи, то числовую оценку метрики можно найти по формуле X=A/B. При этом справедливо 0&lt;А&lt;B; 0&lt;X&lt;1</span><br />
<span>Стандартное время выполнения модуля А – 90 секунд.</span><br />
<span>Время выполнения всей задачи – 120 секунд.</span><br />
<span>X =А/В=90/120 =0,75.</span><br />
<strong><span>Соответствие стандартам:</span></strong><br />
<span>Метрика &#8220;Команда разработки модуля&#8221;. Как правило, в разработке наиболее весомых модулей принимает участие большее количество разработчиков. Если обозначить: А — количество разработчиков, принимающих участие в разработке модуля; В — количество разработчиков, принимавших участие в создании аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/0(2).gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>Под модулем A будем считать кол-во разработчиков данного программного продукта. Участие принимал один разработчик.</span><br />
<span>В — количество разработчиков, принимавших участие в создании аналогичного по функциональности модуля.</span><br />
<span>Предположим, это будут: Аналитик – человек отвечающий за анализ ТЗ и сбор информации, человек отвечающий за создание переменных и логику программы, человек отвечающий за интерфейс программы, человек отвечающий за компоновку всех подмодулей и работоспособность программы в целом, тестировщик. Всего пять человек.</span><br />
<span>X =1/5 = 0,2.</span><br />
<span>Метрика &#8220;Квалификация команды разработчиков&#8221;. Как правило, в разработке наиболее весомых модулей принимают участие более квалифицированные разработчики. Если обозначить: А — уровень квалификации команды разработчиков, принимающих участие в разработке модуля (А — может быть определенно экспертным путем, 0&lt;А&lt;=1); В — уровень квалификации команды разработчиков, принимавших участие в создании аналогичного по функциональности модуля, взятый из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/1.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А&lt;=1; 0&lt;X&lt;=1.</span><br />
<span>В разработке данного модуля принимал участие один человек. Его уровень – юниор – оценивается единицей. Команда разработчиков предприятия имеет уровень – опытный – оценивается числом 2.</span><br />
<span>X =A/B = 1 / 2= 0,5</span><br />
<span>Метрика &#8220;Документирование модуля&#8221;. Как правило, более весомые модули должны иметь больший объем документации. Если обозначить: А — суммарный объем документов, описывающих анализируемый модуль; В — суммарный объем документов аналогичного по функциональности модуля, взятый из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/2.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А;0&lt;X&lt;=1</span><br />
<span>Под документацией будем подразумевать всю информацию, касающуюся конкретно данного модуля.</span><br />
<span>Пусть А будет включать только список файлов, позволяющих использовать модуль на сторонних аппаратных средствах. Их будет 5.</span><br />
<span>B – будет включать тот же список необходимых документов. Но добавятся три новых: ТЗ, спецификации и доклад руководству.</span><br />
<span>X =A/B = 5/ 8= 0,625</span></p>
<p><strong><span>Отказоустойчивость:</span></strong><br />
<span>Метрика &#8220;Тестовые наборы модуля&#8221;. Как правило, более весомые модули имеют большее количество тестовых наборов данных. Если обозначить: А — количество тестовых наборов разрабатываемого модуля; В — количество тестовых наборов аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/3.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А;0&lt;X&lt;=1</span><br />
<span>Так как объём исходного модуля и модуля организации-разработчика почти различаются, функционал также будет различен и кол-во тестовых наборов будет не одним и тем же. Организация-разработчик создала более масштабную программу с клиентским уклоном.</span><br />
<span>А = 1</span><br />
<span>B = 2</span><br />
<span>Х = А/В = 0,5</span><br />
<span>Метрика &#8220;Время тестирования модуля&#8221;. Как правило, более весомые модули тестируются более продолжительное время. Если обозначить А — время тестирования разрабатываемого модуля; В — время тестирования аналогичного по функциональности модуля, взятое из статистических данных организации-разработчика программного средства, то числовую оценку метрики можно найти по формуле</span><br />
<span>X =</span><img src="https://content.snauka.ru/web/98945_files/4.gif" alt="" width="124" height="53" /><br />
<span>При этом справедливо 0&lt;А; 0&lt;X&lt;=1.</span><br />
<span>Предположим, что разработчик исходной программы тестирует код белого ящика, а разработчик-тестировщик организации – код черного ящика.</span><br />
<span>Тогда параметр А будет равен 12 секундам.</span><br />
<span>Параметр В будет равен 600 секундам.</span><br />
<span>X = А/В = 0,02</span><br />
<span>Оценку надёжности программного средства будем проводить по формуле:</span></p>
<p><img src="https://content.snauka.ru/web/98945_files/4(1).gif" alt="" width="27" height="22" /><span>=</span><img src="https://content.snauka.ru/web/98945_files/4(2).gif" alt="" width="98" height="22" /><span>.</span><span>, где n – кол-во модулей в программном средстве</span><br />
<span>Si – вес i-го модуля</span><br />
<span>Pi – оценка надежности i-го модуля</span></p>
<p><img src="https://content.snauka.ru/web/98945_files/5.gif" alt="" width="18" height="28" /><span>=</span><img src="https://content.snauka.ru/web/98945_files/5(1).gif" alt="" width="110" height="65" /><span>,</span><img src="https://content.snauka.ru/web/98945_files/5(2).gif" alt="" width="26" height="28" /><span>=1-</span><img src="https://content.snauka.ru/web/98945_files/6.gif" alt="" width="138" height="32" /><br />
<span>Для оценки надёжности i-го модуля данную формулу использовать не будем, т.к пользователь никаких данных не вводит. Программа запускается при нажатии кнопки Run.</span><br />
<span>Программным продуктом является сама игра Тетрис, написанная на java. Её модулями являются классы. Их всего восемь. Пользователи игры доступа к модулям не имеют. Имеет доступ только сам разработчик и тестировщик. Поэтому будем рассматривать программный продукт с точки зрения тестировщика.</span><br />
<span>Пусть вероятность просмотра модулей равна соответственно 0,05;0,1;0,05;0,4;0,05;0,25;0,05;0,05.</span><br />
<span>Вероятность ошибки возможно в самых крупных по числу строк модулях. Это 4 и 6 модули. В четвёртом модуле произошла ошибка типа Medium, а в шестом – типа High.</span><br />
<span>Вес ошибок Priceless, High, Medium, Low, None, Detrimental соответственно равны 0,4; 0,25; 0,2; 0,1; 0,04; 0,01.</span><br />
<span>Тогда оценка надежности всех модулей будет равна:</span><br />
<span>P = 1 – (0 * 0,05+0*0,1+0*0,05+0,2*0,4+0*0,05;0,25*0,25;0*0,05;0*0,05)</span><br />
<span>P = 1 – 0,1425 = 0,8575</span><br />
<span>Чтобы рассчитать веса модулей, сначала найдём знаменатель. Он должен равняться 1:</span></p>
<p><img src="https://content.snauka.ru/web/98945_files/6(1).gif" alt="" width="84" height="64" /></p>
<p><span>V1 = 0,356</span><br />
<span>V2 = 0,157</span><br />
<span>V3 = 0,00003</span><br />
<span>V4 = 0,025</span><br />
<span>V5 = 0,05</span><br />
<span>V6 = 0,15</span><br />
<span>V7 = 0,003</span><br />
<span>V8 = 0,1</span><br />
<span>V9 = 0,09</span><br />
<span>V10 = 0,05</span><br />
<span>V11 = 0,01897</span><br />
<span>Значения Xij возьмём из ранее найденных значений метрик:</span><br />
<span>X1 = 370/1029 = 0,356</span><br />
<span>Х2 = А/B = 0,457</span><br />
<span>Х3 = A/B = 0,036/1200 = 0,00003</span><br />
<span>X4=A/B = 1 / 8 = 0,125</span><br />
<span>X5=A/B = 3 / 4= 0,75</span><br />
<span>X6 =А/В=90/120 =0,75.</span><br />
<span>X7 =1/5 = 0,2</span><br />
<span>X8 =A/B = 1 / 2= 0,5</span><br />
<span>X9 =A/B = 5/ 8= 0,625</span><br />
<span>Х10 = А/В = 0,5</span><br />
<span>X11 = А/В = 0,02</span><br />
<span>Находим числитель по формуле </span></p>
<p><img src="https://content.snauka.ru/web/98945_files/7.gif" alt="" width="102" height="66" /></p>
<p><span>(0,356*0,356) +( 0,157*0,457) +( 0,00003*0,00003) +( 0,025*0,125) +</span><br />
<span>+(0,05*0,75) +(0,15*0,75) + (0,003*0,2) + (0,1*0,5) +(0,09+0,625) +</span><br />
<span>+ (0,05*0,5) +( 0,01897*0,02) = 0,1267+0,071+0,00000001+0,0031+</span><br />
<span>+0,0375+0,1125+0,0006+0,05+0,0562+0,025+0,0003 = 0,4829</span></p>
<p><span>Делим на единицу в знаменателе.</span><br />
<span>S = 0, 4829</span><br />
<span>Наконец находим оценку надёжности всего программного средства:</span><br />
<span>Pпс = P * S = 0,8575*0, 4829 = 0,414</span></p>
<div style="text-align: left" align="center"><strong><span>Результаты и их обсуждение</span></strong></div>
<p><span>Оценка надёжности программного средства показала, что данная программа является надёжной только на 40%.</span><br />
<span>В связи с этим рекомендуются следующие действия по увеличению надёжности ПП:</span><br />
<span>1. Проведение обширного тестирования (в особенности юнит-тесты, модульные тесты, интеграционные тесты, функциональные тесты);</span><br />
<span>2. Уменьшение числа классов (модулей программы) для лучшей производительности;</span><br />
<span>3. Постараться упростить функциональность (логику) программы, сделать код более гибким, не создавать лишнего.</span><br />
<span>4. Низкоуровневый подход к написанию кода (то есть создавать более простые структуры, методы поля, классы).</span></p>
<div style="text-align: left" align="center"><strong><span>Заключение</span></strong></div>
<p><span>В любой технике, аппаратно-программном обеспечении, системе есть шанс возникновения отказа. Отказ — событие, заключающееся в нарушении работоспособ­ного состояния объекта. В зависимости от целей исследования отказы подразделяют на: независимые и зависимые; внезапные и постепенные; параметрические и функциональные; конструкционные, производственные и эксплуатационные; перемежающие, сбои и т.д. Если пользователь (потребитель, покупатель, заказчик) хочет, чтобы его устройство прослужило ему как можно дольше, производитель обязан произвести оценку продукта по вышеуказанным критериям.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2022/11/98945/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
