pontifícia universidade católica de campinas engenharia de computação 1

25
Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Upload: moises-peralta-martinho

Post on 07-Apr-2016

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Pontifícia Universidade Católica de Campinas

Engenharia de Computação

1

Page 2: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Etapas de desenvolvimento de software e hardware

Gabriel NevesGuilherme BabugiaHyago HiraiLucas BoninSamuel Biazotto

2

Page 3: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Introdução

• Mostrar os modelos e etapas mais conhecidas de desenvolvimento de software e hardware.

• Para Software seguir essas etapas é considerado um dos principais mecanismos para se obter um software de qualidade e que consiga cumprir os requisitos iniciais.

• Para hardware abordaremos um conceito geral que auxilia no seu desenvolvimento, desde o levantamento de requisitos até a produção. Criando assim um hardware mais eficiente, em pouco tempo e recurso.

3

Page 4: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

TópicosDesenvolvimento de Software

- Modelo Cascata- Quando utilizar- Etapas de desenvolvimento

- Modelo Espiral- Definição- Estágios de desenvolvimento

- Modelo Scrum- Definição- Papéis- Fluxo

Desenvolvimento de Hardware- Etapas desenvolvimento de hardware- Etapas desenvolvimento de hardware instituto eldorado

4

Page 5: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Modelo Cascata

Utilizado quando os requisitos são bem definidos.

Exemplo: Quando temos um sistema já pronto e precisamos fazer algumas adaptações

Este modelo sugere uma abordagem sequencial para o desenvolvimento de software

5

Page 6: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Etapas de Desenvolvimento• Requerimento: Levantamento dos Requisitos

• Projeto: Estimativas e Cronogramas

• Implementação: Codificação

• Verificação: Testes

• Manutenção: Melhorias e Reparos

6

Page 7: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

7

Page 8: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Modelo Espiral

“O objetivo do modelo espiral é prover um metamodelo que pode acomodar diversos processos específicos. Isto significa que podemos encaixar nele as principais características dos modelos vistos anteriormente, adaptando-os a necessidades específicas de desenvolvedores ou às particularidades do software a ser desenvolvido.” (LEITE, 2007)

O modelo espiral é usado com mais frequência em grandes projetos.

8

Page 9: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Etapas de Desenvolvimento

Etapa 1 – Determinar objetivos, soluções alternativas e restrições.

Etapa 2 – Analisar os riscos das decisões do estágio anterior e construir protótipos ou simulações do software que são prévias do produto final.

Etapa 3 – Fase de desenvolvimento, especificação, codificação e verificação.

Etapa 4 – Revisão das etapas anteriores e planejamento da próxima fase.

9

Page 10: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

10

Page 11: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Scrum

O Scrum trabalha com ciclos curtos de desenvolvimento e entrega de software

O Scrum se apoia em três pilares fundamentais: Transparência, Inspeção e Adaptação

Transparência: Todos os responsáveis pelo resultado devem ter a visão de tudo o que está acontecendo.

Inspeção: Os artefatos e o progresso em direção ao objetivo devem ser inspecionados frequentemente por todos os usuários do Scrum, de maneira a detectar desvios indesejáveis.

Adaptação: As coisas mudam. O Scrum aceita essa verdade e prega a adaptação a mudanças no lugar de tentar evitá-las. 

11

Page 12: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Papéis

Scrum Master • Resolver impedimentos • Garantir uso do Scrum• Proteger o time de interferências externas

Product Owner (PO)

• Conhecer necessidades do cliente• Responsável pelo ROI(Retorno sobre investimento) e product backlog• Aceita ou rejeita o resultado do time

12

Page 13: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

PapéisTime

• Define Tarefa• Estima Esforço• Garante Qualidade

13

Page 14: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Etapas do Scrum

Sprint: representa um tempo definido dentro do qual um conjunto de atividades deve ser

executado.

Product Backlog (documento) : conjunto de historias que compõem o produto.

Sprint Planning Meeting: reunião antes das sprints.

Sprint Backlog: conjunto de historias selecionadas do product backlog.

Sprint Burndown: gráfico de acompanhamento da execução da Sprint.

Daily Meeting: reunião entre o time e o scrum máster.

Sprint Review Meeting: demonstração do trabalho realizado.

Sprint Retrospective: melhorias da próxima Sprint em relação ao desenvolvimento e

dificuldades da Sprint anterior.

14

Page 15: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Etapas de Desenvolvimento de Hardware

• Especificação do Produto: As características essenciais do produto são identificados.

• Modelo Inicial: Definir uma estrutura geral de um produto.

• Simulação: Fazer uma simulação para verificar se o modelo está correto. Se estiver correto passar para próxima etapa, senão redefinir o design inicial.

• Implementação de um Protótipo: Quando simulação indicar que o modelo está correto, um protótipo do produto é construído.

15

Page 16: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Etapas de Desenvolvimento de Hardware

• Teste: Quaisquer erros revelados pelo teste devem ser corrigidos. Para pequenos erros faça pequenas correções no próprio protótipo, enquanto se os erros forem maiores, deve se pensar em outro modelo e repetir os passos descritos anteriormente.

• Avaliação: Quando o protótipo estiver de acordo com todas as especificações definidas inicialmente, o produto pode ir para a produção.

16

Page 17: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

17

Page 18: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Etapas de desenvolvimento de hardware no Instituto Eldorado

18

Page 19: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Especificações

• Entender as necessidades do cliente.• Escrever uma proposta comercial.• Verifica se tem algum conhecimento sobre assunto.• Planejamento: alocar equipe, laboratórios e recursos.

19

Page 20: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Protótipo A

• Diagrama de Blocos.• Requisitos de cada componente.• Layout da placa: manda fazer a placa de circuito impresso em uma

fabrica especializada.• Montagem dos componentes.• Avaliação.

20

Page 21: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Protótipo B

• Corrigir os erros encontrados. Exemplo: layout errado, especificações não atendidas.

• Integrar hardware e software na versão alfa.• Possíveis novas funcionalidades por parte do cliente.

21

Page 22: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Protótipo C

• Fase de refinamento. • Novamente retocar o circuito impresso ou mudar layout.• No final do protótipo C produto em condição de entrega para o cliente.• Entregar a documentação do software, plano de teste, especificação

dos componentes.

22

Page 23: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Conclusão

Depois de desenvolvidos, o hardware necessita de software para ser funcional, um dos maiores exemplos é o SO, cuja função é gerenciar os recursos do sistema e fornecer uma interface entre o computador e o usuário, já o software nem sempre precisa do hardware para ser funcional, que é o caso, por exemplo, dos emuladores de cd/dvd, mas na maioria o software é desenvolvido especificamente para algum hardware, como por exemplo, os aplicativos para smartphones, que estão em alta no mercado e vem crescendo cada vez mais a quantidade nas lojas virtuais, como app store e google play, e esses aplicativos são softwares desenvolvidos especificamente para plataformas mobiles.

23

Page 24: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

Referências Bibliográficas

LEITE, Jair. O Modelo Espiral, 2007. Disponível em: http://engenhariadesoftware.blogspot.com.br/2007/03/o-modelo-espiral.html.

24

Page 25: Pontifícia Universidade Católica de Campinas Engenharia de Computação 1

BibliografiaLaert, N. V. C., Métodos e Ferramentas para o Projeto de Sistemas Digitais. http://www.inf.pucrs.br/~calazans/publications/ERI95.pdf Zeidman, B., (2003). Introduction to the universal design methodology. http://www.embedded.com/electronics-blogs/beginner-s-corner/4024888/The-universal-design-methodology Johnson, M., Sullivan, B., Preziotte, M (2010) . Design Strategies: Top-Down vs. Bottom-Up .http://superprofundo.com/2010/12/13/top-down-and-bottom-up-pros-and-cons/ System integration, (2015). https://en.wikipedia.org/wiki/System_integration Medeiros, H. Introdução ao Modelo Cascata http://www.devmedia.com.br/introducao-ao-modelo-cascata/29843 Bonfim, M. Introdução ao Scrum http://www.devmedia.com.br/introducao-ao-scrum/27887

BROWN, Stephen. VRANESIC, Zvonko. Titulo: Fundamentals of Digital Logic with VHDL Design. 3ª ed. Nova Iorque: McGraw-Hill Education, 2008. 960 p.

25