Первая страница
Наша команда
О нас

    Головна сторінка

О. К. Юдін, директор Інституту комп’ютерних інформаційних технологій, д-р техн наук, професор

О. К. Юдін, директор Інституту комп’ютерних інформаційних технологій, д-р техн наук, професор

Дата конвертації10.03.2017
Розмір3.1 Mb.
1   2   3   4   5   6   7   8   9   ...   16


UDC 004.415.2.045 (043.2)

Chykurov M.V.

National Aviation University, Kyiv


Software development process is rather complicated and time-consuming. It involves different parts of the IT sphere, which are equally important. That is why well-established process, teamwork and understanding are critical success factors depended on the people working in any company. Therefore, small companies and large ones are not interested in losing their resources in vain spent on development if quality assurance poorly organized. Misunderstanding between workers is one of the most dangerous aspects of human factors in this process.

During testing some enexpected situations can be occurred when it is hardly to determine most rational way or algorithm of fixing bugs in software. Correct prioritization in solving such kind of issues is at a premium.

The implementation of software standart can help teams to determine main peculiarities of bugs and classify them. With the help of classification, it is easily to understand how to solve certain problems. Using the experience gained earlier while working on the same bugs time and resources spent on solving these errors will be reduced.

As it is shown in ISO/IEC 25010:2011 standart, bugs or mistakes can be classified with the software product quality model (Fig.1). Using these characteristics can be very helpful because each of them is described in standart and main attributes of these characteristics can simplify as search of critical bug so their solution.

Figure 1 Software product quality model

Nevertheless, human factor can’t be reduced fully, but the help of implamantation some kind of rules of bug classification, level decrease of misunderstanding between QA and developers can be achieved.
Scientific supervisor – O.V.Cebanyuk, Ph.D., associate professor

UDC 004.415.2.045 (043.2)

Dyshlevyy O. P.

National Aviation University, Kyiv


Metrics are analyzed and they provide a dashboard to the management on the overall health of the process, project and product. As a quality assurance process, a metric is needed to be revalidated every time it is used. Software quality consists of two levels: intrinsic product quality and customer satisfaction. Intrinsic product quality is measured by the number of “bugs” in the software or by how long the software can run before encountering a “crash”.

Two leading firms that have placed a great deal of importance on software quality are IBM and Hewlett-Packard. They measure: capability or functionality, usability, performance, reliability, install ability, maintainability, documentation, and availability. Some of these factors conflict with each other, and some support each other. Motorola’s software metrics program is well articulated by Daskalantonakis. By following the Goal/Question/Metric, goals were identified, questions were formulated in quantifiable terms, and metrics were established. The goals and measurement areas identified by the Motorola Quality Policy for Software Development (QPSD). Product companies may use more or fewer quality parameters and may even weight them differently for different kinds of software or for the same software in different vertical markets. In recent years the function point has been gaining acceptance in application development in terms of both productivity (e.g., function points per person-year) and quality (e.g., defects per function point). It does address some of the problems associated with LOC counts in size and productivity measures, especially the differences in LOC counts that result because different levels of languages are used.

The mean time to failure (MTTF) metric is most often used with safety-critical systems such as the airline traffic control systems, avionics, and weapons. Gathering data about time between failures is very expensive. It requires recording the occurrence time of each software failure. It is sometimes quite difficult to record the time for all the failures observed during testing or operation. To be useful, time between failures data also requires a high degree of accuracy.

The defect density metric. The general concept of defect rate is the number of defects over the opportunities for error (OFE) during a specific time frame The denominator is the size of the software, usually expressed in thousand lines of code (KLOC) or in the number of function points. In terms of time frames, various operational definitions are used for the life of product (LOP), ranging from one year to many years after the software product’s release to the general market.

Historically software quality metrics have measured exactly the opposite of quality—that is, the number of defects or bugs per thousand lines of code. In product companies the most useful quality metrics are such product quality metrics: Mean Time to Failure and Defect Density.

Scientific advisorSidorov N. A., Doctor of Sciences (Technic), professor

UDC 004.413 (043.2)

Grinenko O.O., Senior Lecturer

National Aviation University, Kyiv

Maturity of software ecosystems

Software ecosystem is a set of actors functioning as a unit and interacting with a shared market for software and services, together with the relationships among them. These relationships are frequently underpinned by a common technological platform or market and operate through the exchange of information, resources and artifacts. The transaction between two software vendors is centered around software components and software services. In our view, a set of actions to identify the stage of maturity of ecosystems include: 1. Calculation of value γ – an indicator characterizing the ratio of rare and widespread species in the dynamics for each region for all periods of observation; 2. Analysis of trends in this indicator from the position of detection innovative development of potential; 3. Determination of maturity of the innovation ecosystem specific region. Step by step calculation of determining the dynamics of first step of the indicator γ includes a number of stages, we have considered on the example data of Silicon Valley: 1) On the basis of data on the number of companies and types of activity, is performed grouping and counting of organizations belonging to a certain type of activity; 2) Kinds of activities presented in this sample an equal number of companies are combined into groups (groups of species). 3) Groups are arranged in order of decreasing in them kinds of activities, with the result that appears a distribution kinds of activities by repeatability; 4) Logarithm of obtained values, provided that X is taken the number of organizations represented with a certain number of species, and for Y – is the number of species that involve an appropriate number of organizations, grouped in ascending order; 5) Calculation with method of the linear regression of the characteristic exponent γ.; 6) Iteration of the listed above steps for each year. As this exponent stands «γ», described by the formula:. For the regions which is studying, the formation of this type of distribution, the following "tailored" indicators: Ω(x) – the number of activities of the company size (number) x; W(i) – the number of activities of the companies represented the i-th number of companies; W0=W(1) – the number of activities of companies, represented by unique species (each species is represented by a single company);  – normalization multiplier; V – total number of species; x[1,∞] – continuous analogue of the number of species i, i = [x] (the number of companies (i = [x]), presented a certain number of species (W (i)); γ – indicator, measure of the ratio of rare and widespread species determined empirically.

Scientific advisorSidorov N. A., Doctor of Sciences (Technic), professor

УДК 656.022(043.2)

Khvoya D.O.

National aviation university, Kyiv
Along with the development of information technologies throughout the world, transportation systems heavily use software for improving their safety and efficiency. Various mathematical applications find their place in providing high-speed, safe and efficient transportation systems. For urban transportation, genetic algorithms are used in order to construct the most profitable route. A system is given a road graph of some city (it can be either inputted directly or “scanned” from some city map file).

Within the conditions of lack of data about the inhabitants of districts, through which a road network is laid, the problem of a certain route profitability determination raises. One way to solve this is to apply heuristic, genetic algorithm: firstly, a set of random routes is generated, then they are experimentally checked on profitability: there may be calculated profitability for one day or average profitability for a period of time (depending on preferences of the system).

In urban transport, a small device can be integrated for calculating summary of income from passengers. Then, this data is transferred to a server (along with information about fuel spent and other expenses). The server, having data for all members of route set, calculates profit for each and sorts them by profitability. Then, a certain part of a set is “self-crossed”: for example, two routes may be selected with routes (a,b,c,d,e) and (f, g, h, i, j) and, if chosen to cross on 3-rd “cromosome”, we will obtain a route (a, b, c, i, j); by analogy, other pairs of “best” routes are crossed with each other, producing some new routes. After this, an already renewed set is again sorted, and some part of it (those with the hightes profitability) is considered a “2nd generation” of routes. The process is repeated n times, where n is under normal conditions inputted by a user of the system.

Several problems may arise for such a system. Firstly, if there’s no path between c and i (from example above), we can’t construct a route. So, either another candidate for a “parent” is selected, or some other solutions will be needed.

Also it must be mentioned that in practice it would be more efficient to just get data about inhabitans, their usual routes and just calculate the most efficient route manually. But along with the development of transport technologies and IT, a possibility for such a system to be efficient and useful will surely arise some day.
Scientific advisor – E.A.Avramenko, ph.D, associate professor

UDC 004.415.2.045 (043.2)

Kostyuk M.A.

National Aviation University, Kyiv

Software architecture of time management system in test driven development approach

The problem of choosing of the proper application architecture, as well as the proper development methodology plays a very important role in the creation of information systems. In order to improve the quality of the created software various techniques and development technologies are used. However, the choice of a particular technique and technology is directly dependent on the application.

In order to develop time management system (TMS) must be taken into account several factors: who guided system, the importance of data security in the system, how need to be used the system, on which machines the system will operate etc. The choice of the architecture of such a system is directly dependent on these factors.

For systems of such level typically used several architectural patterns such as Service Oriented Architecture (SOA) and N-tired Architecture. A technique for developing such a system typically used Test Driven Development (TDD).

The use of such architectural patterns as SOA and N-tired Architecture will split the application into multiple parts, that is a good thing in the security of such informational systems, and to minimize the load of the server on which the system is deployed. The database system is on the one server, a web service that handles business logic is on the other, advanced web client – on the third server, thus preserving safety of a particular part of the system or data as long as possible at any level of attacks. Also, with today’s computer hardware, a good practice is to implement all data manipulation on the web client directly from the user part (implementation of logic in javascript). It also allows to unload the server on which the system is deployed.

With regard to methodology development, TDD approach is the best choice in terms of quality assurance of time management system. At the heart of TDD lies development of test scenarios of methods (separate function), then write test covering the desired change, and then write code that will allow to pass the test, and finally refactor the new code to the appropriate standards. In such a way implements initial testing of the system, which in turn provides defining of bugs and defects on the earliest stahes of the development process.

Thus use of architectural patterns such as SOA and N-tired Architecture, along with development methodology TDD will create effective and reliable software with ability to expand the system in any direction, while providing good security and maintain the integrity of all its components and data and unloading of servers due to the transfer of logic on the client machines allows the system operate with the largest possible number of users with minimal hardware.

Scientific supervisor – O.V.Cebanyuk, Ph.D., associate professor

UDC 004.415.2.045 (043.2)

Krainii M.K.

KNUTCT n.a. K.Karyi, Kyiv


A graph G = (V, E) consists of a (finite) set denoted by V, or by V(G) and a collection E, or E(G), of unordered pairs {u, v} of distinct elements from V. Each element of V is called a vertex or a point or a node, and each element of E is called an edge or a line or a link.

Let’s consider typical tasks and their solutions that should be solved to develop an application for graph visualization

  1. To visualize a set of V. In order to perform this task it is necessary to proceed OnMouseDown() event in script which is associated with plane. Define an intersection point between Ray that was started from the main camera of the scene and the plane. To instantiate the Prefub, containg sphere for the vertex representation, LineRenderer for edges representation in this point. Also property Tag should be set. It allows to mark all objects from the scene that are belongs to collection of vertexes.

RaycastHit hit;

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

if (Physics.Raycast(ray, out hit)){ Instantiate (pref,hit.point,Quaternion.identity);}

  1. To design a process of connecting V={v2,v2,…,vn} by means of elements from the set E. To define which vertex was marked for connection with the current vertex. In order to do this script variable IsClicked is check by means of calling Method Getcomponent() and obtaining reference to this script. If one vertex has more than one edge in is necessary to create nested GameObject to Prefub which contain a graph vertex

GameObject [] go = GameObject.FindGameObjectsWithTag ("Player");

for (int i = 0; i < go.Length; i ) {

Laser_Vertex a = go [i].GetComponent ();

if (a.IsClicked == true) { a.IsClicked = false; GameObject gob = new GameObject(this.name nest.ToString ()); gob.transform.position = this.transform.position;

gob.transform.SetParent(this.transform); nest ;

gob.AddComponent ();

LineRenderer lr = gob.GetComponent ();

lr.SetPosition (0, gob.transform.position);

lr.SetPosition (1, go[i].transform.position);; } }

  1. Editing the position of graph vertex in the scene

In order to move graph vertex the event OnMouseDrag() is called. One more task is to move all edges after dragging of vertex is finished. In order to do this one should consider that elements of LineRenderer component are not accessible. That why while link between vertexes are set it is necessary to prepare lists of vertexes that has connection with the current vertex. After setting new position of some vertex LineRenderes are redrawn automatically

Scientific adviser Chebanyuk O.V., PhD, associate professor

UDC 004.415.2.045 (043.2)

Marinskaya A.V

National Aviation University, Kiyv

Peculiarities Of designing application using COMPONENT – oriented ARCHITECTURAL STYLE in Unity

Unity – is a powerfull engine for creating and designing cross platform mobile applications. Developing software using Component-oriented artitectural style it is necessary to provide the communication between components obtaining access to their elements. Let’s consider typical tasks of component communication using the Component-oriented architectural style in Unity when envinroment of development is MonoDevelop.

Components interaction task

Unity solutions

Calling method of other class

  1. Using GetComponent<> method

  2. Using GameObject.Find() method and its overloading

Call method of other object thought interface

  1. Make Interface inherit MonoBehaviour class

  2. Using GetComponent method obtain all scripts that are attached to concrete GameObject

  3. Applying “is” operator try to convert any script to interface (It will be possible if class inherits this interface)

  4. Calling considering method

Checking of property value when the property belongs to other script

Using SendMessage function

Processing component events

  1. Defining the type of event according purpose:

    • Mouse events

    • Network events

    • Collider events

    • Application events

    • Scene events

    • Object event

    • Particle system event

2. Proceed event paying attention that MoNo
does not support intellisence tips.

The note: Unity has limited types of event in comparasion with .Net Framework or JRE

Debuggin applications

Using class Debug with built in Unity console or changing and observing properties of GameObject components runtime

Scientific adviser Chebanyuk O.V., PhD, associate professor

UDC 004.415.2.045 (043.2)

Povaliaiev D.V.

National aviation university, Kyiv


When requirement analysis is done scenarios describe the behavior of software. Typical traces of game scenarios that are met to design pattern observer are:

  • some actions of different objects depend on the some key game object or some event;

  • it is not predictable in the stage of game designing which game objects will form a group of depending game objects;

  • the nature or algorithm of dependent actions are different.

Pict. 1 Class diagram of design pattern Observer

When design pattern Observer is realized it is necessary to call method “Update” of object which is an instance of class ConcreteObserver from instance of class ConcreteSubject (pict. 1).

In order to archive this goal in Unity environment one should consider that this game engine supports component oriented architectural style. That is why in order to call methods of other class through interface it is necessary to get other components.

Obtain a collection of depending GameObjects

using System.Collections.Generic;

a = new List ();

a.Add (Gobj);

Obtain a set of methods that belong to interface

foreach (GameObject s in a) {

MonoBehaviour[] list = s.GetComponents ();

Call method of class that inherits an Interface by means of type casting

foreach (MonoBehaviour Mb in list) {

if (Mb is IShoot) {

IShoot sh = (IShoot)Mb;

sh.shoot ();}

Scientific adviser Chebanyuk O.V., PhD, associate professor

UDC 004.4:111.1 (043.2)

Sidorova Nika

National aviation university, Kyiv


A great number of source code lines are still written all around the globe. For example, Boeing 787 software consists of 12 million lines of code, а Human Genom Model – 3.3 billion lines of code. This code is usually maintained for a long period of time, so it is read, edited and read again. Therefore, the task of the clear texts development is still topical. The solution of this task is provided by the implementation of programming styles. Programming style is the idea existing for a period of time and is used in the process of software texts development. There are many different programming styles. Approaches to the automated application of programming styles (lingual and technological) which are known for today are based on the use of databases and are not flexible and efficient enough.

The method which uses ontologies for the solving of the tasks of programming styles application is proposed. So, three ontologies are developed. The first ontology introduces the programming styles describing the types of styles, types and construction of the rules of styles. The second ontology introduces the styles of programming languages. From one to several styles have been developed for the programming languages. The ontology describes the construction of specific languages’ styles. The third ontology introduces programming languages (operational basis and software constructions). In the process the six-level view of the software construction (lexeme, operator, sub-program, class, module and megamodule) is used. Ontologies are described in descriptive logic, their resolvability is verified and they are used for the solving of theoretical and practical tasks.

Theoretical tasks are the ones applied for the verification of completeness of style (in association with programming languages, certain language and syntax requirements, semantics and pragmatics), comparison of programming styles for one language, derivation of the features of styles which are not represented by the ontologies. Practical tasks associated with the development of a tool providing the research and application of programming styles for specific languages. This tool is the software developer’s assistant and is deveoped on the basis of a well-known application Protégé by the development of own Web-application.

The developed ontology is uploaded in the Protege and is used by the Web-application. In addition the descriptions of programming styles for specific programming languages are located in the Web-application. The tool operates in two modes – solving of theoretical tasks for programming styles and the use of programming styles in writing software texts. In the second mode, the instrument provides the software developer with a high-level programming knowledge of the used programming style. Preliminary experiments have shown the effectiveness of the proposed method.

Науковий керівник – В.А.Резніченко к.фіз.-мат.н.

УДК 004.4:629.73(043.2)

Безушко Р.В.

Національний авіаційний університет, Київ


Современные технологии разработки программного обеспечения (ПО) систем включают в себя сложную комбинацию взаимосвязанных процессов создания этих систем.

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

БД проекта формально может быть представлена в виде совокупности строго определенных xml документов (например, требований, исходных кодов и свей сопроводительной документации проектов).

Актуальность автоматизации жизненного цикла следует из требований осуществления непрерывной поставки (continuous delivery) ПО. Повышение эффективности такого процесса особенно актуально для авиационного ПО. Что в свою очередь связанно с ускоренным производством сложного компьютерного оборудования в самолетостроении.

Целью работы служит создание СУДТ – системы управления долгоживущими транзакциями, ориентированной на поддержку разработки и сопровождения ПО систем на основе современного подхода непрерывной интеграции (continuous integration) и непрерывной поставки.

Теория и практика подхода к решению задач автоматизации проектирования с использованием модели долгоживущих транзакций (ДТ) освещался в литературе неоднократно. ДТ рассматривается как активность, реализующая проект от начала до конца его завершения в виде последовательности из общей совокупности элементарных запросов (ЭЗ) к информационной базе (ИБ) проекта с соблюдением транзакционных правил ACID (Atomicity, Consistency, Isolation, Durability).

Ветви ДТ, реализующие его отдельные этапы или действия, выполняются путем обращения к соответствующим сервисам. Все такие действия составляют множество элементарных запросов, из которых складываются вложенные последовательности (подпоследовательности) долгоживущей транзакции. Каждый ЭЗ может производить изменение ИБ проекта. Целям обеспечения целостности ИБ проекта должна служить система управления долгоживущими транзакциями (СУДТ).

Науковий керівник – М.В. Оленін,к.ф.-м.н, доцент

УДК 519.6 512 681:51 (043.2)

Вечерковская А.С.

Национальный авиационный университет, Киев

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

Исследование и описание алгебраических поверхностей и их деформации (например, деформации упругих оболочек) под действием электромагнитных и других полей важны в электронике и авиации. Мы представляем онтологию задач и методов описания алгебраических поверхностей и их деформаций под действием электромагнитных полей и некоторых других структур. Это наша предметная область. Мы используем понятийное представления онтологии и, например, для понятия "поверхность" рассматриваем ее алгебраическое представление, дифференциальное и интервальное представление. Под интервальным представлением мы понимаем, интервальное расширение поверхности. Теоретико - категорийное представление онтологии [1-2] и интервальных моделей [3] дает компактное представление предметной области и распространяется возможные проблемные методы решения. В рамках работы мы строим элементы интервального анализа на поверхности. Онтологические и интервальные модели будут представлены в следующих работах.

Список літератури

1. Shor N.Z. Nondifferentiable optimization and polynomial problems. Boston: Kluwer Acad. Publ., 1998. – 394 p.

2. Глазунов Н.М. Теоретико-категорный метод проектирования онтологий формальной теории / Материалы IX международной научно-технической конференции «АВІА-2009» - Киев: НАУ, 2009 Т.1. С.5.26-5.29.

3. Glazunov N.M. Interval computations and their categorification // Numerical Algorithms. - 37. - 2004. - P.159-164.

Научный руководитель – Н.М. Глазунов, д.ф.м.н., проф.
УДК 004.4 (043.2)

Жигаревич О.К.

Національний авіаційний університет, Київ


Розробка програмного забезпечення є глобальним явищем, яке існує в формі соціально-технічних систем. Сучасне програмне забезпечення характеризується масовістю, складністю, швидкою інтеграцією у соціальні відносини, застосуванням нових принципів при формулюванні задач, проектуванні, розробці, супроводі, обміні та використанні. Взаємодія різних сфер впливу на програмне забезпечення привела до застосування нових підходів.

Процес поєднання програмного забезпечення і суспільства викликає потребу у використанні додаткових понять і концепцій для вивчення і опису. Одним із шляхів вирішення даної проблеми є застосування концепції екосистем програмного забезпечення. Саме тому екосистеми можуть стати додатковим інструментом для дослідження навчального програмного забезпечення.

За останні кілька років поняття «екосистема програмного забезпечення» і супутні терміни активно використовуються розробниками і дослідниками програмного забезпечення. Більшість з них застосовують поняття екосистема програмного забезпечення позначаючи ним системи, що включають підприємство розробника, його програмне забезпечення та партнерів.

Дослідження екосистеми навчального програмного забезпечення на даний час є дуже актуальним, тому що використання навчального програмного забезпечення у вищих навчальних закладах України дає багато переваг.

Ви́щий навча́льний за́клад (ВНЗ, виш, вуз) - освітній, освітньо-науковий заклад, який заснований і діє відповідно до законодавства про освіту, має один з чотирьох рівнів акредитації, реалізує відповідно до наданої ліцензії освітньо-професійні програми вищої освіти за певними освітніми та освітньо-кваліфікаційними рівнями, забезпечує навчання, виховання та професійну підготовку осіб відповідно до їх покликання, інтересів, здібностей та нормативних вимог у галузі вищої освіти, а також здійснює наукову та науково-технічну діяльність.

Метод дослідження літератури, що розглядається полягає в тому, щоб забезпечити найкращий підбір основної літератури щодо екосистем навчального програмного забезпечення. Шляхом здійснення систематичного аналізу та дослідження навчальної, монографічної та наукової літератури, законодавчої та нормативної бази відповідно до теми виконано порівняльний аналіз стандартів пошуку інформації на різних пошукових сайтах Європи, США, та України.

Систематичний огляд літератури (Systematic mapping study) – це один з методів дослідження літератури, що останнім часом набуває все більшого поширення. Це метод, що спочатку був дуже поширеним у сфері медичних досліджень, однак, не використовується значною мірі при проведенні досліджень програмного забезпечення. Systematic mapping study являє собою структурний тип дослідження надрукованих публікацій та наукових робіт, їх класифікування та представлення результатів у вигляді мапи. Таким чином, будується свого роду візуальний підсумок-огляд, так звана мапа результатів.

Наведіть результати застосування методу для літератури, щодо екосистем навчального програмного забезпечення.

Науковий керівник – Сидоров М.О., д.т.н., проф.

УДК 004.4 (043.2)

Зулінський О.С.

Національний авіаційний університет, Київ

Мультимедійна модель розширеного алгоритму Евкліда

Безпека авіаційних систем залежить від багатьох факторів, зокрема, від рівня навченості персоналу, сучасності обладнання, якості обслуговування даного обладнання. Не менш важливу роль грає саме навченість персоналу, що закладається у стінах університету.

Простота та легкість подання матеріалу, для кращого його сприйняття, чи не найбільша проблема у системі навчання. Наочне представлення будь-якого матеріалу значно полегшує його сприйняття.

Криптографічні перетворення з відкритим ключем отримали широке застосування в різних інформаційно-телекомунікаційних системах. Найбільш обрахунково складною операцією є операція мультиплікативного інвертування. Зокрема, обчислення зворотного за модулем числа є важливим кроком у методі шифрування з відкритим ключем у криптосистемі RSA.

Розширений алгоритм Евкліда дозволяє знаходити розв’язки рівняння виду , де найбільший спільний дільник чисел  та .

Найбі́льший спі́льний дільни́к (НСД) двох або більше невід'ємних цілих чисел - найбільше натуральне число, на яке ці числа діляться без остачі.
Цей алгоритм є особливо корисним, коли  та  є взаємопростими числами, тоді  – мультиплікативно інвертне щодо  за модулем , а  – мультиплікативно інвертне щодо  за модулем . Алгоритм заснований на циклічній модифікації двух інваріантів та , для деяких  та , що обраховуються неявно, а  – зведений поліном. Метод обчислює вираз виду  для остачі на кожному кроці  алгоритму Евкліда. Кожний наступний номер  можна записати як остачу від ділення попередніх двох таких чисел, цю остачу можна виразити, використовуючи частку  так:


Шляхом перетворень кінцеві формули набувають наступного виду:



початкові коефіцієнти , , , і . Такий алгоритм широко застосовується у криптографії.

Наочне представлення розширеного алгоритму Евкліда значно полегшить розуміння як самої операції мультиплікативного інвертування, так і методу знаходження мультиплікативно інвертних чисел.

Мультимедійна модель розширеного алгоритму Евкліда дозволяє покроково продемонструвати знаходження мультиплікативно інвертного числа, а також найбільшого спільного дільника для заданих двох чисел за допомогою розширеного алгоритму Евкліда. Програмна реалізація виконувалась на мові високого рівня C#, у середовищі програмування Microsoft Visual Studio 2013.

науковий керівник – М.Ф.Радішевський, к.т.н., доцент

УДК 004.83 (043.2)

Климюк М.М.

Луцький Національний технічний університет, Луцьк


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

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

Основними методами відбору, які використовуються організаціями, є співбесіда, аналіз документів, тестування. Кожен метод має свої переваги та недоліки та не дає повної і точної інформації про кандидата на посаду.

Для автоматизації процесу управління підбором персоналу неможливо розробити універсальну формалізовану модель в силу специфічних вимог до претендентів з боку різних організацій та установ. У той же час підвищити ефективність управління цим процесом можна шляхом створення системи підтримки прийняття рішень відповідності рівня підготовки фахівця вимогам ринку праці.

Проаналізувавши на ринку програмні продукти (PersonnelManager, «БОС-Кадровик», «Радість кадровика», «1С: Зарплата і Управління Персоналом 8.0» тощо) слід зазначити, що для забезпечення повної інформаційно-аналітичну підтримки прийняття рішення з відбору персоналу доречно використання нечіткої логіки, що дозволить формалізувати знання експертів при формуванні вимог роботодавця до посади.

Моделі нечіткої логіки, а саме бази нечітких знань зручно будувати у редакторі Fuzzy Logic Toolbox, що є вбудованим додатком до програмного пакету Mathworks Matlab. Сформувавши базу нечітких знань можна визначити оцінку лише одного експерта. Вона містить у собі шість вхідних нечітких змінних, що відображають вимоги до кандидата на посаду та одну вихідну нечітку змінну – показник відповідності посаді.

Для більш точних розрахунків потрібно використовувати дані від двох і більше експертів. Для цього можна використати пакет Simulink, що також входить до програмного комплексу Mathworks Matlab. Для знаходження середнього значення показника ефективності можна користуватися формулою середнього арифметичного значення (якщо всі експерти однаково компетентні) або середнього зваженого (якщо експерти мають різну компетентність).

На основі отриманих результатів, складається рейтинг кандидатів на посаду.

Науковий керівник – К.В.Мельник, к.т.н., доцент
УДК 004.413 (043.2)

Костів М.М.

Національний авіаційний університет, Київ

Лексичний аналіз коду та інструменти розробки стилю ефективного програмування

Використання стилю ефективного програмування допомагає збільшити продуктивність роботи програмного забезпечення на існуючих ресурсах без доповнення або заміни апаратної частини.

Для розробки стилю ефективного програмування необхідно створити метод на базі конструкцій мови програмування. Відносно частоти використання конструкцій при створенні програмного забезпеченя можливо здійснювати їх відбір. Відслідкувати частоту, проаналізувати код, створити власний інструмент для аналізу статичних даних без необхідності роботи з мовною специфікацією на лексичному рівні допоможе лексер, який вбудований в мову програмування PHP. На онові лексера створено інтрумент «Аналізатор лексем» до якого подається код, який за допомогою лексичних функцій буде досліджений і результати занесені до таблиці, яка містить назву лексеми і частоту її появи. Після аналізу результатів статичних даних стає можливим виділення з усіх лексем мови програмування найпопулярніших відносно появи у коді програмного забезпечення. Так лексема «T_IF» зустрічається у коді проекту «PhpMyAdmin» 10147 разів, а лексема «T_ECHO» 1315 разів.

Для вирішення задач, які виникають під час створення коду програмного забезпечення використовують конструкції, які можуть містить в собі одну або більше лексем. Віповідно, можливо виділити і задачі, які найчастіше виникають при розробці програмного забезпечення шляхом аналізу лексем.

Розробка програмного забезпечення (англ. software engineering, software development) - це рід діяльності (професія) та процес, спрямований на створення та підтримку працездатності, якості та надійності програмного забезпечення, використовуючи технології, методологію та практики з інформатики, керування проектами, математики, інженерії та інших областей знання.
Кожна задача може мати декілька алгоритмів вирішення і може бути реалізована з використанням різних конструкцій.

Для розробки стилю ефекивного програмування використано метод, який містить наступні загальні кроки: побудова гіпотез, проведення експерименту, створення стилю.

Для проведення експерименту створено інструмент «Обчислювач і аналізтор коду PHP», який вимірює час виконання конструкцій і надає можливість порівняти, оцінити їх ефективність. На основі цих результатів формують правила стилю.

Розроблений засіб надає можливість провести аналіз файла з PHP кодом для пошуку повільних конструкцій у вихідному коді з формуванням рекомендацій.
Науковий керівник – М.М. Сидоров, д.т.н., проф.

УДК 004.896 (043.2)

Шолом П.С.

Луцький національний технічний університет, Луцьк

роботехнічна система ЗЧИТУВАННЯ ШТРИХ-КОДІВ на базі мікроконтролера ATmega328P

Робототехніка є однією із ключових наукових галузей, яка має значний вплив на розвиток економіки країни. Тому для виробництва високотехнологічних товарів і послуг та виходу з ними на світові ринки необхідне використання на підприємствах передових технічних та програмних засобів автоматизації.

Однією із задач, яку дозволяє вирішити робототехніка є автоматизація сканування штрих-кодів товарів у виробництві, торгівлі, складському господарстві. Через кожну ланку логістичного ланцюга проходить велика кількість одиниць товарів. При цьому усередині кожної ланки товари неодноразово переміщуються по місцях зберігання та обробки. Уся система руху товарів – це безперервно пульсуючі дискретні потоки, швидкість яких залежить як від потенціалу (потужності) виробництва, ритмічності поставок, розмірів наявних запасів, так і від швидкості реалізації та споживання. Для того, щоб мати можливість ефективно управляти цією динамічною логістичною системою, необхідно в будь-який момент часу мати інформацію в детальному асортименті про матеріальні потоки, що входять і виходять з неї, а також про матеріальні потоки, що циркулюють всередині системи. Як свідчить зарубіжний і вітчизняний досвід, дана проблема вирішується шляхом використання при здійсненні логістичних операцій з матеріальним потоком мікропроцесорної техніки, здатної ідентифікувати (розпізнати) окрему вантажну одиницю.

Основою системи є робот Pololu 3pi. Він є повною, високоефективною мобільною платформою, що керується C/C програмованим мікроконтролером ATmega328P фірми Atmel. Система працює на тактовій частоті 20 МГц і має 32 КБ флеш-пам’яті програм, 2 КБ оперативної та 1 КБ постійної пам’яті EEPROM. Робот є невеликим за розміром (9.5 см у діаметрі) та вагою (83 г без акумуляторів). Унікальна система живлення подає на двигуни постійний струм величиною 9.25 В незалежно від рівня заряду батареї. Регулювання напруги дозволяє роботу досягати швидкості 1 м/с, роблячи при цьому точні повороти та обертання. Середовищем розробки є програма AVR Studio.

Розроблено програмне забезпечення для мобільного агента Pololu 3pi та алгоритм, що реалізує можливість зчитування нанесеного на трек штрих-коду та перетворення його назад у символи латинського алфавіту. Дана підсистема може бути прототипом для розробки складніших систем. Наприклад, роботів, що здатні навантажувати / відвантажувати деталі машин у конкретне місце під час складального процесу, зчитуючи давачами штрих-код на деталі. Проте така система потребує складнішого апаратного та програмного забезпечення.

Науковий керівник – В.Т. Михалевич, к.т.н., доц.

1   2   3   4   5   6   7   8   9   ...   16

  • Dyshlevyy O. P. National Aviation University, Kyiv SOFTWARE QUALITY METRICS IN PRODUCT COMPANIES
  • The mean time to failure (MTTF)
  • The defect density metric.
  • Grinenko O.O.
  • Kostyuk M.A. National Aviation University , Kyiv Software architecture of time management system in test driven development approach
  • Marinskaya A.V National Aviation University , Kiyv Peculiarities Of designing application using COMPONENT – oriented ARCHITECTURAL STYLE in Unity
  • Sidorova Nika National aviation university, Kyiv ONTOLOGY–DRIVED METHOD USING OF PROGRAMMING STYLE
  • Жигаревич О.К. Національний авіаційний університет, Київ СИСТЕМАТИЧНЕ ДОСЛІДЖЕННЯ ЛІТЕРАТУРИ ЩОДО ЕКОСИСТЕМ навчального ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
  • Зулінський О.С. Національний авіаційний університет, Київ Мультимедійна модель розширеного алгоритму Евкліда
  • Климюк М.М. Луцький Національний технічний університет, Луцьк СИСТЕМА ПОПЕРЕДНЬОГО ВІДБОРУ КАНДИДАТІВ НА ОСНОВІ НЕЧІТКОЇ ЛОГІКИ
  • Костів М.М. Національний авіаційний університет, Київ Лексичний аналіз коду та інструменти розробки стилю ефективного програмування
  • Шолом П.С. Луцький національний технічний університет, Луцьк роботехнічна система ЗЧИТУВАННЯ ШТРИХ-КОДІВ на базі мікроконтролера ATmega328P