Engenharia de Software
Roteiro Qualidade de Software Produto de Software Processo de Software Modelo de Qualidade CMM
Qualidade
Qualidade de Software Na visão popular: Luxo Mais caro, complexo = maior qualidade Não pode ser medida, controlada ou gerenciada.
Qualidade de Software (cont.) Na visão do profissional: É relacionada aos requisitos Pode ser medida, controlada e gerenciada.
Qualidade de Software (cont.) Qualidade de Software pode ser definida como um conjunto de atributos de software que devem ser satisfeitos de modo que o software atenda às necessidades dos usuários. A determinação dos atributos relevantes para cada software varia em função do domínio da aplicação, das tecnologias usadas, das características específicas do projeto e das necessidades do usuário e da organização.
Qualidade de Software (cont.) Usuário: Facilidade de uso, desempenho, confiabilidade dos resultados, preço do software, etc.. Desenvolvedor: Taxa de defeitos, facilidade de manutenção, conformidade em relação aos requisitos de usuários, etc.. Organização: Cumprimento de prazo, boa previsão de custo, boa produtividade
Qualidade de Software (cont.)
Qualidade de Software (cont.)
Produto
Produto de Software
Processo
Processo de Software
Processo de Software (cont.) A competência em controlar o processo de software influencia na capacidade da organização de atingir metas de custo, qualidade e cronograma A qualidade do processo de software pode ser analisada através dessa competência
Processo de Software (cont.) Sem controle Improvisado Não seguido Dependente dos profissionais Baixa visão do progresso e da qualidade Arriscado do ponto de vista de nova tecnologia
Processo de Software (cont.) Com controle Coerente; o trabalho é efetivamente concluído Apoio da alta administração Permite medição do produto e do processo Uso disciplinado da alta tecnologia
Modelo de Qualidade
Modelo de Qualidade de Processo Um Processo de Software consiste em uma série de atividades que garantem, técnica e administrativamente que o software pode ser desenvolvido de maneira organizada, disciplinada e previsível Uma das maiores dificuldades encontradas pelas empresas de software é o gerenciamento de seus processos de software
Modelo de Qualidade de Processo (cont.) Um modelo de processo procura descrever formalmente e de maneira organizada todas as atividades que devem ser seguidas para a obtenção segura de um processo de software É importante escolher um modelo apropriado às metas de organização e saber o grau em que esse modelo será implementado
Modelo de Qualidade de Processo (cont.) Benefícios Estabelece uma linguagem comum Constrói um conjunto de processos e procedimentos desenvolvidos com sugestões de uma ampla participação da comunidade de software
Modelo de Qualidade de Processo (cont.) Riscos Modelos são simplificações do mundo real Modelos não são suficientemente abrangentes Interpretação e adaptação a situações particulares devem estar ajustadas aos objetivos do negócio É necessário bom senso para se utilizar modelos corretamente e com visão
Modelo de Qualidade de Processo (cont.) ISO 12.207: Processos de ciclo de vida de software, Brasil. Norma que estabelece uma estrutura comum para os processos de ciclo de vida de software, com terminologia bem definida, que pode ser referenciada pela indústria de software. Define um modelo de referência com processos e níveis de capacidade, orientações sobre como utilizá-lo para melhoria contínua ou determinação da capacidade, e um modelo exemplo compatível. SPICE (ISO 15.504): CMM CMMI
CMM
CMM O que é CMM? É uma norma mundial de desenvolvimento de software, que prega práticas na construção de programas, que quando aplicadas garantem a qualidade do produto. O CMM é para empresas "Softwares Houses", do mesmo modo que a ISO é para os processos de produção de uma empresa com atividades diferentes de Software.
CMM O CMM possui níveis de certificação, podendo ser do nível 1 ao 5: 1. Inicial, onde estão os processos indefinidos 2. Repetível, onde se identificam e documentam os processos possibilitando repetir o sucesso 3. Definido, aplica as políticas definidas em todos os projetos 4. Gerenciado, analisa os resultados dos projetos para melhorias 5. Otimizado, a organização é totalmente madura e entra em um círculo de melhoria contínua
CMM O investimento médio para adequação dos processos às praticas do CMM é de R$ 250 mil, mas existe variação do investimento de acordo com os cenários avaliados. No Brasil, esse valor já oscilou entre R$ 150 mil e R$ 1,5 milhões. Já o tempo médio para chegar a um nível de maturidade oscila entre 12 e 45 meses (tanto o investimento quanto o tempo variam de acordo com o porte da unidade avaliada e o nível de maturidade almejado)