МЕТОД ДІАГНОСТИКИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Наукові журнали Національного Авіаційного Університету
View Archive InfoField | Value | |
Title |
МЕТОД ДІАГНОСТИКИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Method for object-oriented software diagnostic Mетод диагностики объектно-ориентированного программного обеспечения |
|
Creator |
Нечай, О.С.; Національний авіаційний університет
|
|
Subject |
дефекти проектування; об’єктно-орієнтоване проектування; правила проектування; якість програмного забезпечення
design flaws; design rules; object-oriented design; software quality дефекты проектирования; качество програмного обеспечения; объектно-ориентированное проектирование; правила проектирования |
|
Description |
Запропоновано метод діагностики об’єктно-орієнтованого програмного забезпечення, який дозволяє інженеру відстежувати еволюцію дефекту проектування і в результаті виявити найбільш небезпечні дефекти або дефекти на ранній стадії розвитку, які можуть стати небезпечними в майбутньому.
During software maintenance changes are introduced often in harsh terms and conditions of limited resources. As a result, its structure degraded and, consequently, it becomes difficult to understand and modify. This phenomenon is known as software decay and is extremely harmful, as tends to be unnoticed at first, but then grow with time. Therefore the problem of developing methods and diagnostics software is an issue.The purpose of the paper is to develop a method of object-oriented software diagnostic to detect design defects in the phase of their appearance and monitoring their development. For achieve a purpose following tasks are supplied and solved: develop a metamodel that enables to perform analysis of design defects history based on it; develop a set of graphics to facilitate the tracking of defects in various aspects; determine which tasks may be solved by studying graphic images.The essence of method of object-oriented software diagnosing is to monitor the design defects. The method is implemented by using the proposed meta-history of design flaws (DDHM - Design Flaws History Model) object-oriented software and multidimensional visualization of defects of the design elements at various levels of abstraction. In DDHM first defect is modeled as a separate entity, able to change their characteristics with time. Considered the following quantitative characteristics of the defect: the degree of deficiency, symptoms of defect intensity and average intensity of the defect symptoms.Analysis of graphic images give next opportunities: highlight the most dangerous defects, a more efficient allocation of resources aimed at supporting the maintenance of software; identify restructuring - information on where and when the restructuring of the software necessary for understanding how and to some extent, why the structure of the software was modified; implement early detection of defects, using information on the development of defects from version to version, with maintenance engineers can diagnose the defect in the early stages of development and adjustment of working with maintenance, so as to prevent the need for restructuring in the future; determine the circumstances of the emergence and development of the defect - the modern tools of automation software life cycle, such as Microsoft Visual Studio Team System, store data about all the changes the source code, for example, who brought these changes and why, so it is possible to determine who, and because of what requirements made defect.To implement the method we developed diagnostics software SEM (Software Evolution Miner). При сопровождении программного обеспечения изменения зачастую вносятся в жестких условиях ограниченных ресурсов. В результате его структура деградирует и, следовательно, становится трудной в понимании. Предлагаемый метод диагностики объектно-ориентированного программного обеспечения позволяет выявлять дефекты проектирования на стадии их возникновения и контроля развития. Метод реализован с помощью предлагаемой метамодели истории дефектов проектирования (DDHM – Design Defect History Model) объектно-ориентированного программного обеспечения и многоаспектной визуализации дефектов проектирования элементов конструкции на различных уровнях абстракции. Анализ графического изображения позволяет выделять наиболее опасные дефекты, более эффективно распределять ресурсы, направленные на сопровождение программного обеспечения, определять реструктуризацию − информацию о том, где и когда переделано программное обеспечение, необходимое для понимания, каким образом и до какой степени, почему была изменена структура программного обеспечения, осуществлять раннее обнаружение дефектов, используя информацию о развитии дефектов от версии к версии, с помощью которой инженеры могут диагностировать дефекты на ранней стадии развития и адаптировать работы по сопровождению для предупредупреждения необходимости реструктуризации в будущем, выяснять обстоятельства возникновения и развития дефектов. Современные инструменты автоматизации жизненного цикла программного обеспечения, такие, как Microsoft Visual Studio Team System, хранят данные о всех изменениях исходного кода, например, кто внес изменения и почему. Для реализации метода разработано средство диагностики программного обеспечения SEM. |
|
Publisher |
National Aviation University
|
|
Contributor |
—
— — |
|
Date |
2010-01-01
|
|
Type |
—
— — |
|
Format |
application/pdf
|
|
Identifier |
http://jrnl.nau.edu.ua/index.php/visnik/article/view/1831
10.18372/2306-1472.42.1831 |
|
Source |
Proceedings of the National Aviation University; Том 42, № 1 (2010); 172-180
Вестник Национального авиационного университета; Том 42, № 1 (2010); 172-180 Вісник Національного Авіаційного Університету; Том 42, № 1 (2010); 172-180 |
|
Language |
ru
|
|
Rights |
// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e
Автори, які публікуються у цьому журналі, погоджуються з такими умовами:Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису роботи, як до подання цього рукопису до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e |
|