29 pág.
![[04] EngSW - RUP v1 6](https://files.passeidireto.com/Thumbnail/0ed055a9-dbed-49ca-a8d8-4b66865ddade/210/1.jpg)
Pré-visualização | Página 1 de 3
1 Teoria de Engenharia de Software Aula 4 RUP - Processo Unificado de Software Prof. Rafael Targino rtargino@unicarioca.edu.br 2 O conteúdo desta aula foi parcialmente baseado nos slides disponíveis do livro: Engenharia de Software Engenharia de Software – Conceitos e Práticas Raul Sidnei Wazlawick, Elsevier, 1a edição, 2013 2 3 Resumo da Última Aula • O que é um Processo? • Processo de Desenvolvimento de Software – Cascata – Modelo Evolucionário – Prototipação – Iterativo e Incremental – Espiral – RUP – Metodologias Ágeis Engenharia de Software 4 Conteúdo da Aula • O Processo Unificado – Caracterização do UP – Fases e Iterações • Disciplinas do RUP – Elementos do RUP – Disciplinas • Fluxos de Trabalhos (Workflows) do RUP – Principais Workflows – Marcos Engenharia de Software 3 5 Processo Unificado (UP) • Criado por Jacobson, Booch, & Rumbaugh, na década de 1990. – Usa uma abordagem de orientação a objetos em sua concepção e é projetado e documentado utilizando a notação UML • Resultado de mais de 30 anos de experiência acumulada em projetos, notações e processos. • Inicialmente desenvolvido e comercializado pela Rational, e desde 2003 pertence a IBM. – Usando o seu nome original RUP Engenharia de Software 6 Dimensões necessárias para Desenvolver Sistemas Engenharia de Software Processo Linguagem de Modelagem Ferramentas RUP / Processo Unificado UML Ferramentas CASE 4 7 Implementações UP • RUP (Rational Unified Process) • AUP (Agile Unified Process • OpenUP • EUP (Enterprise Unified Process) • OUM • RUP-SE Para simplificação neste curso, usaremos RUP e UP como sinônimos! Engenharia de Software 8 O RUP é um processo muito Prescritivo Métodos Prescritivos Métodos DescritivosX 5 9 • A parte estática do RUP, é descrita através dos conceitos de papéis, atividades, artefatos e fluxos de trabalho. PAPÉIS ATIVIDADES ARTEFATOS FLUXO DE TRABALHO define o comportamento e as responsabilidades assumidas por uma pessoa ou um conjunto de pessoas trabalhando em equipe. tarefa que um indivíduo executa quando está exercendo um determinado papel e produz um resultado importante para o contexto do projeto. sequencias de atividades que são executadas para a produção de um resultado valioso para o projeto. pedaço de informação que é produzido, modificado ou utilizado em um processo. Elementos do RUP Processo de Requisitos – RUP %$ 6 Analisar o ProblemaAtividade: Analisar o Problema Papel responsável em executar o conjunto de tarefas da Atividade Tarefas da Atividade Artefatos de Entrada Artefatos de Saída 12 Descritivo de uma Tarefa Engenharia de Software 7 13 Descritivo de uma Tarefa (continuação) Engenharia de Software 14 Outras Característica • É Dirigido por Casos de Uso – Para o UP o conjunto de casos de uso deve definir e esgotar toda a funcionalidade possível do sistema. • É Centrado na Arquitetura – As funcionalidades aprendidas com a elaboração dos diversos casos de uso devem ser integradas a esta arquitetura de forma incremental. Engenharia de Software 8 15 Principais Característica • É Iterativo e Incremental. – UP preconiza o desenvolvimento baseado em ciclos iterativos de duração fixa, onde a cada iteração a equipe incorpora à arquitetura as funcionalidades necessárias para realizar os casos de uso abordados no ciclo. • É Focado em Riscos. – Em função das priorizações dos casos de uso mais críticos nos primeiros ciclos iterativos, pode- se dizer que o UP é focado em riscos Engenharia de Software 16 Organização do RUP RUP é organizado: • Por tempo – Fases e Iterações • Por Conteúdo – Disciplinas 9 17 Organização do RUP por Tempo - Fases • Concepção (Iniciação): Definir o escopo do projeto e alcançar a cooperação entre todos os stakeholders. • Elaboração: Especificar os requisitos prioritários e estabelecer a arquitetura. • Construção: Finalizar a implementação do Produto. • Transição: Garantir que o produto esteja disponível para seus usuários finais. 18 4 Fases do RUP • Iniciação (Concepção) – Definição do escopo do projeto, identificação dos atores, casos de uso e descrição dos mais significativos – Também chamada de Concepção • Elaboração – Análise do sistema, definição da arquitetura do sistema • Construção – Desenvolvimento iterativo e incremental do produto • Transição – Atividades de “entrega” do software Engenharia de Software 10 19 Organização do RUP por Conteúdo - Disciplinas 20 Iterações • Dentro de cada fase podem existir uma ou mais iterações. • Software é desenvolvido em cada iteração, que pode incluir uma liberação de software (release) interna ou externa que torna-se um ponto de avaliação do progresso do projeto. Engenharia de Software 11 21 Fases X Disciplinas • Em cada Fase do RUP deve-se visitar todas as 9 Disciplinas • Algumas Disciplinas terão mais esforço que outras dentro de uma Fase • Algumas Disciplinas devem ser visitadas para no mínimo dizer que nada precisa ser feito. Engenharia de Software 22 Gráfico das Fases x Disciplinas Engenharia de Software Iteração 1 Foco nas disciplinas de Análise de Negócios e Requisitos 12 23 Gráfico das Fases x Disciplinas Engenharia de Software Iteração 2 O Foco é em validar a Arquitetura e o que possuir mais riscos 24 Gráfico das Fases x Disciplinas Engenharia de Software Iteração 3 O Foco é em validar a Arquitetura e o que possuir mais riscos 13 25 Gráfico das Fases x Disciplinas Engenharia de Software Iteração 4, 5, 6.... n O Foco é na construção do software e nos testes 26 Gráfico das Fases x Disciplinas Engenharia de Software Iteração 4, 5, 6.... n O Foco é na implantação do sistema em produção 14 27 Questão de Concurso • O RUP (Rational Unified Process) é uma metodologia de projeto de software criada pela Rational. O processo analítico do RUP divide o ciclo de vida de desenvolvimento de software em 4 fases. Assinale a alternativa que não indica uma fase do ciclo de vida de desenvolvimento de software, de acordo com o RUP. a) Transição. b) Concepção. c) Elaboração. d) Implantação. e) Construção. Engenharia de Software 28 Exercício • Cite, em poucas palavras, o que significa desenvolver software iterativamente? • Considerando o processo de “Ministrar um Curso Semestral” em um universidade, em que o professor possui as seguintes atividades: preparar material do curso, ministrar aula, aplicar a prova e corrigir a prova, diga: – Como seriam o encadeamento dessas atividades usando o processo em cascata e o processo RUP? Engenharia de Software 15 29 Conteúdo da Aula • O Processo Unificado – Caracterização do UP – Fases e Iterações • Disciplinas do RUP – Elementos do RUP – Disciplinas • Fluxos de Trabalhos (Workflows) do RUP – Principais Workflows – Marcos Engenharia de Software 30 Papéis e Atividade 16 31 Detalhamento das Disciplinas Engenharia de Software 32 Detalhamento das Disciplinas • Disciplinas técnicas (núcleo)