1 / 33

Engenharia de Software

Engenharia de Software. Tecnologia em Análise e Desenvolvimento de Sistemas. O que é um processo de software? O que é um modelo de processo de software? Quais os desafios enfrentados pela Engenharia de Software? O que é o ciclo de vida de um software?

dane-keller
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 Tecnologia em Análise e Desenvolvimento de Sistemas

  2. O que é um processo de software? • O que é um modelo de processo de software? • Quais os desafios enfrentados pela Engenharia de Software? • O que é o ciclo de vida de um software? • Quais são as atividades fundamentais do software? • Quais são os modelos de processo de software que estudamos? Revisando

  3. Processo de Engenharia de Software • Modelo de Processo • Produto de Processo • Melhores Práticas em desenvolvimento moderno de software O Processo Unificado

  4. Desenvolvimento iterativo • Gerenciamento de requisitos • Utilização de arquiteturas baseadas em componentes • Modelagem visual do software • Verificação contínua da qualidade do software • Controle de mudanças do software Melhores Práticas em Desenvolvimento de Software

  5. Desenvolver o software iterativamente • Cada iteração resulta em um lançamento executável. • Facilidade de encontrar problemas mais cedo. • Usuário mais participativo. • Equipe é forçada a pensar nos pontos mais críticos. • Lições aprendidas podem ser melhoradas dentro do próprio projeto. • Facilidade de verificação do status do projeto. • Equipe de teste tem trabalho mais uniforme.

  6. Gerenciar requisitos • Identificar os verdadeiros requisitos do sistema é um processo contínuo. • Compreensão do usuário sobre os requisitos do sistema também muda. • Se faz necessária a utilização de uma abordagem disciplinada. • Facilidade de comunicação. • Possibilidade de filtrar, localizar e priorizar requisitos. • Permite a detecção de problemas mais cedo.

  7. Usar arquiteturas baseadas em componente • Melhor organização do sistema como um todo. • Facilidade na recuperação rápida do sistema. • Estudo dos requisitos funcionais e não-funcionais. • Separação clara de elementos de um sistema. • Reutilização facilitada por padrões de mercado. • Facilidade no gerenciamento da configuração. • Ferramentas de modelagem permitem a automação para este tipo de desenvolvimento.

  8. Modelar visualmente o software • Simplificação da realidade que descreve completamente um sistema. • Perspectiva particular. • UML = Unified Modeling Language. • Padronização da comunicação. • Cuidado com o nível de detalhamento. • Ferramentas de suporte.

  9. Verificar continuamente a qualidade do software

  10. Controlar mudanças do software • Necessidade de um controle disciplinado: Equipes distantes, projetos de integração, stakeholders com visões diferentes. • Fluxos repetíveis para gerenciar mudanças em todos os artefatos. • Conceito de baseline (linha base). • Rastreabilidade. • Estatísticas em torno de mudanças. • Ferramentas.

  11. O Processo Unificado

  12. Processo Unificado (Jacobson, Booch e Rumbaugh - 1999) O Processo Unificado e suas extensões RUP: IBM Rational Unified Process (Três Amigos) AUP: Agile Unified Process (Scott W. Ambler) EUP: Enterprise Unified Process (Scott W. Ambler) EssUP Essential Unified Proccess (Ivar Jacobson)

  13. O Modelo RUP

  14. Estrutura do RUP • O quê? • Quem? • Quando? • Como?

  15. Artefatos (O quê?) • Documento de Visão • Especificação de requisitos • Diagrama de Caso de Uso • Diagrama Entidade-Relacionamento • Código • Manual • Treinamento

  16. Papéis (Quem?) • Analista de negócios • Analista de requisitos • Arquiteto • Analista de sistemas • Programador • Revisor • Instrutor • Gerente de projeto

  17. Tempo (Quando?) • Concepção • Elaboração • Construção • Transição

  18. Tempo de Concepção: Objetivos • Obter contexto e requisitos mais importantes • Planejar (Caso de uso de negócio, riscos, pessoas, custo, prazo, rentabilidade) • Visualizar arquitetura possível

  19. Tempo de Concepção: Resultados • Documento de visão • Glossário • Caso de uso (inicial) • Risco x Mitigação • Plano de Projeto • Modelo de Negócio • Protótipos • Especificação de Requisitos

  20. Tempo de Concepção: Marco a ser atingido • Aceite de custo e estimativas por parte dos stakeholders. • Entendimento dos requisitos / escopo. • Despesas atuais versus planejadas conforme planejado.

  21. Tempo de Elaboração: Objetivos • Definir arquitetura de acordo com visão: negócio, custo e prazo • Planejar a construção • Selecionar componentes • Decidir entre fazer, comprar e/ou reutilizar

  22. Tempo de Elaboração: Resultados • Caso de uso (80% completo) • Adequações nos requisitos • Arquitetura • Plano para desenvolvimento

  23. Tempo de Elaboração: Marco a ser atingido • Visão estável • Arquitetura estável • Plano de construção adequado • Despesas aceitáveis • Stakeholders de acordo

  24. Tempo de Construção: Objetivos • Evitar trabalho. • Alcançar a qualidade adequada. • Gerar versões úteis o mais rápido possível.

  25. Tempo de Construção: Resultados • Programas. • Manuais. • Release notes.

  26. Tempo de Construção: Marco a ser atingido • Software com capacidade de operação no nível adequado de Qualidade. • Produto estável. • Despesas aceitáveis.

  27. Tempo de Transição: Objetivos • Levar o software até os usuários. • Treinar usuários e mantenedores. • Converter bases operacionais. • Receber o aceite do cliente.

  28. Tempo de Transição: Resultados • Pacote comercial. • Treinamento. • Folhas de avaliação e aceitação preenchidas.

  29. Tempo de Transição: Marco a ser atingido • Lançamento do produto. • Usuário satisfeito. • Despesas adequadas.

  30. Conteúdo / Fluxo / Disciplina(Como?) • Disciplinas de Engenharia • Modelo de negócio • Requisitos • Análise e Construção • Implementação • Teste • Distribuição (Implantação) • Disciplinas de Suporte • Configuração e Gerenciamento de Mudanças • Gerenciamento de projeto • Ambiente

  31. Processo Unificado On-Line: • http://www.wthreex.com/rup/ • Agile Unified Process Download: • http://www.ambysoft.com/unifiedprocess/agileUP.html Links interessantes

  32. KRUCHTEN, Philippe Introdução ao RUP - Rational Unified Process. Rio de Janeiro: Ciência Moderna Ltda., 2003. Bibliografia Complementar

  33. Obrigado!

More Related