UML – Unified Modeling Language

Este ano eu terei uma matéria chamada: “Engenharia de Software”. Nesta matéria terei a oportunidade de estudar UML e inspirado neste tópico, irei postar um pouco sobre UML. Espero que gostem :)

UML – Unified Modeling Language

UML é uma linguagem de modelagem e não uma metodologia de desenvolvimento.
A linguagem UML é usada para realizar especificação, documentação, vizualização e desenvolvimento de sistemas orientados a objetos.

A especificação da UML consiste de duas partes:

Semântica – especifica a sintaxe abstrata e a semântica dos conceitos de modelagem estática e dinâmica de objetos;
Notação – especifica a notação gráfica para a representação visual da semântica.

A UML suporta o desenvolvimento iterativo e incremental. Desenvolvimento iterativo e incremental é o processo de desenvolvimento de sistemas em pequenos passos. Uma iteração é um laço de desenvolvimento que resulta na liberação de um subconjunto de produtos que evolui até o produto final percorrendo as seguintes atividades:

• Análise de requisitos
• Análise
• Projeto
• Implementação
• Teste

UML, basicamente, possuí os seguintes elementos (importantes em orientação à objetos!):

Classe

Definição dos atributos e funções de um tipo de objeto; ela descreve um conjunto de objetos individuais em qualquer contexto. Ela é obtida pela classificação de objetos com a mesma estrutura de dados e o mesmo comportamento.

Atributos

São recursos de uma classe ou qualquer outro elemento que represente propriedades ou elementos de dados. Em algumas linguagens, os atributos são denominados variável de instância de classe ou membro de dado.

Uma variável de atributo pode ser:

• pública – o atributo é acessível por outras classes – a visibilidade pública é representada no modelo por “+”
• privada – o atributo é acessível somente pela própria classe – é representada no modelo por “-”
• protegida – o atributo é acessível somente pela classe e suas subclasses – é representada por “▬”
• de pacote – o atributo é acessível somente pelas classes de pacotes que a contém – é representada no modelo pelo til (~) e disponível em algumas linguagens, como Java.

Operações

Depois de modelados os objetos, as operações são recursos de uma classe que representam comportamentos ou serviços que ele suporta. Os métodos implementam as operações de uma determinada classe.

Herança

Herança serve para criar objetos que incorporem propriedades e métodos de outros objetos. Assim, poderemos construir uns objetos a partir de outros sem ter que reescrevê-lo todo.

Polimorfismo

Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse.

Análise de requisitos

Esta etapa se caracteriza pela definição do comportamento do sistema, ou seja, como o sistema age ou reage, descrevendo o relacionamento entre o ambiente e o sistema. Deve ser uma definição de necessidades do usuário e não uma proposta de solução. O usuário deve indicar os requisitos prioritários para o sistema.

O grupo de análise deve identificar as necessidades do usuário. Decisões do projeto impostas não são características essenciais do domínio do problema.

A análise de requisitos compõe-se dos seguintes diagramas:

• Diagrama de caso de uso;
• Diagrama de seqüência;
• Diagrama de colaboração;

Para realizar a análise de requisitos, primeiramente deve-se:

• Identificar objetivo e características do sistema;
• Identificar os requisitos essenciais;
• Descrever as necessidades do usuário;
• Elaborar diagrama de caso de uso;
• Elaborar diagrama de seqüência;
• Elaborar diagrama de colaboração

Isto é uma das características principais e importantes que se têm sobre UML.

Caso você queira saber mais, existem diversos livros por aí!
Um dos que mais gostei foi o “UML 2.0. Do Requisito à Solução”, Adilson da Silva Lima, Ed. Érica.

Caso queira saber um pouco mais sobre o que coloquei, clique neste link

Dicas de ferramentas de modelagem!

Enterprise Architect (Esta ferramenta é a melhor :D Ela gera até as classes para você, em qualquer linguagem!)

Jude Community

Alan Machado

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s