Apresentação do Curso de Engenharia de Software 2

Documentos relacionados
Apresentação do Curso de Engenharia de Software 2

Apresentação do Curso de Engenharia de Software /2

Apresentação da Disciplina de Engenharia de Software II

Apresentação do Curso de Gerência de Projetos de So7ware

Apresentação do Curso de Engenharia de So5ware II

Apresentação do Curso de Engenharia de So5ware II

Apresentação do Curso de Engenharia de So5ware II

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso Andréa Magalhães Magdaleno

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso. Andréa Magalhães Magdaleno andrea@ic.uff.br

Apresentação do Curso de Gerência de Configuração

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso Andréa Magalhães Magdaleno

Apresentação do Curso de Gerência de Configuração 2009/2

Apresentação da Disciplina de Engenharia de Software I

Apresentação do Curso de Laboratório de Gerência de Configuração

Apresentação do Curso de Laboratório de Gerência de Configuração

Apresentação do Curso de Laboratório de Gerência de Configuração

Apresentação do Curso de Gerência de Configuração

Engenharia de Software 1

Apresentação da Disciplina de Programação de Computadores I. Vanessa Braganholo.

Apresentação da Disciplina de Programação de Computadores I

Engenharia de Software 1

Apresentação da Disciplina de Programação de Computadores I

Modelagem de Processos de Negócio Aula 1- Apresentação do Curso Andréa Magalhães Magdaleno

Apresentação do Curso de Técnicas de Projeto e Implementação de Sistemas II

Apresentação do Curso de Gerência de Configuração

Gerência de Dados Semi- Estruturados

Introdução à Engenharia de Software. Prof.ª Erika E. Freire Miranda

Gerência de Dados Semiestruturados. Vanessa Braganholo

Desenvolvimento de Projetos

Versão: 1.0 Doc Manager

ENGENHARIA DE SOFTWARE

Visão Geral de Engenharia de Software

Sumário. Capítulo 3 Valores do XP Feedback Comunicação... 46

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

ISO/IEC Processo de ciclo de vida

Projeto de Desenvolvimento de Software

Engenharia de Software I

O SWEBOK (2004) Guide to the SoftWare Engineering Body of Knowledge (SWEBOK) Editores: Patrocinadores: Alain Abran. James W. Moore.

Processo Unificado. Leonardo Gresta Paulino Murta

Introdução a Engenharia de Software

TESTES DE SOFTWARE Lista de Exercício 01. Luiz Leão

Engenharia de Software e Qualidade

Verificação e Validação

Gerência de Projetos e Manutenção de Software Aula 12 Medição / Manutenção / Encerramento Andréa Magalhães Magdaleno 2017.

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerência de Configuração: Ramificação e Integração. Leonardo Gresta Paulino Murta

Vinícius Manhães Teles prefácio de Kent Beck colaborações especiais de Kent Beck e Robert Mee

Clientes gerentes Usuarios finais do sistema Clientes engenheiros Gerentes contratantes Arquitetos do sistema. Definicao de requisitos

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Introdução à Engenharia de Software

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Engenharia de Software

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

Reutilização de Software

Processos de Software

Engenharia de Software II

Levantamento, Análise e Gestão Requisitos. Aula 02

GERENCIAMENTO DE PROJETOS DE SOFTWARE. Rosana Braga ICMC/USP

Professor: João Augusto

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Engenharia de Software

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Normas ISO:

Engenharia de Software II

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Estratégias de Testes Parte I

Crise do Software. Crise de tecnologia - hardware caminha mais rápido que o software

Engenharia de Requisitos

Visão Geral do RUP (Rational Unified Process)

Introdução à ES. Leonardo Gresta Paulino Murta.

19/03/2018. Engenharia de Software. Prof. Luís Fernando GARCIA.

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Gerenciamento e Interoperabilidade de Redes

Gerência de Configuração: Planejamento. Leonardo Gresta Paulino Murta

Definições e ciclo de vida

Requisitos de Sistemas

Gestão de Testes e Defeitos. Malba Jacob Prudente

Prof. Luiz A. Nascimento

Engenharia de Software

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Introdução à ES. Leonardo Gresta Paulino Murta.

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

ENGENHARIA DE SOFTWARE

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

Por que estudar Engenharia de Software AULA PROF. ABRAHAO LOPES

Gerência de Projetos e Manutenção de Software Aula 5 Planejamento de Projetos Andréa Magalhães Magdaleno

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

Transcrição:

Apresentação do Curso de Engenharia de Software 2 Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Apresentações Quem sou eu? Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês? Nome? Período? Estágio? Projeto de Aplicação? Iniciação Científica? O que achou de Engenharia de Software 1? Expectativas para Engenharia de Software 2? O que pretende estar fazendo daqui a 10 anos? Leonardo Murta Apresentação do Curso de ES2 2

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

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

Programas de faculdade Requisitos estáveis e bem definidos Escopo pequeno (1-10 KLOCS) Prazos razoáveis Equipes pequenas Mão de obra gratuita Não entra em produção Ausência de cliente Ausência de manutenção Leonardo Murta Apresentação do Curso de ES2 5

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

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

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

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 http://www.stsc.hill.af.mil/crosstalk/1996/01/boein777.asp http://www.boeing.com/news/techissues/pdf/statsum.pdf Leonardo Murta Apresentação do Curso de ES2 9

Outros cenários extremos... Toyota Lexus LS460: > 7 MLOCs Eclipse Galileo: 24MLOCs Windows XP: 40 MLOCs 1800 desenvolvedores 2200 testadores SAP: 250 MLOCs Debian GNU/Linux 4: 283 MLOCs 1000 desenvolvedores Leonardo Murta Apresentação do Curso de ES2 10

Mas quanto grande é isso? Assuma que uma folha A4 tem em torno de 50 linhas. Assuma que uma pilha de 1000 folhas A4 tem em torno de 10 centímetros de altura Assim, 1.000.000 de LOCs, caso impresso, seria uma pilha de 2 metros de altura! Caso todo o código do Debian GNU/Linux fosse impresso, teria a altura de um prédio de 188 andares!!! Leonardo Murta Apresentação do Curso de ES2 11

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 12

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 http://sunnyday.mit.edu/papers/therac.pdf Leonardo Murta Apresentação do Curso de ES2 13

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 em solo deste software Defeito apresentado em vôo Conseqüências Prejuízo de mais de US$ 370.000.000,00 em 1996 Dowson, Mark. 1997. The Ariane 5 software failure. SIGSOFT Softw. Eng. Notes 22, no. 2. Leonardo Murta Apresentação do Curso de ES2 14

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 15

Como será no curso de ES2? Só os Métodos Clássicos prestam! Só os Métodos Ágeis prestam! Leonardo Murta Apresentação do Curso de ES2 16

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 17

Escopo do curso Atividades Gerenciais Planejamento de Projetos Melhoria de Processos Monitoração e Controle Gerência de Riscos Atividades de Desenvolvimento Levantamento de Requisitos Análise de Requisitos Projeto Codificação Atividades de Apoio Garantia da Qualidade Gerência de Configuração Medição e Análise Reutilização Verificação, Validação e Testes Leonardo Murta Apresentação do Curso de ES2 18

Avaliação Avaliação Avaliação Avaliação Média 1 2 3 Prova Escrita Prova Escrita Participação Listas Avaliação 1 Avaliação 3 2 Seminários 5 Avaliação 3 2 Trabalho Leonardo Murta Apresentação do Curso de ES2 19

Avaliação APROVADO VERIFICAÇÃO SUPLEMENTAR Presença 75% E Média 6 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 20

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 21

Grupos Atividades em grupo Participação em aula (20% da Avaliação 3 ) Listas de Exercício (20% da Avaliação 3 ) Seminários (20% da Avaliação 3 ) Trabalho (40% da Avaliação 3 ) Deve ser o mesmo durante todo o curso 1 gerente por grupo, que delega funções aos demais membros do grupo Total de 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 Leonardo Murta Apresentação do Curso de ES2 22

Trabalho Objetivo: Fazer um jogo de cartas Sueca 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 23

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 24

Bibliografia básica do curso Leonardo Murta Apresentação do Curso de ES2 25

Página do curso Leiam as regras do curso no site e tragam as dúvidas na próxima aula!!! http://www.ic.uff.br/~leomurta (dica: monitorem com http://www.changedetection.com) Importante: cadastrem-se em http://groups.google.com/group/uff-es2-2011-1 Leonardo Murta Apresentação do Curso de ES2 26

Datas importantes 1ª rodada dos Seminários 15/04 e 20/04 2ª rodada dos Seminários 25/05 e 27/05 Rodada final dos Seminários 29/06 e 01/07 Entrega do trabalho 29/06 1ª Prova 27/04 2ª Prova 22/06 Verificação Suplementar 13/07 Leonardo Murta Apresentação do Curso de ES2 27

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 http://www.claybennett.com/pages/ethics.html Leonardo Murta Apresentação do Curso de ES2 28

Apresentação do Curso de Engenharia de Software 2 Leonardo Gresta Paulino Murta leomurta@ic.uff.br