ipprocess - introdução francielle - fss@lincs.org.br laboratório para a integração de circuitos...

Post on 19-Apr-2015

103 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ipPROCESS - Introdução

Francielle - fss@lincs.org.br

Laboratório para a Integração de Circuitos e Sistemas

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 3

Quem são Vocês?

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 6

Realizando um Projeto de Desenvolvimento...

Como o marketing solicitou

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 7

Realizando um Projeto de Desenvolvimento...

Como as vendas negociaram

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 8

Realizando um Projeto de Desenvolvimento...

Como o engenheiro projetou

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 9

Realizando um Projeto de Desenvolvimento...

Como foi implementado

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 10

Realizando um Projeto de Desenvolvimento...

Como foi corrigido

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 11

Realizando um Projeto de Desenvolvimento...

O que o cliente realmente queria...

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 16

O que é Processo?

O que não é processo:

Não é documentação;

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 17

O que é Processo?

O que não é processo:

Não é documentação;

Não é cronograma;

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 18

O que é Processo?

O que não é processo:

Não é documentação;

Não é cronograma;

Não é UML;

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 23

O que é Processo?

É um conjunto ordenado de passos pré-determinados que levam a um objetivo.

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 29

Relembrando...

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 30

O Primeiro Problema

Como capturar as necessidades dos usuários?

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 31

O Segundo Problema

Como desenvolver com qualidade?

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 39

Fases

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 45

Conceitos

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 50

Arquitetura do Processo

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 56

O Site

www.lincs.org.br/ipprocess

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 57

Exemplo

O LCD

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 59

O Que é Feito

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 61

Como é Feito

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 64

Por Quem é Feito

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 66

Quando é Feito

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 67

Quando é Feito

www.lincs.org.br/dotproject

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 68

Quando é Feito

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 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 <franciellesantos@lincs.org.br> 70

O Que Usa e Produz

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 71

Dúvidas, Sugestões

12/07/07 Francielle Santos <franciellesantos@lincs.org.br> 72

Contato

LINCS

André Aziz e Francielle Santos

{andreaziz, franciellesantos}@lincs.org.br

top related