Este artigo descreve a aplicação de casos de
uso de maneira ágil e escalável, baseada na evolução técnica definida por Ivar
Jacobson como Caso de Uso 2.0. Serão apresentados os fundamentos para
desenvolvimento orientado a casos de uso. Um caso de uso representa as
possíveis maneiras que um usuário pode utilizar um sistema para atingir um
objetivo específico. Eles permitem definir o escopo de um sistema e gerenciar o
desenvolvimento incremental, tanto para pequenas equipes ágeis quanto grandes
projetos de sistemas complexos, suportando sua análise, modelagem,
planejamento, avaliação, monitoramento e testes.
O Caso de Uso 2.0 surgiu como uma forma de representar as atuais práticas dos casos de uso, representando técnicas bem sucedidas adotadas pela comunidade.
Não houve alteração teórica dos casos de uso, mas sim na forma com que os analistas realizam seu levantamento, detalhamento, organização e comunicação. Seu foco é identificar e detalhar requisitos de forma enxuta, ou seja, evitando desperdícios.
Os requisitos são as necessidades que o sistema deverá satisfazer e por isso devem ser claros, tangíveis e com valor para o cliente. Eles são comunicados pelas partes interessadas no sistema, ou seja, pessoas, grupos ou organizações que afetam ou são afetadas pela necessidade identificada.
Casos de Uso 2.0 auxiliam a captura de requisitos bem como possibilita analisar as influências e impactos nos elementos envolvidos em um sistema. Qualquer mudança, seja devido à uma lição aprendida, alteração no escopo ou nova funcionalidade, resultam em alterações nos casos de uso e sua influência nos elementos do sistema podem ser facilmente analisadas pelo modelo de casos de uso.
A qualidade da solução sistematizada é verificada por um conjunto de testes, confirmando se os casos de uso e suas fatias foram implementadas com sucesso. Os princípios básicos para aplicação com sucesso de casos de uso são:
1. Manter a simplicidade através de histórias: Contar histórias é a melhor forma de comunicar o que um sistema deve fazer, e manter a equipe trabalhando com foco nos mesmos objetivos. Os casos de uso capturam os objetivos do sistema. Para entender um caso de uso devemos contar histórias.
As histórias abordam como atingir um objetivo com sucesso, e como lidar com quaisquer problemas que podem ocorrer no caminho. Quando se utiliza histórias como uma técnica para comunicar requisitos é essencial certificar que estas serão capturadas de forma que sejam executáveis e testáveis. Um conjunto de casos de teste acompanham cada narrativa de caso de uso para completar sua descrição.
Os casos de teste são a parte mais importante de uma descrição de caso de uso, mais importante até que a narrativa do caso de uso. Isso porque eles tornam as histórias reais, e seu uso pode demonstrar de forma inequívoca se o sistema está fazendo o que supostamente deveria fazer. É o caso de teste que define o que implementar com sucesso no caso de uso;
2. Entender
a visão geral: independentemente
do tamanho ou complexidade do sistema que será desenvolvido, é essencial que se
tenha a visão geral do que será feito. Sem ...