Introdução à Engenharia de Software

3,485 views
3,241 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,485
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
175
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Introdução à Engenharia de Software

  1. 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. 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. 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. 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. 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. 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. 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. 8. Software: Mitos 1 2 3A equipe de A equipe possui Se os prazosdesenvolvimento ferramentas de atrasam, pode-se desenvolvimento dedispõe de um adicionar mais software de últimamanual com pessoas ao grupo geração! Afinal lhespadrões e compramos os mais e tirar o atraso;procedimentos; novos computadores;
  9. 9. Software: Mitos 4 5 6Uma descrição Os requisitos de Assim que projeto modificam- escrevermos ogeral dos objetivos se continuamente, programa e oé suficiente para se mas as mudanças colocarmos emescrever podem ser funcionamentoprogramas e os facilmente nosso trabalhodetalhes são vistos acomodadas, porque estará completo.posteriormente; o software é flexível.
  10. 10. Software: Mitos 7 Enquanto não tiver o programa "funcionando", eu não terei realmente nenhuma maneira de avaliar sua qualidade.
  11. 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. 12. Introdução à abordagem de projetos
  13. 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. 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. 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. 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. 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 DesenvolvimentoEspecificação de Validação de Evolução de de software software software Software
  18. 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. 19. Exemplos de Modelos de Processos de Software O Modelo em cascata Desenvolvimento Desenvolvimento incremental evolucionário
  20. 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. 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. 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. 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. 24. Modelo Ágil de Gerência de Projeto de Software – Visão Geral Fonte: Martins, 2007
  25. 25. Considerações FinaisPerspectivas para a área de Engenharia de Software:  O modelo brasileiro de melhoria dos processos de software (MPS.BR);
  26. 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.

×