1 / 24

Engenharia de Software

Engenharia de Software. Aula 03 – Processo de Software Prof. Adriana M. Martins. Processo de Software. Introdução O que é um Bom Software? Quem faz a Engenharia de Software Definição Processo Modelos. O que é um Bom Software?.

salene
Download Presentation

Engenharia de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Engenharia de Software Aula 03 – Processo de Software Prof. Adriana M. Martins

  2. Processo de Software • Introdução • O que é um Bom Software? • Quem faz a Engenharia de Software • Definição • Processo • Modelos

  3. O que é um Bom Software? • Na Engenharia de Software, os engenheiros procuram utilizar métodos que assegurem que seus produtos sejam de qualidade e utilidade aceitáveis. • Mas o que seria qualidade para o software?

  4. Software x Qualidade • A qualidade pode ser definida sob três pontos de vista: • Qualidade do produto; • Qualidade do processo; • Qualidade no contexto do ambiente de negócios no qual o software será utilizado.

  5. 1. Qualidade do Produto • Esta definição pode variar de acordo com quem a define: usuários, desenvolvedores, clientes, etc. • Como medir a qualidade de um software? • Usuários verificam características externas como quantidade e tipos de falhas (pequenas, grandes ou catastróficas).

  6. 1. Qualidade do Produto • Os que realizam o projeto ou fazem a manutenção do software poderão classificar a qualidade de forma diferente: • Número e tipos de defeitos para medir a qualidade do produto (indicadores). • Pesquisar: definição sobre defeito e falha.

  7. 2. Qualidade do Processo • Muitas atividades afetam a qualidade final do produto; • Engenheiros de Software medirão a qualidade do processo de desenvolvimento do software; • A qualidade do processo é tão importante quanto a qualidade do produto.

  8. 2. Qualidade do Processo • Questões sobre a qualidade do processo: • Onde e quando é mais provável encontrarmos um tipo particular de defeito? • Como podemos encontrar os defeitos o mais rápido possível durante o desenvolvimento? • Como podemos incluir tolerância a defeitos para que defeitos se tornem uma falha? • Há atividades alternativas para tornar o processo mais eficiente e com maior qualidade?

  9. 3. Qualidade no Contexto do Ambiente de Negócios • Análise considerada sob: • Valor técnico x valor comercial. • O retorno do investimento é analisado sob: • Treinamento, cronograma, risco, qualidade, produtividade, processo, cliente, custos e negócio.

  10. Quem faz a Eng. de Software? • O ponto-chave da ESOF é a comunicação entre clientes e desenvolvedores; • Isso irá assegurar a qualidade do produto final; • O número das pessoas envolvidas depende do tamanho e complexidade do projeto; • Os papéis e responsabilidades serão distintos durante o projeto.

  11. Participantes da ESOF • Cliente: é a empresa, organização ou pessoa que está pagando para que o software seja desenvolvido; • Desenvolvedor: é a empresa, organização ou pessoa que está construindo o software para o cliente; • É preciso haver gerentes, desenvolvedores, testadores, etc.

  12. Participantes da ESOF • Usuários:são as pessoas que realmente utilizarão o sistema, inserindo ou excluindo dados do mesmo.

  13. Financia o desenvolvimento do software CLIENTE $$ necessidades Obrigações Contratuais DESENVOLVEDOR Constrói o software software necessidades USUÁRIO Utiliza o software Participantes da ESOF

  14. Processo de Software • Cada projeto é único e as técnicas utilizadas devem levar em conta as restrições do mesmo; • A maioria dos sistemas não é isolado. Eles se integram com outros sistemas: • Necessidade de interação entre sistemas (complexidade); • Pouca documentação da interface entre sistemas.

  15. Processo de Software Quais seriam as atividades envolvidas durante o desenvolvimento de um software? Exercício prático: como você poderia descrever as atividades para se fazer um bolo de chocolate?

  16. Processo de Software – Definição: “Qualquer descrição do desenvolvimento de software que contenha atividades organizadas de modo que, juntas, produzam um código testado.” Pflegger

  17. Processo de Software – Definição: “Para realização de algo, seguimos uma seqüência de etapas para completar um conjunto de tarefas, que geralmente são realizadas na mesma ordem todas as vezes.” Pflegger

  18. Processo de Software – Definição: “Conjunto de atividades e resultados associados que levam à produção de um produto de software.” ou “Conjunto coerente de atividades para produção de software.” Sommerville

  19. Principais Atividades - Desenvolvimento de Software: • Análise e definição de requisitos; • Projeto de sistema; • Projeto do programa; • Escrever programas (implementação); • Teste de unidades; • Testes de integração; • Testes de sistema; • Entrega do sistema; • Manutenção.

  20. Principais Atividades - Desenvolvimento de Software: • Em situações ideais, todas estas tarefas seriam realizadas uma por vez, chegando ao final. • Na prática isso não acontece, porque muitas destas etapas são repetidas.

  21. Processo de Software – Considerações: • Há diferentes processos de software, mas algumas atividades são comuns entre eles, como: • Especificação; • Projeto e implementação: • Validação; • Evolução.

  22. Processo de Software – Considerações: • Especificação:funcionalidade e restrições de sua operação; • Projeto e implementação: o software deve ser produzido de modo que cumpra sua especificação; • Validação: o software precisa ser validado para garantir que fará o que o cliente deseja; • Evolução: o software precisa evoluir para atender às necessidades mutáveis do cliente.

  23. Processo de Software – Considerações: • Alguns processos não possuem técnicas atualizadas; • Outros não sabem como tirar vantagens das melhores práticas da engenharia industrial.

  24. Processo de Software – Melhoria de Processos: • A melhoria de processos de software pode ser feita por: • Melhoria de comunicação; • Redução de tempo de treinamento; • Apoio a um processo automatizado e mais econômico;

More Related