O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos de todos os modelos de processos genéricos
Objetivos Garantir a criação de software de alta qualidade, que atenda às necessidades expressas pelo cliente e pelos usuários e as restrições de prazo e custo.
Características Desenvolvimento Iterativo e Incremental Organização da especificação em modelos Guiado por casos de uso (use cases) Arquitetura baseada em componentes
Desenvolvimento Iterativo e Incremental Em cada iteração RUP É tratada de forma tradicional Há um pouco de análise, implementação, teste e implantação Requisitos e riscos mais críticos são abordados primeiro A escolha é baseada em uma análise dos riscos envolvidos no projeto Os que apresentam maiores riscos são realizados primeiro para resolver os riscos o quanto antes!
Organização da especificação em modelos Utiliza a UML para especificar, modelar e documentar artefatos Ao invés de dar ênfase na produção de grandes volumes de documentos em papel, o RUP tem seu foco no desenvolvimento e na manutenção de modelos com uma rica representação visual do sistema em desenvolvimento.
Guiado por casos de uso (use cases) Casos de uso são usados para especificar requisitos Durante a análise, projeto e implementação os casos de uso são realizados Durantes os testes, verifica-se se o sistema realiza o que está descrito no Modelo de Caso de Uso Descrição dos manuais e/ou procedimentos de uso e instalação
Arquitetura baseada em componentes A arquitetura é prototipada e definida logo nas primeiras iterações O desenvolvimento consiste em complementar a arquitetura A arquitetura guia o projeto e implementação das diversas partes do sistema Viabiliza o reuso e a personalização de componentes Sejam desenvolvidos pela própria empresa ou por terceiros Os casos de uso dizem o que deve ser feito e a arquitetura descreve como
Arquitetura baseada em componentes Na especificação de um sistema de software existem as seguintes visões:
Arquitetura baseada em componentes Visão Lógica Aborda os requisitos funcionais do sistema, indicando os pacotes, subsistemas e classes. Visão de Implementação Descreve a organização dos elementos estáticos da arquitetura: Códigos fonte, executáveis, componentes, arquivos, banco de dados e outros artefatos. Visão de Processos Mostra os aspectos da arquitetura associados à execução concorrente de código (threads, interfaces, etc.), e aborda assuntos como paralelismo, tolerância a falhas, distribuição de objetos, tempo de resposta, performance, dentre outros.
Arquitetura baseada em componentes Visão de Distribuição RUP Mostra os módulos do sistema, e como estes são mapeados entre os elementos da plataforma e computadores de rede, e quais são os requisitos para a instalação e de performance.
Casos de uso RUP Abordagem dirigida pelos casos de uso O objetivos e o planejamento do projeto são definidos com base nos casos de uso A partir dos casos de uso, são definidos os elementos da arquitetura, as rotinas de teste e a estratégia de implantação do sistema Os casos de uso provêm informações para elaboração dos manuais de usuário, já que descrevem a forma de interação com o sistema.
Fases
Cada fase é dividida em Iterações
Cada Iteração é planejada RUP realiza uma sequência de atividades (de licitação de requisitos, análise e projeto, implementação, etc.) distintas geralmente resulta em uma versão executável do sistema é avaliada segundo critérios de sucesso previamente definidos Um conjunto de artefatos é gerado a cada iteração. Possuem modelos
Fases, Iterações e disciplinas