Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Anúncio

Mais de Nécio de Lima Veras(20)

Introdução à Engenharia de Software

  1. Prof. Nécio de Lima Veras Introdução à Engenharia de Software Objetivo: Perceber os conceitos básicos e aspectos introdutórios sobre Engenharia de Software.
  2. Aula 01: Ordem Software:  Conceitos;  Crise Histórica;  Mitos; Introdução à abordagem de projetos; Engenharia de Software:  Definição;  Modelos de Processos de Softwares;  Modelos de Gerência de Projetos;
  3. Software: Conceitos [...] uma forma híbrida, algo no domínio entre o concreto e o abstrato, entre o tangível e o intangível. [...] o desenvolvimento de produtos de software é visto como uma atividade mental, abstrata, solitária e criativa. Cox (apud GUERRA e ALVES, 2004, p. 1)
  4. Software: Conceitos Pressman (1997) diz que um livro didático poderia trazer a descrição de um software da seguinte forma:  Instruções (programas de computador) que, quando executadas, produzem a função e desempenho desejados;  Estruturas de dados que possibilitam que os programas manipulem adequadamente a informação;  Documentos que descrevem a operação e o uso dos programas;
  5. Software: Conceitos Sommerville (2003) complementa criando dois tipos diferentes:  Produtos Genéricos;  Produtos sob encomenda; Por tanto, Software é:  Produto (ou serviço) que possui um grande número de características próprias oriundas dos critérios de análise, codificação e documentação aplicados durante sua construção;
  6. Software: Reflexão sobre os conceitos Reflexões Será que essa Qual a relevância formalização já é de conhecer o suficiente para que está entendermos o que “escondido” por é realmente um traz de um software? software?
  7. Software: Crise Histórica (1968) Evolução do hardware; Softwares mais complexos com:  Custos maiores (não previstos);  Baixa confiabilidade;  Difícil manutenção; e  Desempenho abaixo do esperado; Percebeu-se que uma abordagem informal de desenvolvimento não era suficiente;  E quais as prováveis causas da crise?
  8. Software: Mitos 1 2 3 A equipe de A equipe possui Se os prazos desenvolvimento ferramentas de atrasam, pode-se desenvolvimento de dispõe de um adicionar mais software de última manual com pessoas ao grupo geração! Afinal lhes padrões e compramos os mais e tirar o atraso; procedimentos; novos computadores;
  9. Software: Mitos 4 5 6 Uma descrição Os requisitos de Assim que projeto modificam- escrevermos o geral dos objetivos se continuamente, programa e o é suficiente para se mas as mudanças colocarmos em escrever podem ser funcionamento programas e os facilmente nosso trabalho detalhes são vistos acomodadas, porque estará completo. posteriormente; o software é flexível.
  10. Software: Mitos 7 Enquanto não tiver o programa "funcionando", eu não terei realmente nenhuma maneira de avaliar sua qualidade.
  11. Quais foram as possíveis soluções para a crise? Reconhecer os problemas e causas; Desmascarar os Engenharia mitos; de Software Criar soluções que apresentem suporte ao desenvolvedor e que melhore a qualidade;
  12. Introdução à abordagem de projetos
  13. Produtos de Software  Surge de ideias conceituais e reajustáveis;  É Intangível;  Possui escopo variável;  É dotado de incertezas constantes;  Difícil visualização do produto final.  Mas como obter um produto de software com qualidade diante de todas estas peculiaridades?
  14. Engenharia de Software ● A ideia foi incluir a disciplina de engenharia no desenvolvimento de software; ● A E.S. Engloba três elementos fundamentais:
  15. Engenharia de Software: definição Sommerville (2003):  Disciplina que trabalha todos os aspectos da produção de software, desde os estágios iniciais de especificação até a manutenção deste, depois que ele entrou em operação;  Não se dedica apenas aos processos técnicos de software, mas também: • Ao gerenciamento dos projetos; • Ao desenvolvimento de ferramentas, métodos e teorias que dêem apoio à produção de software; Por que não fazer uma analogia?
  16. Engenharia de Software: abrangência Métodos Métodos Ferramentas Ferramentas Procedimentos Procedimentos Planejamento, Análise, Projeto, Automação “Elo de Codificação, ligação” entre Teste e métodos e Manutenção ferramentas
  17. Engenharia de Software: Modelo de Processo de Software O que entendemos por processo de software?  Conjunto de atividades que geram produtos de software; Há quatro atividades fundamentais Há quatro atividades fundamentais Desenvolvimento Especificação de Validação de Evolução de de software software software Software
  18. Engenharia de Software: Modelo de Processo de Software Um modelo de processo de software é:  Uma descrição simplificada de um processo de software, abstraindo o processo real que está sendo aplicado; É constituído por:  Atividades de processos de software;  Produtos de software;  Definição de papeis das pessoas envolvidas;
  19. Exemplos de Modelos de Processos de Software O Modelo em cascata Desenvolvimento Desenvolvimento incremental evolucionário
  20. Reflexão sobre os modelos Esses modelos garantem o sucesso do software?  E as métricas de software?  E as garantias de qualidade? Como vimos, faz parte da definição de engenharia de software:  Não se dedica apenas aos processos técnicos de software, mas também ao gerenciamento dos projetos;
  21. Gerência de Projetos de Software A crise é passado?  E os softwares complexos? É preciso gerenciar projetos de software?  Considere: • Sistemas de Software; • Desenvolvimento colaborativo; Também existe modelos de gerenciamento?
  22. Modelos de Gerenciamento de Projetos  PMI (Project Management Institute):  Baseado em processos;  Alguns consideram muito burocrático;  Possui publicações reconhecidas internacionalmente, como o Guia PMBOK;  CMMI (Capability Maturity Model Integration):  Baseado em níveis de maturidade organizacional;  Encomendado e patrocinado pelo Pentágono, foi formulado pelo SEI (Software Engineering Institute);
  23. Modelos de Gerenciamento de Projetos  APM (Agile Project Management):  Criado em 2001 por um grupo chamado de Agile Alliance;  Possui um conjunto de princípios que são referências básicas para as metodologias ágeis;  Possui cinco objetivos-chave: • Inovação contínua; • Adaptabilidade do produto; • Entregas com cronograma reduzido; • Adaptabilidade do processo e das pessoas; • Resultados confiáveis;
  24. Modelo Ágil de Gerência de Projeto de Software – Visão Geral Fonte: Martins, 2007
  25. Considerações Finais Perspectivas para a área de Engenharia de Software:  O modelo brasileiro de melhoria dos processos de software (MPS.BR);
  26. Referências Bibliográficas  SOMMERVILLE, I. Engenharia de Software. 6ª. ed. São Paulo: Addison Wesley, 2003.  PRESSMAN, R. S. Engenharia de Software. São Paulo: Pearson Makron Books, 1997, Reimpressão 2007.  MARTINS, J. C. C. Técnicas para Gerenciamento de Projetos de Software. Rio de Janeiro: Brasport, 2007.  GUERRA, A. C., ALVES, A. M. Aquisição de produtos e serviços de software. Rio de Janeiro: Elsevier: 2004.  BASSI, D. Planejamento Ágil de Projetos. Engenharia de Software Magazine. DevMedia Group, ano I, n. 08, pág. 08-12, 2008.  PAULA, Wilson de Pádua Filho. Alguns Fundamentos da Engenharia de Software. Engenharia de Software Magazine. DevMedia Group, ano I, n. 01, pág. 04-08, 2007.
Anúncio