UML: é uma linguagem gráfica para visualização, especificação, construção e documentação de artefatos de sistemas complexos de software (booch, 2000). Diagrama da UML: é a apresentação gráfica de um conjunto de elementos, geralmente representados como gráficos de vértices e arcos, exibe um conjunto de atores e casos de uso e relacionamentos que expressam a funcionalidade do sistema; UML 1.x possui 9 diagramas, a UML 2.0 possui 13 diagramas. Diagrama de Caso de Uso: auxilia a comunicação entre os envolvidos no projeto, é através deste diagrama que o cliente percebe a relação entre as funcionalidades do sistema e os papeis que as executam. Ator: representado por um boneco (algo ou alguém que interage com o sistema), caso de uso: representado por elipse (funcionalidade do sistema), relacionamento: meio pelo qual o usuário interage com o caso de uso, dentre eles podemos citar: Associação: execução de uma funcionalidade do sistema por uma determinada característica que pertence a outro componente. Generalização: capacidade de um ator adquirir comportamento herdado de outro ator ou caso de uso. Include: indica uma especialização entre os casos de uso (algo obrigatório). Extend: representar um comportamento opcional. Especificação de caso de uso: tem por finalidade detalhar e descrever fluxos básicos e alternativos e visualizar o cenário e funcionalidades do sistema. Diagrama de atividades: é a descrição funcional de um sistema, descreve as atividades e fluxos de dados ou decisão entre atividades, fornece ampla visualização de processos, descreve atividades que ocorrem em um caso de uso. Atividade: é uma etapa de um processo, onde algum trabalho esta sendo realizado, é representado por um retângulo. Condição de guarda: pode ser atribuída a uma transição para restringir seu uso, ela deve ser verdadeira antes que você possa prosseguir para outra atividade. Notação de guarda: usa um losango para definir a atividade de decisão. Diagrama de atividade raia de natação