Escolar Documentos
Profissional Documentos
Cultura Documentos
AGENDA
Qualidade de Processo de Software ISO/IEC 12207 ISO/IEC 15504
A qualidade dos produtos de software depende fortemente da qualidade do processo de software usado para desenvolv-los.
Um bom processo de software no garante que os produtos de software produzidos so de boa qualidade, mas um indicativo de que a organizao capaz de produzir bons produtos de software .
4
A implantao de um Programa de Qualidade de Software comea, normalmente, pela definio e implantao de um processo de software. O processo de software deve estar documentado, ser compreendido e seguido.
Exemplo: Certificao ISO 9001. Questo: Por onde comear? O que considerar na definio de processos de software?
5
PROCESSO DE SOFTWARE
Processo de Software
Sub-processos
Atividades Sub-atividades Pr-atividades Artefatos Insumos Produtos Recursos Humanos Software Hardware Procedimentos Mtodos Tcnicas Roteiros
CMMI
MPS.BR
Parte 1 (2004): Conceitos e Vocabulrio Parte 2 (2003): Estrutura do Processo de Avaliao Parte 3 (2004): Recomendaes para Realizao de uma Avaliao Parte 4 (2004): Recomendaes para Melhoria de Processos e Determinao de Capacidade Parte 5 (FDIS): Exemplo de Aplicao
Em 1989 o JTC1 iniciou o desenvolvimento da ISO 12207, com o objetivo de identificar os Processos do Ciclo de Vida de Software. Foi desenvolvida com a participao de vrios pases, dentre eles o Brasil. Publicada em 1995 (verso NBR em 1998) Sofreu duas emendas:
Amd 1 (2002): introduo de novos processos e definio de propsitos e resultados esperados para cada processo. Amd 2 (2004): trata de um nmero de questes tcnicas e editoriais menores na Amd 1.
Nova reviso para alinhamento com a ISO 15288 (Engenharia de Sistemas Processos de Ciclo de Vida de Sistemas): 12207R WD3 (Junho de 2006)
ISO/IEC 12207
Estabelece uma estrutura comum para os processos de ciclo de vida de software, com terminologia bem definida, que pode ser referenciada pela indstria de software. Aplica-se aquisio de sistemas, produtos e servios de software, para o fornecimento, o desenvolvimento, a operao e a manuteno de produtos de software, quer sejam executados interna ou externamente a uma organizao.
10
ISO/IEC 12207
Contm um conjunto de processos, atividades e tarefas projetado para ser adaptado de acordo com cada projeto de software. A estrutura cobre o ciclo de vida do software desde a concepo de idias at a descontinuao do software. O processo de adaptao consiste na supresso de processos, atividades e tarefas no aplicveis.
11
ISO/IEC 12207
Descreve a arquitetura dos processos de ciclo de vida de software, mas no especifica os detalhes de como implementar ou executar as atividades e tarefas includas nos processos. No pretende prescrever o nome, formato ou contedo explcito da documentao a ser produzida. No prescreve um modelo especfico de ciclo de vida ou mtodos de desenvolvimento de software. As partes envolvidas so responsveis pela seleo de um modelo de ciclo de vida para o projeto e pelo mapeamento dos processos, atividades e tarefas dentro desse modelo. As partes envolvidas so tambm responsveis pela seleo e aplicao dos mtodos e pela execuo das atividades e tarefas adequadas ao projeto.
12
Processo
Nome, Propsito, Resultado(s)
1 0..1
Atividades so unidades de construo usadas para agrupar tarefas relacionadas. A partir da Emenda 1, se uma atividade coesiva o suficiente, ela convertida em um subprocesso por meio da definio de propsito e resultados.
Uma tarefa uma clusula detalhada para a implementao de um processo. Pode ser um requisito (deve - shall), uma recomendao (deveria - should) ou uma permisso (pode- may). Notas so usadas quando uma informao explanatria necessria para melhor descrever a inteno ou os mecanismos de um processo. Notas provem uma orientao considerando potenciais implementaes ou reas de aplicabilidade, tais como listas, exemplos and outras consideraes.
1..*
Atividade
Nome
1 1..*
Tarefa
1 0..*
Nota
13
Propsito do Processo: O principal objetivo da execuo do processo. Convm que a implementao do processo fornea benefcios tangveis aos envolvidos. Resultado do Processo: Um resultado observvel da realizao com sucesso do propsito do processo. Um resultado pode ser:
um artefato produzido; uma mudana significativa de estado; e o atendimento das especificaes, como por exemplo: requisitos, metas etc.
Uma lista com os principais resultados do processo faz parte da descrio de cada processo no Modelo de Referncia de Processo (alinhamento com a ISO 15504). O Propsito e os Resultados fornecidos so uma declarao das metas da execuo de cada processo.
14
15
Fundamentais: constituem um conjunto de processos que atendem s partes fundamentais (pessoa ou organizao / adquirente, fornecedora, desenvolvedora, operadora ou mantenedora do software). De Apoio: auxiliam um outro processo e contribuem para o sucesso e qualidade do projeto, podendo ser realizados, quando necessrio, por outro processo. Organizacionais: empregados por uma organizao para estabelecer e implementar uma estrutura subjacente, constituda de processos de ciclo de vida e pessoal associados, e melhorar continuamente a estrutura e os processos. So tipicamente empregados fora do domnio de projetos e contratos especficos.
H, ainda, o processo de adaptao, que define as atividades bsicas necessrias para executar as adaptaes.
16
Aquisio
Fornecimento
Documentao
Gerncia de Configurao Garantia da Qualidade Verificao Validao Reviso Conjunta
Operao
Desenvolvimento Manuteno
Auditoria
Resoluo de Problemas PROCESSOS ORGANIZACIONAIS Treinamento Melhoria Infra-estrutura
17
Gerncia
Aquisio
Fornecimento
Documentao
Gerncia de Configurao Garantia da Qualidade Operao
Verificao
Processo de Adaptao Validao Reviso Conjunta
Desenvolvimento
Auditoria Usabilidade Manuteno Gerncia de Resoluo de Problemas Gerncia de Solicitao de Mudanas Avaliao do Produto
Processos Organizacionais
Gerncia Gesto de Ativos Gesto de Programa de Reso Engenharia de Domnio Infra-estrutura Recursos Humanos
18
Melhoria
Aquisio: obter um produto e/ou servio que satisfaa a necessidade expressa pelo cliente. Fornecimento: fornecer um produto ou servio ao cliente que atenda aos requisitos acordados. Desenvolvimento: transformar um conjunto de requisitos em um produto de software ou um sistema baseado em software que atenda s necessidades explicitadas pelo cliente. Operao: operar o produto de software no seu ambiente e fornecer suporte aos clientes desse produto. Manuteno: modificar um produto de software/sistema aps sua entrega para corrigir falhas, melhorar o desempenho ou outros atributos, ou adaptlo a mudanas no ambiente.
19
Documentao: desenvolver e manter registradas as informaes do software produzidas por um processo. Gerncia de Configurao: estabelecer e manter a integridade de todos os produtos de trabalho de um processo ou projeto e disponibiliz-los a todos os envolvidos. Garantia da Qualidade: fornecer garantia de que os produtos de trabalho e processos esto em conformidade com os planos e condies prdefinidos.
20
Verificao:confirmar que cada produto de trabalho de software e/ou servio de um processo ou projeto reflete apropriadamente os requisitos especificados. Validao: confirmar que so atendidos os requisitos de um uso especfico pretendido para o produto de trabalho de software. Reviso Conjunta: manter um entendimento comum com os envolvidos (stakeholders) a respeito do progresso obtido em relao aos objetivos acordados e ao que deveria ser feito.
21
Auditoria: determinar, de forma independente, a conformidade dos produtos e processos selecionados com os requisitos, planos e contratos, quando apropriado. Resoluo de Problema: assegurar que todos os problemas identificados so analisados e resolvidos e que as tendncias so identificadas.
22
Usabilidade: garantir que sejam considerados os interesses e necessidades dos envolvidos de forma a proporcionar otimizao do suporte e do treinamento, aumento da produtividade e da qualidade do trabalho, melhoria das condies para o trabalho humano e reduo das chances de rejeio do sistema por parte do usurio. Avaliao de Produto: garantir, atravs de exame e medio sistemticos, que o produto atende s necessidades especificadas e implcitas dos seus usurios.
23
Gerncia: organizar, monitorar e controlar a iniciao e a execuo de qualquer processo de forma a atingir as suas metas de acordo com as metas de negcio da organizao. estabelecido por uma organizao para garantir a aplicao consistente de prticas por parte da organizao e dos projetos. Infra-estrutura: manter uma infra-estrutura estvel e confivel, necessria para apoiar a execuo de qualquer outro processo. A infra-estrutura pode incluir hardware, software, mtodos, ferramentas, tcnicas, padres e instalaes para o desenvolvimento, a operao ou a manuteno.
24
Melhoria: estabelecer, avaliar, medir, controlar e melhorar um processo de ciclo de vida de software. Recursos Humanos: fornecer organizao os recursos humanos adequados e manter as suas competncias consistentes com as necessidades do negcio. Gesto de Ativos: gerenciar a vida dos ativos reutilizveis desde a sua concepo at a sua descontinuao.
25
Gesto do Programa de Reso: planejar, estabelecer, gerenciar, controlar e monitorar esse programa em uma organizao e sistematicamente explorar as oportunidades de reso. Engenharia de Domnio: desenvolver e manter modelos, arquiteturas e ativos de domnio.
26
27
Implementao do processo; Anlise dos requisitos do sistema; Projeto da arquitetura do sistema; Anlise dos requisitos do software; Projeto de arquitetura do software; Projeto detalhado do software; Codificao e testes do software; Integrao do software; Testes de qualificao do software; Integrao do sistema; Teste de qualificao do sistema; Instalao do software; Apoio aceitao do software
28
O desenvolvedor deve estabelecer e documentar os requisitos do software, incluindo as especificaes das seguintes caractersticas de qualidade: (i) especificaes funcionais e de capacidade, (ii) interfaces externas ao item de software, (iii) requisitos de qualificao, (iv) especificaes de proteo, segurana e de engenharia de fatores humanos (ergonomia), (vi) definio de dados e requisitos de bases de dados, (vii) requisitos de instalao e aceitao do produto, (viii) documentao do usurio, (ix) requisitos do usurio para execuo, operao e manuteno. Um guia para especificar as caractersticas de qualidade pode ser encontrado na ISO/IEC 9126.
29
O desenvolvedor deve avaliar os requisitos do software considerando os seguintes critrios: (i) rastreabilidade para os requisitos do sistema e projeto do sistema, (ii) consistncia externa com os requisitos do sistema, (iii) consistncia interna, (iv) testabilidade, (v) viabilidade do projeto do software, (vi) viabilidade da operao e manuteno. Os resultados das avaliaes devem ser documentados. O desenvolvedor deve conduzir revises conjuntas, de acordo com o Processo de Reviso Conjunta. Sendo bem sucedidas as concluses das revises, uma linha bsica (baseline) para os requisitos do item de software deve ser estabelecida.
30
Propsito: transformar um conjunto de requisitos em um produto de software ou um sistema baseado em software que atenda s necessidades explicitadas pelo cliente. . Resultados:
os requisitos para o desenvolvimento do software so obtidos e acordados; um produto de software ou um sistema baseado em software desenvolvido; produtos de trabalho intermedirios so desenvolvidos e demonstram que o produto final baseado nos requisitos; h consistncia entre os produtos do processo de desenvolvimento; os fatores de qualidade de sistema so otimizados em relao aos requisitos do sistema, por exemplo, desempenho, custo de desenvolvimento, usabilidade etc.; existem evidncias que demonstram que o produto final atende aos requisitos (por exemplo, evidncias de teste); e o produto final instalado de acordo com os requisitos acordados.
31
Subprocessos:
Elicitao de Requisitos Anlise dos Requisitos do Sistema Projeto (design) da Arquitetura do Sistema Anlise dos Requisitos do Software Projeto (design) do Software Construo do Software (Cdigo e Teste Unitrio) Integrao do Software Teste do Software Integrao do Sistema Teste do Sistema Instalao do Software Suporte Aceitao do Produto
32
SUBPROCESSOS
Implementao do processo Anlise dos Requisitos do Sistema Elicitao de Requisitos Projeto da Arquitetura do Sistema
Projeto
Instalao do software
Sistema
Integrao do Sistema
Teste do Sistema
Software
Construo do Software
33
Os requisitos alocados aos elementos de software do sistema e suas interfaces so definidos; Os requisitos de software so analisados em relao testabilidade e correo; O impacto dos requisitos de software no ambiente operacional compreendido; A consistncia e a rastreabilidade entre os requisitos de software e os requisitos de sistema so estabelecidas; A priorizao para implementao dos requisitos de software definida; Os requisitos de software so aprovados e atualizados, sempre que necessrio; As mudanas nos requisitos de software so avaliadas quanto aos impactos nos aspectos tcnicos, de custo e de cronograma; e Os requisitos de software so colocados sob uma linha bsica (baseline) e comunicados a todas as partes envolvidas.
34
Tarefas
Entre requisitos de sistema e requisitos de software
35
ISO/IEC 15504
Apresenta uma estrutura para Avaliao (e Melhoria) de Processo Contextos de Utilizao:
Melhoria
Contnua: avaliao identifica oportunidades de melhoria. Feita por organizaes que buscam melhorias internas Determinao da Capacidade: avaliao identifica riscos com o fornecedor. Feita por terceiros ao realizarem contratos de prestao de servios ou fornecimento de produtos.
36
ISO/IEC 15504
37
38
A NORMA SPICE
Focada exclusivamente em software. um modelo para avaliao de processos de software. Possui um modelo de referncia que a base da Avaliao dos Processos. D suporte a todo o ciclo de vida do software. Dividida em 9 partes. Apenas um Relatrio Tcnico e no uma norma internacional.
39
A NORMA SPICE
Parte 1 Conceitos e guia introdutrio
Parte 9 Vocabulrio
40
41
ISO/IEC 15504
uma norma internacional. genrica, no sendo mais dedicada exclusivamente a software. Introduz o conceito de Modelo de Referncia de Processo, que externo norma (antiga parte 2). Para ser aplicada software, deve ser complementada pela ISO/IEC 12207, considerando suas emendas 1 e 2. Dividida em 5 partes.
1: Conceitos e vocabulrio (antigas partes 1 e 9) 2: Estrutura (framework) do processo de avaliao (antiga parte 3). 3: Recomendaes para a realizao de uma avaliao (antigas partes 4 e 6) 4: Recomendaes para melhoria de processos e determinao de capacidade (antigas partes 7 e 8). 5: Um exemplo de aplicao com base na ISO 12207.
42
Parte 4 Guia para uso na melhoria de processo e na determinao da capacidade Parte 2 Realizao de uma avaliao Parte 3 Guia para a realizao de avaliaes
Parte 5 Um exemplo de modelo de processo de avaliao baseado na norma ISO/IEC 12207 e suas emendas 1 e 2
NORMATIVA
43
ISO/IEC 15504
Parte 1 - Conceitos e vocabulrio (informativa): prov uma introduo geral aos conceitos de avaliao de processos e um glossrio de termos relacionados avaliao. Parte 2 - Realizao de uma avaliao (normativa): define os requisitos normativos para a realizao de uma avaliao de processo e para modelos de processo em uma avaliao, e define uma infraestrutura de medio para avaliar a capacidade de processo. Essa infra-estrutura de medio define nove atributos de processo, agrupados em seis nveis de capacidade de processo.
44
ISO/IEC 15504
Parte 3 - Guia para a realizao de avaliaes (informativa): prov orientaes para interpretar os requisitos para a realizao de uma avaliao. Parte 4 - Guia para uso na melhoria de processo e na determinao da capacidade de processo (informativa): prov orientaes para a utilizao de avaliao de processo para propsitos de melhoria de processo e de determinao da capacidade. Parte 5 - Um Exemplo de modelo de avaliao de processo baseado na ISO/IEC 12207 e suas Emendas 1 e 2 (informativa): contm um exemplo de modelo de avaliao de processo que baseado no modelo de processo de referncia definido na ISO/IEC 12207 e suas emendas 1 e 2.
45
46
Nveis
47
Previsvel
Estabelecido Gerenciado Executado Incompleto
5
Processo melhorado continuamente de forma disciplinada
4
Processo executado dentro de limites de controle definidos e com medies detalhadas e analisadas
3
Processo executado e gerenciado com uma adaptao de um processo padro definido, eficaz e eficiente
2
Processo planejado e acompanhando, e satisfaz requisitos definidos de: qualidade, prazo, e custos
1
Processo geralmente atinge os objetivos, porm sem padro de qualidade e sem controle de prazos e custos
0
Processo no existe ou falha em atingir seus objetivos
48
49
3.1 Definio: Um processo padro definido para a organizao. 3.2 Implementao: Os elementos identificados em 3.1 so postos em prtica. 4.1 Medio: Estabelecem-se objetivos quantitativos, bem como as medies a serem realizadas e a freqncia de sua aplicao. Os resultados so coletados, analisados e publicados na organizao. 4.2 Controle: Estabelecem-se limites de variao para as medidas e aes corretivas para tratar as causas de desvios em relao a esses limites.
50
51
0a 15% 16 a 50%
Existe pouca ou nenhuma evidncia de que o atributo de processo seja alcanado. Existe evidncia de uma abordagem significativa para atingir o atributo, mas alguns aspectos (tais como resultados) so ainda imprevisveis. O desempenho do processo pode variar em algumas reas .
P
Parcialmente atingido
L
Largamente atingido
51 a 85%
T
Totalmente atingido
86 a 100%
Nvel de Capacidade 1 1.1 2.1 2.2 3.1 3.2 4.1 4.2 5.1 5.2 L ou T 2 T L ou T L ou T 3 T T T L ou T L ou T 4 T T T T T L ou T L ou T 5 T T T T T T T L ou T L ou T
53
ISO 12207 pode ser o Modelo de Referncia de Processo, quando a ISO 15504 for aplicada software.
54
ISO 15504
Documento extenso Modelo detalhado Melhoria de processo e determinao da capacidade Seis nveis de capacidade e nove atributos requisitos para avaliao e orientaes na aplicao Complementar ISO9001
ISO 9001
Passa ou Falha
Apenas o modelo Complementada pela ISO 15504
55
56