Upload
sebastiao-bandeira-de-almada
View
218
Download
0
Embed Size (px)
Citation preview
Tópicos Abordados
Visão Geral Objetivos Melhores Práticas Estrutura Disciplinas x Macroatividades Conclusões
Visão Geral do RUP
Rational Unified Process
Processo de Engenharia de Software
Produção de software de alta qualidade dentro de orçamento e cronograma previsíveis
Visão Geral do PSDS
Processo SERPRO de Desenvolvimento de Soluções
Fundamenta-se no RUP
Desenvolvimento OO e Estruturado
Aderente aos níveis 2 e 3 do CMMI
Atualmente na versão 6.2
Objetivos
Promover planejamento, medição e controle dos projetos
Reduzir riscos
Fazer do desenvolvimento algo previsível, medível e repetível
Dificuldades na ausência de um Processo
Necessidades não são satisfeitas
Requisitos são mal definidos
Módulos não se integram
Dificuldade de manutenção
As falhas são descobertas tarde demais...
Melhores Práticas
Implementadas no RUP e no PSDS
Suportam a realização dos objetivos do processo
Conjunto de abordagens comprovadas comercialmente para resolver grandes problemas da ES
Melhores Práticas
Desenvolvimento Iterativo Gestão de Requisitos Uso de Arquitetura de
Componentes Modelagem Visual (UML) Verificação de Qualidade Controle Mudanças
Estrutura do RUP
Estrutura do PSDS
Estrutura (RUP e PSDS)
Eixo horizontal: Aspecto dinâmico Ciclo de vida iterativo e
incremental Fases, marcos e iterações
Eixo vertical: Aspecto estático Macroatividades (Disciplinas),
papéis, artefatos e atividades
Modelo Cascata
Antigamente as disciplinas eram executadas em seqüência numa única vez
Integração tardia... grandes surpresas em requisitos, projeto, implementação!
Ciclo de Vida: Modelo Iterativo Evolução do Modelo Espiral Cada iteração libera um produto executável
estável Iterações incrementam o produto
Ciclo de Vida: Fases, Marcos e Iterações
Ciclo de vida é dividido em fases Cada fase abrange um conjunto de
disciplinas (macroatividades) Cada fase pode ter uma ou mais iterações Marcos determinam finais das fases
Concepção
Determina escopo Estima custos e cronograma Identifica riscos potenciais Especifica casos de uso e cenários
mais importantes Demonstra uma arquitetura
candidata
Marco: Objetivos do Ciclo de Vida
Requisitos capturados e bem entendidos
Acordado que estimativas de custos, cronograma, riscos e prioridades estão OK
Elaboração
Construir uma arquitetura robusta
Trazer um plano detalhado para a construção
Marco: Arquitetura do Ciclo de Vida
Visão e Requisitos estão estáveis
Arquitetura está estável
Maiores riscos já foram tratados
Construção
Completar a construção do software para colocá-lo em produção
Fase industrial do processo
Marco: Capacidade Operacional Inical
O produto pode ser colocado em produção
Todos estão prontos para colocá-lo em produção
Transição
Treinamentos
Garantir que as especificações foram satisfeitas
Chegar ao fim do processo de desenvolvimento
Marco: Lançamento do Produto
O usuário está satisfeito
O que foi gasto perante o planejado está aceitável
Iteração: Tamanho e Duração
Tamanho da organização
Tamanho do projeto
Conhecimento do negócio
Conhecimento da tecnologia
Ciclo de Vida: Vantagens
Suporta mudanças Requisitos Tecnologia
Integração e testes contínuos Riscos são atacados logo Aumenta qualidade Gestão controlada
Disciplinas
PSDS: Macroatividades
Organizadas em atividades e subatividades
Fluxos de trabalho no processo
Disciplinas
Atividades Responsáveis
(Papéis) Artefatos usados,
produzidos e mantidos
Estabelece quem (Papel) faz o quê (Artefato) e como (Atividade)
Atividades
Um pedaço de trabalho de algumas horas ou dias
Tem um papel responsável Repetida (se necessário) a cada
iteração Ex.: Executar Teste, Desenvolver
Plano de Iteração...
Papéis
Para cada indivíduo ou time define Comportamento Responsabilidade
Uma pessoa pode representar vários papéis
Ex.: Analista, Arquiteto, Testador...
Artefatos
Documento ou modelo produzido ou utilizado no processo
Pode agregar outros artefatos
Ex.: Código Fonte, Modelo de Requisitos, Plano de Projeto...
Outros Componentes (RUP)
Fluxo de Trabalho Caminho em alto nível de uma
disciplina Guias
Apoio para execução das atividades
Templates Modelos de artefatos
Outros Componentes (PSDS)
Modelos
Orientações Técnicas
Normas, Padrões
Ferramentas
Disciplinas x MacroatividadesRUP PSDSAmbiente Gestão do Processo da Organização - Programa de Treinamento Gerenciamento de Projeto Gestão de Projeto - Gestão de Aquisição com Fornecedor Modelagem de Negócio NegócioRequisitos RequisitosAnálise e Design Análise e ProjetoImplementação ImplementaçãoTeste Testes- HomologaçãoImplantação Implantação- Revisão por Pares Gerenciamento de Config. e Mudança Gestão de Configuração de Software- Garantia da Qualidade de Software- Medição e Análise- Análise de Decisão e Resolução
Gestão do Processo da Organização
Corresponde à disciplina Ambiente do RUP
Planejar, monitorar, avaliar e evoluir constantemente o PSDS
Promover o entendimento do PSDS Fornecer suporte para toda a
organização Fornecer meios para que a diretoria
avalie o alinhamento do PSDS com as metas estratégicas de negócio
Programa de Treinamento
Planejar e acompanhar as atividades de treinamento para atender às necessidades de treinamento identificadas;
Realizar os treinamentos planejados, disponibilizando toda a infra-estrutura necessária;
Identificar lições aprendidas, contribuindo para a melhoria contínua do processo
Gestão de Projeto Corresponde à disciplina Gerenciamento
de Projeto do RUP Estabelecer objetivos claros e alcançáveis Conduzir o gerenciamento das partes
interessadas do projeto de maneira a definir os papéis e responsabilidades dos envolvidos
Definir dependências a partir de compromissos firmados
Balancear as demandas conflitantes de qualidade, escopo, tempo, recursos e custo
Gestão de Aquisição com Fornecedor
Tratar da aquisição de produtos bens ou serviços
Não inclui mão de obra terceirizada Visa produto final Substitui antiga Gestão de
Subcontratação de Software
Negócio Corresponde à disciplina Modelagem
de Negócio do RUP Gerir Demandas Propor Projeto Gerir Contrato Planejar Projeto Executar e Controlar Projeto Encerrar Projeto Modelar Negócio do Cliente Atender Cliente Elaborar Plano de Negócio
Requisitos
Corresponde à disciplina Requisitos do RUP
Elicitar requisitos Documentar e analisar requisitos Negociar e priorizar requisitos Verificar e validar requisitos Gerenciar e medir requisitos
Análise e Projeto
Corresponde à disciplina Análise e Design do RUP
Analisar e projetar Modelagem de Dados
Projetar e refinar Arquitetura Analisar e projetar Casos de Uso Projetar Componentes e Topologia Elaborar documentação de apoio
Implementação
Corresponde à disciplina Implementação do RUP
Construir Unidades de Implementação (UIs) e estruturas de dados
Aplicar testes unitários para validar UIs
Integrar UIs
Testes
Corresponde à disciplina Teste do RUP
Planejar e executar testes dos produtos ou componentes de softwares
Avaliar qualidade do produto Vários níveis de teste (Unitário,
Intergração, etc.)
Homologação
Verificar se o software atende aos requisitos especificados da forma esperada.
Identificar oportunidades de correção e aplicar os ajustes correlatos à aplicação.
Obter o aceite do produto de software pelo cliente.
Registrar sugestões para as próximas versões da aplicação
Implantação Corresponde à disciplina Implantação
do RUP Identificar e/ou preparar os artefatos
que irão compor as unidades de implantação do produto de software.
Estabelecer a infra-estrutura para suporte à implantação.
Tornar disponível o produto de software para clientes, usuários e grupos envolvidos
Revisão por Pares
Verificação dos artefatos do projeto/processo
Executado desde as primeiras etapas do processo
Inspeção formal, com apoio das Listas de Verificação
Avaliar artefatos contra seus requisitos específicos, padrões e políticas organizacionais
Gestão de Configuração de Software
Corresponde à disciplina Gerenciamento de Configuração e Mudança do RUP
Planejar as atividades de gestão da configuração
Identificar, controlar versões, garantir a integridade e controlar o acesso aos artefatos
Tornar disponível a situação da configuração
Controlar e comunicar mudanças efetuadas na configuração
Garantia de Qualidade de Software
Avaliar a execução do Processo e elaboração de artefatos nos projetos ou nas macroatividades organizacionais em relação às descrições de processo contidas no PSDS
Identificar e documentar não-conformidades
Reportar os resultados de GQS para a equipe de projeto e aos vários níveis gerenciais
Assegurar que as não-conformidades sejam tratadas
Medição e Análise Provê desenvolvimento e manutenção
de um processo sustentado de medição Visa coleta, armazenamento, análise e
publicação de dados Apoia o gerenciamento e a melhoria
contínua Possibilita ao Serpro melhor
compreender os produtos e os processos de desenvolvimento de soluções envolvidos
Análise de Decisão e Resolução
Suporte à tomada de decisão Analisar possíveis soluções através
de um processo formal que avalie alternativas com relação a critérios estabelecidos.
Tornar as decisões tomadas nos projetos de software mais objetivas
Conclusões Processo mais bem-sucedido do mercado
(RUP) Bem suportado pela comunidade
(consultores, bibliografia...) Escopo amplo e bem detalhado Pesado Difícil de ser implantado em pequenas
empresas O PSDS se dá em níveis diferentes dentro
do SERPRO
Bibliografia Rational. Rational Unifed Process. 2002.
http://www.wthreex.com/rup/
SERPRO – Portal Corporativo. Manual do PSDS Versão 6.2. 2006