Anda di halaman 1dari 47

Diagramas de Estado,

Atividades, Componentes e
Instalao
Ricardo Argenton Ramos

Engenharia de Software II
2017.1 11/07/2017
Diagrama de Estado
Um diagrama de estados (statechart), tambm
conhecido por diagrama de transio de estado ou por
mquina de estados, permite modelar o comportamento
interno de um determinado objeto, subsistema ou
sistema global.
Estes diagramas representam os possveis estados de
um objeto, as correspondentes transies entre estados,
os eventos que fazem desencadear as transies, e as
operaes (aes e atividades) que so executadas
dentro de um estado ou durante uma transio. Os
objetos evoluem ao longo do tempo atravs de um
conjunto de estados como resposta a eventos e
passagem de tempo.
Diagramas de Estado
Diagramas de Estado

Uma lmpada: que evolui entre os estados acesa


e apagada, conforme se liga e desliga um
interruptor
Diagrama de Estados de um PC
Diagrama de Estados de um PC
(variante do anterior)
Diagrama de Estados de um PC
(foco no estado Trabalhando)
Exerccio Faa um diagrama de
Estados para a situao:
1. Uma mquina de lavar roupa: depois da
passagem de um determinado perodo
de tempo, a mquina de lavar termina o
seu programa de lavagem, e inicia o de
secagem.
Diagrama de Atividades
Um diagrama de atividades um caso particular
de um diagrama de estados, no qual todos ou a
maioria dos estados so estados de atividades
e todas ou a maioria das transies so
desencadeadas pela concluso das atividades
dos estados anteriores;
Uma atividade corresponde a uma execuo
no atmica dentro de uma mquina de
estados, ou de outra forma, corresponde
execuo de um conjunto de aes.
Diagrama de Atividades x Estados
Ambos os tipos de diagramas so
utilizados para modelar o tempo de vida
de um objeto ou sistema.
Contudo, um diagrama de atividades
ilustra o fluxo de controle entre
atividades, enquanto que um diagrama
de estados ilustra o fluxo de controle
entre estados.
Exemplo Genrico de Diagrama de
Atividades
Diagramas de Atividades
Estes diagramas contm genericamente:
Estados-ao: execues atmicas, no
interrompveis, com tempo de execuo irrelevante.
Estados-atividade: execues no atmicas
(decompostas), interrompveis, em que o tempo de
execuo normalmente relevante.
Transies,
Objetos.
Estados-atividades X estados-aes
Diagramas de Atividades
(Decises)
A tomada de deciso um mecanismo comum
no projeto de diagramas de atividades (e de
estado), que consiste em especificar que
atividade deve ser realizada aps a execuo
da atividade corrente.
Tal especificao suportada por uma condio
com guarda (ex.: expresso lgica) que
colocada de forma adjacente transio de
estado correspondente.
Diagramas de Atividades
(Decises) - Exemplo
Diagramas de Atividades
(Caminhos Concorrentes )
Considere que o processo de levantar da
cama implica a execuo das seguintes
atividades tomar caf da manh, fazer a
higiene matinal e cumprimentar a famlia.
Considere que essas atividades tm de se
realizar obrigatoriamente, embora no seja
relevante a sua ordem de execuo.
O problema colocado representa uma situao
tpica na modelagem de workflows: representar
a execuo independente e concorrente de um
conjunto de atividades.
Diagramas de Atividades
(Caminhos Concorrentes ) cont.
A UML providencia a soluo a esta questo atravs dos
conceitos de difuso (fork) e de juno (join) de atividades,
representados graficamente por linhas
Diagramas de Atividades
(Pistas)
Na modelagem de processos de negcio
comum a realizao de atividades por
vrias entidades, participantes no dito
processo.
A UML prope o conceito de pistas
(swimlanes) como elemento que permite
agrupar as vrias atividades da
responsabilidade de cada entidade
participante. Cada grupo separado por
uma linha vertical.
Diagramas de Atividades
(Pistas) Cont.
Cada pista tem um nome nico dentro do
seu diagrama, que deve corresponder ao
nome da entidade participante, a qual
deve ser uma entidade do mundo real.
Por exemplo, o nome de um perfil de
usurio, o nome de uma organizao, ou
o nome de um sistema de informao.
Diagramas de Atividades
(Pistas) Exemplo
Exemplo de Diagrama de Atividades
da Operao de Fibonacci
Fibonacci frmula:
fib(n) =1, se n <= 2; = fib(n-1)+ fib(n-2), se n> 2
Exerccio
Faa um diagrama de Atividades para a
situao:
Retirando dinheiro de um caixa eletrnico
(para cartes de crdito)
Diagramas de Componentes
Um componente uma pea bsica na
implementao de um sistema; consiste,
na prtica, num conjunto de artefatos
fsicos em formato digital, por exemplo,
arquivos de cdigo (fonte, binrio ou
executveis) ou arquivos de documentos
relativos ao negcio.
Diagramas de Componentes - Cont.
Definem-se pelo menos trs tipos distintos de
componentes:
Componentes de instalao: constituem a base dos
sistemas executveis (e.g., DLL, executveis,
controles Active-X, classes Java).
Componentes de trabalho: a partir dos quais so
criados os componentes de instalao (e.g., arquivos
com cdigo fonte, arquivos de dados, documentos).
Componentes de execuo: criados como resultado
da execuo de um sistema (e.g., processos,
threads, agentes de software).
Representao Grfica de
Componentes
Componente de Software
Um componente de software uma parte
fsica de um sistema: existe de fato num
determinado computador e no apenas na
mente do analista, como acontece com o
conceito de classe.
Adicionalmente, um componente
implementa uma ou mais classes, as
quais so representadas dentro do cone
de componente ou com relaes explcitas
de dependncia de implementao.
Componente de Software Cont.
A UML identifica os seguintes esteretipos para
componentes:
document: denota um documento.
executable: denota um programa que possa ser
executado num n.
file: denota um documento contendo cdigo fonte
ou dados.
library: denota uma biblioteca dinmica ou esttica.
table: denota uma tabela de uma base de dados.
Diagramas de Componentes
(Ns)
Um n um objeto fsico que representa um
recurso de processamento, geralmente tendo
capacidades de memria e de processamento.
Os ns podem consistir em recursos
computacionais (hardware), mas tambm em
recursos humanos ou recursos de
processamento mecnico.
Os ns podem ser representados como tipos e
como instncias. Instncias de ns podem
conter instncias de objetos e de componentes.
Diagramas de Componentes
(Ns) Cont.
Um n representado como um cubo
tridimensional.
Dois ns podem-se encontrar ligados
atravs de relaes de associao. Estas
especificam a existncia de caminhos de
comunicao entre os correspondentes
ns e podem ser caracterizadas por um
esteretipo, de modo a explicitar o tipo de
comunicao envolvido (ex.: o tipo de
canal ou o tipo de rede).
Diagramas de Componentes
(Ns)
Diagramas de Componentes
(Ns) Cont.
As propriedades dos ns (ex.: capacidade
de memria principal, nmero de
processadores, data de aquisio, entre
outros) so representadas por marcas
com valores. Por outro lado, podem-se
definir esteretipos, com cones
correspondentes, para modelar diferentes
tipos de recursos de processamento.
Relaes entre Ns e
Componentes
Um n pode conter componentes. Tal fato
pode ser traduzido pela incluso dos
componentes no smbolo do n, ou pelo
estabelecimento de uma relao de
dependncia, de esteretipo support
entre o n e os componentes suportados.
Relaes entre Ns e
Componentes
Ns e Componentes
Semelhanas e Diferenas
As semelhanas so que ambos podem:
(1) participar em relaes de generalizao,
dependncia e associao;
(2) ser aninhados;
(3) ter instncias; e
(4) participar em interaes.
As diferenas so que os:
(1) componentes so elementos que participam na
execuo de um sistema; ns so elementos que
suportam e executam componentes; e
(2) componentes representam agrupamento fsico de
elementos lgicos; ns representam a instalao fsica
de componentes.
Diagramas de Componentes
(Exemplo)
Diagrama de Componentes relativo a uma
Pgina HTML.
Considere a pgina Web Example1.html
com uma referncia a um applet Java:
Pgina Web Example1.html
<html>
<head>
<title>The Animator Applet (1.1) example 1</title>
</head>
<body>
<h1>The Animator Applet (1.1) - example 1</h1>
<applet codebase="." code=Animator.class width=460 height=160>
</applet>
<a href="Animator.java">The source.</a>
<hr>
</body>
</html>
Diagramas de Componentes
(Exemplo) Pgina Web
O diagrama de componentes correspondente
a este mini-sistema consiste nos seguintes
arquivos: example1.html, Animator.class,e
Animator.java.
Diagramas de Componentes
(Exemplo) Pgina Web
Exerccio: Faa um Diagrama de Componentes
relativo instalao de uma aplicao.
Considere a aplicao WinCOR desenvolvida sobre
ambiente MSWindows e responsvel pelo
gerenciamento de (entrada e sada de)
correspondncia de uma organizao. A aplicao
consiste num conjunto variado de componentes de
instalao, chamados:
wincor.exe: arquivo que contm o executvel da
aplicao;
pblib.dll, sde32.dll, sdemdb.dll: bibliotecas com cdigo
binrio que providenciam funcionalidades adicionais;
wincor.hlp: arquivo de ajuda sobre a aplicao;
wincor.ini: arquivo de configurao da aplicao;
entrada.db, saida.db: arquivos/tabelas da base de dados
de suporte
Resposta
Diagramas de Instalao
Um diagrama de instalao ilustra a
configurao dos elementos de
processamento e dos componentes de
software, processos e objetos neles
suportados. Instncias de componentes
de software representam manifestaes
de execuo das unidades de cdigo.
Diagramas de Instalao
Um diagrama de instalao consiste num
conjunto de ns ligados por associaes
de comunicao.
Os ns podem conter instncias de
componentes (de execuo), o que
significa que um componente instalado e
executado num n.
Diagramas de Instalao
(Exemplo 1)
servio de conexo a Internet por linha telefnica - cliente/servidor

instalao, da existncia de vrios PC


Diagramas de Instalao
(Exemplo 2)
Equipamento de hardware tipicamente existente numa configurao domstica
Diagramas de Instalao
(Exemplo 3)
Sistema de Trabalho Domstico.
Exerccio
Faa o Diagrama de Instalao do nosso
novo laboratrio, em que dever constar
um mecanismo de controle de entrada de
alunos por biometria.

Anda mungkin juga menyukai