1 |
[en] EVALUATION OF SOFTWARE QUALITY BASED ON UML MODELS / [pt] AVALIAÇÃO DA QUALIDADE DE SOFTWARE COM BASE EM MODELOS UMLISELA 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.
|
2 |
[en] MAINTAINABILITY AND REUSABILITY OF ASPECT-ORIENTED SOFTWARE: AN ASSESSMENT FRAMEWORK / [pt] MANUTENIBILIDADE E REUSABILIDADE DE SOFTWARE ORIENTADO A ASPECTOS: UM FRAMEWORK DE AVALIAÇÃOCLAUDIO NOGUEIRA SANTANNA 13 September 2004 (has links)
[pt] O desenvolvimento de software orientado a aspectos (DSOA)
vem obtendo
maior atenção tanto da academia quanto da indústria.
Sistemas orientados a
aspectos compreendem novas abstrações de engenharia de
software e tratam de
diferentes dimensões de complexidade. Conseqüentemente, o
DSOA traz novos
problemas para a engenharia de software experimental. Novos
mecanismos de
avaliação são necessários para medir os graus de
manutenibilidade e reusabilidade
de sistemas orientados a aspectos. Esta dissertação
apresenta um framework de
avaliação para o DSOA composto por dois elementos: um
conjunto de métricas e
um modelo de qualidade. No intuito de evitar a reinvenção
de soluções já testadas,
esses elementos são baseados em princípios bem conhecidos
da engenharia de
software e métricas já existentes. O framework proposto foi
avaliado no contexto
de dois estudos empíricos de domínios distintos, com
características, níveis de
controle e níveis de complexidade diferentes. O primeiro
estudo empírico
comparou uma abordagem orientada a objetos com uma
abordagem orientada a
aspectos para o projeto e implementação de um sistema multi-
agentes. O segundo
estudo envolveu a aplicação do framework proposto para
avaliar as
implementações em Java e AspectJ dos padrões de projeto da
GoF. / [en] Aspect-oriented software development (AOSD) is gaining wide
attention
both in research environments and in industry. Aspect-
oriented systems
encompass new software engineering abstractions and
different complexity
dimensions. As a consequence, AOSD poses new problems to
empirical software
engineering. It requires new assessment mechanisms to
measure the
maintainability and reusability degrees of aspect-oriented
systems. This
dissertation presents an assessment framework for AOSD,
which is composed of
two components: a suite of metrics and a quality model.
These components are
based on well-known principles and existing metrics in
order to avoid the reinvention
of well-tested solutions. The proposed framework has been
evaluated in
the context of two different empirical studies with
different characteristics, diverse
domains, varying control levels and different complexity
degrees. The first study
compared an object-oriented approach and an aspect-oriented
approach to the
design and implementation of a multi-agent system. The
second study involved
the application of the proposed framework to evaluate Java
and AspectJ
implementations of the GoF design patterns.
|
Page generated in 0.0439 seconds