Projeto e construção do produto MPS.br
O objetivo do processo é definir atividades que permitam a elaboração do projeto e que possibilitem a implementação dos requisitos.
Processos de projeto de software
No MPS.br
- Projeto e Construção do Produto (PCP) -> Nível D
No CMMI
- Technical Solutions (TS) -> Nível 3
Na ISO 12207
- Development Processes
Propósito
- Projetar (design)
- Processo criativo de transformar o problema em uma solução.
- Representação significativa de algo a ser construído
- Desenvolver
- Implementar requisitos
Resultados esperados
- PCP1 - Definição da arquitetura e documentação da arquitetura
- Necessário fazer a definição da arquitetura do software
- Criar alternativas para solucionar o problema
- Exemplos de alternativas
- Desenvolver ou comprar?
- Linguagens, frameworks
- Ambiente desktop, move
- Banco de dados
- Escolher uma das alternativas com base nos critérios estabelecidos inicialmente
- Exemplos de critérios
- Risco
- Custo
- Capacitação da equipe
- PCP2 - Soluções
- Soluções são selecionadas com base no cenário que são definidos e em critérios que são identificados
- Necessário identificar os critérios de seleção e avaliar as alternativas
- Pode ser necessário repetir o processo todo de tomada de decisão para um componente específico
- PCP3 - Produto e componentes do produto
- Projetar o produto de acordo com os requisitos
- Projeto é constituído da arquitetura do sistema (hardware, software e op. manual) e do software
- Para evidenciar este resultado pode ser usado documentos técnicos como documento de arquitetura, desenho, análise ou modelo de banco de dados
- PCP4 - Interfaces
- Interfaces entre os componentes do produto
- Componente precisa expor as interfaces que ele fornece e que ele consome.
- Projeto deve conter a definição das interfaces
- A escolha da interface leva em conta os requisitos definidos no processo DRE
- O processo ITP (integração do produto) utilizará as interfaces projetadas
- PCP5 - Análise dos componentes do produto
- Análise é necessário para decidir sobre a construção, compra ou reutilização dos componentes
- Considerar custo-benefício, deve incluir custo direto e indireto.
- PCP6 - Componentes do produto implementado e verificação
- Verificar se os componentes estão implementados de acordo com o projeto e a sua documentação desenvolvida
- MPS.br fornece várias alternativas para fazer a verificação
- Revisão por pares
- Testes de unidade
- Verificação em relação aos requisitos do projeto
- Como evitar este resultado?
- Código fonte
- Lista de verificação
- Padrões de codificação
- Relatórios de inspeção
- Relatórios da execução dos testes
- PCP7 - Documentação
- Desenvolvida de acordo com os padrões estabelecidos
- Doc. deve dar apoio para o desenvolvimento
- Deve conter
- O projeto de arquitetura do projeto
- Justificativa das decisões tomadas
- Projeto dos componentes
- Projeto das interfaces
- Rastreabilidade entre os requisitos e interfaces
- PCP8 - Documentação é mantida
- Doc. precisa ser mantida e revisada
- Pode-se utilizar padrões na documentação, ex:
- Fontes a serem utilizadas
- uso de abreviações
- índice
- tamanho da fonte
Introdução ao framework SEMAT Essence
SEMAT é a comunidade que trabalha definindo o framework Essence
Framework Essence
O framework inclui uma linguagem e um kernel e oferece:
- Monitoramento do progresso do projeto de software
- Direcionamento do progresso dirigido por objetivos
Framework consiste
- Métodos
- Práticas
- Kernel Essence
- Linguagem Essence
O framework se baseia em três aspectos: Cliente, Solução e Esforço, dentro de cada aspecto tem os:
- Alphas: itens com os quais trabalhamos
- Possuem diversos estados
- Cada estado possui uma lista de verificação
- Organiza os estados através de cartões
- Espaços de atividades: itens a fazer
- Competências: quais as competências para trabalhar dentro da situação
Portanto, a estrutura ficaria assim:
- Cliente
- Alphas
- Oportunidade, Stakeholders
- Espaços de atividades
- Competências
- Solução
- Alphas
- Requisitos e Sistemas de Software
- Espaços de atividades
- Competências
- Esforço
- Alphas
- Trabalho, Forma de Trabalho e Equipe
- Espaços de atividades
- Competências
Kernel do Essence
- Olhar o projeto holisticamente
- Dar atenção de forma holística é observar todos os aspectos do projeto (todos os alpha)
- Monitorar o progresso
- Definir qual o estado atual de um determinado alpha
- Precisa ter a lista de verificação feita para completar um estado no alpha
- Definir a direção e os objetivos do projeto
- Uma vez definido o estado atual
- Definir o estado alvo, qual a direção que vou dar para o projeto
- Decidir como alcançar os objetivos (itens a trabalhar)
- Preciso demonstrar as características chave
- Agir para concluir os itens a trabalhar
- Produzir os itens levantados para atingir o objetivo
Alphas relevantes dentro da disciplina
- Requisitos delimitados
- Sem eles não é possível elaborar a arquitetura definitiva
- Requisitos coerentes
- Não há conflitos entre os requisitos funcionais e não funcionais
- Sistema de Software
- o primeiro item é certificar que a arquitetura deve ser selecionada
- ser capaz de demonstrar a arquitetura selecionada
Kernel provê a estrutura e o mecanismo para:
- Monitoramento do progresso do projeto
- Reflexão da equipe
- Gerenciamento de riscos
- Direcionamento do projeto
Fundamento do SEMAT Essence é o kernel. Utilizando as práticas e o kernel é possível criar um método personalizado.
Nenhum comentário:
Postar um comentário