[email protected] - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e...
Transcript of [email protected] - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e...
![Page 1: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/1.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Introdução À Engenharia De Software Com Foco No RUP -
Rational Unified Process
Prof. Dr. Jorge Henrique C Fernandes ([email protected])
POTI – Pólo De Tecnologia Da InformaçãoDepartamento De Informática E Mat. AplicadaUniversidade Federal Do Rio Grande Do Norte
![Page 2: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/2.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Introdução à Engenharia de Software com Foco no RUP: Rational Unified Process• Copyright © 2003, por Jorge Henrique C
Fernandes• A estrutura deste curso é baseada, mas não
substitui, o uso nos seguintes materiais– Livro:
• [Kruchten, 2000] Introduction to the Rational Unified Process, de Philippe Kruchten, Addison-Wesley, 2000
– Software: • [Rational, 2000] Rational Unified Process – RUP. Rational
Software Corporation. 2000
• Rational e Rational Unified Process são marcas comerciais da Rational Software Corporation
![Page 3: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/3.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Outras Referências• [Kruchten, 2000] Introduction to the Rational Unified Process, de
Philippe Kruchten, Addison-Wesley, 2000.• [Clements et alli, 1998] Software Architecture in Practice. Len Bass,
Paul Clements and Rick Kazman. Addison-Wesley, 1998.• [J2EE, 2002] Designing Enterprise Applications with the J2EETM
Platform, Second Edition. Inderjeet Singh, Beth Stearns, MarkJohnson, and the Enterprise Team. Addison-Wesley. 2002.
• [Sun, 2002] Designing Wireless Enterprise Applications Using Java™Technology; A Java BluePrints for Wireless White Paper. Sun Microsystems, Inc. 2002.
• [SPEM, 2002] Software Process Engineering Metamodel Specification.November 2002. Version 1.0. formal/02-11-14
• [Kobryn, 2001] Introduction to UML: Structural and Use CaseModeling. Cris Kobryn. OMG UML Tutorial Series.2001
![Page 4: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/4.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Características do Treinamento• Introdutório• Carga de 30 (trinta) horas-aula• Pré-requisitos
– Conhecimentos básicos de desenvolvimento de software
• Conhecimentos desejáveis– Orientação a objetos– UML – Unified Modeling Language– Gerencia de projetos de software
• Audiência– Gerentes de projetos, desenvolvedores de software, engenheiros
de qualidade, de processos e sistemas, analistas de negócios e estudantes de cursos profissionalizantes de informática, computação, sistemas de informação e engenharia de software
![Page 5: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/5.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Objetivos do treinamento
• Apresentar e discutir abordagens efetivas para desenvolvimento de software
• Entender o que é o RUP, seus vocabulário e conceitos
• Entender como as disciplinas do RUP colaboram para a estruturação efetiva e eficaz de tarefas e fluxos de trabalho de profissionais, atuando em equipes de desenvolvimento de software
![Page 6: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/6.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Conteúdo: RUP – Módulo IntrodutórioParte I
A1. Abordagens Efetivas Para Desenvolvimento De Software
A2. O Que é o Rational Unified Process - RUP?
A3. Conceitos e OrganizaçãoA4. Estágios, Fases,
Iterações, Disciplinas e Ciclo de Vida
A5. Foco em ArquiteturaA6. Foco em Casos de Uso
Parte IIA7. Gestão de projetosA8. Modelagem de NegóciosA9. RequisitosA10. Análise e ProjetoA11. ImplementaçãoA12. TestesA13. Gestão de
Configuração e Mudanças
A14. Gestão de AmbienteA15. Instalação
![Page 7: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/7.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Introdução À Engenharia De Software Com Foco No RUP: Rational
Unified Process
Parte IConceitos para Entendimento do RUP
![Page 8: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/8.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Parte I - Aula 1Abordagens Efetivas Para
Desenvolvimento De Software
![Page 9: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/9.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagens Efetivas Para Desenvolvimento De Software
• Objetivos desta aula– Compreender o valor do software na
sociedade em que vivemos– Compreender e discutir os sintomas e causas
de problemas no desenvolvimento de software– Compreender e discutir abordagens efetivas
para desenvolvimento de software
![Page 10: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/10.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Valor Do Software Na Sociedade
• Atividades econômicas e o software• Expansão do software e sistemas
computacionais em complexidade e tamanho
• O Estado da prática em Desenvolvimento de Software
![Page 11: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/11.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Atividades Econômicas E O Software
• Empresas e o software• Indivíduos e o software• Sociedade e o software
![Page 12: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/12.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Expansão Do Software E Sistemas Computacionais Em Complexidade E Tamanho
• O custo do software para a sociedade– Governo
• Educação• Saúde• Infra-estrutura
– Indivíduos• Casa, trabalho
– Indústrias– Comércio– Serviços– Bancos– Telecom
![Page 13: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/13.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
O Estado Da Prática Em Desenvolvimento De Software
• Sem software é difícil aumentar a produtividade e qualidade da economia
• Software está se tornando cada vez mais complexo e difícil de produzir e manter
• Reproducibilidade de resultados e previsibilidade da qualidade• metas difíceis de implantar numa organização
produtora e mantenedora de software
![Page 14: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/14.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Sintomas E Causas De Problemas No Desenvolvimento De Software [Booch, 1999]1.Sintomas
1.O que dá errado em projetos de software?2.Causas
1.Porque dão errado?
![Page 15: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/15.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Sintomas De Falhas Em Projetos De Software
• Compreensão inadequada das necessidades dos usuários
• Inabilidade para tratar mudanças de requisitos • Módulos incompatíveis entre si• Software difícil de manter (corrigir, adaptar e evoluir)• Descoberta de falhas em fases adiantadas do projeto• Baixa qualidade da solução entregue ao usuário• Desempenho inaceitável• Não dá para saber quem fez o quê, como e porque• Falhas no empacotamento e entrega do produto
![Page 16: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/16.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Causas Fundamentais De Falhas De Projetos De Software (1 De 2)
• Gestão de requisitos é feita ‘nas coxas’• Informações trocadas entre os envolvidos
(stakeholders) são ambíguas e imprecisas• Arquiteturas concebidas são frágeis• Complexidade do software é absurda e
desnecessária• Não se investigam as inconsistências
existentes entre requisitos, design e implementação
![Page 17: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/17.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Causas Fundamentais De Falhas De Projetos De Software (2 De 2)
• Teste insuficiente dos módulos, subsistemas e do sistema
• Avaliação de status do projeto feita de forma subjetiva
• Falha no ataque aos riscos• “Se você não atacar os riscos, eles atacarão
você!” (Tom Gilb)• Controle inadequado da propagação das
mudanças• Nível insuficiente de automação
![Page 18: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/18.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagens Efetivas Para Desenvolvimento De Software [Booch, 1999]
#1: desenvolver software iterativamente#2: gerenciar requisitos#3: usar arquiteturas baseadas em
componentes#4: modelar visualmente o software#5: verificação contínua da qualidade#6: controle de mudanças
![Page 19: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/19.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagem Efetiva #1: Desenvolver Software Iterativamente
Modelo Cascata Versus
Modelo Espiral
![Page 20: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/20.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelo Cascata (Waterfall)
• Intenção: Uma seqüência unidirecional de atividades transforma requisitos em um sistema
• Realidade– Reduz flexibilidade: é difícil saber onde se vai chegar
quando os caminhos são vários– Desestimula inovação: software em execução constrói
uma máquina (sistema), em muitos casos uma novidade
• Evita-se experimentar novos conceitos porque o sistema pode não se adequar às necessidades reais de seus usuários
requisitosdesign
implementaçãotestes
implantação
![Page 21: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/21.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelo Espiral (Spiral)
• Modelo Espiral [Boehm, 2000]• “De modo cíclico e incremental, aprimorar
o grau de definição e implementação de um sistema, enquanto diminui o grau de risco do projeto”
• Milestones (marcos de ancoragem) asseguram compromisso de todos os envolvidos com a satisfação dos objetivos do projeto
![Page 22: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/22.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelo Espiral Original [Boehm, 1989]
![Page 23: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/23.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Um Ciclo na Espiral do RUP [Rational, 2000]
![Page 24: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/24.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Espiral de Iterações
![Page 25: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/25.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Invariantes De Processos Baseados No Modelo Espiral (1 De 2)
• Produção dos artefatos é concorrente, e não seqüencial
• Elementos fundamentais considerados em um ciclo espiral– Objetivos e restrições dos envolvidos – Alternativas para produtos e processos– Identificação e resolução de riscos– Revisão por parte dos envolvidos (stakeholders)– Compromisso no prosseguimento para próxima etapa
• Riscos determinam:– Nível de esforço para próxima etapa– Nível de detalhe dos artefatos a produzir
![Page 26: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/26.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Invariantes De Processos Baseados No Modelo Espiral (2 De 2)
• Três grandes milestones– Objetivos (LCO), arquitetura (LCA) e capacidade
operacional inicial (IOC)
• Ênfase do sistema e no ciclo de vida, em vez de código
![Page 27: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/27.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Resultados De Uma Abordagem Iterativa Incremental
• Erros, riscos e inconsistências se tornam evidentes mais cedo
• Encoraja feedback do usuário • Mantém foco do time nas questões cruciais do
projeto• Avaliação periódica e precisa do status do projeto• Carga de trabalho entre equipes é distribuída ao
longo do tempo• Feedback e reflexão ocorrem mais cedo• Envolvidos obtém evidência concreta periódica
sobre status do projeto
![Page 28: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/28.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagem Efetiva #2: Gerenciar Requisitos
• Requisitos – Capacidades, propriedades e restrições que devem
estar presentes em um sistema• O problema dos requisitos:
– Mudança constante:• Sistemas são máquinas, máquinas se comunicam através de
linguagens, e quanto mais complexas maior sua necessidade de evolução
• Determinar requisitos reais do sistema é uma tarefa contínua e constante– Elicitação, especificação, rastreamento, negociação e
evolução
![Page 29: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/29.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagem Efetiva #3: Usar Arquiteturas Baseadas Em
Componentes
![Page 30: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/30.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
O Que É Arquitetura De Um Software Ou Sistema?
• Arquitetura é a estrutura, ou as estruturas, do software ou sistema, composta por:– Seus componentes– As propriedades externamente visíveis destes
componentes– Os relacionamentos entre estes
• Todo sistema de software possui uma arquitetura– Que pode não ser conhecida pelos usuários do
sistema, pelos responsáveis pela sua operação– O comportamento externo de cada componente é
parte integrante da arquitetura
![Page 31: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/31.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Componentes e Abstrações
• Componentes de software– São unidades de software fisicamente identificáveis– Possuem uma interface bem definida, – Encapsulam detalhes privados de implementação
• Quais abstrações são componentes?– Objetos? Processos? Processadores? Bibliotecas? Bases
de dados? Produtos comerciais?• São omitidas de uma descrição arquitetural as
informações sobre componentes que não são pertinentes às interações entre eles
• Detalhes privados dos componentes nãopertencem à arquitetura
![Page 32: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/32.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Propriedades Externamente Visíveis Dos Componentes
Dependem da abstração que se está observando, como:
• Métodos que provê (objetos, classes);• Características de desempenho
(processador, rede);• Tratamento de erros (módulos);• Uso de recursos compartilhados (funções);• Etc.
![Page 33: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/33.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Visão 4+1 [Kruchten, 1996]
![Page 34: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/34.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagem Efetiva #4: Modelar Visualmente O Software
![Page 35: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/35.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelagem Visual De Software
• Modelos são abstrações da realidade– Estruturam solução de problemas– Permite experimentar com várias soluções– Reduzem complexidade e incrementam compreensão– Reduzem custo e tempo para desenvolvimento de
conceitos e produtos– Reduz riscos
• UML – Linguagem visual para• Visualizar, Especificar, Construir e documentar
estrutura e comportamento de um sistema de software• Modelos estruturais e comportamentais
![Page 36: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/36.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Alguns Modelos Estruturais [Kobryn, 2000]
Diagrama de Classes
Diagrama de Objetos
“Uma Moléculade Etano (C2H6)”
“Classes de átomos e Suas ligações”
![Page 37: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/37.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Diagrama De Componentes Ilustrando Evolução De UML [Kobryn, 2000]
![Page 38: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/38.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelo Estrutural De Um Site [Conallen, 2000]
![Page 39: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/39.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Diagramas De Interação: Seqüência E Colaboração [Övergaard, 2000]
![Page 40: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/40.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Diagrama De Seqüência(Elementos) [Övergaard, 2000]
![Page 41: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/41.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Diagrama De Estados Ligando Uma Lâmpada [Övergaard, 2000]
![Page 42: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/42.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Diagrama de Atividades (construindo uma casa) [Övergaard, 2000]
![Page 43: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/43.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagem Efetiva #5: Verificação Contínua Da Qualidade
• Evolução do custo de correção no software
• É importante avaliar continuamente, e de forma objetiva, a satisfação dos requisitos:– externos (funcionalidades) – Internos (qualidade interna)
Tempo
Custos
![Page 44: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/44.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Verificação Da Qualidade
• Avaliação objetiva de status do projeto• Busca de inconsistências entre requisitos,
design e implementação• Testes unitários, de integração e de
sistema– Eliminação de defeitos, se possível ainda na
`bancada’
• Testes automatizados
![Page 45: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/45.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Abordagem Efetiva #6: Controle De Mudanças
• Realidade numa organização de engenharia de software– Vários times– Vários artefatos– Várias estações de trabalho (workspaces)– Vários produtos– Várias plataformas de execução– Várias iterações e ‘releases’– Vários meses e anos– Vários sistemas legados
![Page 46: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/46.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Controlar Mudanças: Fundamental Para Garantir reproducibilidade E Previsibilidade
• Atividades bem definidas• Controle na
– Solicitação, encaminhamento e rastreamento de mudanças
– Propagação de mudanças
• Isolamento de workspaces• Medidas e métricas de alteração
![Page 47: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/47.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Parte I - Aula 2O Que É O Rational Unified Process
- RUP?
![Page 48: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/48.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
O Que É O RUP?
• RUP: processo de engenharia de software• A Base de Conhecimento do RUP (site) É
um produto comercializado pela IBM/Rational
• A IBM/Rational comercializa ferramentas que podem ser empregadas para agilizar o uso produtivo do RUP
![Page 49: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/49.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
O Que É O RUP?
• RUP: processo de engenharia de software• RUP: produto comercializado pela IBM/Rational• RUP: integra-se com ferramentas da
IBM/Rational
![Page 50: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/50.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Um Processo De Engenharia De Software
• RUP: framework metodológico para organização do processo (de produção) de software
• Aplica princípios do processo unificado[Booch]– Baseado do modelo de processo espiral
• Processo adaptável, permitindo ajustes para domínios e aspectos específicos como:– Software de tempo real– Teste de software– Maturidade de processos– Manutenção de software legado
![Page 51: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/51.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Produto Comercializado Pela IBM/Rational
• Base de conhecimento do RUP: Site web, contendo:– Páginas HTML– Mapas– Applets
• Browser• Engenho de busca
– Figuras– Hiperlinks– Mentores sobre ferramentas– Templates e exemplos
![Page 52: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/52.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Site Web [Rational, 2000]
![Page 53: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/53.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Produto Comercializado Pela IBM/Rational
• Possibilita ajustes (customizações) em vários escopos– indivíduo– projeto– organização
• Como uma mídia digital, pode receber manutenção regular
• Como um produto de software, pode integrar workflow com outros produtos e ferramentas
![Page 54: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/54.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Para Que Serve O RUP?• RUP: captura e descreve abordagens reconhecidamente
efetivas pela comunidade de engenharia de software:– Meta Fundamental da Engenharia de Software:
• Desenvolver e adotar métodos, técnicas, ferramentas e processos para produzir software com prazo, custo e qualidade previsíveis
• RUP: estimula adoção de uma abordagem disciplinada (fluxos ou disciplinas) na atribuição e gerenciamento de papéis e tarefas em uma organização que desenvolve software– Existem outras, como a Praxis, de Wilson de Pádua Filho
• RUP: bastante reconhecido e utilizando por organizações que desenvolvem software no mundo inteiro– O vocabulário do RUP tornou-se vocabulário comum
![Page 55: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/55.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Para Que Serve O RUP?• RUP: captura e descreve abordagens reconhecidamente
efetivas pela comunidade de engenharia de software:– Meta Fundamental da Engenharia de Software:
• Desenvolver e adotar métodos, técnicas, ferramentas e processos para produzir software com prazo, custo e qualidade previsíveis
• RUP: estimula adoção de uma abordagem disciplinada (fluxos ou disciplinas) na atribuição e gerenciamento de papéis e tarefas em uma organização que desenvolve software– Existem outras, como a Praxis, de Wilson de Pádua Filho
• RUP: bastante reconhecido e utilizando por organizações que desenvolvem software no mundo inteiro– O vocabulário do RUP tornou-se vocabulário comum
![Page 56: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/56.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Princípios do RUP
• Além dos seis + importantes:– #1: desenvolver software iterativamente– #2: gerenciar requisitos– #3: usar arquiteturas baseadas em componentes– #4: modelar visualmente o software– #5: verificação contínua da qualidade– #6: controle de mudanças
• Pode-se ainda destacar– Desenvolvimento baseado em casos de uso– Processo configurável– Suporte a ferramentas (tool mentors)
![Page 57: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/57.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Parte I - Aula 3RUP: Conceitos e Organização
![Page 58: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/58.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Conceitos [Rational, 2000]
![Page 59: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/59.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Conceitos e Organização
• Role (Papel)• Artifact (Artefato) ou WorkProduct• Activity (Atividade)• WorkflowDetail (Detalhe de Fluxo)• Workflow (Fluxo)• Discipline (Disciplina)• Phases (Fases) e Iterations (Iterações)
![Page 60: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/60.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: (Role) Papel, Artifact (Artefato) e Activity(Atividade) [Rational, 2000]
![Page 61: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/61.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Papel ou Role ou ProcessRole
• Anteriormente chamado de “Worker”• No SPEM[OMG, 2002] chamado de ProcessRole• Conjunto de atividades coerentemente
desempenhadas por uma pessoa (recurso), atuando em um time de pessoas com múltiplas competências
• Um recurso (pessoa) pode desempenhar muitos papéis, conforme suas habilidades individuais
• Papéis são agregados em 5 conjuntos chamados de RoleSets: Analistas, Desenvolvedores, Testadores, Gerentes e Outros
![Page 62: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/62.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Alguns Exemplos de Papéis• Analistas
– System Analyst – Business Designer– Business-Model Reviewer – Business-Process Analyst
• Desenvolvedores– Capsule Designer– Code Reviewer – Database Designer– Implementer – Integrator – Software Architect– Architecture Reviewer – Design Reviewer
• Gerentes– Process Engineer – Project Manager – Change Control
Manager – Configuration Manager – Deployment Manager – Project Reviewer – Test Manager
• Outros
![Page 63: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/63.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Artefato ou Artifact ou WorkProduct
• Resulta de uma atividade executada por um recurso, desempenhando um papel
• É qualquer coisa produzida, consumida ou modificada por um processo
• Pode ser uma peça de informação, um documento, um modelo UML, um código fonte, etc.
![Page 64: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/64.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Principais Artefatos [Rational, 2000]
![Page 65: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/65.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Atividade Ou Activity
• Unidade de trabalho a ser realizada por um recurso desempenhando um papel, produzindo resultados tangíveis para um projeto, normalmente representados por artefatos
AtividadePapel
Resultados
Resultados
Resultados
![Page 66: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/66.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Atividade Ou Activity
• Atividades utilizam um ou mais artefatospreviamente existentes
• Atividades em geral criam, atualizam ou refinam um ou mais artefatos
Artefato #O1
Artefato #O2
Artefato #On
Artefato #I1
Artefato #I2
Artefato #In
Atividade
Artefato #IO1
Artefato #IO2
Artefato #IOn
input output
Input/output
![Page 67: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/67.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Atividade Ou Activity
• Uma atividade é um elemento atômico de planejamento de projeto
Inicio -> Fim Inicio -> Fim Inicio -> Fim
![Page 68: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/68.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Atividade Ou Activity
• Uma atividade é realizada em poucos minutos, horas ou dias
• Atividades são compostas por uma seqüência de passos a executar
• Passos para realização de uma atividade são organizados em três categorias: planejamento, execução e revisão
![Page 69: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/69.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Exemplos de Atividades• Papel: Analista de
Sistemas– Elicitar necessidades de
stakeholders– Capturar vocabulário– Desenvolver Plano de
Gestão de Requisitos– Desenvolver guias de
construção de casos de uso– Encontrar atores e casos de
uso– Desenvolver Visão– Gerenciar (rastrear)
dependências– Estruturar modelo de casos
de uso
• Papel : Implementador– Implementar
componentes– Implementar teste de
componentes e subsistemas
– Executar testes unitários
– Corrigir defeitos– Desenvolver artefatos
de instalação
![Page 70: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/70.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Detalhe De Workflow (Workflow Detail)
• Conjunto de atividades, artefatos e papéis realizadas de forma interdependente por um indivíduo ou pequeno grupo
• Sem prescrição de controle interno do fluxo de atividades
• Cria um foco local (individual) de execução de atividades que produz resultados tangíveis e mensuráveis
• Orienta na gestão individual das atividades
![Page 71: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/71.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Workflow Detail: Analisar o Problema [Rational, 2002]
Atividades
Artefatos
![Page 72: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/72.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Workflow (Fluxo ou Core Workflow)
• Fluxo macroscópico de controle de execução das atividades de uma disciplina
• Controle descrito na forma de diagrama de atividades, que agrega vários Detalhes de Workflow
• Orienta na gestão grupal das atividades
![Page 73: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/73.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Workflow (Fluxo) Típico daDisciplina de Requisitos [Rational, 2002]
Detalhes de
workflow
![Page 74: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/74.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Disciplina ou Domínio
• Particiona atividades, artefatos e papéis em um tema ou subárea comum
• Disciplinas de Engenharia– Business Modeling – Requirements – Analysis & Design– Implementation – Test – Deployment
• Disciplinas de Suporte– Environment – Project Management – Configuration & Change Management
![Page 75: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/75.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Outros Elementos do Processo
• Guia de Trabalho– Orienta sobre como desempenhar uma
atividade
• Guia de Artefato– Descreve como construir um artefato
• Guia de Ferramenta (Tool Mentor)– Descreve como usar uma ferramenta para
construir um artefato
![Page 76: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/76.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Outros Elementos do Processo
• Checkpoints– Auxiliar na verificação da qualidade de um
artefato
• Template– Protótipos ou modelos de artefatos
• Report– Informação extraída automaticamente de
alguns artefatos
![Page 77: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/77.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Tool Mentors (Mentores) [Rational, 2000]
• Guias especializados em uso de ferramentas
![Page 78: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/78.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Parte I - Aula 4RUP: Estágios, Fases, Iterações,
Disciplinas e Ciclo de Vida
![Page 79: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/79.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Estágios, Fases E Iterações
• 2 Estágios: engenharia e produção• 4 Fases: Iniciação, elaboração, construção
e transição• Várias iterações em cada fase
– Viabilidade– Arquitetura– Uso– “Release”
![Page 80: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/80.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Estágios do Ciclo de Vida
• Engenharia– Demonstrar a viabilidade econômica-técnica do
produto (software)– Inovação e Propriedade intelectual– Criar uma arquitetura que facilite a produção
• Produção– Realizar o produto– Processo de manufatura, onde se busca a melhor
qualidade, no menor tempo e com o consumo de recursos
– Propriedade Industrial
![Page 81: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/81.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Metas de Cada Fase• Iniciação
– Obter uma visão do produto acabado, e concordância acerca dos objetivos e resultados finais do projeto
– Marco de conclusão: definição dos objetivos do ciclo de vida (lifecycle objective milestone)
• Elaboração– Obter uma arquitetura viável,
através da especificação de todas as características do produto, com Iniciação e validação de uma arquitetura que às atenda
– Marco de conclusão : arquitetura do ciclo de vida (lifecycle architecture milestone)
• Construção– Construir o produto, evoluindo
sua visão, arquitetura, até que esteja pronto para release
– Marco de conclusão: capacidade operacional inicial (initial operational capability)
• Transição– Concluir a entrega do produto
para clientes e usuários até plena satisfação dos objetivos e resultados estabelecidos, incluindo atividades de (entrega, treinamento, suporte e manutenção)
– Marco de conclusão: release do produto (product release milestone)
![Page 82: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/82.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Iniciação [Kruchten, 2000] (1 de 5)
• Meta– Obter uma visão do produto acabado, e
concordância acerca dos objetivos e resultados finais do projeto
![Page 83: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/83.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Iniciação [Kruchten, 2000] (2 de 5)
• Objetivos– Estabelecer o escopo do projeto de software– Estabelecer condições de contorno, incluindo
documento de conceitos de operações, critérios de aceitação, descrição do escopo positivo e negativo
– Descrever casos de uso críticos, que irão direcionar as linhas mestras do sistema
– Exibir ou demonstrar uma arquitetura candidata, validada com alguns cenários confrontados
– Estimativa de custo global e cronograma do projeto– Prover estimativas detalhadas da fase de elaboração– Estimar riscos
![Page 84: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/84.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Iniciação [Kruchten, 2000] (3 de 5)
• Atividades– Formular escopo do projeto, de modo a
permitir especificação de critérios objetivos de sucesso
– de projeto, riscos, recursos necessários e data de realização das principais etapas
– Delimitar o escopo do projeto– Identificar os atores que interagem com o
sistema– Identificar as interações dos atores com o
sistema (casos de uso)
![Page 85: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/85.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Iniciação [Kruchten, 2000] (4 de 5)
• Artefatos produzidos– Documento de visão: visão geral dos requisitos,
características e restrições essenciais do projeto– Modelo inicial de casos de uso (10%-20%)– Glossário do projeto (opcionalmente um modelo de
domínio)– Definição de objetivos e viabilidade do projeto incluído
contexto, critérios de sucesso, projeção de ROI (retorno sobre investimentos) e prognóstico financeiro
– Avaliação inicial de riscos– Plano de projeto, com fases e interações– Modelo de negócios, se necessário– Um ou vários protótipos
![Page 86: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/86.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Iniciação [Kruchten, 2000] (5 de 5)
• Marco de conclusão– definição dos objetivos do ciclo de vida
(lifecycle objective milestone)– Critérios de Satisfação
• Concordância quanto à definição de escopo e estimativas de custo e cronograma
• Compreensão dos requisitos funcionais• Credibilidade das estimativas de custo, cronograma,
prioridades, riscos, e processo de desenvolvimento• Profundidade e amplitude dos protótipos
desenvolvidos• Custos planejados versus realizados
![Page 87: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/87.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Elaboração [Kruchten, 2000] (1 de 5)
• Meta– Obter uma arquitetura viável, através da
especificação de todas as características do produto, com Iniciação e validação de uma arquitetura que às atenda
– Preparação para decisão (vai/não-vai), frente à escalada de custos nas fases posteriores
![Page 88: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/88.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Elaboração [Kruchten, 2000](2 de 5)
• Objetivos– Definir, validar e criar uma linha de base para
a arquitetura – Criar uma linha de base para o documento de
visão– Criar uma linha de base para o plano de
execução da fase de construção, com alto grau de fidelidade
– Demonstrar que a arquitetura da linha de base suportará a visão de linha de base, dentro de custo e prazo razoáveis
![Page 89: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/89.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Elaboração [Kruchten, 2000](3 de 5)
• Atividades– Refinar a visão, até que o entendimento pleno dos
casos de uso críticos– Montar a estrutura de suporte para o desenvolvimento– Construir protótipos executáveis, em uma ou mais
interações– Atacar os casos de uso críticos, que expõe os maiores
riscos técnicos– Construir protótipos evolucionários ou descartáveis,
com objetivo de analisar custos-benefícios, demonstrar para investidores, clientes e usuários
![Page 90: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/90.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Elaboração [Kruchten, 2000](4 de 5)
• Resultados (artefatos)– Modelo de casos de uso (80% ou mais)– Requisitos não funcionais– Descrição da arquitetura do software– Protótipos arquiteturais executáveis– Revisão da visão de negócios e lista de riscos– Plano detalhado de desenvolvimento do
projeto, com interações e critérios de avaliação– Plano de processo de desenvolvimento– Manual de usuário preliminar
![Page 91: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/91.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Detalhes da Fase de Elaboração [Kruchten, 2000](5 de 5)
• Marco de conclusão– arquitetura do ciclo de vida (lifecycle architecture
milestone)– Critérios de Satisfação (para suporte à decisão sobre
continuar ou não com o projeto)• A visão do produto é estável?• A arquitetura é estável frente os requisitos?• A demonstração executável mostrou que os elementos de
maior risco foram abordados satisfatoriamente?• O plano de desenvolvimento está suficientemente detalhado e
preciso? O plano é consistente e coerente?• Todos os interessados concordam quando à coerência entre
visão, plano e arquitetura?• Os custos planejados e executados estão aceitáveis?
![Page 92: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/92.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Fase de Construção [Kruchten, 2000](1 de 2)
• Meta– Construir o produto, evoluindo sua visão,
arquitetura, até que esteja pronto para release
• Objetivos– Minimizar custos e prazo, enquanto maximiza
qualidade– Concluir desenvolvimento e testes dos
componentes– Validar produto com relação aos requisitos
![Page 93: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/93.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Fase de Construção [Kruchten, 2000] (2 de 2)
• Resultados (artefatos)– A release do produto, descrito e integrado nas
plataformas adequadas– Manual do usuário
• Marco de conclusão: capacidade operacional inicial (initial operational capability)– Critérios de Satisfação
• A release do produto é suficientemente estável e amadurecida para ser entregue ao usuário?
• Todos os envolvidos estão preparados para a fase de transição?
• O consumo de recursos executado e planejado é ainda aceitável?
![Page 94: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/94.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Fase de Transição
• Meta– Concluir a entrega do produto para clientes e
usuários até plena satisfação dos objetivos e resultados estabelecidos, incluindo atividades de (entrega, treinamento, suporte e manutenção)
![Page 95: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/95.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Fase de Transição
• Objetivos– Permitir que o usuário possa usar o produto
independentemente– Obter concordância de todos os envolvidos
acerca do alcance das metas do ciclo de vida– Obter um release final do produto da forma
mais custo-efetiva possível
![Page 96: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/96.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Fase de Transição
• Atividades– Correção de defeitos– “beta teste” – Operações paralelas com sistema legado– Conversão de bases de dados– Treinamento de usuários a mantenedores– Roll-out para setores de marketing,
distribuição e vendas
![Page 97: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/97.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Fase de Transição
• Resultados (artefatos)– Em conformidade com atividades
• Marco de conclusão– Release do produto (product release
milestone)– Critérios de Satisfação
• O usuário está satisfeito?• Os custos de manutenção ainda são aceitáveis?
![Page 98: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/98.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Fases e Iterações Usuais
• Fase de Iniciação– 1 iteração
• Fase de Elaboração– 1 a 2 iterações
• Fase de Construção– 2 a 3 iterações
• Fase de Transição– 1 a 2 iterações
![Page 99: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/99.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Disciplinas
• Disciplinas de Engenharia– Business Modeling – Requirements – Analysis & Design– Implementation – Test – Deployment
• Disciplinas de Suporte– Environment – Project Management – Configuration & Change Management
![Page 100: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/100.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Exercício de Disciplinas Numa Iteração [Rational, 2000]
![Page 101: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/101.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Fases, Disciplinas e Iterações [Rational, 2000]
![Page 102: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/102.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
RUP: Ciclos de Vida de um Produto
Software XGeração 2
Software XGeração 1
Software XGeração n
![Page 103: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/103.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Invariantes De Processos Baseados No Modelo Espiral (1 De 2)
• Produção dos artefatos é concorrente, e não seqüencial
• Elementos fundamentais considerados em um ciclo espiral– Objetivos e restrições dos envolvidos – Alternativas para produtos e processos– Identificação e resolução de riscos– Revisão por parte dos envolvidos (stakeholders)– Compromisso no prosseguimento para próxima etapa
• Riscos determinam:– Nível de esforço para próxima etapa– Nível de detalhe dos artefatos a produzir
![Page 104: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/104.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Invariantes De Processos Baseados No Modelo Espiral (2 De 2)
• Três grandes milestones– Objetivos (LCO), arquitetura (LCA) e capacidade
operacional inicial (IOC)
• Ênfase do sistema e no ciclo de vida, em vez de código
![Page 105: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/105.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Resultados De Uma Abordagem Iterativa Incremental
• Erros, riscos e inconsistências se tornam evidentes mais cedo
• Encoraja feedback do usuário • Mantém foco do time nas questões cruciais do
projeto• Avaliação periódica e precisa do status do projeto• Carga de trabalho entre equipes é distribuída ao
longo do tempo• Feedback e reflexão ocorrem mais cedo• Envolvidos obtém evidência concreta periódica
sobre status do projeto
![Page 106: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/106.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Parte I - Aula 5RUP:
Foco em Arquitetura
![Page 107: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/107.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Arquiteturas Baseadas Em Componentes• O Que É Arquitetura De Um Software Ou
Sistema?• Componentes São Abstrações• Propriedades Externamente Visíveis Dos
Componentes• Arquitetura De Software é uma das Primeiras
Decisões De Projeto• Arquitetura Versus Design• Sistemas possuem mais de uma Estrutura• Visões (Ou Estruturas) Arquiteturais Mais Comuns• Visão 4+1 [Kruchten, 1996]
![Page 108: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/108.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
O Que É Arquitetura De Um Software Ou Sistema?
• Arquitetura é a estrutura, ou as estruturas, do software ou sistema, composta por:– Seus componentes– As propriedades externamente visíveis destes
componentes– Os relacionamentos entre estes
• Todo sistema de software possui uma arquitetura– Que pode não ser conhecida pelos usuários do
sistema, pelos responsáveis pela sua operação– O comportamento externo de cada componente é
parte integrante da arquitetura
![Page 109: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/109.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Visão 4+1 [Kruchten, 1996]
![Page 110: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/110.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Componentes e Abstrações
• Componentes de software– São unidades de software fisicamente identificáveis– Possuem uma interface bem definida, – Encapsulam detalhes privados de implementação
• Quais abstrações são componentes?– Objetos? Processos? Processadores? Bibliotecas? Bases
de dados? Produtos comerciais?• São omitidas de uma descrição arquitetural as
informações sobre componentes que não são pertinentes às interações entre eles
• Detalhes privados dos componentes nãopertencem à arquitetura
![Page 111: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/111.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Propriedades Externamente Visíveis Dos Componentes
Dependem da abstração que se está observando, como:
• Métodos que provê (objetos, classes);• Características de desempenho
(processador, rede);• Tratamento de erros (módulos);• Uso de recursos compartilhados (funções);• Etc.
![Page 112: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/112.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Arquitetura Versus Design
• Design– Objetiva a realização do sistema como uma entidade
funcional– Faz parte do software life-cycle – Resulta dos requisitos técnicos que o sistema deve
satisfazer• Arquitetura
– Considera um maior escopo de requisitos • Confiabilidade, baixo custo, modificabilidade, segurança,
turnover de pessoal, time-to-market• Horizonte de tempo que extrapola a vida de um sistema em
particular– Representa a organização que a co-produz
![Page 113: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/113.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Iniciação Da Arquitetura De Software ÉUma Das Primeiras Decisões De Projeto• Restringe a implementação• Direciona estrutura organizacional• Inibe e estimula atributos de qualidade do
sistema• Permitem predições sobre qualidade dos
sistemas• Facilita análise e gerência de mudanças• Auxilia prototipagem evolucionária
![Page 114: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/114.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Sistemas Possuem Mais De Uma Arquitetura
• Diversos pontos de vista ou visões arquiteturais– Times e sub-times de programação– Processos e sincronizações– Módulos e processos– Subdivisão e sincronização– Desenvolvimento versus runtime
![Page 115: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/115.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Visões (Ou Estruturas) Arquiteturais Mais Comuns
• Estrutura de módulos• Estrutura lógica ou conceitual• Estrutura de processo ou de coordenação• Estrutura física• Estrutura de usos• Estrutura de chamadas• Fluxo de dados• Fluxo de controle• Estrutura de classes
Unidade
Unidade
Unidade
![Page 116: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/116.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Conceitos Usados Em Arquitetura E Design
• Estilos Arquiteturais• Modelos de Referência• Arquiteturas de Referência• Arquitetura de Software• Arquitetura de Sistema
![Page 117: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/117.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Relacionamentos Entre Conceitos
Modelo de Referência
EstiloArquitetural
Arquiteturade Referência
Arquiteturade Software
Arquiteturade Sistema
![Page 118: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/118.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Estilos Arquiteturais
• Descrição dos tipos de componentes• Padrões de
– Controle de execução– Transferência de dados
• Restrições sobre uma arquitetura– cliente-servidor, pipes-e-filtros, camadas, etc
![Page 119: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/119.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Estilos Arquiteturais Mais Comuns [Shaw, 96]
• Data flow– Batch– Pipes e filtros
• Chamada e retorno– Programa principal e
subrotinas– Remote Procedure Call– Orientado a objetos/TAD– Camadas
• Componentes Independentes– Processos comunicantes
• Cliente/Servidor
– Sistemas de eventos • Invocação Implícita
• Centrado em Dados– Repositório– Blackboard
• Máquina virtual– Interpretador
![Page 120: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/120.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelo De Referência
• Divisão de funcionalidade em partes, juntamente com o fluxo de dados entre estas
• Características de domínios amadurecidos• Compiladores, DBMS, WWW, etc
![Page 121: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/121.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelo de Referência J2EE [J2EE, 2002]
![Page 122: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/122.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Modelo de Referência J2EE [J2EE, 2002]
![Page 123: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/123.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Arquitetura de Referência
Modelo de referência mapeado em:– Componentes de software (os quais irão
cooperativamente implementar a funcionalidade definida no modelo de referência)
– Fluxos de dados entre os componentes
![Page 124: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/124.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Arquitetura de Referência da Aplicação Smart Ticket [Sun, 2002]
![Page 125: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/125.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Arquitetura De Sistema
É o que está sendo executado– Processos– Processadores
• CPU• Memória
– Configuração atual da rede (backbone, routers, bridges, etc)
– Mapeamento de processos para servidores
![Page 126: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/126.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Vantagens do Desenvolvimento Baseado em Arquiteturas
• Gerenciamento da Complexidade– Manutenção de integridade– Instrumento de comunicação
• Controle do Projeto– Arquitetura de um software tende a mimetizar
a arquitetura da organização que o desenvolve, e vice-versa
– Arquitetura do código deve espelhar arquitetura do software
![Page 127: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/127.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Arquiteturas e Componentes Reusáveis
• Componentes de Software– Runtime– Componentes genéricos, incorporados durante
o desenvolvimento– Componentes de domínios específicos
• Estilos, modelos, arquiteturas de referência• Padrões de projeto
![Page 128: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/128.jpg)
Uma Linguagem de Padrões de Projeto para Programas OO[Gamma, Helm, Vlissides, Johnson 1994]
State
Memento Adapter Proxy
Bridge
Command
Chain of Responsibility
Singleton
Abstract Factory
Prototype
Template Method
Facade
Factory Method
Observer
MediatorStrategy
Decorator
Flyweight
Composite
Interpreter
Visitor
Iterator
Builder
AdicionandoOperações
AdicionandoOperações
EnumerandoFilhos
SalvandoEstado da Operação
CriandoComposições
AdicionandoResponsabilidades
a Objetos
Modificando Peleversus Entranhas
CompartilhandoComposições
DefinindoGramática
DefinindoTravessias
Definindoa Cadeia
CompostoUsando
EvitandoHisterese
CompartilhandoEstratégias
CompartilhandoEstados Compartilhando
Terminais
ConfigurarFábrica
Dinamicamente
ÚnicaInstância
ÚnicaInstância
ImplementadaUsando
GerenciamentoComplexo deDependências
Freqüentemente Usa
DefinindoPassos doAlgoritmo
![Page 129: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/129.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Parte I - Aula 6RUP
Foco em Casos de Uso
![Page 130: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/130.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Foco em Casos de Uso• Ator e sistema
• Caso de Uso– Seqüência de ações que um sistema executa sob
estímulo de um ator, produzindo um resultado útil e externamente observável pelo ator
• Sistema– Interage com o usuário – Executa ações (internas)– Produz resultados
Ator Sistema
Caso de Uso
![Page 131: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/131.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Outros Elementos de um Caso de Uso
• Sinal ou estímulo– Produzido pelo ator
• Ação– Procedimento computacional internamente realizado pelo sistema
• Fluxo de eventos – Seqüência de ações (internas) que ocorre em resposta à ativação
do caso de uso
• Resultado observável– Externamente visível (fora do sistema)
Ator
Sistema
Caso de Uso
Sinal
Resultado Ações
![Page 132: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/132.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Especificação de Casos de Uso s
• Modelo de Casos de Uso– Diagrama com o conjunto de casos de uso de um
sistema
• Diagrama de Caso de Uso– Facilita a visualização de um caso de uso específico
• Fluxo de eventos– Descrição textual das ações que ocorrem durante a
ativação de um caso de uso
• Cenários– Variações do fluxo de eventos básico de um caso de
uso
![Page 133: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/133.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Identificação, Evolução e Organização de Casos de Uso
• Identificação– Cada caso de uso tem que produzir um resultado
significativo para o usuário• Evolução
– Identificar primeiro os casos de uso de alto nível. Refinar posteriormente.
• Organização– Inclusão (similar à noção de subrotina)– Extensão (refinamento de uma ação do fluxo original
de eventos)– Especialização (refinamento de várias ações do fluxo
original de eventos)
![Page 134: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/134.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Exemplo de Modelo de Casos de Uso: Sistema de Recursos Humanos [
![Page 135: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/135.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Exemplo de Diagrama de Caso de Uso: Detalhe de Atualização de Benefícios
![Page 136: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/136.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Exemplo de Descrição de um Caso de Uso
• Actors: employee, employee account db, healthcare plan system, insurance plan system
• Preconditions– Employee has logged on to the system and selected ‘update
benefits’ option• Basic course
– System retrieves employee account from employee account db– System asks employee to select medical plan type; include
Update Medical Plan– System asks employee to select dental plan type; include Update
Dental Plan ...
• Alternative courses– If health plan is not available in the employee’s area the employee
is informed and asked to select another plan
![Page 137: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/137.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Casos de Uso no RUP• Modelo de casos de uso de negócios
– Descrever casos de uso da organização que usa o sistema
• Modelo de objetos de negócios– Realiza modelo de casos de uso de negócios
• Modelo de casos de uso– Descreve casos de uso do sistema a desenvolver
• Modelo de design– Realiza modelo de casos de uso
• Modelo de implementação– Implementa modelo de casos de uso
• Modelo de testes– Testa modelo de casos de uso
![Page 138: jorge@dimap.ufrn - CIC/UnBjhcf/MyBooks/iess/RUP/IntroducaoaEngenhariade... · tarefa contínua e constante – Elicitação, especificação, rastreamento, negociação e ... sistema,](https://reader030.fdocumentos.tips/reader030/viewer/2022041017/5eca4748ce74ca60fc41e339/html5/thumbnails/138.jpg)
Introdução à Engenharia de Software com foco no RUP – Rational Unified Process © 2004 por Jorge H C Fernandes
Introdução À Engenharia De Software Com Foco No RUP: Rational
Unified Process
Parte IConceitos para Entendimento do RUP