[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.
Identifer | oai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:13748 |
Date | 08 June 2009 |
Creators | ISELA MACIA BERTRAN |
Contributors | ARNDT VON STAA |
Publisher | MAXWELL |
Source Sets | PUC Rio |
Language | Portuguese |
Detected Language | English |
Type | TEXTO |
Page generated in 0.0021 seconds