MPS.BR, Manutenção e Qualidade em Engenharia de Software

Classificado em Computação

Escrito em em português com um tamanho de 6,72 KB

Manutenção e Evolução de Software

A manutenção de software é o processo de alteração do sistema depois que o mesmo já foi liberado para o cliente. Ela permite corrigir falhas e melhorar o desempenho do sistema.

Aspectos da Manutenção

  • Técnicas de desenvolvimento;
  • Esforço de manutenção;
  • Alocação de recursos.

Tipos de Manutenção

  • Manutenção Corretiva;
  • Manutenção Adaptativa;
  • Manutenção Evolutiva;
  • Manutenção Preventiva.

Nota: O custo de manutenção é geralmente muito maior que o custo de desenvolvimento.

Engenharia Reversa e Reengenharia de Software

O que é Engenharia Reversa?

A Engenharia Reversa é o estudo, análise e compreensão do software já existente. Busca-se o máximo de informações possíveis para o completo entendimento do sistema.

O que é Reengenharia?

A Reengenharia é o processo de recriar, reestruturar ou reescrever uma parte ou todo o sistema a partir das informações coletadas no processo de engenharia reversa.

Definição Detalhada de Engenharia Reversa

Processo de exame e compreensão do software existente, visando recapturar ou recriar o projeto e decifrar os requisitos atualmente implementados pelo sistema, apresentando-os em um nível ou grau mais alto de abstração.

Visões da Engenharia Reversa

  1. Visão a Nível Implementacional: Características da linguagem.
  2. Visão a Nível Estrutural: Detalhes da linguagem.
  3. Visão a Nível Funcional: Função de um componente.
  4. Visão a Nível Domínio: Contexto de operação do sistema.

Atividades Relacionadas à Manutenção e Reengenharia

  1. Conversão de Código-Fonte: Converter o código para uma nova linguagem.
  2. Engenharia Reversa: Analisar o programa para compreendê-lo.
  3. Aprimoramento da Estrutura do Programa: Analisar e modificar a estrutura para facilidade de entendimento.

Qualidade de Software

Qualidades Internas vs. Externas

Qualidades internas a um software são fatores que apenas os desenvolvedores conseguem perceber, como, por exemplo, modularidade e legibilidade do sistema.

Já as qualidades externas referem-se a fatores que tanto os desenvolvedores quanto os usuários conseguem identificar, como, por exemplo, eficiência, facilidade no uso e confiabilidade.

As Três Visões sobre a Qualidade

  1. Visão do Usuário: Relacionada aos aspectos funcionais do sistema, verificando se o software satisfaz suas necessidades.
  2. Visão do Desenvolvedor (ou Equipe): Foca especificamente no desenvolvimento do sistema (linhas de código, especificações, documentações, entre outras).
  3. Visão da Organização: Interessada no mercado e no destaque que a empresa terá ao produzir um software de qualidade.

Efeitos da Qualidade em um Processo

  • Aumento da qualidade do produto;
  • Diminuição do retrabalho;
  • Maior produtividade;
  • Redução do tempo para atender o mercado;
  • Maior competitividade;
  • Maior precisão nas estimativas.

Definições de Qualidade e Padrões

A qualidade está fortemente relacionada à conformidade com os requisitos.

  • Padrões de Produto: Definem características que todos os componentes do software devem possuir.
  • Padrões de Processo: Definem como o processo de software deve ser conduzido para assegurar a qualidade do produto.

Atributos de Qualidade (Características Principais)

  • Confiabilidade;
  • Eficiência;
  • Usabilidade;
  • Manutenibilidade;
  • Portabilidade;
  • Funcionalidade.

Evolução do Software

A Evolução do Software

A evolução está diretamente ligada à mudança de software, uma vez que esta é inevitável. Novos requisitos podem surgir à medida que o sistema é usado, quando o ambiente de negócio muda, ou quando novos equipamentos e computadores são adicionados. A evolução também tem a capacidade de reparar erros e melhorar o desempenho e/ou a confiabilidade do software.

Direção da Evolução

O processo de evolução é dirigido por solicitações de mudanças provenientes dos stakeholders do sistema.

Modelos de Qualidade: MPS.BR

Componentes do Modelo MPS.BR

Os componentes do modelo MPS.BR são:

  • MA-MPS: Método de Avaliação;
  • MN-MPS: Modelo de Negócio;
  • MR-MPS: Modelo de Referência, que se divide em:
    • MR-SW (para software);
    • MR-SV (para serviço);
    • MR-RH (para gestão de pessoas).

Escala de Maturidade MPS.BR

No modelo de referência do MPS.BR, a escala de maturidade dos processos progride do nível G para o nível A:

  1. (Em Otimização);
  2. (Gerenciado Quantitativamente);
  3. (Definido);
  4. (Largamente Definido);
  5. (Parcialmente Definido);
  6. (Gerenciado);
  7. (Parcialmente Gerenciado).

Processos do Nível de Maturidade G (MPS.BR)

Os processos que compõem o nível de maturidade G do modelo MPS.BR são: Gerência de Projetos e Gerência de Requisitos.

Foco de Aplicação

O MPS.BR é um modelo criado em função das médias e pequenas empresas brasileiras, enquanto o CMMI tem um foco global mais voltado para as empresas de maior porte.

Modelos de Maturidade (CMM/CMMI)

O CMM (Capability Maturity Model) possui duas representações:

  • Estágios;
  • Contínuo.

O CMM possui 5 níveis de maturidade.

Relação MPS.BR e CMMI

A base do MPS.BR é o modelo CMMI. O modelo MPS.BR é dividido em 7 estágios de maturidade.

Componentes do Processo

Propósito
Descreve o objetivo geral a ser atingido durante a execução do processo (o principal objetivo da execução do processo).
Resultados
Resultado observável do sucesso do alcance do propósito do processo.

Fases Históricas do Software

1ª Fase (1950-1960)
Uso rudimentar do software.
2ª Fase (1960-1970)
Multiprogramação.
3ª Fase (1970-1989)
Sistemas aumentam sua complexidade.

Entradas relacionadas: