• Nenhum resultado encontrado

Alexandre de Andrade Barbosa

N/A
N/A
Protected

Academic year: 2019

Share "Alexandre de Andrade Barbosa"

Copied!
133
0
0

Texto

(1)

Engenharia de Software 1

08 - Modelagem de software:

Diagramas de Classe, de Objetos, de Intera¸c˜

ao, Estados e Atividades

Alexandre de Andrade Barbosa

(2)

Objetivos

Objetivos

Apresentar os conceitos necess´

arios para criar Diagramas de Classe

Exibir exemplos de Diagramas de Classe

Apresentar os conceitos necess´

arios para criar Diagramas de Objetos

Exibir exemplos de Diagramas de Objetos

Apresentar o conceito de intera¸c˜

oes e exibir como o conceito pode ser modelado

Descrever como os diagramas de seq¨

encia e comunica¸c˜

ao podem ser utilizados

para modelar as intera¸c˜

oes entre os objetos de um sistema O.O.

Apresentar os conceitos de estado e atividade

(3)

Introdu¸c˜ao

As funcionalidades de um software O.O. s˜ao realizadas

internamente atrav´es de colabora¸c˜oes entre objetos

Atores visualizam os resultados externos

Objetos colaboram internamente para gerar os resultados

Uma forma de observar as colabora¸c˜oes em um sistema ´e atrav´es

de uma representa¸c˜ao do aspecto estrutural e est´atico

Dois diagramas UML que modelam aspectos estruturais est´aticos

s˜ao:

(4)

Introdu¸c˜ao

O modelo de casos de uso descreve:

conjunto de requisitos funcionais

entidades que interagem com o sistema

O modelo de casos de uso n˜ao fornece detalhes internos de como

deve ser o comportamento do sistema

O modelo de classes descreve:

quais classes devem compor o sistema

quais os relacionamentos entre estas classes

(5)

Introdu¸c˜ao

Modelos de intera¸c˜oes descrevem:

quais mensagens s˜ao trocadas nas intera¸c˜

oes

qual a ordem de troca de mensagens

As intera¸c˜oes que ocorrem entre objetos para executar as

funcionalidades descritas em um caso de uso s˜ao chamadas de

realiza¸c˜ao do caso de uso

Realiza¸c˜ao de um caso de uso corresponde a descri¸c˜ao do

comportamento interno do sistema

(6)

Introdu¸c˜ao

Dois diagramas s˜ao freq¨

uentemente utilizados para modelar

intera¸c˜oes no sistema:

Diagrama de seq¨

uˆencia;

Diagrama de comunica¸c˜ao

(7)

Introdu¸c˜ao

Objetos do mundo real se encontram em estados particulares em

determinados momentos

Copo: cheio...vazio

Telefone: ocupado...em espera

Aluno: aprovado...reprovado

(8)

Diagrama de classes (DC)

Um diagrama de classes ´e criado e revisado ao longo do ciclo de

desenvolvimento

Pode-se listar trˆes n´ıveis para o diagrama:

an´alise

projeto

implementa¸c˜ao

(9)

Diagrama de classes (DC)

O diagrama de classes de an´alise n˜ao apresenta detalhes da

solu¸c˜ao do problema

(10)

Diagrama de classes (DC)

Classes, atributos e m´etodos

Classe. Abstra¸c˜ao de uma entidade conceitual ou real

Uma classe define os comportamentos (m´etodos) e as

caracter´ısticas (atributos) da entidade modelada

(11)

Diagrama de classes (DC)

Classes, atributos e m´etodos

(12)

Diagrama de classes (DC)

Classes, atributos e m´etodos

Atributos representam as caracter´ısticas pertencentes a uma

determinada entidade

Um atributo deve ser representado obedecendo a seguinte

estrutura:

Estrutura: [NOME] : [TIPO]

Exemplo 1: idade : int

(13)

Diagrama de classes (DC)

Classes, atributos e m´etodos

Os m´etodos representam as a¸c˜oes que ser˜ao executadas por um

objeto

Estrutura: [NOME]([PARˆ

AMETRO: TIPO, ...): [TIPO DE RETORNO]

(14)

Diagrama de classes (DC)

Relacionamentos

Relacionamento. Liga¸c˜ao entre classes que possibilita troca de

mensagens

Para que os objetos em um sistema possam colaborar ´e

necess´ario especificar relacionamento entre suas classes

(15)

Diagrama de classes (DC)

Relacionamentos

Associa¸c˜ao. Representa relacionamentos (liga¸c˜oes) que podem

ser formados entre objetos durante a execu¸c˜ao do sistema

(16)

Diagrama de classes (DC)

Relacionamentos

Nome da associa¸c˜ao. Representa o significado da associa¸c˜ao

Dire¸c˜ao de leitura. Exibe como a associa¸c˜ao deve ser lida

Pap´eis. Identifica os pap´eis desempenhados por cada uma das

classes

(17)

Diagrama de classes (DC)

Relacionamentos

Objetos e classes de objeto participam de relacionamentos com

outros objetos e classes de objeto

(18)

Diagrama de classes (DC)

Relacionamentos

Tipos de associa¸c˜ao:

Associa¸c˜ao simples

Associa¸c˜ao recursiva

Associa¸c˜ao exclusiva

Associa¸c˜ao de classe

Agrega¸c˜ao

(19)

Diagrama de classes (DC)

Relacionamentos

Associa¸c˜ao simples - especifica que as classes possuem algum

grau de envolvimento

(20)

Diagrama de classes (DC)

Relacionamentos

Associa¸c˜ao recursiva - ocorre quando uma classe possui uma

associa¸c˜ao com ela mesma, em geral, s˜ao usados pap´eis ou ´e

fornecido um nome para a associa¸c˜ao para facilitar o

entendimento

(21)

Diagrama de classes (DC)

Relacionamentos

Associa¸c˜ao exclusiva - ocorre se o relacionamento de associa¸c˜ao

s´o pode acontecer com uma classe OU outra

(22)

Diagrama de classes (DC)

Relacionamentos

Associa¸c˜ao de classe - ocorre quando duas classes se relacionam

e o relacionamento entre estas classes possui seus pr´oprios

atributos

(23)

Diagrama de classes (DC)

Relacionamentos

Agrega¸c˜ao - especifica um relacionamento TODO-PARTE onde

existe um grau de independˆencia entre o TODO e suas PARTES

(24)

Diagrama de classes (DC)

Relacionamentos

Agrega¸c˜ao composta ou composi¸c˜ao - especifica um

relacionamento TODOPARTE onde existe um alto grau de

dependˆencia entre o TODO e suas PARTES

(25)

Exerc´ıcio

(26)

Diagrama de classes (DC)

Relacionamentos

Heran¸ca. Relacionamento entre uma classe mais geral e outra

mais espec´ıfica

(27)

Diagrama de classes (DC)

Relacionamentos

Tipos de heran¸ca:

Heran¸ca sobreposta - ocorre quando em um relacionamento de

heran¸ca uma entidade pode pertencer a mais de um sub-tipo ao

mesmo tempo

Heran¸ca disjunta - ocorre quando em um relacionamento de

heran¸ca uma entidade n˜ao pode pertencer a mais de um sub-tipo

ao mesmo tempo

Heran¸ca completa - ocorre quando todos os sub-tipos de um

relacionamento de heran¸ca foram especificados

(28)
(29)

Diagrama de classes (DC)

Relacionamentos

Na associa¸c˜ao, objetos espec´ıficos de uma classe se associam

entre si ou com objetos espec´ıficos de outras classes.

Na heran¸ca, objetos s˜ao subtipos de outros objetos

Exemplo:

(30)

Diagrama de classes (DC)

Relacionamentos

Propriedades da heran¸ca

Transitividade. Uma classe herda as propriedades de todas as

suas antecessoras

N˜ao existe limita¸c˜ao para os n´ıveis de heran¸ca

Assimetria. Se uma classe A ´e uma generaliza¸c˜ao de B, ent˜ao B

n˜ao pode ser uma generaliza¸c˜ao de A

(31)
(32)

Diagrama de classes (DC)

Relacionamentos

(33)

Exerc´ıcio

(34)

Exemplos

(35)

Diagrama de classes (DC)

Visibilidade, navegabilidade e multiplicidade

Visibilidade (modificadores de acesso)

(+) public - qualquer classe pode ter acesso

(36)

Diagrama de classes (DC)

Visibilidade, navegabilidade e multiplicidade

Visibilidade pode ser especificada para atributos e m´etodos

Exemplo A1: - idade : int

Exemplo A2: + tipoSanguineo : String

(37)

Diagrama de classes (DC)

Visibilidade, navegabilidade e multiplicidade

Navegabilidade. indica que as instˆancias de uma classe possuem

referˆencia para as instˆancias de outra classe

(38)

Diagrama de classes (DC)

Visibilidade, navegabilidade e multiplicidade

Multiplicidade. Limite (m´ınimo e m´aximo) relacionado ao

umero de objetos que podem se relacionar

(39)

Diagrama de classes (DC)

Visibilidade, navegabilidade e multiplicidade

Quadro: Multiplicidades

Descri¸c˜

ao

S´ımbolo

Apenas um

1 ou vazio

Nenhum ou muitos

0..* ou *

(40)

Diagrama de classes (DC)

Visibilidade, navegabilidade e multiplicidade

Participa¸c˜ao. Indica obrigatoriedade de um objeto participar ou

n˜ao de um relacionamento

(41)

Diagrama de classes (DC)

Visibilidade, navegabilidade e multiplicidade

Classe abstrata. Classe que deve ser utilizada como uma classe

base, n˜ao deve ser instanciada diretamente

(42)

T´ecnicas para identificar classes

O diagrama de classes exibe as classes que comp˜

oem o dom´ınio

do problema e as rela¸c˜oes entre estas

O diagrama de classes apresenta uma descri¸c˜ao est´atica e

estrutural do sistema desejado

(43)

T´ecnicas para identificar classes

Possuir conhecimento sobre a nota¸c˜ao de descri¸c˜ao de classes

n˜ao ´e suficiente para criar o(s) diagrama(s) de classes do sistema

A identifica¸c˜ao de classe pode dividir-se na execu¸c˜ao de duas

atividades:

(44)

T´ecnicas para identificar classes

Algumas t´ecnicas podem ser utilizadas para identificar as classes

do sistema e criar o diagrama de classes, s˜ao exemplos:

An´alise textual de Abbott;

An´alise dos casos de uso;

(45)

T´ecnicas para identificar classes

An´

alise textual de Abbott

A an´alise textual de Abbott consiste em analisar todos os

documentos produzidos para o sistema, e:

identificar substantivos, verbos e adjetivos;

gerar uma lista com os termos;

(46)

T´ecnicas para identificar classes

An´

alise textual de Abbott

A id´eia ´e cada termo da lista poder´a ser utilizado para uma das

situa¸c˜oes descritas a seguir:

(47)

T´ecnicas para identificar classes

An´

alise textual de Abbott

Substantivos, em geral, se tornam classes ou atributos

Verbos normalmente originam opera¸c˜oes ou relacionamentos

Verbos de a¸c˜ao originam opera¸c˜oes

O sentido associado ao verbo pode identificar o tipo do

relacionamento:

(48)

T´ecnicas para identificar classes

An´

alise textual de Abbott

A an´alise textual de Abbott pode ser utilizada em qualquer

contexto

A eficiˆencia depende dos documentos que foram criados (se

foram criados)

Podem surgir problemas de:

falta de detalhes;

excesso de detalhes;

ambig¨

uidade;

outros.

Tais problemas podem gerar muitas classes candidatas

(49)

T´ecnicas para identificar classes

An´

alise dos casos de uso

A an´alise dos casos de uso ´e um caso particular da an´alise textual

de Abbott

A id´eia ´e minimizar os documentos analisados (somente casos de

uso)

Um caso de uso consiste na descri¸c˜ao de uma funcionalidade

desejada no sistema

As funcionalidades s˜ao executadas atrav´es da colabora¸c˜ao de

objetos

(50)

T´ecnicas para identificar classes

An´

alise dos casos de uso

A an´alise dos casos de uso pode ser executada da seguinte

maneira:

1

Para cada caso de uso deve-se:

identificar as classes necess´

arias para o comportamento;

distribuir o comportamento desejado entre as classes identificadas.

2

Para cada classe identificada deve-se:

descrever as responsabilidades associadas;

com base nas responsabilidades descreve-se os atributos da classe

e os relacionamentos.

(51)

T´ecnicas para identificar classes

An´

alise dos casos de uso

(52)

T´ecnicas para identificar classes

An´

alise de robustez (categoriza¸c˜

ao BCE)

An´alise de robustez foi proposta por Ivar Jacobson um dos

criadores da UML

´

E um tipo de an´alise de casos de uso

A id´eia consiste em classificar as classes (ou objetos) em trˆes

categorias, s˜ao elas:

(53)

T´ecnicas para identificar classes

An´

alise de robustez (categoriza¸c˜

ao BCE)

(54)

T´ecnicas para identificar classes

An´

alise de robustez (categoriza¸c˜

ao BCE)

Cada uma das categorias possui diferentes caracter´ısticas de

responsabilidades:

classes de fronteira - realizam a comunica¸c˜ao entre atores e

sistema

classes de controle - servem como ponte entre classes de fronteira

e entidade

(55)

T´ecnicas para identificar classes

An´

alise de robustez (categoriza¸c˜

ao BCE)

Classes de fronteira devem capturar eventos disparados por atores

e notificar atores dos resultados obtidos na execu¸c˜ao de uma

funcionalidade

Classes de controle devem monitorar as a¸c˜oes recebidas de

objetos de fronteira, al´em de coordenar a troca de mensagens

entre objetos

Classes de entidade servem para armazenar alguma informa¸c˜ao e

implementar a l´ogica de neg´ocio

(56)

Diagrama de objeto (DO)

Diagrama de objeto (DO). Corresponde a uma instˆancia de um

diagrama de classes

Representa uma fotografia do sistema em um determinado

momento

Um objeto ´e representado de maneira similar a uma classe

nome simples: identifica uma instˆancia exclusivamente com um

nome

nome de caminho: identifica uma instˆancia com um nome e seu

pacote

(57)

Diagrama de objeto (DO)

(58)

Diagrama de objeto (DO)

O estado de um objeto pode ser determinado pelos valores de

seus atributos

(59)

Diagrama de objeto (DO)

As instˆancias dos relacionamentos do diagrama de classes s˜ao

chamadas de v´ınculos

(60)

Diagrama de objeto (DO)

Os diagramas de objetos mostram um conjunto de objetos e seus

v´ınculos em um determinado ponto no tempo

Visualmente um diagrama de objetos corresponde a um conjunto

de v´ertices (objetos) e arcos (v´ınculos).

(61)
(62)

Exerc´ıcio

Crie um diagrama de classes para uma “Agˆ

encia Banc´

aria”, considerando a

descri¸c˜

ao a seguir.

Um banco deseja manter informa¸c˜

oes sobre suas agˆ

encias banc´

arias. Cada

agˆ

encia possui um cadastro de contas, clientes e empregados. Os clientes

podem ter contas de dois tipos (conta poupan¸ca ou conta corrente).

(63)
(64)

Exerc´ıcio

(65)
(66)

Intera¸c˜oes

S˜ao elementos comuns aos diagramas de intera¸c˜ao:

(67)

Intera¸c˜oes

Mensagens

Uma mensagem corresponde a especifica¸c˜ao de uma comunica¸c˜ao

entre objetos (execu¸c˜ao de uma opera¸c˜ao em outro objeto)

o ´e poss´ıvel existir troca de mensagens entre dois objetos se

existe algum v´ınculo entre estes objetos

(68)

Intera¸c˜oes

Mensagens

Existem diferentes tipos de mensagens:

mensagem s´ıncrona - indica que o objeto remetente espera que o

objeto receptor processe a mensagem antes de recome¸car o seu

processamento

mensagem ass´ıncrona - indica que o objeto remetente cont´ınua

com seu processamento, ou seja, n˜ao aguarda a resposta da

mensagem para continuar sua execu¸c˜ao

mensagem de retorno - representa o retorno de uma mensagem

enviada anteriormente

(69)

Intera¸c˜oes

Mensagens

Sintaxe de uma mensagem:

[[express˜ao de seq¨

uˆencia] controle:] [v:=] nome [(argumentos)]

Os elementos entre [] s˜ao opcionais

(70)

Intera¸c˜oes

Mensagens

Express˜ao de seq¨

uˆencia - serve para indicar a ordem de envio das

mensagens

Utiliza-se um esquema de numera¸c˜ao para estabelecer a ordem

de envio

1, 2, 3, 4, ...

(71)

Intera¸c˜oes

Mensagens

Controle - indica uma condi¸c˜ao associada ao envio da mensagem

condi¸c˜ao l´ogica

quantidade de vezes que a mensagem ´e enviada

Existem dois tipos de controle:

cl´ausula condi¸c˜ao - a mensagem ´e enviada somente se a condi¸c˜ao

l´ogica for avaliada com verdadeira

cl´ausula itera¸c˜ao - a mensagem ´e enviada tantas vezes quanto

indicado na cl´ausula

(72)

Intera¸c˜oes

Mensagens

Vari´avel - representa o identificador de uma vari´avel que recebe o

valor retornado pela opera¸c˜ao que ser´a executada no objeto

Nome - identifica a opera¸c˜ao solicitada

(73)

Intera¸c˜oes

Mensagens

Exemplo:

1: adicionarItem(item)

3 [

a

>

b

]: trocar(a, b)

2 *: desenhar()

(74)

Intera¸c˜oes

Mensagens

Exemplo:

1: adicionarItem(item)

Mensagem simples com argumento

3 [

a

>

b

]: trocar(a, b)

Mensagem com cl´

ausula de condi¸c˜

ao e argumentos

(75)

Intera¸c˜oes

Atores

Os atores que participam de um caso de uso podem ser

representados em um diagrama de intera¸c˜ao

Em geral o ator dispara o evento inicial para troca de mensagens

(76)

Intera¸c˜oes

Objetos

A realiza¸c˜ao de um caso de uso envolve colabora¸c˜ao de objetos

Os objetos trocam mensagens ao longo da intera¸c˜ao

Representa¸c˜ao de objetos em um diagrama de intera¸c˜ao

(77)

Intera¸c˜oes

Classes

Na maioria das vezes somente objetos s˜ao apresentados em um

diagrama de intera¸c˜ao

Uma classe tamb´em pode responder solicita¸c˜oes (opera¸c˜oes

est´aticas)

(78)

Diagrama de Seq¨uˆencia

Elementos de um diagrama de sequˆencia

O diagrama de seq¨

uˆencia ´e um diagrama de intera¸c˜oes que d´a

ˆenfase `a ordem de tempo das mensagens

Estes diagramas cont´em:

Mensagens, Atores, Objetos, Classes (comuns aos diagramas)

Linha de vida - representa o per´ıodo de tempo em que um objeto

existe

(79)

Diagrama de Seq¨uˆencia

Elementos de um diagrama de sequˆencia

(80)

Diagrama de Seq¨uˆencia

Exemplo

(81)
(82)

Diagrama de Seq¨uˆencia

Cria¸c˜

ao e destrui¸c˜

ao de objetos

(83)
(84)

Diagrama de Seq¨uˆencia

Quadros

UML 2 introduziu a representa¸c˜ao de quadros para encapsular

um diagrama de seq¨

uˆencia

Os quadros podem ser utilizados para:

(85)

Diagrama de Seq¨uˆencia

Quadros

(86)

Diagrama de Seq¨uˆencia

Quadros

(87)
(88)

Diagrama de Seq¨uˆencia

Quadros

(89)

Diagrama de comunica¸c˜ao

Um diagrama de comunica¸c˜ao exibe as intera¸c˜oes existentes

entre objetos com ˆenfase na organiza¸c˜ao estrutural

A representa¸c˜ao gr´afica ´e semelhante ao diagrama de objetos,

por´em o diagrama de comunica¸c˜ao exibe as mensagens de uma

intera¸c˜ao

Os mesmos elementos que s˜ao exibidos em um diagrama de

seq¨

uˆencia (exceto linha de vida e foco de controle) podem

aparecer em um diagrama de colabora¸c˜ao

(90)

Diagrama de comunica¸c˜ao

As express˜oes de seq¨

uˆencia s˜ao obrigat´orias no diagrama de

comunica¸c˜ao

(91)
(92)

Diagrama de comunica¸c˜ao

Os diagramas de comunica¸c˜ao e seq¨

uˆencia s˜ao isomorfos

As diferentes formas de representa¸c˜ao alteram o foco de

percep¸c˜ao

ˆenfase na ordena¸c˜ao temporal

(93)

Tradu¸c˜ao comunica¸c˜ao e seq¨uˆencia

(94)

Tradu¸c˜ao comunica¸c˜ao e seq¨uˆencia

(95)

Exerc´ıcio

Exerc´ıcio

(96)

Exerc´ıcio

Exerc´ıcio

Crie um conjunto de diagramas de sequˆ

encia ou colabora¸c˜

ao para um sistema de

software

Pousada - reserva de um quarto

(97)

Diagrama de estados

Introdu¸c˜

ao

Um objeto muda de estado quando algum evento interno ou

externo ocorre

(98)

Diagrama de estados

Introdu¸c˜

ao

Diagramas de intera¸c˜ao exibem o comportamento de um

conjunto de objetos

Um diagrama de estados exibe os poss´ıveis estados de objetos de

uma ´

unica classe

N˜ao ´e necess´ario criar diagramas de estados para os objetos de

todas as classes do sistema

(99)

Diagrama de estados

Elementos de um diagrama

Os elementos b´asicos de um diagrama de estados s˜ao:

Estados

Transi¸c˜

oes

Evento

(100)

Diagrama de estados

Estado

Um estado ´e uma situa¸c˜ao na vida de um objeto no qual ele

satisfaz alguma condi¸c˜ao ou realiza alguma atividade

(101)

Diagrama de estados

Estado

O valor dos atributos de um objeto e seus v´ınculos determinam o

estado em que ele se encontra

Estado determinado pelos atributos

(102)

Diagrama de estados

Estado

Estado inicial indica o estado de um objeto no momento de sua

cria¸c˜ao

Estado final indica o fim do ciclo de vida de um objeto

O estado inicial ´e obrigat´orio e ´

unico em um diagrama

O estado final ´e opcional e pode haver mais de um estado final

em um diagrama

(103)

Diagrama de estados

Transi¸c˜

oes

Estados s˜ao associados a outros estados atrav´es de transi¸c˜oes

Uma transi¸c˜ao ´e disparada quando um evento ocorre

(104)

Diagrama de estados

Evento

Um evento corresponde a algum acontecimento associado ao

sistema que pode modificar o estado do objeto modelado

Em sistemas de software

Em processos de neg´ocio

Mouse pressionado

Pedido realizado

(105)

Diagrama de estados

Evento

Um evento pode conter uma lista de parˆametros ´

uteis para o

objeto receptor

A ocorrˆencia de um evento pode disparar outro evento

(106)

Diagrama de estados

Condi¸c˜

ao de guarda

Uma transi¸c˜ao pode ocorrer de acordo com uma condi¸c˜ao de

guarda

Uma transi¸c˜ao com uma condi¸c˜ao de guarda ´e disparada somente

se o evento associado ocorre e a condi¸c˜ao de guarda ´e verdadeira

(107)

Diagrama de estados

A¸c˜

oes e atividades

Ao sair de um estado para outro um objeto pode realizar uma ou

mais a¸c˜oes ou atividades

Uma a¸c˜ao ´e executada sem interrup¸c˜oes (tempo de execu¸c˜ao ´e

muito curto)

Uma atividade pode ser interrompida

(108)
(109)

Diagrama de estados

Ponto de jun¸c˜

ao

Em algumas situa¸c˜oes o estado de um objeto varia de acordo

com o valor de uma condi¸c˜ao de guarda

(110)

Diagrama de estados

Cl´

ausulas

Ao atingir um estado um objeto pode realizar a¸c˜oes ou atividades

Algumas cl´ausulas s˜ao utilizadas para descrever o momento que

algumas a¸c˜oes devem ocorrer

cl´ausula entry - especifica uma a¸c˜ao que deve ser realizada

quando o objeto entra naquele estado

cl´ausula do - especifica uma atividade que deve ser executada

quando o objeto passa para um determinado estado

(111)

Diagrama de estados

Cl´

ausulas

(112)

Diagrama de estados

Cl´

ausulas

(113)

Diagrama de estados

Estados aninhados

(114)

Diagrama de estados

Estados concorrentes

Em alguns casos um objetos pode estar em dois ou mais estados

independentes

(115)

Diagrama de estados

Exemplo

(116)

Diagrama de estados

Exemplo

(117)

Diagrama de estados

Exemplo

(118)

Diagrama de atividades

´

E um tipo especial de diagrama de estados

S˜ao representados estados de uma atividade e n˜ao de um objeto

Similar ao fluxograma, por´em com forma de representa¸c˜ao

diferente

(119)

Diagrama de atividades

Elementos de um diagrama de atividade

Um diagrama de atividades possui:

Estado a¸c˜ao / Estado atividade - representa uma computa¸c˜ao que

est´a sendo executada no sistema

Estados inicial e final - representam o in´ıcio (´

unico) e o final

(nenhum ou v´arios) de um conjunto de atividades

Condi¸c˜ao de guarda - indica se uma transi¸c˜ao deve ocorrer

Transi¸c˜ao de t´ermino - liga um estado atividade ou a¸c˜ao a outro

(120)

Diagrama de atividades

Pontos de ramifica¸c˜

ao e uni˜

ao

Pontos de ramifica¸c˜ao - possuem uma ´

unica transi¸c˜ao de entrada

e v´arias transi¸c˜oes de sa´ıda, cada uma destas associada a uma

condi¸c˜ao de guarda

Pontos de uni˜ao (union) - re´

unem diversas transi¸c˜oes que

possuem um ponto de ramifica¸c˜ao comum

(121)

Diagrama de atividades

Barra de bifurca¸c˜

ao e jun¸c˜

ao

Barra de bifurca¸c˜ao (fork) - recebe uma transi¸c˜ao de entrada e

cria dois ou mais fluxos de controle paralelo

Barra de jun¸c˜ao (join) - recebe duas ou mais transi¸c˜oes e unifica

o fluxo de controle

(122)
(123)

Diagrama de atividade

Raias

Um diagrama pode ser divido em “raias” onde em cada uma

destas um agente pode ser associado

(124)
(125)

Exerc´ıcio

Exerc´ıcio

(126)

Exerc´ıcio

Exerc´ıcio

Crie um de diagrama de estado e um diagrama de atividade para um objeto do

sistema:

Pousada - Quarto (estado) - Reserva (atividade)

(127)

Exerc´ıcio

Exerc´ıcio

(128)

Resumo

A cria¸c˜

ao de diagramas do sistema deve ser guiado por informa¸c˜

oes relacionadas ao

sistema

Um tipo de diagrama pode ser utilizado para criar ou refinar outro tipo de diagrama

ao exemplos de t´

ecnicas para identificar classes:

An´alise textual de Abbott;

An´alise dos casos de uso;

(129)

Resumo

Intera¸c˜

oes ocorrem entre objetos para executar as funcionalidades descritas em um

caso de uso

Mensagens correspondem a execu¸c˜

ao de opera¸c˜

oes de um objeto

Na UML dois tipos de diagramas isomorfos s˜

ao utilizados para descrever intera¸c˜

oes:

Diagrama de sequˆencia

(130)

Resumo

Diagramas de estado exibem os estados poss´ıveis que um objeto pode ter

Diagramas de estado cont´

em: estados e transi¸c˜

oes

Estado de um objeto pode ser determinado pelo valor de seus atributos ou atrav´

es

de seus v´ınculos

Uma transi¸c˜

ao cont´

em: evento e a¸c˜

ao (ou atividade)

(131)

Leituras recomendadas

Gilleanes T. A. Guedes

UML - Uma abordagem pr´

atica, 2

a

ed.

(132)

Leituras recomendadas

Eduardo Bezerra

Princ´ıpios de an´

alise e projeto de sistema com UML. Campus, 2

a

edi¸c˜ao, 2007.

(133)

Perguntas?

Alexandre de Andrade Barbosa

Referências

Documentos relacionados

civil e criminalmente pelas informações lançadas no preenchimento do aludido cadastro, oportunidade em que fornecerá os dados pessoais e aceitará as condições

Representado pelos abaixo assinados, vem requerer à Exma. Direção da Associação de Futebol do Porto, a sua filiação para a época de 2021/2022. Considera-se esta

Direito de associa•‹o (art.. aquisi•‹o de personalidade jur’dica para a exist•ncia da associa•‹o; c) os requisitos para a liberdade plena de associa•‹o:

Enquanto a medida que propomos aqui descreve o cenário médio de conflitos intralista pelo mesmo voto, ao nível da zona eleitoral, enfrentado pelos candidatos dentro de uma

Com o apoio dos nossos bolsistas, conse- guimos desenvolver diversas atividades inovadoras como Projeto Novos Talentos (que oferece bolsa para os alunos ingressantes), Tutoria (que d´

A partir deste resultado, a empresa então teve condições de analisar as causas do problema e partir para melhorias buscando sua solução, além de tomar a decisão

• Uma declara¸ c˜ ao de classe pode conter membros privados ( private ), protegidos ( protected ) e p´ ublicos ( public ). • private : membros declarados como privados somente s˜

Ao contrário dos mutantes de endosperma opaco, até então caracterizados, os genótipos indígenas de endosperma farináceo apresentam níveis normais de zeínas e baixa