Nesta disciplina iremos tratar sobre a UML - Unified Modelling Language.
A UML não é um método de desenvolvimento, o que significa que não lhe diz como será a interface (telas) do sistema, ou mesmo como programá-lo, mas ajuda a visualizar as principais características, grupos de funcionalidades e como os componentes do sistema se comunicam.
A UML é oficialmente composta por quatorze diagramas que representam as diferentes visões, partes e características de um sistema de software. Assim como podemos ter um mapa geográfico, um mapa geopolítico, um mapa hidrográfico, um mapa agropecuário e um mapa de altitudes que representam cada um uma visão diferente sobre o mesmo assunto, cada diagrama da UML também permite compreender o sistema sobre aspectos diferentes.
Os diagramas definidos na UML 2.0 são:
Representa as pessoas e/ou usuários do sistema (chamados de atores), as situações de uso/funcionalidades do sistema (chamados de casos de uso), e seus relacionamentos. Basicamente, representa quais serviços (funcionalidades) o sistema deve oferecer aos usuários.
XRepresenta as classes e os relacionamentos entre elas. Cada classe representa um conjunto de informação e/ou funcionalidades de um objeto (um item do sistema). Em outras palavras, representam o conteúdo de dados e funcionalidades que são utilizados e manipulados dentro do sistema.
XRepresenta uma condição específica ou um exemplo. São normalmente utilizados para representar uma configuração específica do sistema, o que é muito usado na realização de testes ou chamadas operacionais.
XRepresenta os objetos e uma sequência lógica de evolução das informações e funcionalidades em um determinado contexto. Foca na troca de mensagens entre um grupo de objetos e a sequência das mensagens.
XRepresenta os estágios (ciclo de vida) de um objeto à medida que ele evolui em um sistema.
XRepresenta os acontecimentos (atividades e mudanças) de acordo com os eventos ocorridos em alguma parte do sistema. Utilizado para representam o fluxo de dados e o fluxo de controle. Captura o fluxo entre objetos interligados.
XRepresenta os componentes de programação de alto nível. Mostram a organização e o relacionamento entre os entregáveis (pacotes) do sistema.
XRepresenta a arquitetura de execução do sistema, composta por todos os componentes do sistema e seus relacionamentos. Contempla, por exemplo, a plataforma de hardware, os artefatos de software, o ambiente de software (como máquinas virtuais ou sistemas operacionais).
XRepresentam os componentes do sistema que estão associados em partes maiores para futura distribuição.
XRepresenta como determinado pedaço do projeto foi feito. É especialmente útil em projetos muito complexos de estruturas compostas (baseadas em vários componentes integrados).
XRepresenta vários cenários possíveis e suas ações (um grupo de elementos trabalhando juntos para alcançar um objetivo).
XRepresenta as mensagens entre um grupo de objetos e o relacionamento entre eles.
XRepresenta as mudanças e o relacionamento delas com o tempo sob a ótica do funcionamento real da aplicação. Este diagrama é raramente utilizado.
XRepresenta as diferentes versões das funcionalidades disponibilizadas pela aplicação de acordo com perfis distintos de usuários. Este diagrama é raramente utilizado.
X