Aécio Costaaeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · A Linguagem...

39
UML Aécio Costa

Transcript of Aécio Costaaeciocosta.com.br/wp-content/uploads/FG/Engenharia de Software 2014... · A Linguagem...

UML

Aécio Costa

UML

A Linguagem de Modelagem Unificada (UML)

Percebeu-se a necessidade de um padrão para a modelagemde sistemas, que fosse aceito e utilizado amplamente.

Surge a UML (Unified Modeling Language) em 1996 como amelhor candidata para ser linguagem “unificadora” denotações.

Em 1997, a UML é aprovada como padrão pelo OMG. Desde então, a UML tem tido grande aceitação pela

comunidade de desenvolvedores de sistemas. É uma linguagem ainda em desenvolvimento. Atualmente na versão 2.4

UMLCarcaterísticas da UML

UML é... uma linguagem visual. independente de linguagem de programação. independente de processo de desenvolvimento.

UML não é... uma linguagem programação. uma técnica de modelagem.

UMLDiagramas UML

Um processo de desenvolvimento que utilize a UML comolinguagem de modelagem envolve a criação de diversosdocumentos.

Estes documentos podem ser textuais ou gráficos. Estes documentos são denominados artefatos de

software. São os artefatos que compõem as visões do sistema.

Os artefatos gráficos produzidos durante o desenvolvimento de um sistema de software são definidos através da utilização dos diagramas da UML.

UMLDiagramas UML

UML

A técnica de modelagem através de casos de uso foi idealizada por um famoso engenheiro de software sueco, Ivan Jacobson, na década de 1970.

UMLAtores

Na terminologia da UML, qualquer elemento externo queinterage com o sistema é denominado Ator. O termo“externo” indica que os atores não fazem parte do sistema.O termo “interagem” significa que um ator troca (envia e/ourecebe) informações com o sistema.

Casos de uso representam uma seqüência de interaçõesentre o sistema e o ator.

Normalmente um agente externo inicia a seqüência deinterações com o sistema.

UMLAtores

Categorias de atores: cargos (Empregado, Cliente, Gerente, Almoxarife,

Vendedor, etc); organizações (Empresa Fornecedora, Agência de

Impostos, Administradora de Cartões, etc); outros sistemas (Sistema de Cobrança, Sistema de

Estoque de Produtos, etc). equipamentos (Leitora de Código de Barras, Sensor, etc.)

Essa categorização indica que o conceito de ator depende do escopo do sistema.

UMLCasos de Uso

Enquanto um ator representa um conjunto coerente de papéis que os usuários de casos desempenham quando interagem com o sistema, Um caso de uso representa o que um ator quer que o sistema faça.

Realizar Pedido Cadastrar Livro Emitir Nota Fiscal

UMLDiagrama de Caso de Uso (DCU)

Corresponde uma visão externa do sistema e representagraficamente os atores, casos de uso e relacionamentos entreesses elementos.

UMLRepresentação

NOME ATOR

NOME CASO DE USO

RELACIONAMENTO

UML

Usuário

ReservarPedido

UML

Sistema de Vendas de Livros Online

Cliente

RealizarPedido

EmpresaTransportadora

Vendedor

UMLElementos de um Modelo de Caso de Uso (MCU)

Um MCU possui diversos elementos, e cada um deles pode ser representado graficamente. Os elementos mais comuns em um MCU são: Ator Caso de uso

Além disso, a UML define diversos relacionamentos entre esses elementos para serem usados no modelo de casos de uso: Comunicação Inclusão Extensão Generalização

Para cada um desses elementos, a UML define uma notação gráfica e uma semântica específicas.

UML

UMLIdentificação dos elementos do Modelo de Caso de Uso

(MCU)

Atores e os casos de uso são identificados a partir de informações coletadas no levantamento de requisitos.

Não há uma regra geral que indique quantos casos de uso e atores são necessários para descrever um sistema. A quantidade de casos de uso e atores depende da

complexidade do sistema.

UMLDocumentação dos casos de uso

Os diagramas de casos de uso devem servir para dar suporteà parte textual do modelo, fornecendo uma visão de alto nível.

Quanto mais fácil for a leitura do diagrama representandocasos de uso, melhor.

Se o sistema sendo modelado não for tão complexo, pode sercriado um único DCU.

É útil e recomendada a utilização do retângulo de fronteirapara delimitar e separar visualmente casos de uso e atores.

UMLDocumentação dos casos de uso

Infelizmente, a UML não define um padrão para descrição textualdos casos de uso de um sistema.

Por conta disso, há diversos estilos de descrição possíveis(numerada, livre, tabular, etc).

É necessário, no entanto que a equipe padronize o seu estilo dedescrição.

Algumas seções normalmente encontradas: Sumário Atores Precondição Fluxo principal Fluxos alternativos Fluxo de Exceção Pós Condição Regras de Negócio Aplicadas

UML SumárioDescrição do Caso de Uso AtoresAtores participantes do Caso de Uso, podendo ser dividido em Atores

primários e secundários. Pré condiçãoPré condição para que o caso de uso seja efetuado Fluxo PrincipalPasso a passo descrito do caso de uso Fluxo AlternativoTratamento de eventuais alternativas nos passos do fluxo principal Fluxo de ExceçãoViolação das regras “mensagens ou ações”. Pós CondiçãoDescrição do estado do sistema após a execução do caso de uso

UMLPodemos especificar o seguinte padrão para

documentação dos casos de uso:

Nome: CSU01 Locar livroSumário: Caso de uso que trata da locação de livros por

um aluno a um funcionário de determinada instituição Atores: aluno, funcionário, sistema acadêmico, impressora Precondição: cadastrar livro, cadastrar funcionário, cadastrar

cliente, autenticar funcionário

UMLFluxo Principal

1. O aluno solicita locação de livro 2. O funcionário solicita matricula do aluno 3. O aluno fornece a matricula 4. O funcionario verifica junto ao sistema acadêmico a

disponibilidade do aluno 5. O funcionário solicita o ISBN do(s) livro(s) ao aluno 6. O aluno informa os dados 7. O funcionário verifica disponibilidade 8. O funcionário informa data limite para entregar livro 9. O aluno confirma 10. O funcionário emite o comprovante de locação 11. O caso de uso termina

UMLFluxo Alternativo (3) 1. caso o aluno não possua ou não sabe o nº da matricula o

sistema devera buscar o aluno pelo nome 2. Retornar p/ o item (4)

Fluxo Alternativo (4) 1. caso o aluno não esteja apto (pendência financeira,

documento, conclusão de curso) 2. Retornar uma lista com o(s) eventuais problema(s) e soluções 3. Colocar o(s) livro com status(s) de reserva por um período de

48h 4. Retornar p/ o item (5)

UMLFluxo Alternativo (10) 1. caso ocorra algum problema com a impressora. O sistema

poderá enviar o comprovante por email ou via sms2. Retornar p/ o item (11)

Fluxo de Exceção - Violação da RN01 “ O numero Maximo de locação não pode ser maior do que três

livros”

Fluxo Exceção – Violação da RN03 “ O livro escolhido é o único volume. Não poderá ser locado”

UMLRegras de negócio "RN_01" e "RN_03“

Pós CondiçãoRegistrar Locação do livro, Inserir Pendência (CSU 5)

UMLRegras de Negócio do Sistema

RN01 Nº Máximo de Livros

Regra de negócio que informa o numero máximo de locação é de três livros

RN03 Locar Volume Único

Regra de negócio que determina a não locação de um livro que só tenha um volume na biblioteca

RN02 Prazo de Entrega

Regra de negócio que informa o prazo de entrega deverá ser de cinco dias

UML

Utilizando a ferramenta Astah

UML

O modelo de casos de uso fornece uma perspectiva dosistema a partir de um ponto de vista externo.

De posse da visão de casos de uso, os desenvolvedoresprecisam prosseguir no desenvolvimento do sistema.

UML

O diagrama da UML utilizado para representar o aspecto estático é o diagrama de classes.

O modelo de classes é composto desse diagrama e da descrição textual associada.

Objetivos principais é : Descrever um método para identificação das classes de

objetos de um sistema partir do modelo de casos de uso. Apresentar alguns dos elementos do diagrama de classes. Descrever a construção do modelo de domínio. Descrever a inserção do modelo de classes no processo de

desenvolvimento.

UML

O modelo de classes evolui durante o desenvolvimento do sistema. À medida que o sistema é desenvolvido, o modelo de

classes é incrementado com novos detalhes.

O modelo de classes de domínio representa as classes nodomínio do negócio em questão. Não leva em consideraçãorestrições inerentes à tecnologia a ser utilizada na solução deum problema

UMLClasses

Uma classe representa um grupo de objetos semelhantes. Uma classe descreve esses objetos através de atributos e

operações. Os atributos correspondem às informações que um objeto

armazena. As operações correspondem às ações que um objeto sabe

realizar.

UMLNotação para uma classe

Representada através de uma “caixa” com no máximo três compartimentos exibidos.

Notação utilizada depende do nível de abstração desejado.

UMLExemplo prático

UMLSintaxe da UML para atributos

A especificação completa de um atributo deve seguir a sintaxe:

[/]visibilidade nome : tipo

UMLSintaxe da UML para atributos

Visibilidade Símbolo Significado

Pública + Qualquer objeto externo pode obter acesso ao valor do atributo, desde que tenha uma referência para a classe em que o atributo está definido.

Protegida # Um atributo protegido é visível às subclasses da classe em que foi definido.

Privada - Um atributo privativo é invisível externamente à classe em que este está definido.

UML

Associações

UML

Para representar o fato de que objetos podem se relacionar uns com os outros, utiliza-se a associação.

Uma associação representa relacionamentos (ligações)que são formados entre objetos durante a execução do sistema. embora as associações sejam representadas entre classes

do diagrama, tais associações representam ligações possíveis entre objetos das classes envolvidas.

UMLNotação para uma associação

Representada através de um segmento de reta ligando as classes cujos objetos se relacionam.

Exemplos:

UMLMultiplicidades

Representam a informação dos limites inferior e superior daquantidade de objetos aos quais um outro objeto pode estarassociado.

Cada associação em um diagrama de classes possui duasmultiplicidades, uma em cada extremo da linha de associação

UMLMultiplicidades

Nome SimbologiaApenas Um 1..1 (ou 1)

Zero ou Muitos 0..* (ou *)

Um ou Muitos 1..*

Zero ou Um 0..1

Intervalo Específico li..ls