Melhores Práticas
• Desenvolvimento de software iterativo: Consiste em dividir o projeto em ciclos (iterações) onde, dentro de cada iteração, teremos a execução de todas as disciplinas em proporção de acordo com a fase do projeto. Diferente da abordagem em cascata a iteratividade permite que a identificação de riscos para um projeto ocorra logo no início do seu ciclo de vida. Resultando em um release executável ao final de cada iteração.
• Gerenciamento de Requisitos: consiste em encontrar as necessidades dos usuários finais através da identificação e especificação. O gerenciamento de requisitos é dinâmico, ou seja, as exigências mudam durante a execução de um projeto de software, por isso identificar os verdadeiros requisitos é um processo contínuo.
• Uso de arquitetura baseada em componentes: consiste na decomposição do sistema em funcionalidades individuais ou componente lógicos, expondo de forma bem definida a interface de comunicação (com métodos, eventos e propriedades). Proporciona a criação de um sistema extensível que possibilita a reutilização do software e um entendimento intuitivo.
• Modelagem visual do software: consiste na abstração da programação do código, utilizado blocos de construção gráfica para obter uma visão geral de uma solução. O uso de modelos visuais permite o entendimento do problema por aqueles que não tenham uma visão técnica, possibilitando assim um maior envolvimento dos stakeholders no projeto.
• Verificação da qualidade de software: consiste em controlar e planejar a qualidade do software, o RUP propõe que cada membro da equipe seja responsável pela qualidade do software durante o processo.
• Gerencia de Mudanças: consiste em métodos definidos pelo RUP para controlar e monitorar mudanças ocorridas ao longo do projeto. Mudanças são inevitáveis e controlá-las ajuda a alcançar o sucesso de um projeto. Os workspaces garantem que um sistema não será afetado por