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
- Visão a Nível Implementacional: Características da linguagem.
- Visão a Nível Estrutural: Detalhes da linguagem.
- Visão a Nível Funcional: Função de um componente.
- Visão a Nível Domínio: Contexto de operação do sistema.
Atividades Relacionadas à Manutenção e Reengenharia
- Conversão de Código-Fonte: Converter o código para uma nova linguagem.
- Engenharia Reversa: Analisar o programa para compreendê-lo.
- 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
- Visão do Usuário: Relacionada aos aspectos funcionais do sistema, verificando se o software satisfaz suas necessidades.
- Visão do Desenvolvedor (ou Equipe): Foca especificamente no desenvolvimento do sistema (linhas de código, especificações, documentações, entre outras).
- 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:
- (Em Otimização);
- (Gerenciado Quantitativamente);
- (Definido);
- (Largamente Definido);
- (Parcialmente Definido);
- (Gerenciado);
- (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.