IpPROCESS - Introdução Francielle - [email protected] Laboratório para a Integração de Circuitos...
Transcript of IpPROCESS - Introdução Francielle - [email protected] Laboratório para a Integração de Circuitos...
ipPROCESS - Introdução
Francielle - [email protected]
Laboratório para a Integração de Circuitos e Sistemas
12/07/07 Francielle Santos <[email protected]> 2
Sobre o ipPROCESS
Desenvolvido durante o projeto Brazil-IP (ano 1), na UFPE:
1 tese de mestrado;
3 trabalhos de graduação;
5 pessoas em contato direto.
Finalidade:
Uso acadêmico;
Laboratório LINCS.
12/07/07 Francielle Santos <[email protected]> 3
Quem são Vocês?
12/07/07 Francielle Santos <[email protected]> 4
Agenda
Necessidades de Processo
O que é um Processo?
O ipPROCESS
Conceitos de SPEM
Utilizando o ipPROCESS
Prática de Planejamento
12/07/07 Francielle Santos <[email protected]> 5
Motivação
O que há de errado com o desenvolvimento?
Há muito risco de fracasso e dificuldade no gerenciamento das atividades?
Clientes na maioria das vezes ficam insatisfeitos com o resultado?
Programadores também estão insatisfeitos?
12/07/07 Francielle Santos <[email protected]> 6
Realizando um Projeto de Desenvolvimento...
Como o marketing solicitou
12/07/07 Francielle Santos <[email protected]> 7
Realizando um Projeto de Desenvolvimento...
Como as vendas negociaram
12/07/07 Francielle Santos <[email protected]> 8
Realizando um Projeto de Desenvolvimento...
Como o engenheiro projetou
12/07/07 Francielle Santos <[email protected]> 9
Realizando um Projeto de Desenvolvimento...
Como foi implementado
12/07/07 Francielle Santos <[email protected]> 10
Realizando um Projeto de Desenvolvimento...
Como foi corrigido
12/07/07 Francielle Santos <[email protected]> 11
Realizando um Projeto de Desenvolvimento...
O que o cliente realmente queria...
12/07/07 Francielle Santos <[email protected]> 12
Problemas com o Desenvolvimento
Problemas de gerenciamento e sobrecarga das equipes;
Baixa confiabilidade e corretude do produto;
Altos custos de produção;
Atrasos na entrega;
Dificuldade de medição.
Baixa qualidade dos produtos finais!!!
12/07/07 Francielle Santos <[email protected]> 13
Causas
Desenvolvimento == Programação;
Falta de suporte às equipes:
Formas ad-hoc de trabalhar;
Poucos mecanismos de acompanhamento e correção;
Poucos treinamentos e consultorias formais.
Programação é somente uma pequena parte do trabalho!!!
12/07/07 Francielle Santos <[email protected]> 14
Resumindo...
Projeto de sistemas, envolve:
Organização de times para construção de sistemas;
Arquitetura de sistemas;
Análise e testes de sistemas;
Ferramentas.
Planejamento, estimativas e gerência de projetos:
Determinação do que precisa ser construído;
Ciclos de vida e processos de desenvolvimento.
Processos
12/07/07 Francielle Santos <[email protected]> 16
O que é Processo?
O que não é processo:
Não é documentação;
12/07/07 Francielle Santos <[email protected]> 17
O que é Processo?
O que não é processo:
Não é documentação;
Não é cronograma;
12/07/07 Francielle Santos <[email protected]> 18
O que é Processo?
O que não é processo:
Não é documentação;
Não é cronograma;
Não é UML;
12/07/07 Francielle Santos <[email protected]> 19
O que é Processo?
O que não é processo:
Não é documentação;
Não é cronograma;
Não é UML;
Não é codificação;
12/07/07 Francielle Santos <[email protected]> 20
O que é Processo?
O que não é processo:
Não é documentação;
Não é cronograma;
Não é UML;
Não é codificação;
Não é boa prática de programação;
12/07/07 Francielle Santos <[email protected]> 21
O que é Processo?
O que não é processo:
Não é documentação;
Não é cronograma;
Não é UML;
Não é codificação;
Não é boa prática de programação;
Não é burocracia.
12/07/07 Francielle Santos <[email protected]> 22
O que é Processo?
Processo, segundo o Michaelis:
Sucessão sistemática de mudanças numa direção definida.
Concatenação ou sucessão de fenômenos.
Série de ações sistemáticas visando a certo resultado.
Ação ou operação contínua ou série de ações ou alterações que ocorrem de uma maneira determinada.
12/07/07 Francielle Santos <[email protected]> 23
O que é Processo?
É um conjunto ordenado de passos pré-determinados que levam a um objetivo.
12/07/07 Francielle Santos <[email protected]> 24
Aplicação - Geral
A Justiça utiliza processo para aplicar as leis;
Empresas utilizam processo em diversas áreas:
Fabricação, compras, vendas, recursos humanos, auditoria, etc...
12/07/07 Francielle Santos <[email protected]> 25
Aplicação - Informática
Computadores utilizam processo para realizar tarefas;
Equipes de desenvolvimento utilizam processo para construir softwares e hardwares com qualidade no tempo e custos esperados.
Engenharia de Engenharia de SistemasSistemas
Engenharia de Engenharia de SistemasSistemas
Análise de Análise de RequisitosRequisitos
Análise de Análise de RequisitosRequisitos
Projeto Projeto Projeto Projeto
CodificaçãoCodificação CodificaçãoCodificação
Testes Testes Testes Testes
Manutenção Manutenção Manutenção Manutenção
12/07/07 Francielle Santos <[email protected]> 26
Processo de Desenvolvimento
Definições:
Conjunto de atividades e resultados associados que geram um produto de software.
[Sommerville, 2003]
Conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações, usado para atingir uma meta.
Meta associada a um ou mais resultados concretos finais, que são os produtos da execução do processo.
12/07/07 Francielle Santos <[email protected]> 27
Processos
Definem:
O que é feito:Produto, atividades, passos;
Como é feito:Guias e boas práticas;
Por quem é feito:Papéis;
Quando é feito:Pré-requisitos, fluxos;
O que usa e produz:Artefatos.
O ipPROCESS
12/07/07 Francielle Santos <[email protected]> 29
Relembrando...
12/07/07 Francielle Santos <[email protected]> 30
O Primeiro Problema
Como capturar as necessidades dos usuários?
12/07/07 Francielle Santos <[email protected]> 31
O Segundo Problema
Como desenvolver com qualidade?
12/07/07 Francielle Santos <[email protected]> 32
ipPROCESS
Processo de desenvolvimento de Soft IP-cores com prototipação em FPGA:
Define um conjunto de atividades para determinados papéis na organização;Transforma os requisitos no IP-core desejado.
Necessidades do usuário
ipPROCESSIP-core
12/07/07 Francielle Santos <[email protected]> 33
ipPROCESS
Precisa ser instanciado, para cada novo projeto na organização:
Customização dos fluxos, atividades e artefatos.
A quem se destina o ipPROCESS?
Organizações que desenvolvem IP-cores:Projetistas;
Implementadores;
Testadores.
12/07/07 Francielle Santos <[email protected]> 34
Por que usar o ipPROCESS?
Porque ele provê um processo de desenvolvimento estruturado, com atividades abrangentes:
Podendo ser aplicado em projetos com diferentes tamanhos e propósitos:
Customização de acordo com as necessidades da organização.
O processo ajuda os desenvolvedores:
Definindo o que tem que ser feito;
Definindo o fluxo a ser seguido;
Sugerindo alguns guias para ajudar na execução das atividades.
12/07/07 Francielle Santos <[email protected]> 35
Características (1/4)
Ciclo de vida Iterativo e Incremental:
Cada iteração resulta em um build (versão funcional);
Problemas complexos não são resolvidos de uma única vez;
Facilidades para:Interação com o cliente;
Planejamento.
Gerência de instabilidade da equipe.
12/07/07 Francielle Santos <[email protected]> 36
Características (2/4)
Guiado por casos de uso:
Definições atômicas sobre o que um IP-core deve fazer mas não como um IP-core deve operar;
Capturam o comportamento pretendido para o IP-core;
Dividir para conquistar:X casos de uso por iteração.
Centrado na arquitetura.
12/07/07 Francielle Santos <[email protected]> 37
Características (3/4)
Usa uma linguagem universal de modelagem visual:
Simplicação da realidade sob um determinado ponto de vista;
Linguagens utilizadas: UML e SPEM. Processo gerencial disciplinado:
Planejamento e acompanhamento por fases e iterações:
Cada fase é única;
A cada iteração atividades se repetem.
12/07/07 Francielle Santos <[email protected]> 38
Características (4/4)
Processo gerencial disciplinado: (cont.)
Identificação prévia dos riscos:Trabalha os casos de uso mais críticos nas primeiras fases do projeto;
Definição de milestones:Transparência dos critérios de saída e de aceitação;
Facilidade para o monitoramento de custo e riscos.
12/07/07 Francielle Santos <[email protected]> 39
Fases
12/07/07 Francielle Santos <[email protected]> 40
Fases
Seu objetivo é elicitar os requisitos (funcionais e não funcionais), a fim de definir o escopo do projeto, critérios de aceitação, escopo negativo e o que deve ser entregue com o produto.
12/07/07 Francielle Santos <[email protected]> 41
Fases
O objetivo desta fase é a elaboração de uma arquitetura estável, servindo de base para os esforços de projeto e implementação.
12/07/07 Francielle Santos <[email protected]> 42
Fases
O objetivo da fase de Projeto é desenvolver um protótipo do IP-core baseado na arquitetura previamente definida.
12/07/07 Francielle Santos <[email protected]> 43
Fases
O foco desta fase é a criação do protótipo físico, garantindo que o IP-core será distribuído para os seus usuários finais (integradores) com qualidade.
12/07/07 Francielle Santos <[email protected]> 44
Fases
Arquitetura Arquitetura Arquitetura Arquitetura
Código RTLCódigo RTL Código RTLCódigo RTL
Protótipo FinalProtótipo Final Protótipo FinalProtótipo Final
Casos de Uso Casos de Uso Casos de Uso Casos de Uso
12/07/07 Francielle Santos <[email protected]> 45
Conceitos
12/07/07 Francielle Santos <[email protected]> 46
Conceitos de SPEM
Disciplina:
Conjunto de atividades relacionadas que compõem uma certa “área de concentração” do projeto. Exemplo: Disciplina de Requisitos.
Fluxo de Atividades da Disciplina:
Descreve o fluxo de eventos que deve ser seguido para alcançar os objetivos da disciplina. Propõe uma execução ordenada (ou parcialmente ordenada) das atividades.
12/07/07 Francielle Santos <[email protected]> 47
Conceitos de SPEM
Atividade:
Unidade de trabalho executada por um papel específico no projeto. Apresenta passos ordenados, entradas e saídas.
Papel:
É composto por uma série de responsabilidades, comportamento e habilidades, formando assim um perfil requerido para a execução de determinadas atividades no contexto da organização desenvolvedora.
12/07/07 Francielle Santos <[email protected]> 48
Conceitos de SPEM
Artefato:
É um produto de trabalho do projeto. Artefatos são entradas e saídas das atividades, havendo papéis responsáveis por cada um destes. Ou seja, são produzidos, manipulados, modificados e distribuídos ao longo da execução do projeto. Exemplos: documentos, templates, código fonte, etc.
Template:
É uma estrutura pré-definida para um artefato.
12/07/07 Francielle Santos <[email protected]> 49
Conceitos de SPEM
Guia
O propósito de um guia é auxiliar na execução de atividades, ou ainda na elaboração de artefatos.
Tutorial
Guia de como executar uma atividade utilizando ferramentas.
12/07/07 Francielle Santos <[email protected]> 50
Arquitetura do Processo
12/07/07 Francielle Santos <[email protected]> 51
Arquitetura do Processo
Esforço
Em cada iteração, todas as disciplinas são executadas com diferentes
esforços.
Tempo
12/07/07 Francielle Santos <[email protected]> 52
Iterativo Incremental
Requisitos Requisitos Requisitos Requisitos
A&P A&P A&P A&P
ImplementaçãoImplementação ImplementaçãoImplementação
Verificação Verificação Verificação Verificação
Requisitos Requisitos Requisitos Requisitos
A&P A&P A&P A&P
Requisitos Requisitos Requisitos Requisitos
A&P A&P A&P A&P
Requisitos Requisitos Requisitos Requisitos
A&P A&P A&P A&P
PrototipaçãoPrototipação PrototipaçãoPrototipação
ImplementaçãoImplementação ImplementaçãoImplementação
Verificação Verificação Verificação Verificação
PrototipaçãoPrototipação PrototipaçãoPrototipação
ImplementaçãoImplementação ImplementaçãoImplementação
Verificação Verificação Verificação Verificação
PrototipaçãoPrototipação PrototipaçãoPrototipação
Implementação Implementação Implementação Implementação
Verificação Verificação Verificação Verificação
PrototipaçãoPrototipação PrototipaçãoPrototipação
12/07/07 Francielle Santos <[email protected]> 53
Benefícios (1/2)
Utilização de práticas de Engenharia de Software para aumentar a produtividade:
São aplicadas as boas práticas já disseminadas;
Iterações reduzem os objetivos principais a fim de alcançá-los em intervalos de tempo menores:
Dividir para conquistar!!!
12/07/07 Francielle Santos <[email protected]> 54
Benefícios (2/2)
Integração contínua do projeto, a cada iteração:
Resolução dos problemas de integração cedo no projeto;
Aumento do conjunto de “Lições Aprendidas”, a cada nova iteração:
Treinamentos, consultorias, replanejamentos, etc;
Aumento do reuso:
Identificação das oportunidades de reuso através do desenvolvimento incremental.
Usando o ipPROCESS
12/07/07 Francielle Santos <[email protected]> 58
Processos – Relembrando...
Definem:
O que é feito:Produto, atividades, passos;
Como é feito:Guias e boas práticas;
Por quem é feito:Papéis;
Quando é feito:Pré-requisitos, fluxos;
O que usa e produz:Artefatos.
Gerente de Projeto
12/07/07 Francielle Santos <[email protected]> 59
O Que é Feito
12/07/07 Francielle Santos <[email protected]> 60
Processos – Relembrando...
Definem:
O que é feito:Produto, atividades, passos;
Como é feito:Guias e boas práticas;
Por quem é feito:Papéis;
Quando é feito:Pré-requisitos, fluxos;
O que usa e produz:Artefatos.
12/07/07 Francielle Santos <[email protected]> 61
Como é Feito
12/07/07 Francielle Santos <[email protected]> 62
Processos – Relembrando...
Definem:
O que é feito:Produto, atividades, passos;
Como é feito:Guias e boas práticas;
Por quem é feito:Papéis;
Quando é feito:Pré-requisitos, fluxos;
O que usa e produz:Artefatos.
12/07/07 Francielle Santos <[email protected]> 63
Por Quem é Feito
Definição de papéis:
Perfil associado;
Responsabilidade;
Habilidade.
Subequipes:
Orientadas a papéis;
Orientadas a sub-sistemas.
12/07/07 Francielle Santos <[email protected]> 64
Por Quem é Feito
12/07/07 Francielle Santos <[email protected]> 65
Processos – Relembrando...
Definem:
O que é feito:Produto, atividades, passos;
Como é feito:Guias e boas práticas;
Por quem é feito:Papéis;
Quando é feito:Pré-requisitos, fluxos;
O que usa e produz:Artefatos.
12/07/07 Francielle Santos <[email protected]> 66
Quando é Feito
12/07/07 Francielle Santos <[email protected]> 68
Quando é Feito
12/07/07 Francielle Santos <[email protected]> 69
Processos – Relembrando...
Definem:
O que é feito:Produto, atividades, passos;
Como é feito:Guias e boas práticas;
Por quem é feito:Papéis;
Quando é feito:Pré-requisitos, fluxos;
O que usa e produz:Artefatos.
12/07/07 Francielle Santos <[email protected]> 70
O Que Usa e Produz
12/07/07 Francielle Santos <[email protected]> 71
Dúvidas, Sugestões
12/07/07 Francielle Santos <[email protected]> 72
Contato
LINCS
André Aziz e Francielle Santos
{andreaziz, franciellesantos}@lincs.org.br