• Nenhum resultado encontrado

Processo de Desenvolvimento de Software Workshop de Engenharia de Software

N/A
N/A
Protected

Academic year: 2021

Share "Processo de Desenvolvimento de Software Workshop de Engenharia de Software"

Copied!
28
0
0

Texto

(1)

Processo de Desenvolvimento

de Software

UNIVERSIDADE ESTADUAL PAULISTA

INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS

(2)

Engenharia de Software

Auxiliar no processo de produção de software,

de forma que o processo dê origem a produtos

de alta qualidade, produzidos mais rapidamente

e a um custo reduzido.

Uma disciplina que reúne metodologias, métodos e ferramentas a ser utilizados, desde a percepção do problema até o momento em que o sistema desenvolvido deixa de ser operacional, visando resolver problemas

(3)

Princípios da Engenharia de

Software

Referem-se tanto ao processo como ao produto final,

descrevendo algumas propriedades gerais dos

processos e produtos.

Guiam a escolha das metodologias, métodos e

ferramentas apropriados para o desenvolvimento de

software

Princípios + metodologias, métodos e

ferramentas = propriedades desejadas

(4)

Princípios da Engenharia de

Software

Formalidade

• O processo de desenvolvimento deve acontecer como uma seqüência de passos definidos com precisão.

• Cada passo deve ser guiado por alguma metodologia que segue algum método.

Através de um enfoque formal, pode-se

produzir produtos mais confiáveis, controlar

(5)

Princípios da Engenharia de

Software

Abstração

• É o processo de identificação dos aspectos importantes de um determinado fenômeno, ignorando-se os detalhes.

Pode-se existir diferentes visões da mesma realidade, cada uma com enfoques diferentes.

A abstração permite que o desenvolvedor se

concentre no problema a ser resolvido, sem

se perder em detalhes existentes no mundo

(6)

Princípios da Engenharia de

Software

Decomposição

• Subdivisão do trabalho em atividades específicas, com o objetivo de gerenciar a complexidade.

• Pode se aplicar a decomposição tanto ao processo de

desenvolvimento como ao produto que está sendo construído.

Decomposição do processo

•Permite o planejamento das atividades e diminui o tempo extra que seria gasto mudando de uma atividade para outra

Decomposição do produto

•Permite que atividades de desenvolvimento sejam feitas em paralelo

(7)

Princípios da Engenharia de

Software

Generalização

• Uma solução mais geral para um problema tem maior potencial para ser reutilizada.

• Através da generalização, o desenvolvedor tem o potencial de desenvolver um componente que pode ser utilizado em mais de um ponto do sistema de software desenvolvido

Solução generalizada pode ser mais custosa, por isso deve avaliar os problemas de custo e eficiência em desenvolver uma solução generalizada.

(8)

Princípios da Engenharia de

Software

Flexibilização

• O princípio da flexibilização é necessário no processo de desenvolvimento para permitir que o produto possa ser modificado com facilidade.

• O processo deve ter flexibilidade suficiente para permitir que partes do produto possam ser utilizados em outros sistemas.

Para alcançar esse princípio, a engenharia de

software necessita de mecanismos para controlar o processo de desenvolvimento.

(9)

Processo de Software

Conjunto de atividades pré-definidas que

levam a um resultado de boa qualidade,

nas condições desejadas do projeto

(10)

Camadas da Engenharia de Software

Qualidade

Processo

Métodos

Ferramentas

(11)

DEFINIÇÃO

DESENVOLVIMENTO

MANUTENÇÃO

VV&T

Atividades Fundamentais de um

Processo

(12)

Modelos de Processo de Software

Ajudam no controle e na coordenação de

um projeto de software

Definem as atividades que devem ser

realizadas

(13)

Diferentes Modelos de Processo de

Software

Seqüencial Linear – desenvolvimento

retilíneo, onde o sistema completo está

pronto após conclusão da seqüência.

Prototipagem – ajuda o cliente ou

desenvolvedor no entendimento das

necessidades

(14)

Iteração de Processo

Para a maioria dos grandes sistemas,

existe a necessidade de repetir partes do

processo, à medida que os requisitos do

sistema evoluem.

O projeto do sistema e o trabalho de

implementação devem ser refeitos, a fim de

implementar os requisitos modificados.

(15)

Requisitos

Análise

Projeto

Implementação

Teste

Concepção Elaboração Construção Transição

Fases

(16)

Qualidade de processo de software

Processo de Desenvolvimen to SOFTWARE PRODUTO PROCESSO DE SOFTWARE

desenvolvedor

usuário

organização

requisitos

requisitos

atendidos

atendidos

requisitos de

requisitos de

software produto

software produto

(17)

Por que focalizar o Processo de

Software?

Dirigindo o foco somente no

produto

produto

, deixa-se de

lado:

-

conhecimento

conhecimento

de como fazer isso melhor

Dirigindo o foco no

processo

processo

prevê-se:

-

repetição

repetição

de resultados

- tendências

futuras

futuras

do projeto

- características do

produto

produto

(18)

Qualidade de Processo de Software X

Maturidade de Processo de Software

A

maturidade dos processos

maturidade dos processos

de software de

uma organização influencia na sua capacidade de

atingir metas de

custo

custo

,

qualidade

qualidade

e

cronograma

cronograma

A

qualidade do processo de software

qualidade do processo de software

pode ser

analisada através do

nível de maturidade

nível de maturidade

do

processo.

(19)

Processo de Software Imaturo

CARACTERÍSTICAS

CARACTERÍSTICAS

Processo de Desenvolvimento de Software ad

hoc;

improvisado

improvisado

Processo de Desenvolvimento de Software

fortemente

dependente

dependente

dos profissionais

Processo de Desenvolvimento de Software

indisciplinado

indisciplinado

(20)

Processo de Software Imaturo

CONSEQÜÊNCIAS

CONSEQÜÊNCIAS

Produtividade

Produtividade

geralmente

menor

menor

Prazo

Prazo

e

qualidade

qualidade

de difícil

previsão

previsão

Custos de

manutenção

manutenção

geralmente

altos

altos

Baixa

visão

visão

do

progresso

progresso

e da

qualidade

qualidade

Mais

riscos

riscos

na adoção de

nova tecnologia

nova tecnologia

(21)

Processo de Software Maduro

CARACTERÍSTICAS (a)

CARACTERÍSTICAS (a)

Processo de Desenvolvimento de Software

conhecido

conhecido

por todos

Processo de Desenvolvimento de Software com

apoio

apoio

visível da

alta administração

alta administração

Auditagem

Auditagem

da

fidelidade

fidelidade

ao Processo de

Desenvolvimento de Software

Medidas

(22)

Processo de Software Maduro

CARACTERÍSTICAS (b)

CARACTERÍSTICAS (b)

Adoção

disciplinada

disciplinada

de

tecnologia

tecnologia

Uso de

teste

teste

-

-

piloto

piloto

Papéis e

responsabilidades

responsabilidades

clara e inequivocamente

definidos

definidos

Acompanhamento

Acompanhamento

da qualidade do produto e da

(23)

Processo de Software Maduro

CONSEQÜÊNCIAS

CONSEQÜÊNCIAS

Expectativas

Expectativas

para custos, cronograma, funcionalidades e

qualidade de produto de um modo geral, usualmente,

alcançadas

alcançadas

Melhoria

Melhoria

constante do processo de desenvolvimento de

software porque:

(24)

Melhoria de Processo de Software

O crescente

reconhecimento

reconhecimento

da importância de

se

garantir

garantir

a

Qualidade

Qualidade

de um

Produto de

Produto de

Software

Software

tem levado muita organizações a

melhorar

melhorar

o

controle

controle

sobre todos os

elementos

elementos

(25)

Melhoria de Processo de Software

Aonde queremos chegar

Aonde queremos chegar

Auto

Avaliação Normas para Comparação

Aonde

Aonde

estamos

estamos

Aonde o

Aonde o

mundo

mundo

está...

está...

(26)

Melhoria do Processo de Software

Processo

Processo

Avaliação

Avaliação

do

do

Processo

Processo

Melhoria

Melhoria

é examinado pela

é examinado pela

conduz à

conduz à

identifica

identifica

mudanças no

mudanças no

(27)

Melhoria de Processo de Software

Um programa efetivo de mudança requer

compreensão do status atual.

Provérbio Chinês - “Se você não sabe para onde

Provérbio Chinês

está indo, nenhuma estrada tampouco saberá.”

Provérbio de

Provérbio de

Humphrey - “Se você não sabe onde

Humphrey

(28)

Realizando um grupo de

atividades correlatas que,

atividades

quando efetuadas coletivamente, alcançam um

conjunto de

metas consideradas importantes no

metas

controle

controle do

Processo de Software

Processo de Software

Como melhorar o processo de software?

Uma das maiores

dificuldades

dificuldades

encontradas pelas

empresas de software é o

gerenciamento

gerenciamento

e

controle

Referências

Documentos relacionados

Este estudo, assim, aproveitou uma estrutura útil (categorização) para organizar dados o que facilitou a sistematização das conclusões. Em se tratando do alinhamento dos

Já o Ministério do Turismo (2010), divulga não apenas as atribuições gerais que o guia deve cumprir, mas também as atribuições específicas de acordo com a

Dendograma Filogenético exibindo as amostras positivas para a ordem R gênero e espécies‘ Candidatus Mycoplasma turicensis’ , ‘Candidatus Mycoplasma haemominutum’

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

No Quadro 14, está a representação da incompatibilidade número 10 onde na modelagem BIM, conforme o projeto estrutural, a passagem da eletrocalha foi projetada a 2,97m

Neste sentido, o nosso trabalho foi realizado em dois momentos: o Campo de Observação com 20 horas semanais e Campo de Docência com 20 horas semanais, encontros significativos

A forma em que as empresas do arranjo do segmento cama-mesa-banho estão inseridas no mercado externo pode ser enquadrada em relações de redes de empresas, nas