Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à UML, Notas de estudo de Informática

Apostila introdutória da linguagem UML, usada na modelagem de dados na Análise de Sistemas

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 20/05/2010

Miguel86
Miguel86 🇧🇷

4.8

(40)

221 documentos

1 / 34

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
UML
Autor:
Florisbela Zatycko
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Pré-visualização parcial do texto

Baixe Introdução à UML e outras Notas de estudo em PDF para Informática, somente na Docsity!

UML

Autor:

Florisbela Zatycko

UML

Unified Modeling Language

Florisbela Zatycko

Os Professores devem acessar o sistema “on line”, indicando quais cursos irão lecionar. Eles também podem acessar o sistema para saber quais alunos estão matriculados em cada curso. Em cada semestre, há um prazo para alteração de matrícula. Os alunos devem poder acessar o sistema durante esse período para adicionar ou cancelar cursos.

Diagrama de“Use Cases” para um sistema automatizado de Matrícula num Curso

Definição Diagrama de “Use Case”: É um diagrama usado para se identificar como o sistema se comporta em várias situações que podem ocorrer durante sua operação. Descreve o sistema, seu ambiente e a relação entre os dois. Os componentes deste diagrama são os atores e os “Use Case”.

A notação usada pelo Diagrama de “Use Case” é:

Professor Selecionar curso para ensinar

Pedir lista dos matriculados

Gerenciar

Manter informação

Manter informação de professor

Gerar catalogo

Manter informações dos cursos

Sistema de cobrança (^) Matrícula nos Cursos

Aluno

Diagrama de Use Case

Ator Use Case

Ator: Representa qualquer entidade que interage com o sistema. Pode ser uma pessoa, outro sistema, etc. Algumas de suas características são descritas abaixo:

  • ator não é parte do sistema. Representa os papéis que o usuário do sistema pode desempenhar.
  • ator pode interagir ativamente com o sistema.
  • ator pode ser um receptor passivo de informação.
  • ator pode representar um ser humano, uma máquina ou outro sistema.

Use Case : Como foi exemplificado acima , é uma seqüência de ações que o sistema executa e produz um resultado de valor para o ator. Algumas de suas características são descritas abaixo:

  • Um “Use Case” modela o diálogo entre atores e o sistema.
  • Um “Use Case” é iniciado por um ator para invocar uma certa funcionalidade do sistema.
  • Um “Use Case” é fluxo de eventos completo e consistente.
  • O conjunto de todos os “Use Case” representa todos as situações possíveis de utilização do sistema.

Descrição textual resumida do “Use Case” “Matrícula nos Cursos” : Dos sete “Use Case” apresentados no Diagrama, será descrito apenas o de “Matrícula nos Cursos”. Este “Use Case” é iniciado pelo aluno. Fornece os meios para o aluno criar, anular, modificar e consultar o formulário de matrícula de um dado semestre.

Descrição do Fluxo principal de eventos associados a esse “Use Case”.

Este “Use Case” inicia-se quando o aluno fornece a chave de acesso. O sistema verifica se a chave de acesso do aluno é valida (E1) e apresenta ao aluno a opção de selecionar o semestre atual ou o próximo semestre (E2). O aluno seleciona o semestre desejado. O sistema pede ao aluno para selecionar a atividade desejada: Criar, Consultar, Modificar, Imprimir, Anular ou Sair do Sistema. Se atividade selecionada é: Criar, o subfluxo A1 (Criar uma Matrícula Nova) é executado. Consultar, o subfluxo A2 (Consulta da Matrícula) é executado. Modificar, o subfluxo A3 (Modificação da Matrícula) é executado. Imprimir, o subfluxo A4 (Imprimir a Matrícula) é executado. Anular, o subfluxo A5 (Anular Matrícula) é executado. Sair, o “Use Case” é encerrado.

Descrição dos Subfluxos Alternativos associados a esse “Use Case”.

A1. Criar uma Matrícula Nova. O sistema apresenta numa tela um formulário de matrícula em branco. O aluno preenche-o com 4 cursos oferecidos, como primeira

E1. : O aluno fornece chave de acesso inválida. O aluno pode entrar com a chave de acesso novamente ou sair do sistema. E2. O aluno fornece um semestre inválido. O aluno pode fornecer novamente um semestre ou sair do sistema. E3. O aluno fornece número de curso inválido (formato). O aluno pode fornecer outro número ou sair do sistema. E4. O aluno não satisfaz todos os requisitos necessários. O aluno é informado que não pode se matricular nesse curso e a razão para tal. Se possível, um curso alternativo é apresentado. O sistema segue adiante. E5. O aluno é informado de que a matrícula para curso selecionado está encerrada. Se possível, um curso alternativo é apresentado. O sistema segue adiante. E6. A matrícula não pode ser imprimida. A informação é armazenada e o aluno é informado de que o pedido de impressão deve ser repetido. O sistema segue a diante. E7. O sistema armazenará todas as informações necessárias ao sistema de cobrança e a fornecerá assim que possível. O fluxo segue adiante. E8. O sistema não pode recuperar as informações de matrícula. O aluno deve reiniciar o fluxo desde o início. E9. O sistema informa ao aluno que a matrícula não pode ser alterada. O aluno deve reiniciar o fluxo desde o início.

Documentação de um “Use Case”. Como apresentado acima, a documentação de um “Use Case” é composta de uma Descrição textual resumida e dos Fluxos de eventos (Fluxo principal, Subfluxos Alternativos e Subfluxos de Exceção).

Cenários.

Um cenário primário : Rubens fornece sua chave de acesso. O sistema valida a chave e pede para Rubens escolher o semestre. Ele escolhe o semestre atual e pede para criar uma matrícula nova. Rubens escolhe os cursos primários Inglês 101, Geologia 110, História Geral 200 e Álgebra110. Também seleciona dois cursos alternativos: Teoria Musical 110 e Introdução à Programação Java 180. O sistema constata que Rubens tem todos os pré-requisitos necessários e adiciona-o às listas de cada curso. O sistema avisa que a matrícula foi realizada. Imprime o formulário de matrícula de Rubens. Envia informação de cobrança referente aos quatro cursos para ser processada no sistema de cobrança.

Cenários secundários: Walker não seleciona os quatro cursos primários. Um dos cursos primários selecionados não possui mais vagas. Um curso primário ou secundário não está sendo oferecido.

Definição Cenário: É uma instância de um “Use Case”. O “Use Case” deve ser descrito através de vários cenários. Devem ser construídos tantos cenários quantos forem

necessários para se entender completamente todo o sistema. Podem ser considerados como teste informais para validação dos requisitos do sistema.

Tipos de cenários :

Primários : São os cenários nos quais o fluxo segue normalmente. Não há quebra no fluxo por alguma espécie de erro. Secundários: São os casos que compõem exceção. O fluxo normal de operação é interrompido.

Definição de Use case: É um modelo das funções a serem executadas pelo sistema e a interação com suas fronteiras. Sua principal aplicação é confirmar aos usuários e clientes as suas funcionalidades e comportamento.

3. Objetos e Classes de Objetos

Definição de Objeto. Representa um entidade que pode ser física, conceitual ou de software. É uma abstração de algo que possui fronteira definida e significado para a aplicação. Componentes de um objeto:

  • Estado
  • Comportamento
  • Identidade

Identidade: É o que identifica unicamente um objeto, mesmo que ele possua estados ou comportamento comuns a outros objetos.

Estado de um objeto: É cada condição na qual o objeto pode existir. É mutável ao longo do tempo. É implementado por um conjunto de atributos, os valores desses atributos e ligações que o objeto pode ter com outros objetos.

Comportamento de um objeto: Determina como um objeto age e reage a estímulos de outros objetos. É modelado através de um conjunto de mensagens que representam resultados visíveis das operações executadas internamente pelo objeto.

Definição de Classe É uma descrição de um grupo de objetos com atributos, comportamentos, relacionamentos com outros objetos e semântica comuns. Uma classe é

Exemplo da Classe Curso. Exemplo da Classe Professor Nome: Nome: Curso Professor

Estado: Estado: Nome Nome Número do Curso Número do Empregado Localização Data de Admissão Dias do Curso Curso ministrado Número de créditos Tipo de contratação Hora de Início Salário Hora de Término

Comportamento: Comportamento: Adicionar um aluno Consultar Lista de Alunos Cancelar um aluno Indicar suas Disciplinas Obter alunos Matriculados Determinar se a turma está completa

A notação usada pela UML para representar uma Classe de Objetos é:

Nome Atributo Operações

A classe de objeto é representada por um retângulo, subdividido em três áreas. A primeira contém o nome da Classe. A segunda contém seus atributos. A terceira contém suas operações. A seguir tem-se os exemplos que esclarecem a representação descrita acima.

Curso Professor Número do Curso Nome Localização Dias do Curso Número de Créditos Hora de Início Hora de Término

Número do Empregado Nome Data de Admissão Curso ministrado Tipo de contratação Salário

Adicionar um Aluno( ) Cancelar um Aluno( ) Obter Alunos Matriculados( ) Determinar se a turma está completa( )

Consultar Lista de Alunos( ) Indicar suas Disciplinas( )

Estereótipos.

Estereótipo é um elemento de modelagem que rotula tipos de Classes de Objeto. Uma Classe de Objetos pode ter um ou mais tipos de estereótipos. Os estereótipos mais comuns são:

  • Classe Fronteiriça
  • Classe de Entidade
  • Classe de Controle
  • Classe de Exceção
  • Metaclasse
  • Classe Utilitária

<> Curso

<> Professor Número do Curso Nome Localização Dias do Curso Número de Créditos Hora de Início Hora de Término

Número do Empregado Nome Data de Admissão Curso ministrado Tipo de contratação Salário

Adicionar um Aluno( ) Cancelar um Aluno( ) Obter Alunos Matriculados( ) Determinar se a turma está completa( )

Consultar Lista de Alunos( ) Indicar suas Disciplinas( )

A notação usada pela UML para Estereótipos, dentro da representação gráfica da Classe de Objeto, é coloca-lo entre << >> na área reservada para o nome da classe e acima deste.

Classe fronteiriça. É uma classe que modela a comunicação entre a vizinhança do sistema e suas operações internas. Exemplos: Interface tipo Janela, Protocolo de Comunicação, Interface de Impressão, Sensores, etc. No presente estudo de caso, sistema automatizado de Matrícula num Curso, as classes de objeto Formulário em Branco e Sistema de Cobrança são exemplos de estereótipos desta classe.

Classe de Entidade. É uma classe que modela objetos cuja informação e o comportamento associados são, de maneira geral, persistentes. No presente estudo de caso, sistema automatizado de Matrícula num Curso, as classes de objeto: Lista de Cursos, Curso, Catálogo e Matrícula, são exemplos de estereótipos desta classe.

  • As flechas horizontais são rotuladas com as mensagens.
  • A ordem das mensagens no tempo é indicada pela posição vertical, com a primeira mensagem aparecendo no topo.
  • A numeração é opcional e baseada na posição vertical.

Foco de Controle. Representa o tempo relativo que o fluxo de controle esta focalizado num dado Objeto. Ele representa o tempo que um Objeto dedica a uma dada mensagem.

formulários de registro

formulário de matrícula

cursos disponíveis Rubens (^) entrar com chave de acesso validar acesso

entrar com o semestre

criar nova matrícula apresentar em tela obter cursos

Diagrama de Seqüência

6:obter cursos

Rubens

formulários de registro

2: validar acesso

1:entrar com chave de acesso

3:entrar com o semestre

4:criar nova matrícula

cursos disponíveis formulário de matrícula

5:apresentar em tela

Diagrama de Colaboração

Diagrama de Colaboração. É um modo alternativo para representar a troca de mensagens entre um conjunto de Objetos. O Diagrama de Colaboração mostra a interação organizada entorno dos Objetos e suas ligações uns com os outros.

A notação usada pela UML para representar o Diagrama de Colaboração, é a seguinte:

  • Objetos são representados por retângulo com seus nomes sublinhados.
  • As interações entre Objetos são indicadas por uma linha conectando-os.
  • As ligações indicam a existência de um caminho para comunicação entre os Objetos conectados.
  • As ligações no Diagrama de Colaboração podem ser apresentada por:
    • flechas apontando do Objeto cliente para o Objeto fornecedor.
    • o nome da mensagem.
    • Numeração seqüencial, mostrando a ordem relativa de envio das mensagens.

5. Como Descobrir as Classes de Objetos

Análise do “Use Case” É o processo de examinar o conjunto de “Use Cases” para extrair os Objetos e Classes do sistema sob desenvolvimento. Os Objetos e Classes são podem ser obtidos do detalhamento dos Cenários.(instâncias de “Use Case”).

Cenário para criar matrícula-

Cleber entra com o número de identificação do aluno 369 53 3449 e o sistema valida o número. O sistema pergunta a qual semestre refere-se a matrícula. Cleber indica que é para o semestre atual e escolhe a opção “ nova matrícula ”.

Da lista de cursos disponíveis , Cleber seleciona como cursos de primeira escolha : Engenharia de Softwarwe 101 , Sistemas Computacionais Cliente Servidor 110 , Tópicos em Análise Orientada a Objetos 200 e Gerência de Mainframe 110. Ele seleciona como cursos de segunda escolha: Introdução a Programação Java 200 e Teoria da Musica 300.

O sistema verifica que Cleber tem todos os pré-requisitos necessários , examinando os registro do aluno e adiciona-o à lista de alunos do curso.

O sistema indica que a atividade esta completa. O sistema imprime a matrícula e envia a informação de cobrança , referente aos quatro cursos , para processamento no sistema de cobrança.

Teoria da Musica 300 - Um curso oferecido no semestre registro do aluno – Lista dos cursos feitos pelo aluno nos semestres anteriores lista de alunos do curso – Lista com os alunos matriculados num curso específico. informação de cobrança – Informações necessárias para o ator sistema de cobrança.

Criando as Classes de Entidades - Baseando-se na similaridade de estrutura e de comportamento dos objetos.

Lista de Classes de Entidades presentes no Cenário “Criar Matrícula”.

Matrícula – Lista dos cursos para um dado semestre para um dado aluno. Catálogo – Lista de todos os cursos oferecidos num semestre. Curso – Curso oferecido para um semestre. RegistroDoAluno – Lista dos cursos feitos anteriormente. ListaDosAlunosNumCurso – Lista dos alunos matriculados num curso específico. InformaçõesDeCobrança – Informações necessárias para o ator sistema de cobrança.

Objetos pertencente à Classe Fronteiriça são identificados examinando-se cada par ator/cenário e criando-se as classes fronteiriças óbvias. Classes Fronteiriças também são criadas para comunicação sistema/sistema e para descrever a escolha de protocolos de comunicação.

<> Matrícula

<> Curso

<> Catálogo

<> RegistroDoAluno

<> ListaDosAlunosNumCurso

<> InformaçõesDeCobrança

Exemplos de classe fronteiriça:

  • Deve ser apresentado ao aluno, mais de uma opção do “Use Case” “Matrícula nos Cursos”. Para tanto, é criada a Classe “FormulárioDeRegistro” para permitir ao estudante selecionar a opção desejada.
  • O aluno deve fornecer ao sistema a informação dos cursos escolhidos. Para tanto é criada a Classe “FormulárioDeMatrícula” para permitir que o aluno entre com a informação.
  • O matrícula do aluno é impressa. Para tanto é criada a Classe “Impressora”.
  • A informação de cobrança é enviada para o sistema de cobrança. Para tanto, é criada a Classe “SistemaDeCobrança”.

Objetos pertencente à Classe de Control tipicamente, contêm a informação de seqüenciamento. Cada “Use Case” deve ter uma Classe de Controle, responsável pelo fluxo de eventos. Para tanto, é criada a Classe “GerenteDeRegistro”. Esta classe, para cada curso selecionado na Classe Fronteiriça “FormulárioDeMatrícula” deve executar as seguintes atividades:

  • Busca na Classe Curso seus pré-requisistos.
  • Verifica, através da Classe RegistoDoAluno se todos os pré-requsisitos do curso selecionado foram satisfeitos.
  • Sabe o que fazer se um pré-requisito não foi satisfeito.
  • Interroga se há vaga no curso.
  • Se houver vaga, pede a classe ListaDeAlunosNoCurso para adicionar o aluno.
  • Sabe o que fazer se um dos quatro cursos não está disponível.
  • Cria os objetos: MatrículaDoAluno e InformaçãoDeCobrança.
  • Verifica se o sistema de cobrança está habilitado a receber a informação de cobrança.

<<Fronteiriça>> FormulárioDeRegistro

<<Fronteiriça>> FormulárioDeMatrícula

<<Fronteiriça>> Impressora

<<Fronteiriça>> SistemaDeCobrança

<> GerenteDeRegistro

O uso do cartão CRC permite :

  • Confirmar ou não as classes de objetos candidatas, além de permitir a descoberta de novas Classes.
  • Determinar o relacionamento entre as Classes.
  • Identificar atributos (conhecimento interno) e operações (serviços fornecidos).

À medida que Classes de Objetos são descobertas, elas são documentadas nos diagramas de interação (diagramas de seqüência e de colaboração) anteriormente confeccionados.

7. Pacote

As classes pertencentes ao Sistema de Matrícula podem ser agrupadas em três pacotes:

  • ElementosDaUniversidade
    • Matrícula
    • Curso
    • RegistroDeAluno
    • Catálogo
    • ListaDosAlunosNumCurso
    • InformaçõesDeCobrança
  • RegrasDeNegócio
    • GerenteDeRegistro
  • Interfaces
    • FormulárioDeRegistro
    • FormulárioDeMatrícula
    • Impressora
    • SistemaDeCobrança

Definição de Pacote é uma generalização com o propósito de organizar as Classes de Objetos em grupos. Esta abordagem facilita a análise a medida que o número de Classes de Objetos cresce num do cenário.

A notação usada pela UML para representar pacotes é:

Nome do Pacote

8. Relacionamentos

Definição de relacionamento : É a maneira como as Classes de Objetos interagem entre si para formar o comportamento do sistema. Esse relacionamento é apresentado através de Diagrama de Classes. Os dois principais tipos de relacionamento são associação e agregação.

Associação:

  • É uma conexão bidirecional entre Classes que indica a existência de um relacionamento entre os objetos dessas Classes
  • É representada, nos Diagramas de Classe, por uma linha conectando as Classes associadas,
  • O fluxo de dados pode ser uni-direcional ou bi-direcional, através da conexão.
  • Para esclarecer o significado de uma associação, ela é nomeada. No Diagrama de Classes, o nome é apresentado ao longo da linha de associação. Usualmente, esse nome é um verbo ou um frase verbalizada.
  • Entre duas Classes, podem existir mais de uma associação.

Multiplicidade de Associação:

  • É o número de instâncias de uma classe relacionada com uma instância de outra classe.
  • Para cada associação, há uma multiplicidade em cada direção.

A notação usada pela UML, para os indicadores de multiplicidade, é:

Muitos Apenas Um Zero ou Muitos Um ou Muitos Zero ou Um Intervalo Específico

Exemplo de nomeação de uma associação

<> GerenteDeRegistro

<> Curso

gerencia