Buscar

Aula 02 - Processos de software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 / 15 
 
Gerência de Projetos de Software 
Prof. Ítalo Flexa Di Paolo, Me. Eng. 
Universidade do Estado do Pará (UEPA) 
Processos de Software 
 
Roteiro 
 Processos de Desenvolvimento 
o IRUP, XP, Scrum 
 Modelos de Capacidade 
o CMMI, MPS.BR 
 Sintomas de Imaturidade 
Processos de Desenvolvimento 
O que é processo? 
 “Um conjunto de passos parcialmente ordenados, constituídos por 
atividades, métodos, práticas e transformações, usado para atingir uma 
meta [que está] geralmente associada a um ou mais resultados 
concretos finais, que são os produtos da execução do processo” (PAULA 
FILHO, 2001, p. 17) 
Processo de Desenvolvimento 
 Ciclo de vida 
 Fundamentação de várias atividades 
 Podem ser sequenciais 
o Uma etapa totalmente dependente do término da etapa anterior 
 Ou não sequenciais 
Ciclos de Vida 
 Codifica-Remenda 
 
Especificação 
(???) 
Produto 
 
 
 
 
 
 
 
 
2 / 15 
 
Ciclos de Vida 
 Cascata 
 
Ciclos de Vida 
 Cascata com Realimentação 
 
3 / 15 
 
Ciclos de Vida 
 Espiral 
 
Ciclos de Vida 
 Prototipagem Evolutiva 
 
Fases Genéricas de Qualquer Processo de 
Desenvolvimento* 
1. Solicitação do Usuário 
2. Viabilização da Solicitação 
3. Proposta do Sistema 
4 / 15 
 
4. Projeto do Sistema 
5. Desenvolvimento do Sistema 
6. Manutenção do Sistema 
(OLIVEIRA, 1997) 
1. Solicitação do Usuário 
 Pedido do Usuário 
 Avaliação da Solicitação 
 Formalização da Solicitação 
2. Viabilização da Solicitação 
 Estudo do Problema 
 Disponibilidade de Recursos 
 Relação Custo/Benefício 
 Relatório Formal do “Estudo de Viabilidade” 
3. Proposta de Sistema 
 Planejamento do Projeto 
 Levantamento Preliminar 
 Análise dos Dados 
 Estratégia de Desenvolvimento 
 Definições gerais sobre as regras de negócio 
 Relatório Formal – Proposta do Sistema (* Pontos de Verificação - PV) 
 Apresentação da Proposta 
 Aprovação 
4. Projeto do Sistema 
 Avaliação da Proposta 
 Planejamento do Projeto (* PV) 
 Levantamento Detalhado 
 Análise dos Dados (* PV) 
 Procedimentos Especiais (recursos de Bando de Dados e Telecom, por 
ex.) (* PV) 
 Elaboração do Relatório Formal (* PV) 
 Apresentação do Projeto 
 Aprovação 
5. Desenvolvimento do Sistema 
 Revisão de Procedimento 
 Planejamento das Atividades (* PV) 
5 / 15 
 
 Consolidação da Estrutura de Dados (* PV) 
 Definição das rotinas de processamento 
 Programação 
 Elaboração dos Manuais Operacionais 
 Rotina de Conversão 
 Simulação (* PV) 
 Treinamento 
 Implantação (* PV) 
6. Manutenção do Sistema 
 Avaliação 
 Pedido de Alteração 
 Diagnóstico da Solicitação 
 Manutenção Preventiva 
 Manutenção Corretiva 
 Acréscimo de recursos 
Processos de Software 
 Desenvolvimento 
 Manutenção 
 Aquisição 
Processos Formais de Desenvolvimento 
 IRUP 
 Scrum 
 XP 
 Iconix 
 Fusion 
 Praxis 
 etc... 
IRUP – IBM Rational Unified Process 
 Idealização e marca registrada da Rational e posteriormente adquirido 
pela IBM 
 Guia para uso ideal da UML – Unified Modeling Language 
 Técnicas que enfatizam 
o Gerência de riscos 
o Modelagem de arquitetura de software 
IRUP – Fases 
6 / 15 
 
 Concepção 
o Os requisitos são identificados e avaliados 
o Pode-se fazer uso de prototipação, e ferramentas CASE 
 Elaboração 
o Inicia-se a identificação e a avaliação dos riscos 
o Modelo que permita avaliar o negócio como um todo 
 Construção 
o Codificação do produto final 
 Transição 
o Disponibilizar o sistema aos usuários 
IRUP – Tarefas das fases 
 Modelagem do Negócio 
o Avaliação dos requisitos do usuário 
o Modelo do ambiente de execução do cliente 
 Requisitos 
o Levantamento detalhado de todas as funcionalidades do sistema 
 Análise e Projeto 
o Conhecer detalhadamente a realidade do ambiente 
 Testes 
o Executados de maneira cíclica, à medida que um produto parcial 
fica pronto 
IRUP – Visão Geral 
 
7 / 15 
 
Scrum – Visão Geral 
 
Fonte: http://desenvolvimentoagil.com.br/scrum 
XP – Visão Geral 
 
Fonte: http://desenvolvimentoagil.com.br/xp 
E agora?! 
 Engenharia de Processos 
o Como trabalhar 
o Metodologia 
8 / 15 
 
 Maturidade 
o Métricas para aferir maturidade de pessoas e da equipe 
o Definição de parâmetros a serem alcançados para fazer com que 
a equipe melhore 
o Melhoria de Processos 
o Evolução 
Sintomas de Imaturidade 
 Projetos não definidos com clareza 
 Atividades de desenvolvimento disfarçadas de manutenção 
 Indefinição de responsabilidades no projeto 
 Clientes não sabem exatamente a quem se dirigir 
 Gerentes com dúvidas sobre o que cobrar de quem 
 Os usuários não recebem o treinamento necessário 
 Sem tempo para treinamento de pessoal 
 Avaliação dos treinamentos avaliados apenas com a satisfação dos 
treinandos 
 Sem planos claros de recrutamento, remuneração e avaliação do 
desempenho 
 Não existe boa comunicação entre as pessoas 
 Sem acesso a ferramentas compatíveis com o estado-da-arte da 
tecnologia 
 Uso de ferramentas que os usuários bem entendem 
 Escolha de ferramentas de forma política, sem considerar avaliações 
técnicas e necessidades de padronização 
 Procedimentos e padrões, quando existem, seguidos de forma 
burocrática 
 Processo oficial de documentação escrita 
 Rígido demais e dinâmico de menos 
 Processo real praticado diferente do processo oficial (mais relaxado, 
logicamente) 
 Gerente não leva a sério os processos 
 Crença em Mágicas 
 Gurus 
o são considerados infalíveis 
o aceitam compromissos cada vez maiores, até não darem conta 
o não escrevem nada 
9 / 15 
 
o um dia a casa cai 
 Heróis 
o usam processos informais que não são transferíveis 
o até certo ponto, suprem com esforço a falta de técnicas e de 
organização 
o dificilmente são substituíveis 
o tendem a ser sobrecarregados até seu limite 
Prejuízos da Imaturidade 
 Compromissos 
 Forças Caóticas 
 Problemas de Comunicação 
 Problemas de Escala 
Alguns dos Problemas de Escala 
 Falta de documentação adequada do código dificulta a localização dos 
defeitos, principalmente quando os codificadores não estão mais 
disponíveis 
 Os programas têm a vida muito mais longa do que aquela que se 
imaginou inicialmente 
 Ausência de desenho torna os programas frágeis. Pequenos defeitos 
localizados podem ter consequências graves quanto ao funcionamento 
de um sistema 
 Mesmo pequenos sistemas têm enorme complexidade. Cada linha de 
código é como se fosse uma peça móvel de um mecanismo: pode 
abrigar um defeito fatal para o sistema 
 Além de seus próprios defeitos, um aplicativo pode falhar por causa de 
defeitos de dados, de ambiente de operação e até de hardware 
 É muito difícil convencer os leigos em informática da gravidade ou 
mesmo da existência de problemas de Engenharia de Software 
 É difícil convencer alguns leigos em informática de eles são leigos em 
informática 
Tipos de erros 
 Relativos a Processos 
 Relativos a Pessoas 
 Relativos a Tecnologia 
Modelos de Capacidade 
 Referência para as organizações para sua própria avaliação e 
10 / 15 
 
capacitação 
o SW-CMM, CMMI-SW, Trillium, ISO-9000-3 (Software) 
o MPS.BR SW e SV (Software e Serviços) 
o P-CMM (Recursos Humanos) 
o SE-CMM (Engenharia de Sistemas) 
o SA-CMM (Aquisição de Software) 
o IPD-CMM (Definição de Produtos) 
CMMI – Capability Matury Model Integration 
 Foi produzido pelo SEI (Software Engineering Institute) da Universidade 
Carnegie Mellon (CMU), em Pittsburgh, EUA, sendo a 1ª versão lançadaem agosto de 1991 
 Surgiu da necessidade de atender a uma demanda do Governo Federal 
dos EUA, de criação de um método para avaliar a capacitação de seus 
fornecedores de software. 
 Origem na década de 1980 com a necessidade do departamento de 
defesa dos EUA em avaliar a aquisição de produtos de software. 
 Evolução dos modelos: 
o SW-CMM (Departamento de Defesa dos EUA) 
o EIA SECM (Electronic Industries Alliances's Systems Engineer 
Capability Model) 
o IPD-CMM (Integrated Product Development CMM) 
 Objetiva integrar as dimensões: 
o Pessoas 
o Ferramentas 
o Procedimentos 
 
11 / 15 
 
Visão Geral – CMMI 
 
Nível 0 ou 1: Inicial 
 Utilização de processos informais (caóticos) 
 Sem capacidade de estimar custos e de cumprir todos os planos 
 Ferramentas não integradas com os processos, e não se aplicam 
uniformemente nos projetos 
 Codificação é a única fase dos processos de desenvolvimento que 
merece atenção 
 Engenharia de Requisitos e desenho fracos ou inexistentes 
 Mudanças de requisitos ou de outros artefatos ocorrem sem controle 
 Instalação e manutenção como atividades de pouca importância 
 Gerentes muitas vezes não entendem os verdadeiros problemas 
 Gerentes sem formação técnica apropriada 
 Processos seguidos apenas em fases tranquilas. 
o Em crise, codificação desenfreada! 
 Marketing oculta deficiências técnicas, além da pouca competição 
existente neste mercado 
 Apesar de ad hoc e caótico, o processo do nível 0 nas organizações 
12 / 15 
 
frequentemente desenvolve produtos utilizados. Porém, o sucesso 
depende da competência e heroísmo das pessoas e não pode ser 
repetida a menos que os mesmos indivíduos competentes sejam 
designados para o próximo projeto. 
 Capacidade é uma característica das pessoas, não das organizações. 
Nível 2: Gerenciado 
 Capaz de cumprir compromissos referentes a requisitos, prazos e 
custos com alta probabilidade de sucesso 
 A necessária disciplina do processo existe para repetir sucessos 
anteriores em projetos com aplicações similares 
 Disciplinada em nível de projeto, capaz de estimar e controlar projetos 
semelhantes com a experiência de projetos anteriores. Os gerente do 
projeto definem custos, cronogramas, funcionalidades e identificam os 
problemas nas reuniões da equipe quando eles aparecem (os 
problemas) 
 Os requerimentos e os produtos desenvolvidos para satisfazê-los são 
estabelecidos e sua integridade é controlada. Os padrões do projeto 
são definidos e a organização assegura que eles sejam fielmente 
seguidos 
 Para concluir com êxito o Nível 1, uma organização precisa ter políticas 
que ajudem os gerentes do projeto a estabelecer processos de 
gerenciamento apropriados. 
 Domínio das seguintes áreas chave: 
• A gestão de requisitos permite definição e controle dos requisitos em que se 
baseiam os compromissos 
• O planejamento de projetos prevê prazos e custos para cumprimento dos 
compromissos, com bases técnicas e não intuitivas 
• A supervisão e acompanhamento de projetos confere o atendimento dos 
compromissos, comparando o conseguido com o planejamento e acionando 
providências corretivas sempre que haja desvios significativos em relação aos 
compromissos 
• Existe um grupo de garantia de qualidade que confere o cumprimento dos 
compromissos, de forma independente em relação aos projetos 
• A gestão de configurações garante a consistência permanente dos resultados 
dos projetos, entre si e com os requisitos, ao longo do projeto, mesmo quando 
ocorrem alterações nos compromissos 
• A medição verifica o esforço realizado pela equipedo projeto. 
13 / 15 
 
• O gerenciamento de contrato com o fornecedor monitora as cláusulas 
contratuais envolvidas no processo. 
 Principais riscos: 
o Mudança de ferramentas e métodos, trazidas pela evolução de 
tecnologia 
o Mudança de tipos de produtos, causadas por variações dos 
mercados 
o Mudança de estrutura organizacional, causadas por diversos 
fatores da dinâmica das organizações 
Nível 3: Definido 
 A capacidade de processos é padrão e consistente porque a engenharia 
de software e o gerenciamento das atividades são estáveis e repetidas. 
Com isto, linhas de produto, custo, cronograma, e funcionalidade estão 
sob controle e a qualidade é traçada. 
 Estabelecimento de infraestrutura de processos que permita a 
adaptação a vários tipos de mudanças. 
 Sabem manter-se dentro dos processos mesmo em tempos de crise 
 Construção e manutenção de uma base de dados povoada com os 
dados colhidos dos projetos, usada para a sua gestão, mas não usada 
de forma sistemática para atingir metas quantitativas de desempenho. 
 Conhecimento dos processos basicamente qualitativo. 
Nível 3: Definido 
 Domínio das seguintes áreas chave: 
o Estabelecimento formal de um grupo de engenharia de 
processos de software responsável pelas atividades de 
desenvolvimento, melhoria e manutenção de processos de 
software 
o Estabelecimento de um processo padrão de software no nível 
da organização, a partir do qual devem ser derivados os 
processos definidos para os projetos 
o Estabelecimento de um programa de treinamento em processos 
de software, no nível da organização 
o Gestão integrada dos projetos, baseada nos processos definidos 
para os projetos, com o uso de procedimentos documentados 
para gestão de tamanho, esforço, prazos e riscos 
o Padronização no nível da organização dos métodos de 
engenharia de produtos de software abrangendo engenharia de 
14 / 15 
 
requisitos, testes, desenho, codificação e documentação de uso 
o Coordenação entre os grupos que participam de projetos de 
sistemas, no nível da organização 
o Coordenação de revisões técnicas, no nível da organização 
o ... 
Nível 4: Gerenciado Quantitativamente 
 Domínio de processos de forma quantitativa 
o Ex: Qual deve ser a fração de recursos (hardware, software ou 
peopleware) dos projetos destinada à garantia da qualidade, 
considerando o nível máximo de defeito que se quer admitir nos 
produtos? 
 Maior utilização e aperfeiçoamento da base de dados construída no 
Nível 3 
 Proficiente em coletar métricas e gerir a base de dados de processos 
Nível 4: Gerenciado Quantitativamente 
 Domínio das seguintes áreas chave: 
o A gestão quantitativa dos processos controla o desempenho dos 
processos usados pelos projetos 
o A gestão de qualidade de software promove o entendimento 
quantitativo da qualidade dos produtos de software, permitindo 
atingir metas quantitativas desejadas 
Nível 5: Em Otimização 
 Processos em melhoria contínua, sendo otimizados para as 
necessidades de cada momento 
 A equipe do projeto analisa defeitos, determina suas causas, avalia os 
processos, previnem contra tipos de defeitos com ocorrências 
periódicas e disseminam lições instruídas de outros projetos 
 Domínio das seguintes áreas chave: 
o Prevenção dos defeitos, através da identificação e remoção de 
suas causas. 
o Gestão de evolução tecnológica, com procedimentos 
sistemáticos de identificação, análise e introdução de tecnologia 
apropriada. 
o Uso dos dados de processo para gestão das mudanças de 
processos, colocando-os em melhoria contínua. 
 
15 / 15 
 
MPS.BR SW

Continue navegando