RUP é a abreviatura de Rational Unified Process , ligado diretamente com processo de engenharia de software, auxilia na divisão de responsabilidade no desenvolvimento, garantindo a alta qualidade, prazos e orçamentos.
RUP unifica as seis melhores praticas no desenvolvimento:
1° Desenvolver de forma interativa
A necessidade fez surgir o desenvolvimento iterativo, muitos projetos de software são entregues com má qualidade devido a falta de planejamento estruturado e testes pobres, com isso temos um aumento relevante de retrabalho devido a maioria dos defeitos e bugs serem encontrados em fases finais do ciclo do projeto.
O planejamento deve ser realizado de acordo com a prioridade do cliente, dividindo um projeto de desenvolvimento em iterações gerenciáveis. Durante a entrega de cada fase é necessário identificar as falhas e possíveis riscos.
2° Gerencias os requisitos
Para a construção de um de software seja ele um produto ou um projeto incriminável devemos atender a necessidade do usuário final, o gerenciamento de requisito tem a responsabilidade de fazer a documentado com seus casos de uso, podem ser organizados de acordo com a prioridade e relevância (entrega, custos, etcs).
Sabemos que os requisitos sofrem constantes mudanças, sendo elas esperadas podem ser planejadas, reavaliando os requisitos para a equipe de desenvolvimento e comunicando todos os interessados/participantes do projeto.
Os requisitos são a chave para garantir a aceitação final, realizadas por etapas de aceitação de iteração.
3° Arquitetura baseada na reutilização de componentes
A reutilização dos módulos de componentes sendo eles subsistemas que servem uma determinada função, diminuindo a complexidade e o esforço no desenvolvimento. Basicamente estamos aproveitando os componentes de arquitetura já testados menos propensos a erros.
Durante o início RUP e elaboração, vários elementos arquitetônicos devem ser definido, há quatro arquiteturas distintas em RUP: Concepção, Elaboração, Construção e Transição.
O projeto x Equipe(desenvolvedores /arquitetos) devem estar envolvidos e serem influenciados com o RUP, caminhando em direção a arquitetura baseada em componentes, independente da linguagem utilizada no desenvolvimento, devem ser integráveis.
4° Modelagem visual
Sem duvidas UML !
UML – Unified Modeling Language, ferramenta fundamental para programação OOP;
Unificação da linguagem de modelação torna a interação entre a equipe mais clara, a linguagem comum que os analistas de negócio, programadores, designer, analistas testes podem entender.
RUB x UML – é a geração de documentação, diagramas e outros artefatos importantes para a vida do projeto (desenvolvimento, manutenção e suporte) essa documentação precisa ser de alto nível ligada até o fim do projeto, um projeto já em produção sem documentação pode tornar difícil a reorganizar, inviável e muitas vezes impossível para um projeto de longo anos.
5° Verificar continuamente a qualidade
Não acredito que a definição perfeita seja “Garantir que o software atenda aos padrões de qualidade da organização”, devemos realizar a avaliação em todas as atividade e processos do ciclo de desenvolvimento, sendo assim o teste é realizado durante todo o projeto, fase a fase, quanto mais cedo identificamos um defeito, mais fácil será consertar, quando uma falha não é encontrada os projeto continua a ser desenvolvido em cima do componente defeituoso, quando o problema é apresentado a correção se torna propicia a erros contínuos, levando em consideração que estamos utilizando RUP os demais componentes não são afetados e as falhas/bugs são isoladas.
O ambiente perfeito é a monitoração do defeitos, sendo coletados e rastreados com ferramentas de teste, porém em equipes pequenas pode se torna inviável durante a definição de prioridades das demandas.
6° Gerenciar mudanças
“Quem já especificou um processo que nunca sofreu mudanças durante o ciclo de vida, atire a primeira pedra”.
As mudanças podem ser frequentes ou mínimas, mas são existentes em todos os projetos, o fundamental da gestão da mudança em RUP é assegurar que a mudança não tenha um efeito negativo, sendo necessário controlar, monitorar e acompanhar as mudanças.
É importante que o programador tenha o seu próprio espaço de desenvolvimento, assegurando que qualquer mudança seja isolada a partir das modificações feitas.
A gestão da mudança é importante para replicação de todos os outros artefatos do projeto, como documentação de requisitos, casos de uso, planos de iteração e planos de teste.
Thiago Thamiel
Categorias:Gerência de Projetos
Deixe uma resposta