• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 42
  • 25
  • 2
  • 2
  • 1
  • 1
  • Tagged with
  • 91
  • 91
  • 25
  • 23
  • 19
  • 14
  • 13
  • 11
  • 11
  • 10
  • 9
  • 9
  • 9
  • 8
  • 8
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
61

[en] EVALUATION OF SOFTWARE QUALITY BASED ON UML MODELS / [pt] AVALIAÇÃO DA QUALIDADE DE SOFTWARE COM BASE EM MODELOS UML

ISELA MACIA BERTRAN 08 June 2009 (has links)
[pt] Um dos objetivos da engenharia de software é a construção de software com um nível de qualidade elevado com o menor custo e no menor tempo possível. Nesse contexto, muitas técnicas para o controle da qualidade de design de software têm sido definidas. Além disso, mecanismos baseados em métricas para a detecção de problemas também têm sido definidos. A maioria dessas técnicas e mecanismos foca a análise do código fonte. Porém, para reduzir retrabalho inútil, é importante utilizar técnicas de análise da qualidade capazes de detectar problemas de design já desde os modelos dos sistemas. Esta dissertação propõe: (i) um conjunto de estratégias de detecção para identificar, em modelos UML, problemas de design específicos e recorrentes na literatura: Long Parameter List, God Class, Data Class, Shotgun Surgery, Misplaced Class e God Package, e (ii) a utilização do modelo da qualidade QMOOD para avaliar design de software a partir de seus diagramas de classes. Para automatizar a aplicação destes mecanismos foi implementada uma ferramenta: a QCDTool. Os mecanismos desenvolvidos foram avaliados no contexto de dois estudos experimentais. O primeiro estudo avaliou a acurácia, precisão e recall das estratégias de detecção propostas. Esse estudo mostrou os benefícios e desvantagens da aplicação, em modelos, das estratégias de detecção propostas. O segundo estudo avaliou a utilidade da aplicação do modelo da qualidade QMOOD em diagramas UML. Esse estudo mostrou que foi possível identificar, em diagramas de classes, variações das propriedades de design, e, conseqüentemente, dos atributos da qualidade nos sistemas analisados. / [en] One of the goals of software engineering is the development of high quality software at a small cost an in a short period of time. In this context, several techniques have been defined for controlling the quality of software designs. Furthermore, many metrics-based mechanisms have been defined for detecting software design flaws. Most of these mechanisms and techniques focus on analyzing the source code. However, in order to reduce unnecessary rework it is important to use quality analysis techniques that allow the detection of design flaws earlier in the development cycle. We believe that these techniques should analyze design flaws starting from software models. This dissertation proposes: (i) a set of strategies to detect, in UML models, specific and recurrent design problems: Long Parameter List, God Class, Data Class, Shotgun Surgery, Misplaced Class and God Package; (ii) and the use of QMOOD quality model to analyze class diagrams. To automate the application of these mechanisms we implemented a tool: the QCDTool. The detection strategies and QMOOD model were evaluated in the context of two experimental studies. The first study analyzed the accuracy, precision and recall of the proposed detection strategies. The second study analyzed the utility of use QMOOD quality model in the class diagrams. The results of the first study have shown the benefits and drawbacks of the application in class diagrams of some of the proposed detection strategies. The second study shows that it was possible to identify, based on class diagrams, variations of the design properties and consequently, of the quality attributes in the analyzed systems.
62

Definição e gerenciamento de métricas de teste no contexto de métodos ágeis / Definition and management of testing metrics in agile methods context

André Abe Vicente 22 April 2010 (has links)
Métodos ágeis são técnicas adequadas para o desenvolvimento de software sujeito a mudanças constantes. Essas mudanças não devem afetar o cronograma, orçamento do projeto e devem assegurar o atendimento às necessidades do cliente. Diversos valores, princípios e boas práticas de desenvolvimento e de condução de projeto são aplicados em projetos ágeis com esse objetivo. Algumas dessas práticas são relacionadas a atividade de teste de software. Este trabalho teve como objetivo caracterizar a atividade de teste de software aplicada dentro de métodos de desenvolvimento ágil, buscando eliminar aspectos de teste não produtivos, identificando boas práticas e, principalmente, criando formas de acompanhar e melhorar continuamente a condução da atividade de teste. A partir da caracterização da atividade foi proposta a adoção de um conjunto de métricas para facilitar o seu acompanhamento e melhoria constante da mesma. Algumas dessas métricas de acompanhamento de testes foram implementadas na ferramenta Agile Testing Metrics Management (ATMM). O objetivo principal da ferramenta é gerenciar as iterações de desenvolvimento do projeto ágil e, também, exibir a evolução das métricas relacionadas ao código que está sendo testado e aos casos de teste desenvolvidos utilizando a ferramenta JUnit. Para validar a ferramenta e as métricas foram conduzidos estudos de casos com dois projetos de software de domínios diferentes que utilizaram métodos ágeis e testes de unidade / Agile methods are appropriate techniques for software development subject to constant changes. These changes should not affect the project schedule, budget and must ensure meeting the clients needs. Several values, principles and practices of project development and driving are applied in agile projects with this goal. Some of these practices are related to software testing activity. This study aimed at characterizing the software testing activity applied to agile development methods, trying to eliminate unproductive testing aspects, identifying good practices and especially creating ways of tracking and continuously improve the test activity. From this activity characterization, it was proposed an adoption of metrics set to facilitate the monitoring and constant improvement of the activity. Some of these testing tracking metrics were implemented in the Agile Testing Metrics Management Tool (ATMM). The main goal of this tool is to manage the iterations of agile project development and, also show the metrics evolutions regarding the code that have been tested and the test cases developed using JUnit. The tool and metrics were validated by case studies that were conducted with two software projects of different domains which used agile methods and unit testing
63

Investigating the applicability of Software Metrics and Technical Debt on X++ Abstract Syntax Tree in XML format : calculations using XQuery expressions

Tran, David January 2019 (has links)
This thesis investigates how XML representation of X++ abstract syntax trees (AST) residing in an XML database can be subject to static code analysis. Microsoft Dynamics 365 for Finance & Operations comprises a large and complex corpus of X++ source code and intuitive ways of visualizing and analysing the state of the code base in terms of software metrics and technical debt are non-existent. A solution is to extend an internal web application and semantic search tool called SocrateX, to calculate software metrics and technical debt. This is done by creating a web service to construct XQuery and XPath code to be queried to the XML database. The values are stored in a relational database and imported to Power BI for intuitive visualization. Software metrics have been chosen based on the amount of previous research and compatibility with the X++ AST, whereas technical debt has been estimated using the SQALE method. This thesis concludes that XML representations of X++ abstract syntax trees are viable candidates for measuring quality of source codes with the use of functional query programming languages.
64

An empirical assessment of the predictive quality of internal product metrics to predict software maintainability in practice

Wu, Xinhao, Zhang, Maike January 2020 (has links)
Background. Maintainability of software products continues to be an area of im- portance and interest both for practice and research. The time used for maintenance usually exceeds 70% of the whole period of software development process. At present, there is a large number of metrics that have been suggested to indicate the main- tainability of a software product. However, there is a gap in validation of proposed source code metrics and the external quality of software maintainability. Objectives. In this thesis, we aim to catalog the proposed metrics for software maintainability. From this catalog we will validate a subset of commonly proposed maintainability indicators. Methods. Through a literature review with a systematic search and selection ap- proach, we collated maintainability metrics from secondary studies on software main- tainability. A subset of commonly metrics identified in the literature review were validated in a retrospective study. The retrospective study used a large open source software "Elastic Search" as a case. We collected internal source code metrics and a proxy for maintainability of the system for 911 bug fixes in 14 version (11 experi- mental samples, 3 are verification samples) of the product. Results. Following a systematic search and selection process, we identified 11 sec- ondary studies on software maintainability. From these studies we identified 290 source code metrics that are claimed to be indicators of the maintainability of a soft- ware product. We used mean time to repair (MTTR) as a proxy for maintainability of a product. Our analysis reveals that for the "elasticsearch" software, the values of the four indicators LOC, CC, WMC and RFC have the strongest correlation with MTTR. Conclusions. In this thesis, we validated a subset of commonly proposed source code metrics for predicting maintainability. The empirical validation using a popu- lar large-scale open source system reveals that some metrics have shown a stronger correlation with a proxy for maintainability in use. This study provides important empirical evidence towards a better understanding of source code attributes and maintainability in practice. However, a single case and a retrospective study are insufficient to establish a cause effect relation. Therefore, further replications of our study design with more diverse cases can increase the confidence in the predictive ability and thus the usefulness of the proposed metrics.
65

Exploring Government Contractor Experiences Assessing and Reporting Software Development Status

Texel, Putnam P. 01 January 2015 (has links)
Reports from academic, commercial, and government organizations have documented software-intensive system cost and schedule overruns for decades. These reports have identified lack of management insight into the software development process as one of many contributing factors. Multiple management mechanisms exist. However, these mechanisms do not support the assessment, and subsequent reporting, of software completion status. Additionally, the conceptual framework, based on industry standards, is limited in its relevance to this study due to an emphasis on what is needed while deferring implementation details. The purpose of this phenomenological study was to explore U.S. government contractors' lived experiences of assessing and reporting software completion status with current measurement mechanisms. Twenty program or project managers responded to interview questions targeting positive and challenging experiences with current measurement mechanisms. Qualitative analysis of the experiential data was based on open and axial coding conducted on interview transcripts. Analysis indicated that costly resources are applied to metrics that do not provide the required level of management insight into completion status. These findings have positive social change implications for program managers, project managers, and researchers by documenting the need to develop relevant and cost-efficient status metrics to provide the critical insight required by management to reduce overruns.
66

Programming Language Fragmentation and Developer Productivity: An Empirical Study

Krein, Jonathan L. 10 February 2011 (has links) (PDF)
In an effort to increase both the quality of software applications and the efficiency with which applications can be written, developers often incorporate multiple programming languages into software projects. Although language specialization arguably introduces benefits, the total impact of the resulting language fragmentation (working concurrently in multiple programming languages) on developer performance is unclear. For instance, developers may solve problems more efficiently when they have multiple language paradigms at their disposal. However, the overhead of maintaining efficiency in more than one language may outweigh those benefits. This thesis represents a first step toward understanding the relationship between language fragmentation and programmer productivity. We address that relationship within two different contexts: 1) the individual developer, and 2) the overall project. Using a data-centered approach, we 1) develop metrics for measuring productivity and language fragmentation, 2) select data suitable for calculating the needed metrics, 3) develop and validate statistical models that isolate the correlation between language fragmentation and individual programmer productivity, 4) develop additional methods to mitigate threats to validity within the developer context, and 5) explore limitations that need to be addressed in future work for effective analysis of language fragmentation within the project context using the SourceForge data set. Finally, we demonstrate that within the open source software development community, SourceForge, language fragmentation is negatively correlated with individual programmer productivity.
67

Designing dashboards – visualizing software metrics for Continuous Delivery

Chan, Fanny January 2018 (has links)
Feedback is an essential part of the software delivery process. Software metrics, as feedback, can give knowledge about the essential parameters that affect the software development process. An improved understanding of the software development process can facilitate more effective software management. With new software development methodologies emerging, such as Continuous Delivery, new information needs arise. The new methodology requires a new way of thinking when designing and developing dashboards for software development. A dashboard is a communication tool that can provide up-to-date information through at a glance interaction. The purpose of this thesis was to investigate how different software metrics related to Continuous Delivery can be visualized in a dashboard system at the company Saab. This thesis used a user-centered approach to find the appropriate visualization and user context to provide the user with feedback that supports the software development. The thesis work included user observations in the form of interviews and contextual inquiry. Thereafter, prototyping and usability testing were conducted in two iterations to design the dashboard and gather feedback. The result of this thesis work was a final prototype that was implemented in the program Kibana using real-time data from a software project. This thesis presents a set of elements that should be included when designing a dashboard for software development based on the findings of this study. / Feedback är en av de essentiella byggstenarna i en mjukvaruleveransprocess. Med mätvärden för mjukvaruutveckling kan organisationen få en större kunskap om de väsentliga faktorerna som påverkar mjukvaruutvecklingen. En ökad förståelse kan leda till en mer effektiv hantering av mjukvaruutveckling. Med nya metoder inom mjukvaruutveckling, t.ex. Continuous Delivery, som betyder kontinuerlig leverans, förändras behovet av feedback och nya utmaningar uppstår. Den nya metoden kräver nya uppläggningar vid utformning och utveckling av informationsradiatorer, en typ av kontrollpanel för mjukvaruutveckling. En kontrollpanel är ett kommunikationsverktyg som kan bidra med aktuell information om situationen genom att ge en överblicksbild. Målet med denna uppsats var att utreda hur mätvärden för mjukvaruutveckling kopplade till Continuous Delivery kan visualiseras på en kontrollpanel på företaget Saab. Detta examensarbete använde en användarcentrerad metod för att undersöka de vilka visualiseringar var lämpliga att använda och i vilken kontextanvändarna ville ha feedback. Examensarbetet utförde användarobservationer i form av intervjuer och kontextuell utredning. Sedan gjordes prototyper och användbarhetstestning. Detta gjordes i två iterationer för att samla in feedback och designa den slutgiltiga prototypen. Den prototypen utvecklades i programmet Kibana och använde realtidsdata från ett projekt. Resultatet i denna uppsats är ett förslag på vilka element som borde tas i hänsyn när en ska designa en kontrollpanel för systemutveckling.
68

[en] A QUANTITATIVE APPROACH TO ASPECT ORIENTED SOFTWARE DEVELOPMENT / [pt] UMA ABORDAGEM QUANTITATIVA PARA DESENVOLVIMENTO DE SOFTWARE ORIENTADO A ASPECTOS

EDUARDO MAGNO LAGES FIGUEIREDO 05 July 2006 (has links)
[pt] O desenvolvimento de software orientado a aspectos é um paradigma recente que introduz novas abstrações e mecanismos com o objetivo de melhorar a modularidade de interesses que se espalham pelo sistema. Entretanto, a satisfação de atributos de qualidade em sistemas orientados a aspectos não é tarefa simples e a utilização equivocada destas novas abstrações pode resultar em efeitos colaterais relacionados a princípios importantes da Engenharia de Software, tais como elevado acoplamento, baixa coesão dos módulos e incompleta modularidade dos interesses em aspectos. Problemas como estes não são facilmente verificáveis em sistemas de médio e grande porte sem um método adequado e, geralmente, consomem muito tempo e recursos. Portanto, torna-se necessário um método de avaliação que auxilie engenheiros de software na análise de sistemas orientados a aspectos. Este trabalho de mestrado propõe uma abordagem que provê suporte à avaliação quantitativa de implementações orientadas a aspectos. A abordagem incluiu: (i) um método de avaliação organizado em etapas, e (ii) uma ferramenta de medição e avaliação, chamada AJATO, que dá suporte ao método proposto. O método é composto por um conjunto de métricas e regras heurísticas. As métricas fornecem informações quantitativas e as heurísticas contribuem com algum raciocínio semântico dos números. A ferramenta AJATO é composta por quatro módulos que efetuam o parser do código, mapeamento de estruturas sintáticas em interesses, medição e avaliação heurística. Um conjunto de cinco estudos de caso envolvendo domínios de aplicação distintos foi realizado para avaliar a utilidade e usabilidade da abordagem proposta. / [en] Aspect-oriented software development is an emerging paradigm that provides new abstractions and mechanisms to support the modularization of crosscutting concerns through the software development lifecycle. However, the achievement of high-quality aspect-oriented software is not trivial. The inappropriate use of aspect-oriented abstractions and mechanisms potentially leads to the violation of important design principles, such as low coupling, high cohesion, incomplete modularization of crosscutting concerns into aspects, and so forth. These problems are not easily detectable and an ad hoc analysis of large designs and implementations is often expensive and time- consuming. Hence there is a need for an assessment method that assists software engineers in the analysis of their aspect-oriented implementations. This work proposes the development of a systematic approach to support the quantitative assessment of aspect-oriented software. The approach is organized in a stepwise fashion and is founded on a metrics suite and a comprehensive set of complementary rules. Our proposal is supported by a measurement and assessment tool. A set of five case studies from different application domains have been carried out in order to evaluate the usability and usefulness of our proposed approach.
69

Avaliação de manutenibilidade entre as abordagens de web services RESTful e SOAP-WSDL / Evaluation of maintainability among RESTful and SOAP-WSDL web services approaches

Oliveira, Ricardo Ramos de 27 April 2012 (has links)
A Engenharia de Software tem desenvolvido técnicas e métodos para apoiar o desenvolvimento de software confiável, flexível, com baixo custo de desenvolvimento e fácil manutenção. A avaliação da manutenibilidade contribui para fornecer meios para produzir software com alta qualidade. Este trabalho apresenta um experimento controlado para avaliar a manutenibilidade entre as abordagens de web services: RESTful e SOAP-WSDL. Esta avaliação foi conduzida usando 3 programas implementados na linguagem de programação Java e com a mesma arquitetura. Com base na arquitetura projetada, os web services desenvolvidos foram utilizados como objetos em estudos de caso, possibilitando avaliar e comparar a sua manutenibilidade. Os resultados obtidos demonstraram relações entre as informações sobre o custo e a qualidade dos serviços web, que contribuíram para esclarecer os critérios para a obtenção de uma boa relação entre o custo da manutenção e a evolução dos serviços web. Para concluir, os resultados indica que os web services RESTful são mais manuteníveis do lado do servidor, e os web services SOAP-WSDL são mais manuteníveis do lado do cliente. Os estudos realizados no experimento controlado são promissores e podem auxiliar na redução de custo na manutenção dos serviços web, melhorando dessa forma a qualidade do software no geral / Software Engineering has developed techniques and methods to support the development of reliable software, exible, low development cost and easy maintenance. The evaluation of maintainability contributes in this direction, providing the means to produce software with high quality. This paper presents an controlled experiment to evaluate the maintainability between the approaches of web services: RESTful and SOAP-WSDL. This evaluation was conducted using four programs implemented in the Java programming language, using the same architecture. Based on the designed architecture, Web services were developed as objects used in case studies, allowing to evaluate and compare its maintainability. The results showed relationships between the information on the cost and quality of web services, which contributed to clarify the criteria for obtaining a good relationship between the cost of maintenance and evolution of web services. In conclusion, the results indicate the RESTful web services are more maintainable server side in contrast to the SOAP-WSDL web services are more maintainable client side. Studies in controlled experiments are promising and may help reduce the maintenance cost of web services, thus improving overall software quality
70

Software defect prediction using maximal information coefficient and fast correlation-based filter feature selection

Mpofu, Bongeka 12 1900 (has links)
Software quality ensures that applications that are developed are failure free. Some modern systems are intricate, due to the complexity of their information processes. Software fault prediction is an important quality assurance activity, since it is a mechanism that correctly predicts the defect proneness of modules and classifies modules that saves resources, time and developers’ efforts. In this study, a model that selects relevant features that can be used in defect prediction was proposed. The literature was reviewed and it revealed that process metrics are better predictors of defects in version systems and are based on historic source code over time. These metrics are extracted from the source-code module and include, for example, the number of additions and deletions from the source code, the number of distinct committers and the number of modified lines. In this research, defect prediction was conducted using open source software (OSS) of software product line(s) (SPL), hence process metrics were chosen. Data sets that are used in defect prediction may contain non-significant and redundant attributes that may affect the accuracy of machine-learning algorithms. In order to improve the prediction accuracy of classification models, features that are significant in the defect prediction process are utilised. In machine learning, feature selection techniques are applied in the identification of the relevant data. Feature selection is a pre-processing step that helps to reduce the dimensionality of data in machine learning. Feature selection techniques include information theoretic methods that are based on the entropy concept. This study experimented the efficiency of the feature selection techniques. It was realised that software defect prediction using significant attributes improves the prediction accuracy. A novel MICFastCR model, which is based on the Maximal Information Coefficient (MIC) was developed to select significant attributes and Fast Correlation Based Filter (FCBF) to eliminate redundant attributes. Machine learning algorithms were then run to predict software defects. The MICFastCR achieved the highest prediction accuracy as reported by various performance measures. / School of Computing / Ph. D. (Computer Science)

Page generated in 0.0604 seconds