RUP (Rational Unified Process)
Gabarito: letra C. O RUP é um modelo de processo de software prescritivo, iterativo e incremental, organizado em quatro fases — concepção, elaboração, construção e transição — e não uma metodologia ágil, ferramenta de gerenciamento, linguagem de programação ou metodologia de teste, como afirmam as demais alternativas. A alternativa C está correta ao descrever o RUP como um modelo de processo prescritivo e sequencial, embora o termo "sequencial" mereça ressalva: o RUP é iterativo e incremental, mas as fases ocorrem em uma sequência lógica.
O RUP (Rational Unified Process, ou Processo Unificado da Rational) é um processo proprietário de engenharia de software, criado pela Rational Software Corporation e posteriormente adquirido pela IBM. Ele é um modelo de processo prescritivo, ou seja, define um conjunto de atividades, artefatos e responsabilidades que devem ser seguidos pela equipe de desenvolvimento. Diferentemente das metodologias ágeis, que priorizam a adaptação a mudanças e a colaboração intensa, o RUP é considerado um processo pesado (ou "robusto"), preferencialmente aplicável a grandes equipes e projetos, embora seja customizável para projetos de qualquer escala.
O RUP é descrito em três perspectivas: dinâmica (fases ao longo do tempo), estática (atividades ou disciplinas) e prática (boas práticas). As quatro fases do RUP são:
Concepção (Inception): estabelecer o business case do sistema, identificar entidades externas e avaliar a contribuição do sistema para o negócio.
Elaboração (Elaboration): compreender o problema, estabelecer o framework da arquitetura, desenvolver o plano do projeto e identificar os maiores riscos.
Construção (Construction): projeto, programação e testes do sistema, com desenvolvimento paralelo e integração das partes.
Transição (Transition): transferência do sistema da comunidade de desenvolvimento para a comunidade de usuários, operando em ambiente real.
Além das fases, o RUP possui disciplinas (workflows) — modelagem de negócios, requisitos, análise e projeto, implementação, teste e implantação — e seis boas práticas: desenvolvimento iterativo, gerenciamento de requisitos, arquitetura baseada em componentes, modelagem visual, verificação da qualidade e controle de mudanças.
A pegadinha desta questão está em confundir o RUP com metodologias ágeis (alternativa A), ferramentas de gerenciamento (B), linguagens de programação (D) ou metodologias de teste (E). O RUP é um processo de desenvolvimento, não uma ferramenta, linguagem ou técnica isolada. Guarde a distinção: o RUP é um modelo de processo prescritivo, iterativo e incremental, com fases e disciplinas bem definidas.
Alternativa A — ❌ Incorreta
O RUP não é uma metodologia ágil. Pelo contrário, é um processo prescritivo e pesado, que define rigorosamente atividades, artefatos e papéis. Embora seja iterativo e incremental, ele não enfatiza a adaptação a mudanças da mesma forma que metodologias ágeis como Scrum e XP. A alternativa mistura características de metodologias ágeis com o RUP, criando uma definição incorreta.
Alternativa B — ❌ Incorreta
O RUP não é uma ferramenta de gerenciamento de projetos. Ele é um processo de engenharia de software, que define como o desenvolvimento deve ser conduzido. Embora o RUP forneça diretrizes para atribuir tarefas e responsabilidades, ele não é um software de gerenciamento de projetos (como MS Project ou Jira). A alternativa confunde o processo com a ferramenta de apoio.
Alternativa C — ✅ Correta ⟵ GABARITO
O RUP é, de fato, um modelo de processo prescritivo que divide o desenvolvimento em quatro fases: concepção, elaboração, construção e transição. A palavra "sequencial" pode gerar dúvida, pois o RUP é iterativo e incremental, mas as fases ocorrem em uma ordem lógica e cada uma tem objetivos específicos. A alternativa está correta ao descrever as quatro fases e a natureza prescritiva do processo.
Alternativa D — ❌ Incorreta
O RUP não é uma linguagem de programação. Ele é um processo de desenvolvimento que utiliza a UML (Unified Modeling Language) para modelagem visual, mas não é uma linguagem de programação orientada a objetos. A alternativa confunde o processo com a notação de modelagem que ele emprega.
Alternativa E — ❌ Incorreta
O RUP não é uma metodologia de teste de software. Embora o teste seja uma das disciplinas do RUP, ele é um processo completo de desenvolvimento, que abrange desde a concepção até a transição. A alternativa reduz o RUP a uma única atividade, ignorando sua abrangência.
Gabarito: letra C