engenharia de software e sistemas de informação laboratório de engenharia de software 2008

Post on 17-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Engenharia de Software Engenharia de Software e Sistemas de e Sistemas de

InformaçãoInformação

Engenharia de Software Engenharia de Software e Sistemas de e Sistemas de

InformaçãoInformação

Laboratório de Engenharia de Software

2008

Conteúdo

Visão geral da área de pesquisa Relação da área com os cursos de

Computação do ICMC.

O Profissional que atua em engenharia de software

Projetos em andamento Oportunidades de Iniciação Científica.

Contatos

O Veículo Espacial ARIANE 5

Em 1996, o veículo espacial Ariane 5 saiu do curso e explodiu segundos após o seu lançamento.

Levou uma década de desenvolvimento e custou 7 bilhões de dólares para a Agência Espacial Européia.

Causa do acidente: reutilização de componentes do veículo Ariane 4.

O Veículo Espacial ARIANE 5

Motivo da falha:– Erro de software no cálculo da

velocidade horizontal do foguete.• A variável que armazenava este valor tinha

64 bits (floating point) e foi erroneamente modificada para 16 bits (signed integer).

• O valor era maior que 32.767 (maior inteiro), gerando uma falha de conversão!!!

Um Sistema Baseado em Computador (SBC) é um dos

subsistemas do sistema empresa.

Qual é a finalidade de um SBC?

Sistema Baseado em Computador

Conjunto de elementos organizados para executar certo método, procedimento ou controle ao processar informações.

Quais são os elementos de um SBC?

Elementos de um Sistema Baseado em Computador

SistemaSistemaEntrada Saída

DocumentosDocumentos

ProcedimentoProcedimento

HardwareHardware

SoftwareSoftware

PessoasPessoas

Banco Banco de de

dadosdados

Elementos de um Sistema Baseado em Computador

SistemSistemaa

Entrada Saída

DocumentoDocumentoss

ProcedimentProcedimentoo

HardwareHardware

SoftwarSoftwaree

PessoasPessoas

Banco Banco de de

dadosdados

Dispositivos eletrônicos e

eletromecânicos.

Elementos de um Sistema Baseado em Computador

SistemSistemaa

Entrada Saída

DocumentoDocumentoss

ProcedimentProcedimentoo

HardwareHardware

SoftwarSoftwaree

PessoasPessoas

Banco Banco de de

dadosdados

Seqüência de passos que definem o uso específico

de cada elemento do sistema ou o contexto

em que o sistema reside.

Elementos de um Sistema Baseado em Computador

SistemSistemaa

Entrada Saída

DocumentoDocumentoss

ProcedimentProcedimentoo

HardwareHardware

SoftwarSoftwaree

PessoasPessoas

Banco Banco de de

dadosdados

Manuais, formulários e outras informações

descritivas que retratam o uso e/ou a operação do sistema.

Elementos de um Sistema Baseado em Computador

SistemSistemaa

Entrada Saída

DocumentoDocumentoss

ProcedimentProcedimentoo

HardwareHardware

SoftwarSoftwaree

PessoasPessoas

Banco Banco de de

dadosdados

Coleção organizada de dados a que se tem acesso pelo

software.

Elementos de um Sistema Baseado em Computador

SistemSistemaa

Entrada Saída

DocumentoDocumentoss

ProcedimentProcedimentoo

HardwareHardware

SoftwarSoftwaree

PessoasPessoas

Banco Banco de de

dadosdados

Usuários, interessados e operadores de

hardware e software.

Elementos de um Sistema Baseado em Computador

SistemSistemaa

Entrada Saída

DocumentoDocumentoss

ProcedimentProcedimentoo

HardwareHardware

SoftwarSoftwaree

PessoasPessoas

Banco Banco de de

dadosdados

Programas de computador, estruturas de

dados e documentação

correlata que servem para efetivar o método, processo ou controle lógico

necessário.

Software Básico– Coleção de programas escritos para dar apoio a

outros programas.

Software de Tempo Real– Monitora, analisa e controla eventos do mundo

real à medida que estes ocorrem.

Software Comercial – Sistemas de operações comerciais e tomadas

de decisão administrativas.

Aplicações de Software

Software Científico e de Engenharia– Caracterizado por algoritmos de processamento

de números. Software Embutido

– Usado para controlar produtos e sistemas para os mercados industriais e de consumo.

Software de Computador Pessoal– Envolve processamento de textos, planilhas

eletrônicas, aplicações gráficas, diversões, etc.

Aplicações de Software

Aplicações de Software

Software para Web– Páginas da Web recuperadas por um browser,

incorporando instruções executáveis e dados.

Software para Inteligência Artificial– Faz uso de algoritmos não numéricos para

resolver problemas que não são passíveis de computação ou análise direta.

• Sistemas especialistas, de reconhecimento de padrões, de redes neurais, etc.

Pode-se dizer que o software vai sofrendo um desgaste

com o tempo, como o hardware?

Características do Software

Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.

A maioria é feita sob medida em vez de ser montada a partir de componentes existentes.

Não se desgasta mas se deteriora.

Características do Software

tempo

“desgaste”“mortalidade infantil”

índice de

falhas

CURVA DE FALHAS DO HARDWARE

Características do Software

índice de

falhas

mudança

curva real

curva idealizada

tempo

CURVA DE FALHAS DO SOFTWARE

Evolução do Software

(1950 - 1965) O hardware sofreu contínuas

mudanças. O software era uma arte "secundária"

para a qual havia poucos métodos sistemáticos.

O hardware era de propósito geral. O software era específico para cada

aplicação. Não havia documentação.

Evolução do Software

(1965 - 1975)

Multiprogramação e sistemas multiusuários.

Técnicas interativas. Sistemas de tempo real. 1a geração de SGBD’s. Produto de software - software houses. Bibliotecas de software.

Evolução do Software

(1965 - 1975)

Crescimento do número de sistemas baseados em computador.

Manutenção quase impossível.

..... CRISE DE ..... CRISE DE SOFTWARESOFTWARE

(1975 - hoje)

Sistemas distribuídos. Redes locais e globais. Uso generalizado de

microprocessadores - produtos inteligentes.

Hardware de baixo custo. Impacto de consumo.

Evolução do Software

(Quarta era do software de computador)

Tecnologias orientadas a objetos. Sistemas especialistas e software de

inteligência artificial usados na prática. Software de rede neural artificial. Computação paralela.

Evolução do Software

Por que surgiu a Engenharia de Software?

Evolução do Software

(1965 - 1975)

Crescimento do número de sistemas baseados em computador.

Manutenção quase impossível.

..... CRISE DE ..... CRISE DE SOFTWARESOFTWARE

Crise de Softwarerefere-se a um conjunto de refere-se a um conjunto de problemasproblemas encontrados no encontrados no

desenvolvimento de desenvolvimento de software.software.

AFLIÇÃO CRÔNICA

Crise de Software

As estimativas de prazo e de custo freqüentemente são imprecisas.

Freqüente insatisfação do cliente com o sistema concluído

A qualidade do software é, em geral, menos que adequada.

O software existente é muito difícil de manter.

Falhas das pessoas responsáveis pelo desenvolvimento de software.

Resposta à Crise de Software

A aplicação de uma abordagem sistemática, disciplinada e possível de ser medida para o desenvolvimento, operação e manutenção do software (IEEE)

O Produto Software

O produto software tem uma natureza um pouco diferente dos “produtos tradicionais”:

O software é abstrato– é a expressão – traduzida em instruções para

computadores – da solução desenvolvida por um ser humano (ou vários!) para um problema

– pode ser tão simples quanto calcular o total de uma lista de compras, ou tão complexo quanto calcular a fatura de um telefone celular.

Assim, é preciso .... compreender bem o problema do cliente desenvolver uma solução garantir que ela funcione transformar a solução em um software entregar o software ao cliente no custo e prazo combinados oferecer treinamento aos usuários realizar alterações quando o cliente pedir manter o controle da versão do software que cada cliente possui e tudo enquanto

– negocia preços e prazos, – paga o salário dos funcionários, – capacita os funcionários– se mantém atualizado com o mercado tecnológico

e ainda busca maneiras de fazer tudo isso cada vez melhor, mais rápido e mais barato do que a concorrência.

Assim, é preciso .... compreender bem o problema do cliente desenvolver uma solução garantir que ela funcione transformar a solução em um software entregar o software ao cliente no custo e prazo combinados oferecer treinamento aos usuários realizar alterações quando o cliente pedir manter o controle da versão do software que cada cliente possui e tudo enquanto

– negocia preços e prazos, – paga o salário dos funcionários, – capacita os funcionários– se mantém atualizado com o mercado tecnológico

e ainda busca maneiras de fazer tudo isso cada vez melhor, mais rápido e mais barato do que a concorrência.

Parece não ser simples

E E nãonão é! é!

Resposta à Crise de Software

A aplicação de uma abordagem sistemática, disciplinada e possível de ser medida para o desenvolvimento, operação e manutenção do software (IEEE)

Pode ser orientada pelaNorma Internacional

ISO/IEC 12207ISO/IEC 12207

Norma Internacional ISO/IEC 12207 utilizada em muitos países, inclusive no

Brasil, para alcançar um diferencialdiferencial competitivocompetitivo na produção de software

abrange desde a concepçãoconcepção até a descontinuidadedescontinuidade do software.

Norma Internacional ISO/IEC 12207 a norma apresenta “o quêo quê” deve ser feito

para que se alcance a qualidade a norma não apresenta “como fazercomo fazer”, ficando

essa parte a cargo do interessado na sua implantação.

Processos de Ciclo de Vida de Software

Na Norma ISO/IEC 12207Norma ISO/IEC 12207, os processosprocessos são agrupados em três classesclasses, que representam a sua naturezanatureza.

– Processos FundamentaisFundamentais

– Processos de ApoioApoio

– Processos OrganizacionaisOrganizacionais

Processos de Ciclo de Vida de Software

Reuso

Gerência

Melhoria

Processos OrganizacionaisProcessos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Recursos e Infraestrutura

Reuso

Gerência

Melhoria

Processos OrganizacionaisProcessos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Recursos e Infraestrutura

Processos de Ciclo de Vida de Software

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Papéis EnvolvidosPapéis Envolvidos AdquirenteAdquirente:: organização

que adquire um sistema ou produto de software

FFornecedorornecedor:: organização que fornece o produto de software ao adquirente

DDesenvolvedoresenvolvedor:: organização que define e desenvolve o produto de software

Processos de Ciclo de Vida de Software

Processos de Processos de DesenvolvimentoDesenvolvimento

Orientam a organização que assumir o papel de desenvolvedor

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PR

OC

ES

SO

S D

E

AP

OIO

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Processos de Processos de OperaçãoOperação

Orientam a organização na fase pós entrega

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PR

OC

ES

SO

S D

E

AP

OIO

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Processos de Processos de AquisiçãoAquisição

Orientam a organização que assumir o papel de comprador

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PR

OC

ES

SO

S D

E

AP

OIO

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Processos de Processos de FornecimentoFornecimento

Orientam a organização que assumir o papel de fornecedor

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Processos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PR

OC

ES

SO

S D

E

AP

OIO

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Reuso

Gerência

Melhoria

Processos OrganizacionaisProcessos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Recursos e Infraestrutura

Reuso

Gerência

Melhoria

Processos OrganizacionaisProcessos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Processos de Ciclo de Vida de Software

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Processos de ApoioProcessos de ApoioAuxiliam e contribuem para o

sucesso e qualidade de quaisquer outros processos nos vários pontos do ciclo de vida do software

Processos de Ciclo de Vida de Software

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Processos de Controle da ConfiguraçãoProcessos de Controle da ConfiguraçãoDesenvolvimento de software sucessivas

mudanças produto evolua para o seu estado final.

Se as mudanças não são controladas o caos é praticamente inevitável.

Os processos de controle da configuração têm o objetivo de orientar a organização a evitar esse caos.

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documentação Gerenciamento da Configuração Gerenciamento da resolução de problemas Gerenciamento dos Pedidos de Alteração

PR

OC

ES

SO

S D

E

AP

OIO

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Processos de Garantia de QualidadeProcessos de Garantia de Qualidade Mudanças inerentes à produção de software

medidas para garantir a qualidade dos produtos e serviços

Os processos de garantia de qualidade orientam a organização fornecedora para garantir que o produto seja construído corretamente (com o mínimo de erros possível) e que o produto correto seja construído (esteja em conformidade com as necessidades do cliente).

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documentação Gerenciamento da Configuração Gerenciamento da resolução de problemas Gerenciamento dos Pedidos de Alteração

PROCESSOS DE GARANTIA DE QUALIDADE Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Avaliação do produto

PR

OC

ES

SO

S D

E

AP

OIO

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Reuso

Gerência

Melhoria

Processos OrganizacionaisProcessos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Recursos e Infraestrutura

Reuso

Gerência

Melhoria

Processos OrganizacionaisProcessos Fundamentais

Aquisição

Fornecimento

Desenvolvimento Operação

Garantia da Qualidade

Processos de Apoio

Controle da Configuração

Recursos e Infraestrutura

Processos de Ciclo de Vida de Software

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Processos de Processos de GerênciaGerência

orientam a organização a definir atividades genéricas que podem ser empregadas quando houver a necessidade de gerenciar algum processo.

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documentação Gerenciamento da Configuração Gerenciamento da resolução de problemas Gerenciamento dos Pedidos de Alteração

PROCESSOS DE GARANTIA DE QUALIDADE Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Avaliação do produto

PR

OC

ES

SO

S D

E

AP

OIO

PROCESSOS DE GERÊNCIA Alinhamento Organizacional Gerenciamento da Organização Gerenciamento do projeto Gerenciamento da Qualidade Gerenciamento de Risco Medições

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Processos de Recursos Processos de Recursos e Infraestruturae Infraestrutura

Para que todos os processos e atividades sejam executados com sucesso é preciso que exista recursos e infraestrutura adequada.

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documentação Gerenciamento da Configuração Gerenciamento da resolução de problemas Gerenciamento dos Pedidos de Alteração

PROCESSOS DE GARANTIA DE QUALIDADE Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Avaliação do produto

PR

OC

ES

SO

S D

E

AP

OIO

PROCESSOS DE GERÊNCIA Alinhamento Organizacional Gerenciamento da Organização Gerenciamento do projeto Gerenciamento da Qualidade Gerenciamento de Risco Medições

PROCESSOS DE RECURSOS E INFRAESTRUTURA Gerenciamento de Recursos Humanos Treinamento Gerenciamento do Conhecimento Infraestrutura

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

Processos de Ciclo de Vida de Software

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Processos de ReusoProcessos de ReusoMuitas funcionalidades são

comuns a vários projetos É desejável que ao término

de um projeto os componentes tenham sido desenvolvidos de uma forma que possam ser reutilizados em outros.

O reuso de partes de software pode não ser tão trivial quanto aparenta ser

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documentação Gerenciamento da Configuração Gerenciamento da resolução de problemas Gerenciamento dos Pedidos de Alteração

PROCESSOS DE GARANTIA DE QUALIDADE Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Avaliação do produto

PR

OC

ES

SO

S D

E

AP

OIO

PROCESSOS DE GERÊNCIA Alinhamento Organizacional Gerenciamento da Organização Gerenciamento do projeto Gerenciamento da Qualidade Gerenciamento de Risco Medições

PROCESSOS DE RECURSOS E INFRAESTRUTURA Gerenciamento de Recursos Humanos Treinamento Gerenciamento do Conhecimento Infraestrutura

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

PROCESSOS DE REUSO Gerencia dos Ativos Gerencia do Programa de Reuso Engenharia de Domínio

Processos de Ciclo de Vida de Software

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Reuso

Gerência

Melhoria

Processos Organizacionais

Recursos e Infraestrutura

Processos de MelhoriaProcessos de MelhoriaApós o estabelecimento do

processo dificilmente ele será o melhor possível.

Sempre haverá melhorias a serem feitas.

São previstos processos de melhoria de processo baseados em ciclos de melhoria

PROCESSOS DE AQUISIÇÃO Preparação da Aquisição Seleção do Fornecedor Contrato Monitoramento do Fornecedor Aceitação do Cliente

PROCESSOS DE FORNECIMENTO Proposta do Fornecedor Liberação do Produto Apoio a Aceitação do Produto

PROCESSOS DE DESENVOLVIMENTO Elicitação de Requisitos Análise dos Requisitos do Sistema Projeto Arquitetural do Sistema Análise dos Requisitos de Software Projeto do Software Construção do Software Integração do Software Teste do Software Integração do Sistema Teste do Sistema Instalação do Software Manutenção do Software e do Sistema

PROCESSOS DE OPERAÇÃO Uso Operacional Apoio ao Cliente

PR

OC

ES

SO

S F

UN

DA

MEN

TA

IS

PROCESSOS DE CONTROLE DA CONFIGURAÇÃO Documentação Gerenciamento da Configuração Gerenciamento da resolução de problemas Gerenciamento dos Pedidos de Alteração

PROCESSOS DE GARANTIA DE QUALIDADE Garantia da Qualidade Verificação Validação Revisão Conjunta Auditoria Avaliação do produto

PR

OC

ES

SO

S D

E

AP

OIO

PROCESSOS DE GERÊNCIA Alinhamento Organizacional Gerenciamento da Organização Gerenciamento do projeto Gerenciamento da Qualidade Gerenciamento de Risco Medições

PROCESSOS DE RECURSOS E INFRAESTRUTURA Gerenciamento de Recursos Humanos Treinamento Gerenciamento do Conhecimento Infraestrutura

PR

OC

ES

SO

S O

RG

AN

IZA

CIO

NA

ISNorma ISO 12207Norma ISO 12207

PROCESSOS DE REUSO Gerencia dos Ativos Gerencia do Programa de Reuso Engenharia de Domínio

PROCESSOS DE MELHORIA DE PROCESSO Estabelecimento do Processo Avaliação do Processo Melhoria do Processo

Laboratório de engenharia de software

Lab es

Histórico do Grupo de Engenharia de Software do ICMC

Criado em 1974

33 anos!!

Total:

Mestrados: 99

Doutorados: 08

Grupo de Engenharia de Software do ICMC

1. Fernão S. Rodrigues Germano (Titular-aposentado)

2. Paulo Cesar Masiero (Titular)3. Jose Carlos Maldonado (Titular)4. Renata P. Mattos Fortes (Doutor)5. Rosely Sanches (Doutor)6. Elisa Nakagawa (Doutor)7. Rosana T. Vaccare Braga (Doutor)8. Adenilso S. Simão (Doutor)9. Simone Rocio Senger de Souza (Doutor)10. Ellen Francine Barbosa (Doutor)

Grupo de Engenharia de Software do ICMC

1. Fernão S. Rodrigues Germano (Titular-aposentado)

2. Paulo Cesar Masiero (Titular)3. Jose Carlos Maldonado (Titular)4. Renata P. Mattos Fortes (Doutor)5. Rosely Sanches (Doutor)6. Elisa Nakagawa (Doutor)7. Rosana T. Vaccare Braga (Doutor)8. Adenilso S. Simão (Doutor)9. Simone Rocio Senger de Souza (Doutor)10. Ellen Francine Barbosa (Doutor)

Grupo de Engenharia de Software do ICMC

1. Fernão S. Rodrigues Germano (Titular-aposentado)

2. Paulo Cesar Masiero (Titular)3. Jose Carlos Maldonado (Titular)4. Renata P. Mattos Fortes (Doutor)5. Rosely Sanches (Doutor)6. Elisa Nakagawa (Doutor)7. Rosana T. Vaccare Braga (Doutor)8. Adenilso S. Simão (Doutor)9. Simone Rocio Senger de Souza (Doutor)10. Ellen Francine Barbosa (Doutor)

Pesquisadores do LabES

Pesquisadores (2006):

– Alunos de Iniciação Científica: 25

– Alunos de Mestrado: 21

– Alunos de Doutorado: 07

– Colaboradores: 07

Linhas de Pesquisa

Processos de software Ambientes de desenvolvimento de software Engenharia de requisitos Desenvolvimento orientado a objetos Desenvolvimento orientado a aspectos Desenvolvimento baseado em componentes Gerenciamento de configuração Gerenciamento e planejamento de projeto Métricas de software

Linhas de Pesquisa

Métodos e modelos formais Qualidade de software Teste e validação de software Manutenção de software Engenharia reversa / reengenharia Reúso Padrões de software Projeto de Interface do Usuário Desenvolvimento Orientado por Modelos Ensino e treinamento

Alguns dos Projetos em Andamento

– Pesquisa em Métodos e Ferramentas de Engenharia de Software (CNPq)

• Coordenadores: Paulo Cesar Masiero e José Carlos Maldonado

– Métodos em Engenharia de Software Aplicados a Soluções Numéricas e Mecânica dos Fluidos (Multidisciplinar) (Fapesp)

• Coordenador: Paulo Cesar Masiero

– Pesquisa em Qualidade de Software

• Coordenadora: Rosely Sanches

– Plavis: Plataforma para Validação e Integração de Software em Sistemas Espaciais (CNPq)

• Coordenador: José Carlos Maldonado

– Design Rationale em Processos de Software e Web Engineering

• Coordenadora: Renata Pontin de Mattos Fortes

– Software Engineering Available For Everyone – SAFE

• Coordenadora: Renata Pontin de Mattos Fortes

• Financiamento: FINEP

– Reuso de Software e Desenvolvimento Orientado por Modelos

• Coordenadora: Renata Pontin de Mattos Fortes

– Teste de Software aplicado a Programas Concorrentes

• Coordenadora: Simone do Rocio Senger de Souza

– Desenvolvimento de Módulos Educacionais

• Coordenadora: Ellen Francine Barbosa

– …

Alguns dos Projetos em Andamento

www.labes.icmc.usp.br

www.labes.icmc.usp.brwww.labes.icmc.usp.br

top related