28
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal [email protected] Engenharia de Software

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal [email protected]

Embed Size (px)

Citation preview

Page 1: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSADEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN

Profa. M.Sc. Yáskara Menescal

[email protected]

Engenharia de Software

Page 2: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Introdução

•Por Sommerville, software compreende tudo que é necessário para um sistema computacional funcionar:▫Programa de computador▫Documentação▫Arquivos de configuração▫Entre outros

•E existe por causa das necessidades de clientes.

2

Page 3: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Como transformar necessidades em software?•Devem ser consideradas as atividades:

▫Entender as necessidades do cliente▫Planejar a solução▫Implementar a solução▫Validar esta solução▫Entregar o produto ao cliente

•Estas atividades são executadas...▫Ordenadas ou não▫Formalmente ou informalmente

3

Introdução

Page 4: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

• Todo processo de transformação tem início e fim.• Essa variável temporal, denominada de ciclo de

vida, determina as fases do desenvolvimento de software.

4

Introdução

Page 5: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Engenharia de Software

Processo de Desenvolvimento de Software

Análise de Requisitos Projeto

Implemen-tação

TesteImplan-tação

Atividades - Garantia de qualidade;- Gerência de Configuração;- Gerência de Riscos;- Métricas;

- Estimativas;- Revisões Técnicas Formais.

Outros Processos

Contidos no Processo Principal

Introdução

Page 6: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de software

É uma série de passos (um ROTEIRO).Para criar EM TEMPO um SOFTWARE de ALTA QUALIDADE, sem estourar o ORÇAMENTO.

Motivação

Page 7: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de software

Como “escolher“ um processo? – As CARACTERÍSTICAS DA APLICAÇÃO

(domínio do problema, tamanho, complexidade etc);

– A TECNOLOGIA a ser adotada na sua construção (paradigma de desenvolvimento, linguagem de programação, mecanismo de persistência etc), a organização;

– ONDE o produto será desenvolvido;– O PERFIL DA EQUIPE de desenvolvimento.

Page 8: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de software

Quando se “escolhe“ um processo DEFINE SE um:– Modelo de Ciclo de Vida (ou modelo de

processo).– É uma representação abstrata da

estrutura (“ESQUELETO“) de processo.– Inclui algumas atividades principais.– A ordem de precedência entre elas.– Opcionalmente, artefatos requeridos e

produzidos.

Page 9: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Ciclo de vida

Em geral, os ciclos de vida envolvem as seguintes FASES :– Planejamento– Análise e Especificação de Requisitos– Projeto– Implementação– Testes– Entrega e Implantação– Operação– Manutenção

Page 10: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de Desenvolvimento

Um processo é organizado em atividades.

Atividades são de responsabilidade de um membro da equipe (trabalhador).

Atividade (Tarefas)

Trabalhador (papel)

Page 11: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de Desenvolvimento de SW

Atividades devem gerar um artefato de saída, que possa ser verificado, e podem requisitar um artefato de entrada.

– Um artefato é um modelo, documento ou código produzido por uma atividade.

Artefatos

Page 12: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de Desenvolvimento de SW

Uma entrega (liberação) é um artefato entregue ao cliente

Um processo deve estabelecer uma série de marcos.

Um marco é um ponto final de uma atividade de processo.

Page 13: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Atividades - artefatos

Atividades(tarefas)

Realizados por

Trabalhador (papel)

Responsável Entrada/saída

Artefatos (produto do trabalho)

Page 14: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Papéis

Na elaboração de um processo, deve-se definir quais pessoas desempenham papéis.Os papéis podem variar de um processo para outro

Page 15: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Atividades (disciplinas)

Em um processo, as atividades devem ser alocadas aos papéis...

deve ser determinados o fluxo de trabalho, a rede de dependências e os marcos

Page 16: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Artefatos

Artefatos podem ser documentos, modelos, códigos, incrementos, etc.

Um processo define quem produz e consome os artefatos e quando eles serão produzidos (marcos)

Page 17: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Marcos (milestones)

Um marco (milestone) é um ponto final de uma atividade de processo.

Um processo deve estabelecer uma série de marcos.

Page 18: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Visão geral de um processo

Page 19: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de Desenvolvimento de SW

•Um processo de software é a especificação do processo de transformar necessidades em software▫Especifica as atividades envolvidas

Determinando entradas e saídas Atribuindo a responsabilidade de execução a

grupos de pessoas (papeis de desenvolvedores)▫Determina o ciclo de vida de desenvolvimento

Determina as fases do ciclo Define atividades importantes e opcionais de

cada fase

19

Page 20: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de Desenvolvimento de SW

• Processo de desenvolvimento de software – conjunto de atividades executadas coordenadamente atividades executadas coordenadamente ;

• Ciclo de Vida: encadeamentoencadeamento das fases.• Compreende todas as atividades necessárias para

definir, desenvolver, testar e manter um produto de software;

• Existem vários processos, mas não um melhor;• Atividades comuns compostas de micro-atividades ,

como por exemplo:

20

Análise

Projeto

Implementação

Testes

Implantação

Levantamento de Requisitos

Page 21: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Processo de Desenvolvimento de SW• Exemplo: O ciclo de Vida Em Cascata (clássico ou linear) possui uma

tendência macro para a progressão seqüencial apesar de poder haver retroalimentação;

• Problemas:▫ Projetos reais raramente seguem o fluxo;▫ Presume possibilidade de declarar previamente todos os requisitos;▫ A implantação fica distante da fase inicial.

21

...Construindo o software

Entendendo o problema...

Análise

Projeto

Implemen-tação

Testes

Implantação

Levantamento de

Requisitos

Extraído de BEZERRA, E. Princípio de Análise e Projetos de Sistemas.

Page 22: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Atividades de Um Processo de Desenvolvimento de Software

Page 23: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Análise

Projeto

Implemen-tação

Testes

Implantação

Levantamento de

Requisitos

Levantamento de

Requisitos

23

Objetivos: trabalhar para construir o construir o sistema corretosistema correto.

Envolve: capturar os vários requisitosrequisitos (funcionais e não funcionais), negociar

prazo, custo e escopo ( o que e não como).Dificuldades: cliente e desenvolvedor falam línguas diferentes, é difícil definir o que o cliente quer e os documentos de requisitos

dele são ambíguos.

OBJETIVOS DAS OBJETIVOS DAS ATIVIDADES ATIVIDADES

INDEPENDENTE INDEPENDENTE DO CICLO DE VIDADO CICLO DE VIDA

O que são requisitos?São características/necessidades do cliente que podem ser expressas como:- funcionais: o que o sistema deve fazer- não-funcionais: restrições sobre como o sistema deve desempenhar suas funções

Exemplo- Registrar o empréstimo de uma fita é um requisito funcional.- Estabelecer que o tempo de empréstimo da fita não pode ser superior a 48 horas é uma restrição, ou requisito não funcional.

Erros comuns na especificação de requisitos:

Deve ficar claro ao analista que requisitos são coisas que o cliente ou usuário solicitam, e não

coisas que ele, como analista, planejou.

Page 24: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

AnáliseAnálise

Projeto

Implemen-tação

Testes

Implantação

Levantamento de

Requisitos

24

Objetivos: Estudo dos requisitos levantados na fase anterior para construção de

modelos que representemrepresentem o sistema a ser desenvolvido.

Envolve: eliminar falhas eliminar falhas da análise de requisitos, abordar questões técnicas do

desenvolvimento desoftware (como e não o que).

Dificuldades: as mesmas dificuldades da análise de requisitos

OBJETIVOS DAS OBJETIVOS DAS ATIVIDADES ATIVIDADES

INDEPENDENTE INDEPENDENTE DO CICLO DE VIDADO CICLO DE VIDA

Page 25: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Análise

Projeto

Implemen-tação

Testes

Implantação

Levantamento de

Requisitos

25

Projeto

Objetivos: proposta de uma solução que atenda os requisitos da análise requisitos da análise e que seja

passível de implementaçãopassível de implementação.Envolve: detalhes físicos de

implementações, trabalha o comportamento interno do software, plano e implementação

das decisões arquitetônicas.

OBJETIVOS DAS OBJETIVOS DAS ATIVIDADES ATIVIDADES

INDEPENDENTE INDEPENDENTE DO CICLO DE VIDADO CICLO DE VIDA

Podemos concluir que...-O resultado da análise é o enunciado do problema, e que o projeto será a sua resolução.-Problemas mal enunciados podem até ser resolvidos, mas a solução não corresponderá às expectativas.

- A qualidade do processo de análise é importante porque um erro de concepção resolvido na fase de análise tem um custo; na fase de projeto tem um custo maior; na fase de implementação maior ainda, e na fase de implantação do sistema tem um custo relativamente astronômico.

Page 26: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Análise

Projeto

Implemen-tação

Testes

Implantação

Levantamento de

Requisitos

26

Implemen-tação

Objetivos: construir uma versão operacional construir uma versão operacional do software que possa ser entregue ao

cliente para avaliação.Envolve: implementar código fonte em uma determinada linguagem, implementar código

de teste unitário para o código fonte e integrar o sistema.

Dificuldade: falta de conhecimento da equipe de

desenvolvimento sobre a uma determinada tecnologia.

OBJETIVOS DAS OBJETIVOS DAS ATIVIDADES ATIVIDADES

INDEPENDENTE INDEPENDENTE DO CICLO DE VIDADO CICLO DE VIDA

Page 27: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Análise

Projeto

Implemen-tação

Testes

Implantação

Levantamento de

Requisitos

27

Testes

Objetivos: assegurarassegurar que o sistema tenha qualidadequalidade antesantes de ser entregue aos

clientes;

Envolve: definir o que será testado, executar os testes de integração do sistema

e avaliar os testes.

OBJETIVOS DAS OBJETIVOS DAS ATIVIDADES ATIVIDADES

INDEPENDENTE INDEPENDENTE DO CICLO DE VIDADO CICLO DE VIDA

Page 28: UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO – UFERSA DEPERTAMENTO DE CIÊNCIAS EXATAS E NATURAIS - DCEN Profa. M.Sc. Yáskara Menescal yaskaramenescal@ufersa.edu.br

Análise

Projeto

Implemen-tação

Testes

Implantação

Levantamento de

Requisitos

28

Implantação

O sistema é empacotado, distribuído e instalado no ambiente do usuárioambiente do usuário.

Os manuais são escritos, os dados são importados para o sistema

e o pessoal é treinado para operá-lo.

OBJETIVOS DAS OBJETIVOS DAS ATIVIDADES ATIVIDADES

INDEPENDENTE INDEPENDENTE DO CICLO DE VIDADO CICLO DE VIDA