Você está na página 1de 6

MODULARIDADE


Objetivos e Filosofia
Roberto da Silva Bigonha
Mariza A. S. Bigonha

Maio de 2021

Todos os direitos reservados


Proibida a cópia sem autorização dos autores

Qualidade do Software
Um dos principais objetivos da Engenharia
de Software é ajudar a produção de
software de boa qualidade.

Fatores de Qualidade do Software:


Externos
Internos

@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 2


...Qualidade do Software
q Fatores de Qualidade Externos
§  Correção
§  Robustez
§  Extensibilidade
§  Reusabilidade
§  Eficiência
§  Compatibilidade
§  Facilidade de uso
§  Portabilidade
§  Integridade
§  Verificabilidade

@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 3

Fatores Externos de Qualidade


Correção:
q Correção é a propriedade de um produto de software
executar exatamente sua função, conforme definida pelos
requisitos e especificação.
q Correção garante o funcionamento no que foi previsto.
Robustez
q Robustez é a propriedade de um softwate funcionar
mesmo em condições anormais.
q Robustez garante funcionamento no que não foi previsto.
q Capacidade de degradação suave.

@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 4


...Fatores Externos de Qualidade
Eficiência
q  Eficiência é o bom uso dos recursos de hardware, tais como
processador, memória, dispositivos de comunicação.
q  Correção X Eficiência

Extensibilidade
q  Extensibilidade é uma medida da facilidade com que o software
pode ser adaptado para atender a mudanças na sua
especificação.

q  Extensibilidade é propriedade essencial em Programação em


Ponto Grande.

q  Princípios que facilitam extensibilidade:


§  Simplicidade do projeto
§  Descentralização: módulos autônomos
@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 5

...Fatores Externos de Qualidade


Reusabilidade
q Reusabilidade é a propriedade de um software ser
usável em novas aplicações.

Compatibilidade
q Compatibilidade é uma medida da facilidade com
que um software pode ser combinado com outros.
q Compatibilidade implica em projeto homogêneo e
padronização, por exemplo:
§  arquivo padrão no UNIX
§  estrutura de dados única do LISP
§  interface padronizada do Smalltalk
@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 6
...Fatores Externos de Qualidade
Facilidade de Uso
q  Facilidade de uso inclui preparação de dados de entrada,
interpretação de resultados, recuperação de erros de uso, etc.
Portabilidade
q  Portabilidade é uma medida da facilidade de transporte de um
software para vários hardware ou ambientes de programação.
Integridade
q  Integridade é a capacidade de um software de proteger seus
componentes contra acesso ou modificação não autorizada.
Verificabilidade
q  É uma medida da facilidade de se preparar procedimentos de
aceitação, dados para testes, etc, durante a fase de validação
ou de operação.

@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 7

...Qualidade do Software

q Fatores de Qualidade Internos:

§  Modularidade
§  Legibilidade
§  Manutenibilidade

@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 8


...Fatores Internos de Qualidade
Modularidade
q  Modularidade é a arma para domar a complexidade de grandes
sistemas. Sem os recursos do particionamento de um sistema em
módulos é praticamente impossível garantir sua correção e
extensibilidade

Legiblilidade
q  Legibilidade é um fator essencial para garantir a extensibilidade de
um software. Para realizar qualquer alteração em um software, é
preciso entendê-lo de forma a avaliar e acomodar o impacto das
modificações

Manutenibilidade
q  Define-se manutenção como sendo a atividade de modificação de
um software para atender mudanças no mundo externo ou para
remover erros, que não deviam estar lá.
@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 9

Custo de Manutenção de Software


q  Manutenção é modificação para atender mudanças no mundo externo
q  Manutenção é remoção de erros, que não deviam estar lá.
q  Cerca de 70% do custo de um software é manutenção.
q  Distribuição do custo de manutenção apurada em 487 instalações:
§  mudanças na especificação: 41.8%
§  mudanças no formato dos dados: 17.4%
§  consertos de emergências: 12.4%
§  depuração: 9.0%
§  mudanças no hardware: 6.2%
§  atualização da documentação: 5.5%
§  melhoria na eficiência: 4%
§  outras: 3.4%
q  Lintz, B.P. & Swanson, E.B., Software Maintenance: A User/
Management Tug of War, Data Management, pp. 26-30, april 1979.
@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 10
Conclusão
q  Desenvolvimento de sistemas de grande porte necessita de
técnicas de organização de software que privilegiem
extensibilidade e reusabilidade e que suportem o
desenvolvimento sistemático de software de forma a
garantir correção e robustez

q  Os fatores externos interessam a todos, mas só podem ser


atingidos por meio dos fatores internos, como Modularidade,
Legibilidade e Manutenibilidade

q Os recursos mais modernos para se atingir alto grau de


modularidade e baixo custo de manutenção são
programação com tipos abstratos de dados, programação
orientada por objetos e programação orientada por aspectos

@Roberto Bigonha,Mariza Bigonha 2021 Princípios,Objetivos e Filosofia Qualidade de Software 11

FIM

@Roberto Bigonha,Mariza Bigonha Princípios,Objetivos e Filosofia Qualidade de Software 12

Você também pode gostar