Especialização em Engenharia de Software e Banco de Dados



Documentos relacionados
Tópicos. Engenharia de Software: Uma Visão Geral

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

ENGENHARIA DE SOFTWARE

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Unidade I Conceitos BásicosB. Conceitos BásicosB

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

Características do Software

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

PROJETO DE SISTEMAS. Professora Lucélia

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

Metodologia de Desenvolvimento de Sistemas

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Análise e Projeto de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Engenharia de Software II

Técnicas de Vendas de Produtos e Serviços financeiros no setor bancário: planejamento, técnicas; motivação para vendas. Professora Renata Lourdes.

Pós Graduação Engenharia de Software

Gestão dos Prazos e Custos do Projeto

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Qualidade de Software

Introdução a Engenharia de Software. Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA

Gerenciamento da Integração (PMBoK 5ª ed.)

Gerenciamento de integração de projeto

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Processo de Desenvolvimento de Software

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza

QUESTIONÁRIO DE AUTO-AVALIAÇÃO DE PROFESSOR. Professor: Data / / Disciplina:

Administração de Pessoas

DESCRIÇÃO DAS PRÁTICAS DE GESTÃO DA INICIATIVA

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

-Problemas de pesquisa: comprovação de uma hipótese. Ex: Hipótese do CFC

MODELAGEM E SIMULAÇÃO

Prof. Me. Marcos Echevarria

Introdução. Escritório de projetos

ITIL. Conteúdo. 1. Introdução. 2. Suporte de Serviços. 3. Entrega de Serviços. 4. CobIT X ITIL. 5. Considerações Finais

Prof. Vitório Bruno Mazzola INE/CTC/UFSC 1. INTRODUÇÃO

Questionário de avaliação de Práticas X Resultados de projetos - Carlos Magno Xavier (magno@beware.com.br)

TÉCNICAS DE PROGRAMAÇÃO

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

INTRODUÇÃO A PROJETOS

Barreiras. Lição 1.5. A palavra mais importante para transformar situações de risco potencial em IMPROVÁVEL.

Gerenciamento de projetos.

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 16 AS QUATRO FASES DO PCP

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Projeto 914 BRA PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

SIMULADO DO TESTE DE RESOLUÇÃO DE PROBLEMAS

Engenharia de Software I Para que eu Preciso Saber Engenharia de Software?

Introdução à Engenharia de Software

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

Lançada pela Fundação Schlumberger em 2004, a Universidade para o Futuro cresceu para se tornar uma comunidade de 142 mulheres em 43 países.

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

IMPLANTAÇÃO DOS PILARES DA MPT NO DESEMPENHO OPERACIONAL EM UM CENTRO DE DISTRIBUIÇÃO DE COSMÉTICOS. XV INIC / XI EPG - UNIVAP 2011

CONSIDERAÇÕES DE QC PARA TESTES POINT-OF-CARE Tradução literal *Sarah Kee

Engenharia de Software

Qualidade de Software. Qualidade de Software. Adequado à Especificação. Alguns Atributos de Qualidade. Equipe de Qualidade

ITIL v3 - Operação de Serviço - Parte 1

Fundamentos de Engenharia de Software. Josino Rodrigues


Analista de Negócio 3.0

Engenharia de Software

PMBoK Comentários das Provas TRE-PR 2009

Pesquisa sobre Segurança do Paciente em Hospitais (HSOPSC)

Ouvir o cliente e reconhecer o problema: ingredientes essenciais à gestão de projetos

29/05/2012. Gestão de Projetos. Luciano Gonçalves de Carvalho FATEC. Agenda. Gerenciamento de Integração do Projeto Exercícios Referências FATEC

Processo de Software - Revisão

As 10 Melhores Dicas de Como Fazer um Planejamento Financeiro Pessoal Poderoso

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

5 Considerações finais

Estudo Exploratório. I. Introdução. Pontifícia Universidade Católica do Rio de Janeiro Pesquisa de Mercado. Paula Rebouças

Profa. Dra. Ana Paula Gonçalves Serra

A QUALIDADE DOS PLANOS DE DISCIPLINAS

Artigo Os 6 Mitos Do Seis Sigma

Realização. Conselho Brasileiro de Manejo Florestal FSC Brasil.

5 Instrução e integração

Gestão de Ambientes de Saúde

Administração da Produção I

O planejamento do projeto. Tecnologia em Gestão Pública Desenvolvimento de Projetos Aula 8 Prof. Rafael Roesler

Laudon & Laudon MIS, 7th Edition. Pg. 1.1

3 Qualidade de Software

Administração de Sistemas de Informação Gerenciais

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Engenharia de Software

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos

A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE

Faculdade de Ciência da Informação Disciplina: Projeto de Implementação de Sistemas Arquivísticos Profa. Lillian Alvares

Escritório de Projetos

O sucesso de hoje não garante o sucesso de amanhã

Porque estudar Gestão de Projetos?

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES

Resultado da Avaliação das Disciplinas

ELABORAÇÃO DE PROJETOS

Transcrição:

Especialização em Engenharia de Software e Banco de Dados Disciplina: Engenharia de Software Tópico: Introdução Prof. Rodolfo Miranda de Barros rodolfo@uel.br

Grandes verdades sobre o desenvolvimento e manutenção de software

Nada pode parar a automação

Não estabeleça prazos audaciosos demais Prazo é prazo!

Nem toda apresentação será um sucesso

O que serve para um cliente pode não servir para o próximo

Busque soluções eficientes Acabei o meu banho. MM... Foi rápido.

Suporte! Ferramentas diferentes para situações diferentes Atrasado Bêbado Batom

Matemática não é tudo Mas eu continuo não entendendo as mulheres.

Como devemos extrair as necessidades dos clientes?

O que é a Engenharia de Software? Estudo ou aplicação de abordagens sistemáticas, econômicas e quantificáveis para o desenvolvimento, operação e manutenção de software de qualidade. Engenheiros de software devem adotar uma abordagem sistemática e organizada para seu trabalho e usar ferramentas e técnicas/métodos apropriados dependendo do problema a ser solucionado, das restrições de desenvolvimento e dos recursos disponíveis

Engenharia de Software: Definição Engenharia de Software: O desenvolvimento e a aplicação da ciência, matemática, técnicas, métodos, metodologias e ferramentas para o desenvolvimento e manutenção econômica de software de qualidade previsível e controlável, operando de modo econômico em máquinas e ambientes reais.

Engenharia de Software: Definição A Engenharia de software abrange um conjunto de três elementos fundamentais: Métodos, Ferramentas e Procedimentos; Principais metas: melhorar a qualidade de produtos de software, aumentar a produtividade do pessoal técnico e aumentar a satisfação do cliente.

Engenharia de Software: Definição Métodos: proporcionam os detalhes de como fazer para construir o software; Planejamento e estimativa de projeto; Análise de requisitos de software e de sistemas; Projeto da estrutura de dados; Algoritmo de processamento; Codificação; Teste; Manutenção.

Engenharia de Software: Definição Ferramentas: dão suporte automatizado aos métodos; Procedimentos: constituem o elo de ligação entre os métodos e ferramentas; Seqüência em que os métodos serão aplicados; Produtos que se exige que sejam entregues; Controles que ajudam assegurar a qualidade e coordenar as alterações; Marcos de referência que possibilitam administrar o progresso do software.

Engenharia de Software: What the Hell is this? Engenheiros Civis fazem Plantas antes de construírem prédios; Engenheiros Eletrônicos fazem Esquemas antes de montarem aparelhos; Engenheiros Mecânicos fazem Desenhos antes de produzirem máquinas; Engenheiros de Software são superdotados pela Mãe Natureza, e não precisam de nada disso; Se prédios fossem construídos da mesma forma que fazemos sistemas, o primeiro pica-pau que aparecesse no planeta destruiria a humanidade. (autor desconhecido)

A Engenharia de Software é um área MUITO NOVA! O ser humano faz casas e abrigos há milhões de anos; O ser humano lida com eletricidade há milhares de anos; O ser humano produz máquinas e ferramentas há outros milhares de anos; O ser humano faz software há 40/50/60 anos. Estamos nos primórdios da computação...

Objetivos da Engenharia de Software Controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados; Produtividade no desenvolvimento, operação e manutenção de software; Qualidade versus Produtividade; Permitir que profissionais tenham controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados.

Características da Engenharia de Software A Engenharia de Software se refere a software (sistemas) desenvolvidos por grupos ao invés de indivíduos; Usa princípios de engenharia ao invés de arte, e; Inclui tanto aspectos técnicos quanto não técnicos.

Mas, na realidade, temos a Crise de Software... A crise do software foi um termo utilizado nos anos 70, quando a engenharia de software era praticamente inexistente; O termo expressava as dificuldades do desenvolvimento de software frente ao rápido crescimento da demanda por software, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados; Uma das primeiras e mais conhecidas referências ao termo foi feita por Edsger Dijkstra, na apresentação feita em 1972 na Association for Computing Machinery Turing Award, intitulada "The Humble Programmer" (EWD340), publicada no periódico Communications of the ACM.

Crise de Software 25% dos projetos são cancelados; o tempo de desenvolvimento é bem maior do que o estimado; 75% dos sistemas não funcionam como planejado; a manutenção e reutilização são difíceis e custosas; os problemas são proporcionais a complexidade dos sistemas.

Crise de Software - problemas 1- As estimativas de prazo e de custo freqüentemente são imprecisas: Não dedicamos tempo para coletar dados sobre o processo de desenvolvimento de software ; Sem nenhuma indicação sólida de produtividade, não podemos avaliar com precisão a eficácia de novas ferramentas, métodos ou padrões.

Crise de Software - problemas 2- Insatisfação do cliente com o sistema concluído: Os projetos de desenvolvimento de software normalmente são efetuados apenas com um vago indício das exigências do cliente.

Crise de Software - problemas 3- A qualidade de software às vezes é menos que adequada: Só recentemente começam a surgir conceitos quantitativos sólidos de garantia de qualidade de software.

Crise de Software - problemas 4- O software existente é muito difícil de manter: A tarefa de manutenção devora o orçamento destinado ao software; A facilidade de manutenção não foi enfatizada como um critério importante.

Causas dos problemas associados à crise de software 1- PRÓPRIO CARÁTER DO SOFTWARE: O software é um elemento de sistema lógico e não físico; Conseqüentemente o sucesso é medido pela qualidade de uma única entidade e não pela qualidade de muitas entidades manufaturadas; O software não se desgasta, mas se deteriora.

Causas dos problemas associados à crise de software 2- FALHAS DAS PESSOAS RESPONSÁVEIS PELO DESENVOLVIMENTO DE SOFTWARE: Gerentes sem nenhuma experiência em software; Profissionais da área de software têm pouco treinamento formal em novas técnicas para o desenvolvimento de software; Resistência a mudanças.

Causas dos problemas associados à crise de software 3- MITOS DO SOFTWARE: Propagaram desinformação e confusão Administrativos Cliente Profissional

Mitos do software (ADMINISTRATIVOS) Mito 1: Já temos um manual repleto de padrões e procedimentos para a construção de software; Isso não oferecerá ao meu pessoal tudo o que eles precisam saber?

Mitos do software (ADMINISTRATIVOS) Realidade: Será que o manual é usado? Os profissionais sabem que ele existe? Ele reflete a prática moderna de desenvolvimento de software? Ele é completo?

Mitos do software (ADMINISTRATIVOS) Mito 2: Meu pessoal tem ferramentas de desenvolvimento de software de última geração, afinal lhes compramos os mais novos computadores.

Mitos do software (ADMINISTRATIVOS) Realidade: É preciso muito mais do que os mais recentes computadores para se fazer um desenvolvimento de software de alta qualidade.

Mitos do software (ADMINISTRATIVOS) Mito 3: Se nós estamos atrasados nos prazos, podemos adicionar mais programadores e tirar o atraso.

Mitos do software (ADMINISTRATIVOS) Realidade: O desenvolvimento de software não é um processo mecânico igual à manufatura. Acrescentar pessoas em um projeto tornao ainda mais atrasado. Pessoas podem ser acrescentadas, mas somente de uma forma planejada.

Mitos do software (CLIENTE) Mito 1: Uma declaração geral dos objetivos é Uma declaração geral dos objetivos é suficiente para se começar a escrever programas - podemos preencher os detalhes mais tarde.

Mitos do software (CLIENTE) Realidade: Uma definição inicial ruim é a principal causa de fracassos dos esforços de desenvolvimento de software. É fundamental uma descrição formal e detalhada do domínio da informação, função, desempenho, interfaces, restrições de projeto e critérios de validação.

Mitos do software (CLIENTE) Mito 2: Os requisitos de projeto modificam-se continuamente, mas as mudanças podem ser facilmente acomodadas, porque o software é flexível.

Mitos do software (CLIENTE) Realidade: Uma mudança, quando solicitada tardiamente num projeto, pode ser maior do que a ordem de magnitude mais dispendiosa da mesma mudança solicitada nas fases iniciais.

Mitos do software (CLIENTE) MAGNITUDE DAS MUDANÇAS

Mitos do software (PROFISSIONAL) Mito 1: Assim que escrevermos o programa e o Assim que escrevermos o programa e o colocarmos em funcionamento nosso trabalho estará completo.

Mitos do software (PROFISSIONAL) Realidade: Os dados da indústria indicam que entre 50 e 70% de todo esforço gasto num programa serão despendidos depois que ele for entregue pela primeira vez ao cliente.

Mitos do software (PROFISSIONAL) Mito 2: Enquanto não tiver o programa "funcionando", eu não terei realmente nenhuma maneira de avaliar sua qualidade.

Mitos do software (PROFISSIONAL) Realidade: Um programa funcionando é somente uma parte de uma Configuração de Software que inclui todos os itens de informação produzidos durante a construção e manutenção do software.

Resposta à Crise de Software

O Mundo do desenvolvimento de Software - Resumindo Crise do Software (~1970) Desenvolvimento de Software como arte ; Problemas de execução erros; Prazos extrapolados; Custos inesperados correção de erros e adaptação do código às reais necessidades do usuário; Empresas dependentes de computadores com sistemas legados que necessitam modificações mas com código/documentação ilegível ou inexistentes; Insatisfação de usuários.

O Mundo do desenvolvimento de Software - Resumindo O que acontecia? (ou ainda acontece?) Falta de alinhamento de expectativas; Falta de preparo da equipe do projeto; Planejamento inexistente ou insuficiente; Incapacidade de prever riscos; Problemas de comunicação; Requisitos mal definidos; Limitação de recursos.

O Mundo do desenvolvimento de Software - Resumindo O que precisamos fazer? Onde está a bala de prata? Na linguagem? No ambiente? Nas notações? Nas ferramentas CASE? Nas metodologias? Na falta de planejamento e gerenciamento?

O Mundo do desenvolvimento de Software - Resumindo Para que planejar? Para garantir que estamos sempre fazendo a coisa mais importante que se tem a fazer; Para coordenar a interação das pessoas; Para responder rapidamente a mudanças.

O Mundo do desenvolvimento de Software - Resumindo Paradoxo de Cobb - Martin Cobb - Treasury Board of Canada Secretariat We know why projects fail, we know how to prevent their failure - so why do they still fail?"

O Mundo do desenvolvimento de Software - Resumindo Reflita sobre o filme a seguir. Você conhece alguma empresa que trabalha desta maneira?