![Page 1: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/1.jpg)
Engenharia de Engenharia de SoftwareSoftware
Tecnologia em Análise e Desenvolvimento de Sistemas
![Page 2: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/2.jpg)
Revisando1. O que é um processo de software?2. O que é um modelo de processo de
software?3. Quais os desafios enfrentados pela
Engenharia de Software?4. O que é o ciclo de vida de um software?5. Quais são as atividades fundamentais do
software?6. Quais são os modelos de processo de
software que estudamos?
![Page 3: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/3.jpg)
O Processo Unificado• Processo de Engenharia de Software• Modelo de Processo• Produto de Processo• Melhores Práticas em desenvolvimento moderno
de software
![Page 4: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/4.jpg)
Melhores Práticas em Desenvolvimento de Software
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
![Page 5: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/5.jpg)
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.
![Page 6: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/6.jpg)
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.
![Page 7: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/7.jpg)
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.
![Page 8: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/8.jpg)
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.
![Page 9: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/9.jpg)
Verificar continuamente a qualidade do software
Tempo
Cu
sto
![Page 10: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/10.jpg)
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.
![Page 11: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/11.jpg)
O Processo Unificado
![Page 12: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/12.jpg)
O Processo Unificado e suas extensões
Processo Unificado(Jacobson, Booch e Rumbaugh - 1999)
RUP: IBM RationalUnified Process
(Três Amigos)
AUP: Agile Unified Process
(Scott W. Ambler)
EUP: Enterprise Unified Process(Scott W. Ambler)
EssUP Essential Unified
Proccess(Ivar Jacobson)
![Page 13: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/13.jpg)
O Modelo RUP
![Page 14: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/14.jpg)
Estrutura do RUP
1.O quê?2.Quem?3.Quando?4.Como?
![Page 15: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/15.jpg)
Artefatos (O quê?)
• Documento de Visão• Especificação de requisitos• Diagrama de Caso de Uso• Diagrama Entidade-Relacionamento• Código• Manual• Treinamento
![Page 16: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/16.jpg)
Papéis (Quem?)
• Analista de negócios• Analista de requisitos• Arquiteto• Analista de sistemas• Programador• Revisor• Instrutor• Gerente de projeto
![Page 17: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/17.jpg)
Tempo (Quando?)
• Concepção• Elaboração• Construção• Transição
![Page 18: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/18.jpg)
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
![Page 19: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/19.jpg)
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
![Page 20: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/20.jpg)
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.
![Page 21: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/21.jpg)
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
![Page 22: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/22.jpg)
Tempo de Elaboração: Resultados
• Caso de uso (80% completo)• Adequações nos requisitos• Arquitetura• Plano para desenvolvimento
![Page 23: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/23.jpg)
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
![Page 24: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/24.jpg)
Tempo de Construção: Objetivos
• Evitar trabalho.• Alcançar a qualidade adequada.• Gerar versões úteis o mais rápido possível.
![Page 25: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/25.jpg)
Tempo de Construção: Resultados
• Programas.• Manuais.• Release notes.
![Page 26: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/26.jpg)
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.
![Page 27: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/27.jpg)
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.
![Page 28: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/28.jpg)
Tempo de Transição: Resultados
• Pacote comercial.• Treinamento.• Folhas de avaliação e aceitação
preenchidas.
![Page 29: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/29.jpg)
Tempo de Transição: Marco a ser atingido
• Lançamento do produto.• Usuário satisfeito.• Despesas adequadas.
![Page 30: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/30.jpg)
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
![Page 31: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/31.jpg)
Links interessantes• Processo Unificado On-Line:
http://www.wthreex.com/rup/
• Agile Unified Process Download:http://www.ambysoft.com/unified
process/agileUP.html
![Page 32: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/32.jpg)
Bibliografia Complementar• KRUCHTEN, Philippe Introdução ao RUP
- Rational Unified Process. Rio de Janeiro: Ciência Moderna Ltda., 2003.
![Page 33: Engenharia de Software Tecnologia em Análise e Desenvolvimento de Sistemas](https://reader033.vdocuments.com.br/reader033/viewer/2022051820/552fc0fa497959413d8b903e/html5/thumbnails/33.jpg)
Obrigado!