Abstract:
Despite the reputation that the SOLID principles have received in last years, it is
essential to understand if they help for the greater longevity of the software and the
importance of applying them, and if they allow a more assertive and less costly
maintenance. In order to demonstrate the benefits of the principles, approximated
examples of their daily use were implemented, explaining the benefits and harms
that could arise from the application and correlating with maintainability
characteristics defined by ISO/IEC 25010. Based on analysis of the
implementations, it can be concluded that the implementation of SOLID brings
several contributions to software quality by helping developers to model classes
correctly.
Description:
Apesar da reputação que os princípios SOLID vem recebendo nos últimos anos, é
essencial entender se auxiliam para a maior longevidade dos software e a
importância de aplicá-los, e se possibilitam uma manutenção mais assertiva e
menos custosa. Para localizar os benefícios dos princípios foram implementados
exemplos aproximados da utilização no dia-a-dia, explicando os benefícios e
malefícios que poderiam surgir da aplicação e correlacionando com características
de manutenibilidade definidas pela ISO/IEC 25010. Com a análise das
implementações pode-se concluir que a implementação do SOLID traz diversas
contribuições para a qualidade de software ao ajudar os desenvolvedores a modelar
as classes corretamente.