Upload
william-gomes
View
178
Download
2
Embed Size (px)
Citation preview
Engenharia de Software
Professor: Álvaro Hermano
Componentes: Cristiane Leandro Viana
Monic Laura Alves de Araújo
William Rodrigo Augusto Nunes
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RN
CAMPUS DE PARNAMIRIM
O que são processos de software?
“Um processo é o conjunto total de
atividades de engenharia necessárias
para transformar requisitos do usuário em
software”
(“Managing the Process”, Humphrey, 1989)
Processos de software
Há 4 atividades fundamentais no processo de software:
1. Especificação do Software – definição de requisitos e análise de requisitos
2. Desenvolvimento do Software – projeto e implementação
3. Validação do software – integração e teste
4. Manutenção - mudanças no software
O que é a qualidade de software?
“Conjunto de características que devem ser
alcançadas em um determinado grau
para que o produto atenda às
necessidades de seus usuários.”
(Ana R. C.Rocha 2001)
O que é a qualidade de software?
• Satisfação das necessidades avaliadas;
• Feita durante todo processo de software;
• Reconhecida pelo cliente.
A qualidade do software =
cliente satisfeito
Ainda sobre qualidade software.
• São referências para qualidade de software:
▫ ISO (The International StandardizationOrganization):
Fundada em 1947, coordena o trabalho de 127 países membros para promover a padronização de normas técnicas em âmbito mundial.
▫ IEC (The International ElectrotechnicalCommission):
Fundada em 1906, conta com mais de 50 países e publica normas internacionais relacionadas com eletricidade, eletrônica e áreas relacionadas.
Quais os objetivos?
• Aprimorar o processo de desenvolvimento e, em consequência, melhorar a qualidade do produto resultante.
• Avaliar a qualidade do produto visando emitir documento oficial sobre a qualidade de um software e sua conformidade em relação a uma norma ou padrão.
• Adquirir um software, com o intuito de escolher o produto mais adequado dentre um conjunto de produtos selecionados.
CMM - CAPABILITY MATURITY MODEL (CMM - Modelo de Maturidade de Competência)
É uma ferramenta de avaliação que permite ocliente selecionar softwares, de forma adequada,de seus fornecedores levando em consideração aqualidade do produto, o custo, os prazos, amanutenção.
*A versão mais atual é o CMMI (Capability Maturity ModelIntegration)
CMM
• Desenvolvido pelo SEI (Software EngineeringInstitute, Carnegie Mellon University);
• Ferramenta de avaliação de software;
• Ajuda o cliente a selecionar o(s) software(s) considerando:
▫ Qualidade do produto;
▫ Custo;
▫ Prazos;
▫ Manutenção.
Níveis do CMM
Objetivo
• Melhorar o gerenciamento e desenvolvimento dos produtos de softwares, mas não garantindo a qualidade do produto final;
• Manter a qualidade durante o princípio do processo.
Características do CMM
Aspectos abordados Características do CMM
Objetivo Determinar a capacitação da organização e apoiar a sua evolução de acordo
com os níveis estabelecidos
Abordagem Avaliação dos processos e enquadramento da organização em um dos níveis
de maturidade
Organizações alvo Organizações que necessitam de comprovação formal de sua capacidade
Definição de processos Estabelece 18 áreas de processos organizados em 5 níveis crescentes de
maturidade
Flexibilidade nos aspectos definidos
pelo modelo
Níveis e áreas chaves são a base do modelo e não podem ser alterados
Instrumento de avaliação Questionário
Inspiração e influência Princípios de Shewart, Deming, Juran, Crosby
Aspectos positivos Estabelecimento de diretrizes para a melhoria contínua. Difusão extensa nos
EUA
Limitações Pouca consideração à diversidade das organizações
Dificuldade de aplicação em pequenas organizações
Falta abordagem de produto
Processos Ágeis
Um grupo de dezessete metodologistas formou a Agile
Software Development Alliance (www.agilealliance.org) e
definiram um manifesto como uma alternativa aos
métodos tradicionais de desenvolvimento de software.
Os conceitos chave do manifesto ágil são:
1. Indivíduos e interações ao invés de processos e
ferramentas.
2. Software operante ao invés de documentação abrangente.
3. Colaboração do cliente ao invés de negociação de
contratos.
4. Respostas rápidas a mudanças ao invés de seguir um
plano.
RUP – Rational Unified Process
• Foi criado pela Rational Software Corporation eadquirido em fevereiro de 2003 pela IBM.
• É um método de desenvolvimento de softwareque contempla técnicas a serem seguidas pelosmembros da equipe de desenvolvimento desoftware com o objetivo de aumentar a suaprodutividade.
Fases e Iterações
REFERÊNCIAS
• ALMEIDA, K.: As características do cmm e o desenvolvimento de software com qualidade, Goiás, Revista eletrônica de administração, ed. 8, jun. 2005. Disponível em:<http://www.revista.inf.br/adm08/pages/artigos/artigo03.pdf>. Acesso em: 15 jan. 2013.
• BUENO, C.F.S.; CAMPELO, G.B.: Qualidade de software, Pernammbuco, , [20--?]. Disponível em:<http://www.riopomba.ifsudestemg.edu.br/dcc/dcc/materiais/1022789570_Qualidade%20de%20Software.pdf>. Acesso em: 13 jan. 2013.
• CAETANO, V.A.: C.M.M. capability maturity model modelo de maturidade da capacidade, Santa Catarina, jun. 2000. Disponível em:< http://www.rblinux.com.br/Modelo%20de%20Maturidade%20da%20Capacidade.pdf>. Acesso em: 15 jan. 2013.
REFERÊNCIAS
• FURLA, J.D.: Melhorando a qualidade do software através do cmm, São Paulo, [20--?]. Disponível em:<http://www.weinrich.eti.br/artigos/qualicmm.htm>. Acesso em: 15 jan. 2013.
• JUNIA; ROSÂNGELA: Introdução aos sistemas de informação, [S.l.], [20--?]. Disponível em:<https://docs.google.com/viewer?a=v&q=cache:xz5UA8ufKmoJ:www2.dc.ufscar.br/~junia/aula%25202.pdf+processos+de+software+%E2%80%93+engenharia+de+sistemas+e+da+informa%C3%A7%C3%A3o&hl=pt-BR&gl=br&pid=bl&srcid=ADGEESgdxzex0kOzO9KwptP-c0duJ6GuyZz7lJ8OtJ37D6Q7Q2I9BwNqr2sMFV-lzj5uIkM2QgdgCADrlTyQBeC_Dr4ectwWBXb6XpcAbfjIDBlytzaWkBQPr-mRscxcOIR8ujtr1Ele&sig=AHIEtbSsTuk8QNNB3zigPhoa6EwM82DbCQ>. Acesso em: 15 jan. 2013.
REFERÊNCIAS• MARTINEZ, M.: RUP, [S.l.], mar. 2010. Disponível
em:<http://www.infoescola.com/engenharia-de-software/rup/>. Acesso em: 15 jan. 2013.
• PATROCINIO, A. et. al. São Bernado do Campo, 2010. Disponível em:<http://www.ecnsoft.net/index.php/artigos/2o-semestre-de-2010/introducao-ao-rup-rational-unified-process/all/1>. Acesso em: 15 jan. 2013.
• VOLPE, R.L.D.; JOMORI, S.M; ZABEU, A.C.P.: Cmm – cmmi:principais conceitos, diferenças e correlações, Bahia, out. 2003. Disponível em:<http://www.asrconsultoria.com.br/downloads/pdf/SPIN_BH_CMMI.pdf>. Acesso em: 13 jan. 2013.
• WILLIAM, H.: Processos ágeis para desenvolvimento de software parte 1, [S.l.], [200-?]. Disponível em:<http://www.devmedia.com.br/processos-ageis-para-desenvolvimento-de-software-parte-01/9207>. Acesso em: 15 jan. 2013.