A manutenibilidade
é uma qualidade, às vezes, negligenciadapelos usuários, mas muito importante
aos desenvolvedores. Ela é a capacidadede o software ser modificado em
seu processo de evolução. Podemoscitar as seguintes características
do atributo de manutenibilidade:a analisabilidade, a modificabilidade
e a testabilidade.
analisabilidade :
é o grau de facilidade comque podemos procurar por deficiências
no software ou por partes quedevem ser modificadas para
algum fim. Os níveis de modularidade,de separação de preocupações
e de acomplamento do softwarese relacionam a essa característica.
modificabilidade :
é a capacidade de realizarmudanças de implementação no
sistema. Essa característicatambém está relacionada às
métricas clássicas de software,como níveis de coesão e acoplamento
e complexidade ciclomática.Quanto mais modificável o software,
menor o impacto da mudançaem áreas – teoricamente – não
relacionadas às mudanças.
No SASF, por termos o módulo
de transmissão de vídeosseparado do gestor de usuários,
qualquer mudança ou adiçãonos formatos suportados
para transmissão não deveafetar ao módulo de usuários.
Outra separação comum emsistemas web que também
foi adotada no SASF é aaplicação do padrão
Model-View-Controller (MVC)
Falamos
mais do padrão arquiteturalMVC quando apresentamos
as ferramentas de designde software no capítulo
sobre técnicas de design. ,
que separa as interfaces
de usuário de lógica denegócio. Isso permite modificações
na lógica de negócio quenão afetam as interfaces
de usuário e vice-versa.
testabilidade :
é a capacidade de o softwareter suas mudanças validadas.
Para um software ser testável,antes de tudo, devemos conhecer
seus objetivos. Mas, além disso,precisamos que o sistema seja
capaz de executar de formacontrolada a fim de podermos
medir os resultados obtidosa partir de entradas conhecidas.
Sistemas pouco testáveis sãoaqueles os quais sua execução
é muito cara, pode custar vidasou, simplesmente, não podemos
medir seu comportamento deterministicamente.Vale observar que muitos sistemas
distribuídos, se mal projetados,podem se encaixar nesse último
tipo.