UFU Universidade Federal de Uberlndia FACOM Faculdade de
UFU – Universidade Federal de Uberlândia FACOM – Faculdade de Computação GSI 030 – ENGENHARIA DE SOFTWARE Aula 14 – Rational Unified Process Prof. William Chaves de Souza Carvalho
Agenda de Hoje • Modelos de processo de software. • RUP
3 C h a p t e r 2 S o f t w a r e P r o c e s Rational Unified Process (RUP) • É um processo genérico moderno, derivado do trabalho em UML e processos associados. • Reúne aspectos dos 3 modelos genéricos discutidos previamente. • Geralmente descrito por 3 perspectivas: • Uma perspectiva dinâmica que mostra fases no tempo; • Uma perspectiva estática que mostra atividades do processo; • Uma perspectiva prática que sugere boas práticas.
Estrutura do RUP • RUP 7. 5: • Projetos: • Grandes • Pequenos • Apresentar: • Idiomas • RUP 7. 5 • Links para download
5 C h a p t e r 2 S o f t w a r e P r o c e s Fases no Rational Unified Process
As fases do RUP e seus objetivos • Iniciação (concepção): • Definir o macro escopo • Verificar a viabilidade econômica • Elaboração: • Verificar a viabilidade técnica • Definir a arquitetura básica (versão α) • Construção • Desenvolver o software (versão β) • Transição • Fazer testes de aceitação e entregar o produto
7 C h a p t e r Fases do RUP 2 S o f t w a r e P r o c e s • Estabelece o business case para o sistema. Concepção Elaboração • Desenvolve um entendimento da extensão do problema e da arquitetura do sistema. • Projeta o sistema, programa e testa o sistema. Construção Transição • Implanta o sistema no seu ambiente de operação.
As iterações do RUP • São mini-projetos com objetivos de: • Integração de middleware, versão-alfa, casos de uso. . . versão-beta e produto • Vantagens: • Redução de riscos • Percepção antecipada • Quebra da complexidade • Facilitação do gerenciamento • Trabalho com parte dos requisitos • Construção de builds executáveis • Evolução incremental do sistema pelos componentes
9 C h a p t e r Iteração do RUP 2 S o f t w a r e P r o c e s Iteração Intrafase Iteração Interfase • Cada fase é iterativa aos resultados desenvolvidos de forma incremental • Como mostrado pelo loop no modelo RUP, o conjunto todo de fases pode ser executado incrementalmente.
Pilares estratégicos do RUP • Dirigido por Casos de Uso • Centrado em Arquitetura • Iterativo e Incremental • Fases e Iterações Casos de Uso Dirige Guia Arquitetura
C 1 1 h a p t e r 2 S o f t w a r e P r o c e s Workflows estáticos no RUP (disciplinas)
C 1 2 h a p t e r 2 S o f t w a r e P r o c e s Workflows estáticos no RUP (disciplinas)
Disciplinas do RUP • Modelagem de Negócios: • Compreensão da Engenharia do Negócio (por que) • Requisitos: • Explicitação e coleta de requisitos (escopo: o que) • Análise e Design (Projeto): • Transformação dos requisitos em especificação do software (como) Esforço x Disciplina x Tempo • Implementação: • Desenvolve, organiza, testa a unidade e integra os componentes do software • Testes: • Testa a qualidade do software • Distribuição: • Distribui (instala) o software aos usuários (entrega), não é um projeto de implantação completo • Gestão de configuração e mudanças: • Cuida do controle e sincronização dos componentes do software • Gestão do projeto: • Foca em planejamento, gestão de riscos e gestão do progresso do projeto • Ambiente: • Cria e mantém o ambiente (processos e ferramentas) de desenvolvimento interno do software
Esforço x Disciplina x Tempo
Elementos essenciais do RUP 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Visão: Processo: Plano: Riscos: Caso de Negócios: Arquitetura: Protótipo: Avaliação: Controle de Mudanças: Suporte ao Usuário: Desenvolva uma visão Adote um processo para o projeto Crie e gerencie o plano Mitigue riscos e rastreie problemas Examine o caso de negócios Projete arquitetura de componente Construa e teste progressivamente Avalie regularmente os resultados Gerencie e controle as alterações Implemente um produto utilizável
Princípios chaves do RUP • Adaptar o processo: • Dimensione o processo para cada projeto • Equilibrar prioridades dos investidores: • Promova o alinhamento da TI aos negócios • Trabalhar em conjunto com equipes: • Motivação, auto-gestão, colaboração, etc. • Demonstrar valor iterativamente: • Mostrar o valor produto ao usuário a cada iteração • Elevar nível de abstração: • Arquitetar e reutilizar para simplificar e quebrar a complexidade • Focalizar continuamente na qualidade: • Para o produto ter qualidade o processo precisa de acompanhamento
Fluxos de trabalho do RUP Início do fluxo Atividade Término do fluxo Atividades em paralelo
Detalhamento de fluxos de trabalho Tarefa Seqüenciamento Entradas Função (papel) Tarefa Saídas Produto do trabalho (artefato)
C 1 9 h a p t e r 2 S o f t w a r e P r o c e s Boas práticas do RUP • Desenvolver software iterativamente • Planejar incrementos baseando-se nas prioridades do cliente e entregar as de prioridade mais alta primeiro. • Gerenciar os requisitos • Documentar explicitamente os requisitos do cliente e manter registros de mudanças desses requisitos. • Usar arquiteturas baseadas em componentes • Organizar a arquitetura do sistema como um conjunto de componentes reusáveis.
2 C h 0 a p t e r 2 S o f t w a r e P r o c e s Boas práticas do RUP • Modelar o software visualmente • Use modelos de gráficos UML para representar visões dinâmicas e estáticas do software. • Verificar a qualidade do software • Garanta que o software atenda aos padrões de qualidade organizacional. • Controlar as mudanças do software • Gerenciar as mudanças no software usando ferramentas de gerenciamento de configuração.
C 2 1 h a p t e r 2 S o f t w a r e P r o c e s Pontos Importantes • Os processos devem incluir atividades para lidar com mudanças. O que pode envolver uma fase de protipação que ajuda a evitar más escolhas nos requisitos e no projeto. • Os processos devem ser estruturados para evolução e entrega iterativa, para que as mudanças possam ser feitas sem causar problemas ao sistema como um todo. • O Rational Unified Process é um modelo de processo genérico moderno, organizado em fases (concepção, elaboração, construção e transição) mas que separa as atividades dessas fases (requisitos, análise e projeto, etc. ).
Questões?
- Slides: 22