apresentação do curso de engenharia de software 2 › ~leomurta › courses › 2012.2 › es2 ›...
TRANSCRIPT
![Page 2: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/2.jpg)
Apresentações
• Quem sou eu?
– Leonardo Murta
– http://www.ic.uff.br/~leomurta
• Quem são vocês?
– Nome?
– Estágio? Projeto de Aplicação? Iniciação Científica?
– O que achou de Engenharia de Software 1?
– Expectativas para Engenharia de Software 2?
Leonardo Murta Apresentação do Curso de ES2 2
![Page 3: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/3.jpg)
Relembrando, o que é Engenharia de Software?
“Engenharia de Software é a aplicação de uma abordagem sistemática, disciplinada e quantificável ao desenvolvimento, operação e manutenção de software”
IEEE Std 610.12 (1990)
Leonardo Murta Apresentação do Curso de ES2 3
![Page 4: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/4.jpg)
Mas eu já sei modelar e programar!
• Por que preciso de Engenharia de Software 2? – Modelar e programar são parte importante do processo
de Engenharia de Software, mas não são tudo!
• Precisamos também saber... – como estimar um projeto (tamanho, custo, cronograma),
– como monitorar o andamento de um projeto,
– como testar o software,
– como controlar a evolução do software,
– etc.
Leonardo Murta Apresentação do Curso de ES2 4
![Page 5: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/5.jpg)
Programas de faculdade
• Requisitos estáveis e bem definidos
• Escopo pequeno (1 a 10 KLOCS)
• Prazos razoáveis
• Equipes pequenas
• Mão de obra gratuita
• Não entra em produção
• Não tem usuário
• Não precisa de manutenção Leonardo Murta Apresentação do Curso de ES2 5
![Page 6: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/6.jpg)
Programas do “mundo real”
• Fazer software no “mundo real” deve considerar fatores como:
– Escopo
– Custo
– Prazo
– Qualidade
• Em função do tamanho do software, esses fatores se tornam difíceis de garantir!
Leonardo Murta Apresentação do Curso de ES2 6
![Page 7: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/7.jpg)
Cenário 1: Agenda Pessoal
• Objetivo – Guardar o nome e o
aniversário de até 50 pessoas
• Quanto custa para fazer?
• Quanto tempo vai levar para ficar pronto?
• Qual a consequência no caso de defeito?
Leonardo Murta Apresentação do Curso de ES2 7
![Page 8: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/8.jpg)
Cenário 2: Boeing 777
• Objetivo – Controlar todo o hardware do
Boeing 777
• Quanto custa para fazer?
• Quanto tempo vai levar para ficar pronto?
• Qual a consequência no caso de defeito?
Leonardo Murta Apresentação do Curso de ES2 8
![Page 9: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/9.jpg)
Cenário 2: Boeing 777
• Tamanho – Mais de 4 milhões de linhas de código – Linguagem dominante (>99%): Ada
• Documentação – De 100 a 10.000 páginas por sub-sistema – Total de 79 sub-sistemas integrados
• Duração – 4,5 anos de desenvolvimento
• Ampla utilização de Engenharia de Software • Em operação desde 1995
– Zero acidentes graves até 2006
Leonardo Murta Apresentação do Curso de ES2 9
http://www.stsc.hill.af.mil/crosstalk/1996/01/Boein777.asp
http://www.boeing.com/news/techissues/pdf/statsum.pdf
![Page 10: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/10.jpg)
Mas fazer software não é arte?
• Parte arte, parte engenharia...
– Se o cantor/ator/pintor errar, a audiência fica chateada
– Se o engenheiro civil errar o prédio pode cair
– Se o médico errar o paciente pode morrer
• Se o desenvolvedor de software errar, o que pode acontecer?
Leonardo Murta Apresentação do Curso de ES2 10
![Page 11: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/11.jpg)
Caso real 1: Therac-25
• Máquina de radioterapia controlada por computador
• Problema: – Doses indevidas de radiação emitidas
• Causa: – Interface com usuário inapropriada – Documentação deficiente – Software reutilizado sem ser adaptado para o novo hardware – Software de sensores de falha com defeito
• Conseqüências – Ao menos 5 mortes entre 1985 e 1987
Leonardo Murta Apresentação do Curso de ES2 11
http://sunnyday.mit.edu/papers/therac.pdf
![Page 12: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/12.jpg)
Caso real 2: Ariane 5
• Foguete lançador de satélites
• Problema: – O foguete se auto-destruiu 40 segundos após
o lançamento
• Causa: – Software reutilizado sem ser adaptado para o novo hardware – Ausência de testes deste software em solo – Defeito apresentado em vôo
• Conseqüências – Prejuízo de mais de US$ 370.000.000,00 em 1996
Leonardo Murta Apresentação do Curso de ES2 12
Dowson, Mark. 1997. The Ariane 5 software failure.
SIGSOFT Softw. Eng. Notes 22, no. 2.
![Page 13: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/13.jpg)
Motivação extra para estudar?
• Diversos concursos e oportunidades de emprego exigem conhecimento de Engenharia de Software
• Alguns exemplos:
Leonardo Murta Apresentação do Curso de ES2 13
![Page 14: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/14.jpg)
Leonardo Murta Apresentação do Curso de ES2 14
Como será no curso de ES2?
Só os Métodos Clássicos prestam!
Só os Métodos Ágeis prestam!
![Page 15: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/15.jpg)
Como será no curso de ES2?
• Veremos sem preconceito técnicas clássicas e ágeis de Engenharia de Software
• Utilizaremos o que considerarmos melhor para cada situação
• Mas... o processo base que utilizaremos é iterativo, incremental e ágil
Leonardo Murta Apresentação do Curso de ES2 15
![Page 16: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/16.jpg)
Escopo do curso
Leonardo Murta Apresentação do Curso de ES2 16
Gerência de Configuração
Garantia da Qualidade
Verificação, Validação e Testes
Planejamento de Projetos
Gerência de Riscos
Monitoração e Controle
Reutilização
Medição e Análise
Levantamento de Requisitos
Análise de Requisitos
Projeto Codificação
Melhoria de Processos
Atividades
Gerenciais
Atividades de
Desenvolvimento
Atividades de
Apoio
![Page 17: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/17.jpg)
Avaliação
Leonardo Murta Apresentação do Curso de ES2 17
5
22
6
32
Escrita Prova
Escrita Prova
321
3
2
1
AvaliaçãoAvaliaçãoAvaliaçãoMédia
TrabalhoSemináriosãoParticipaçAvaliação
Avaliação
Avaliação
![Page 18: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/18.jpg)
Avaliação • APROVADO
Presença ≥ 75% E
Média ≥ 6
• VERIFICAÇÃO SUPLEMENTAR
Presença ≥ 75% E
4 ≤ Média < 6
Será aprovado na VS se tirar nota maior ou igual a 6
• REPROVADO
Presença < 75% OU
Média < 4
Leonardo Murta Apresentação do Curso de ES2 18
![Page 19: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/19.jpg)
Segundo o Regulamento dos Cursos de Graduação...
• Presença – 75% das aulas (Art. 80, §14)
– Nenhuma falta será abonada (Art. 80, §15)
• Segunda Chamada – Não será permitida a Avaliação de Aprendizagem em
Caráter Excepcional (i.e., 2ª chamada)
– Com exceção dos casos citados no Art. 87 (congressos, competições ou serviço militar), de acordo com os procedimentos do Art. 88 (aviso na coordenação do curso com 30 dias de antecedência).
Leonardo Murta Apresentação do Curso de ES2 19
![Page 20: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/20.jpg)
Grupos
• Atividades em grupo – Participação em aula (aprox. 16% da Avaliação3) – Seminários (aprox. 33% da Avaliação3) – Trabalho (50% da Avaliação3)
• Deve ser o mesmo durante todo o curso – 1 “gerente” por grupo, que delega funções aos demais
membros do grupo – Total de 5 a 6 membros por grupo – Avaliação cruzada pelos próprios membros
• Definir na primeira semana de aula – Enviar por e-mail (assunto: ES2 - Grupo) a matrícula e o nome
completo dos participantes, indicando quem é o gerente
Leonardo Murta Apresentação do Curso de ES2 20
![Page 21: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/21.jpg)
Trabalho
• Objetivo: Fazer um jogo War onde seja possível jogar contra o computador
• Se enxerguem como uma pequena software house, e me enxerguem como cliente
• Será avaliado o produto final e como esse produto foi desenvolvido (processos e técnicas aplicados)
• Atraso na entrega do trabalho terá 1 ponto de multa por dia
Leonardo Murta Apresentação do Curso de ES2 21
![Page 22: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/22.jpg)
Trabalho
• Três seminários serão feitos durante o curso • 1º seminário
– Papéis dos membros da equipe – Estimativas de esforço, custo e cronograma de desenvolvimento – Versão parcial do produto
• 2º seminário – Monitoração e controle do projeto – Repositório de gerência de configuração – Versão parcial do produto
• 3º seminário – Monitoração e controle do projeto – Casos de Teste e resultados da sua execução – Versão final do produto – Relatório final impresso
Leonardo Murta Apresentação do Curso de ES2 22
![Page 23: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/23.jpg)
Bibliografia básica do curso
Leonardo Murta Apresentação do Curso de ES2 23
![Page 24: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/24.jpg)
Página do curso
Leonardo Murta Apresentação do Curso de ES2 24
http://www.ic.uff.br/~leomurta (dica: monitorem com http://www.changedetection.com)
Importante: cadastrem-se no Grupo do Facebook informado no site!
Leiam as regras do
curso no site,
anotem as datas e
tragam as dúvidas
na próxima aula!!!
![Page 25: Apresentação do Curso de Engenharia de Software 2 › ~leomurta › courses › 2012.2 › es2 › aula1.pdfLeonardo Murta Apresentação do Curso de ES2 20 . Trabalho •Objetivo:](https://reader034.vdocuments.pub/reader034/viewer/2022052612/5f0ff6ed7e708231d446c404/html5/thumbnails/25.jpg)
Fair Play! • Não colar ou dar cola em
provas
• Não plagiar o trabalho
• Não trapacear nas leituras e listas de exercício
• Não sobrecarregar os colegas do grupo
• Não assinar presença por colegas
• Dar crédito apropriado quando usar trabalhos de terceiros
Leonardo Murta Apresentação do Curso de ES2 25
http://www.claybennett.com/pages/ethics.html