Qualidades
Arquitecturas de Software
„
Atributos de Qualidade
„
Nenhuma qualidade pode ser maximizada
num sistema sem sacrificar uma outra
qualidade ou qualidades
As qualidades devem ser consideradas em
todas as fases do desenho mas algumas
qualidades não são arquitecturais
„
António Rito Silva
[email protected]
„
„
Facilidade de manutenção é
Facilidade de uso não é
Desempenho é, quanta comunicação é necessária
entre componentes, e não é, algoritmos e a sua
codificação
Atributos de Qualidade
Atributos de Qualidade
„
„
„
„
„
Categorias de Qualidades
Observáveis na execução
„
2
„
Como é que o sistema durante a execução
satisfaz seus requisitos de comportamento?
Fornece os resultados esperados?
Fornece-os num período de tempo razoável?
O sistema funciona como desejado quando ligado
a outros sistemas?
„
„
„
Qualidades
Qualidades
execução
Qualidades
Qualidades
observáveis na execução
não-observáveis na
do negócio
da arquitectura
Não observáveis na execução
„
„
„
É fácil integrar, testar e modificar o sistema?
É caro de desenvolver?
Qual é o limite de tempo para lançar no mercado?
Atributos de Qualidade
3
Atributos de Qualidade
4
Observáveis na Execução
„
Observáveis na Execução
Desempenho – o tempo de resposta do
sistema a um estímulo ou o número de
eventos processados num dado intervalo de
tempo
„
„
„
„
Função da quantidade de comunicação e
interacção entre componentes do sistema
Possível de simular usando um modelo
estocástico baseado em cenários previamente
levantados
Historicamente o desempenho tem sido o factor
mais importante das arquitecturas mas
actualmente outras qualidades são mais
importantes
Atributos de Qualidade
„
„
5
„
„
„
„
Um servidor de autenticação localizado entre os
utilizadores externos e a parte do sistema que
fornece serviços
Monitores de rede para inspeccionar e criar
diários da rede
O sistema é localizado atrás de uma firewall
através da qual todas as comunicações de e para
o sistema passam por um proxy
O sistema é construído em cima de um núcleo
confiável que fornece serviços seguros
Atributos de Qualidade
6
Observáveis na Execução
Arquitecturas para segurança:
„
Recusa de serviço – tentativa de impedir o
sistema de fornecer serviços
Fingir IP – tentativa de usar o IP de uma
máquina creditada
Atributos de Qualidade
Observáveis na Execução
„
Segurança – é a medida da capacidade
do sistema resistir a tentativas não
autorizadas de utilização ou negação
de serviço ao mesmo tempo que presta
serviços aos legítimos utilizadores
Disponibilidade – mede a percentagem
de tempo que o sistema está em cima
e em execução
„
„
7
tempo médio para falhar/(tempo médio
para falhar + tempo médio de reparação)
relacionado com a fiabilidade – tempo
médio para falhar
Atributos de Qualidade
8
Observáveis na Execução
„
Observáveis na Execução
Arquitecturas para disponibilidade:
„
„
„
„
O tempo médio para falhar é aumentado
replicando elementos críticos de processamento e
comunicação.
O tempo médio para falhar é também aumentado
através da separação de facetas que permite
maior facilidade de integração e teste
O tempo médio para reparação é reduzido
desenhando componentes que são fáceis de
modificar e desenhando uma interacção entre
componentes que permite identificar
comportamentos errados
Atributos de Qualidade
9
Observáveis na Execução
„
„
„
„
„
„
„
„
É ortogonal à estrutura, de facto, se a
funcionalidade fosse a única qualidade os
sistemas seriam monolíticos
As arquitecturas de software constrangem
a afectação de funcionalidade à estrutura
quando outras qualidades são importantes
Atributos de Qualidade
„
Facilidade de aprendizagem
Eficiência
Facilidade de memorização
Evitar erros
Tratamento de erros
Satisfação
10
Facilidade de modificação – é uma
função da localidade das alterações
„
„
A facilidade de modificação é fortemente
arquitectural
As alterações são classificadas em três
tipos:
„
Alcançar estas qualidades é um aspecto
do detalhe da interacção com o
utilizador e não é arquitectural
Atributos de Qualidade
„
Não-Observáveis na Execução
Facilidade de utilização
„
Funcionalidade – é a capacidade do
sistema de funcionar para o que estava
previsto
11
„
„
Modificação de um componente
Modificação de vários componentes
Modificação do estilo arquitectural
Atributos de Qualidade
12
Não-Observáveis na Execução
„
As modificações são por vezes
consequência de alterações das
necessidades de negócio
„
„
„
„
„
„
Estender ou alterar funcionalidades
Retirar funcionalidades não desejadas
Adaptar a novos ambientes de operação
Reestruturar
13
Não-Observáveis na Execução
„
Reutilização – é a medida em que a
estrutura do sistema ou alguns dos
seus componentes podem ser
reutilizados em aplicações futuras
Está relacionado com a arquitectura de
software na medida que as unidades de
reutilização são os componentes da
arquitectura e a sua capacidade de
reutilização depende de quão forte é
sua ligação com outros componentes
Atributos de Qualidade
Portabilidade – é a capacidade de o
sistema executar sobre diferentes
ambientes computacionais
„
„
A facilidade de modificação é por vezes
referida como facilidade de
manutenção
Atributos de Qualidade
„
Não-Observáveis na Execução
15
Um sistema é portável na medida em que
em que todas as assunções acerca de um
particular ambiente computacional estão
confinadas a um (ou poucos) componente
Camada de portabilidade
Atributos de Qualidade
14
Não-Observáveis na Execução
„
„
„
Facilidade de integração – é a capacidade de
fazer com que componentes desenvolvidos
separadamente funcionem correctamente
quando juntos
Depende da complexidade externa dos
componentes, os seus mecanismos de
interacção e protocolos e da divisão de
responsabilidades
A interoperabilidade é uma forma de
facilidade de integração – mede a capacidade
de um sistema funcionar com outros
sistemas
Atributos de Qualidade
16
Não-Observáveis na Execução
„
Facilidade de testar – refere a
facilidade com que se consegue
identificar as faltas através de testes
„
„
„
„
Capacidade de observar os resultados
Capacidade de controlar o estado interno
dos componentes
„
Depende de aspectos da arquitectura:
„
„
„
Qualidades de Negócio
„
Documentação da arquitectura
Separação de facetas
Encapsulamento da informação
Atributos de Qualidade
17
Atributos de Qualidade
Qualidades de Negócio
„
„
„
18
Qualidades da Arquitectura
Mercado alvo – a portabilidade e a
funcionalidade aumentam o mercado
alvo, uma abordagem baseada em
famílias de produtos também tem
impacto no mercado alvo
Rollout schedule – produto com uma
funcionalidade base e muitas opções –
flexibilidade e adaptação
Utilização de sistemas legados – deve
ter facilidade de integração
Atributos de Qualidade
Tempo para o mercado – comprar
componentes, reutilizar de projectos
anteriores, inserir componentes no
sistema
Custo – utilizar tecnologia que a
organização conhece reduz o custo
Tempo de vida do sistema – deve ter
facilidade de manutenção e
portabilidade
„
„
„
19
Integridade conceptual – a visão que
unifica o sistema a todos os níveis e
intervenientes
Correcção e completude – permite que
o sistema cumpra todos requisitos
Facilidade de construção
Atributos de Qualidade
20
Download

Atributos de Qualidade das Arquitectura de Software