Você está na página 1de 5

167

Aula 5º

Modelagem dinâmica

Prezados (as) alunos (as),


Nesta aula 5 veremos as características dos modelos
dinâmico e funcional.
Se ao final desta aula tiverem dúvidas, vocês poderão saná-
las através das ferramentas da plataforma de ensino.
Conto com a sua participação, aproveite para ler e refletir
os objetivos de aprendizagem, afinal da sua participação
dependerá seu aprendizado.
Bom Trabalho!
Bons estudos!

Objetivos de aprendizagem

Ao término desta aula, vocês serão capazes de:

• entender os conceitos de estados e eventos;


• diferenciar atividades e ações;
• compreender o diagrama de estados.
168 Análise de Sistemas II 32
dar a cada uma delas um nome que indica uma estrutura e um
Seções de estudo comportamento comuns. Alguns eventos são simples sinais,
mas muitos outros têm atributos indicando a informação que
1 – O modelo Dinâmico eles transportam. O tempo no qual o evento ocorre é um
2 – O modelo Funcional atributo implícito de todos os eventos. Um evento transporta
3 – Comparações entre modelos a informação de um objeto a outro; os valores de dados
transportados por um evento são seus atributos. Os eventos
12PRGHOR'LQ¤PLFR incluem as condições de erro e as ocorrências normais.
Um cenário é uma sequência de eventos que ocorre
O modelo dinâmico descreve os aspectos do sistema que
durante uma execução particular de um sistema. Ele pode
GL]HPUHVSHLWRDRWHPSRHjVHTXrQFLDGHHYHQWRV RSHUDo}HV 
incluir todos os eventos do sistema ou apenas eventos gerados
Esse modelo tenta capturar o controle, aspecto de um sistema
por certos objetos no sistema. A sequência de eventos e os
que descreve as sequências de operação que ocorrem em
objetos que trocam eventos podem ser mostrados juntos num
resposta a estímulos externos, sem levar em conta o que as
diagrama de UDVWURGHHYHQWRV$ÀJXUDPRVWUDRFHQiULR
operações fazem, quem as ativa e como são implementadas.
e o rastro de eventos para uma chamada telefônica.
Os conceitos utilizados nesta modelagem dinâmica são os de
Um HVWDGRé uma abstração dos valores dos atributos
eventos que representam os estímulos externos e de estados
HGDVOLJDo}HVGHXPREMHWR8PHVWDGRHVSHFLÀFDDUHVSRVWD
que representam os valores de objetos.
do objeto a eventos de entrada. A resposta de um objeto a
$UHSUHVHQWDomRJUiÀFDpXPGLDJUDPDGHHVWDGRVTXH
um evento pode incluir uma ação ou uma mudança de estado
representa os estados e a sequência de eventos permitidos
pelo objeto.
num sistema para uma classe de objetos. Os estados e
Um estado tem uma duração; ele ocupa um intervalo
eventos podem ainda ser organizados de forma hierárquica e
GHWHPSRHQWUHGRLVHYHQWRV1DGHÀQLomRGHHVWDGRVSRGH
representados num diagrama de estados estruturados.
se ignorar atributos que não afetam o comportamento
1.1 - Eventos e estados do objeto. O estado é caracterizado por um nome e uma
descrição contendo a sequência de eventos que leva ao estado,
Um HVWDGRé caracterizado pelos valores dos atributos a condição que o caracteriza e os eventos aceitos neste estado
e pelas ligações mantidas por um objeto. Um HYHQWR com a ação que ocorre e o estado futuro. O estado pode
corresponde a um estímulo individual de um objeto a outro. incluir os valores de suas ligações.
O GLDJUDPD GH HVWDGRV representa o modelo de eventos, O GLDJUDPD GH HVWDGRV relaciona estados e eventos.
estados e transições de estado para uma classe dada. O modelo A mudança de estado causada por um evento é chamada de
GLQkPLFRconsiste de vários diagramas de estados, um para WUDQVLomR$ÀJXUDPRVWUDRGLDJUDPDGHHVWDGRVGHXPD
cada classe com comportamento dinâmico importante; ele linha telefônica. Os diagramas de estado podem representar
mostra o modelo de atividade para um sistema completo. ciclos de vida uma-vez (com um estado inicial e um estado
Cada máquina de estados se executa de forma concorrente e ÀQDO  TXH UHSUHVHQWDP REMHWRV FRP YLGD ÀQLWD RX PDOKDV
pode mudar de estado independentemente. Os diagramas de FRQWtQXDVFRPRQDÀJXUD8PPRGHORGLQkPLFRpXPD
estado para as várias classes combinam num modelo dinâmico coleção de diagramas de estado que interagem entre si através
único através de eventos compartilhados. de eventos compartilhados.
Um HYHQWR é algo que ocorre num instante de tempo Uma FRQGLomR é uma função booleana de valores
e que não tem duração. Um evento pode preceder ou seguir objetos. Condições podem ser usadas como guardas nas
outro evento ou pode não ter relação entre eventos (neste caso, transições, sendo que uma transição guardada
são ditos concorrentes). Cada evento é uma ocorrência única; dispara quando o evento ocorre e que a condição de
entretanto, é possível reagrupá-los em classes de eventos e guarda é verdadeira.

Figura 5.1. Cenário e traço de eventos para uma chamada telefônica. Fonte: Acervo pessoal
33 169

Figura 5.2. Diagrama de estados de uma linha telefônica. Fonte: Acervo pessoal

1.22SHUD©·HV componentes ortogonais, com interação limitada entre eles,


da mesma forma como se tem uma hierarquia de agregação de
Uma descrição do comportamento de um objeto REMHWRVDDJUHJDomRpHTXLYDOHQWHjFRQFRUUrQFLDGHHVWDGRV
GHYH HVSHFLÀFDU R TXH R REMHWR ID] HP UHVSRVWD D HYHQWRV (estados concorrentes correspondem geralmente a agregações
Operações associadas a estados ou transições são realizadas de objetos).
em resposta aos estados correspondentes ou a eventos. Uma DWLYLGDGH num estado pode ser expandida
Uma DWLYLGDGHé uma operação que leva tempo para se como um diagrama de estados de baixo-nível, cada estado
completar. Ela é associada a um estado. A notação “do: A” representando um degrau da atividade. Atividades aninhadas
dentro de um caixa de estado indica que a atividade A inicia são diagramas de estados uma-vez com transições de entrada
na entrada no estado e para na saída. e saída, de forma similar a sub-rotinas. Um diagrama de
Uma DomRé uma operação instantânea e é associada a estados aninhado é uma forma de generalização (relação
um evento. Uma ação representa uma operação cuja duração é do tipo “or”) sobre os estados . Os estados num diagrama
pequena comparada com a resolução do diagrama de estados. DQLQKDGRVmRWRGRVUHÀQDPHQWRV VXEHVWDGRV GHXPHVWDGR
Ações podem também representar operações de controle (superestado) de um diagrama de alto-nível; a simbologia
interno. A notação para uma ação numa transição é um “/” utilizada corresponde a uma caixa arredondada representando
seguido do nome da ação, após o evento que a causa. o superestado e contendo todos seus subestados.
(YHQWRVpodem também ser expandidos em diagramas
1.3 - Diagramas de estado de estados subordinados. Os eventos podem ser organizados
aninhados numa hierarquia de generalização com herança dos atributos
de eventos. A hierarquia de eventos permite que diferentes
Os diagramas de estado podem ser estruturados para níveis de abstração sejam usados em diferentes lugares num
permitir descrições concisas de sistemas complexos. Através modelo.
de uma JHQHUDOL]DomR, é possível expandir, num nível mais
baixo, adicionando detalhes, uma atividade descrita num 1.4&RQFRUU¬QFLD
nível superior . É possível organizar estados e eventos em
hierarquias, com herança de estrutura e comportamento Um modelo dinâmico descreve um conjunto de objetos
comuns, como no caso da herança de atributos e operações concorrentes, cada um com seu próprio diagrama de estados.
em classes de objetos. Os objetos num sistema são inerentemente concorrentes e
podem mudar de estados de forma independente. O estado
do sistema total é o resultado dos estados de todos os seus
objetos. Um diagrama de estados no caso da junção (assembly)
Figura 5.3. Diagrama de estados (generalização). Fonte: Acervo pessoal
de objetos através de agregação (relação “and”) é uma
coleção de diagrama de estados, concorrentes, um para cada
A DJUHJDomR permite quebrar um estado em
170 Análise de Sistemas II 34
componente. Entretanto, em vários casos, os estados dos dispositivos externos e armazenadores como arquivos.
componentes interagem; transições guardadas para um objeto 'LDJUDPDVGHÁX[RGHGDGRVDQLQKDGRV. Um DFD
podem depender do estado de outro objeto. é particularmente útil para mostrar a funcionalidade de alto-
A concorrência pode também ocorrer dentro do estado nível de um sistema e sua quebra em unidades funcionais
de um único objeto, quando o objeto pode ser particionado menores. Um processo pode ser expandido num outro DFD
em subconjuntos de atributos ou ligações, cada um com seu no qual as entradas e saídas dos processos o são também no
próprio subdiagrama; na notação adotada, os subdiagramas novo diagrama. Eventualmente, o aninhamento de diagramas
são separados por linhas pontilhadas. WHUPLQD FRP IXQo}HV VLPSOHV TXH GHYHP VHU HVSHFLÀFDGDV
como operações.
22PRGHOR)XQFLRQDO )OX[RV GH FRQWUROH. Um DFD não mostra quais
caminhos são executados e em que ordem. Decisões e
O modelo funcional descreve os aspectos do sistema que sequenciamento são questões de controle que fazem parte do
dizem respeito com as transformações de valores: funções, PRGHORGLQkPLFR­VYH]HVSRGHVHU~WLOLQWURGX]LURÁX[R
mapeamentos, restrições e dependências funcionais. Este GH FRQWUROH QR ')' 2 ÁX[R GH FRQWUROH p XPD YDULiYHO
modelo captura RTXHo sistema faz sem levar em conta o booleana que indica quando um processo pode ser realizado;
FRPRe o TXDQGRele faz. RÁX[RGHFRQWUROH UHSUHVHQWDGRSRUXPDOLQKDSRQWLOKDGD
O modelo funcional é representado por vários diagramas no DFD, que vai de um processo que gera uma variável
GHÁX[RGHGDGRV ')' TXHPRVWUDPDVGHSHQGrQFLDVHQWUH booleana ao processo a ser controlado) não é um valor de
valores e o cálculo de valores de saída a partir de valores de entrada para o processo.
entrada e de funções. O modelo funcional inclui também as
restrições entre valores no modelo objeto.
2.1.1 - Especificando operações
Processos em DFD devem eventualmente ser
2.1'LDJUDPDGH)OX[RGH'DGRV implementados como operações sobre objetos. Para cada
O modelo funcional consiste de múltiplos diagramas de nível baixo, um processo é uma operação. Processos de nível
ÁX[R GH GDGRV TXH HVSHFLÀFDP R VLJQLÀFDGR GH RSHUDo}HV elevado podem também ser considerados operações. Uma
HUHVWULo}HV8PGLDJUDPDGHÁX[RGHGDGRV ')' PRVWUD implementação pode ser organizada de forma diferente da que
a relação funcional dos valores calculados pelo sistema, o DFD representa por causa de otimização. Cada operação
incluindo valores de entrada, saída e armazenamento de SRGHVHUHVSHFLÀFDGDGHYiULDVIRUPDVFRPRSRUH[HPSOR
dados internos. funções matemáticas, tabelas de valores de entrada e saída,
Um DFD contém SURFHVVRVque transformam dados, HTXDo}HV HVSHFLÀFDQGR VDtGD HP WHUPRV GH HQWUDGD SUp H
IOX[RVGHGDGRVque movimentam dados, objetos DWRUHV pós-condições, tabelas de decisão, pseudocódigo (algoritmos)
que produzem e consomem dados, objetos DUPD]HQDPHQWR e linguagem natural.
GHGDGRVque estocam os dados.
3URFHVVRV. Um processo transforma valores de dados. 3 - Comparações entre modelos
Um processo é implementado como um método de uma
operação de uma classe de objetos. O objeto alvo é usualmente Cada modelo descreve um aspecto do sistema, mas
XPGRVÁX[RVGHHQWUDGDHVSHFLDOPHQWHVHDPHVPDFODVVH contém referencias aos outros modelos. O modelo objeto
GHREMHWRpWDPEpPXPÁX[RGHVDtGD(PDOJXQVFDVRVR descreve a estrutura de dados sobre a qual os modelos
objeto alvo é implícito. dinâmico e funcional operam. As operações no modelo objeto
)OX[RVGHGDGRV8PÁX[RGHGDGRVFRQHFWDDVDtGD correspondem aos eventos no modelo dinâmico e as funções
GHXPREMHWRRXGHXPSURFHVVRjHQWUDGDGHRXWURREMHWR no modelo funcional.
ou processo Ele representa um valor de dados intermediário O modelo dinâmico descreve a estrutura de controle dos
QXPFiOFXOR2YDORUSHUPDQHFHVHPPXGDQoDQRÁX[RGH REMHWRV$VDo}HVQRGLDJUDPDGHHVWDGRVFRUUHVSRQGHPjV
dados. funções no diagrama funcional. Os eventos no diagrama de
$WRUHV. Um ator é um objeto ativo que conduz o diagrama estados se tornam as operações no modelo objeto.
GHÁX[RGHGDGRVSURGX]LQGRRXFRQVXPLQGRYDORUHV$WRUHV O modelo funcional descreve as funções invocadas pelas
VmROLJDGRVjVHQWUDGDVHVDtGDVGHXPGLDJUDPDGHÁX[RGH operações no modelo objeto e ações no modelo dinâmico.
dados. Eles podem ser vistos como fontes e receptores de $VIXQo}HVRSHUDPVREUHRVYDORUHVGHGDGRVHVSHFLÀFDGRV
dados. pelo modelo objeto. O modelo funcional mostra ainda as
$UPD]HQDGRUHVGHGDGRV. Um armazenador de dados restrições sobre os valores objeto.
p XP REMHWR SDVVLYR GR GLDJUDPD GH ÁX[R GH GDGRV TXH
armazena dados para um acesso futuro. Como no caso de um Seções de estudo
ator, um armazenador não gera operações sobre ele mesmo,
mas simplesmente responde a pedidos para armazenar e
acessar dados. O acesso pode ser feito em ordem diferente do
armazenamento. Destaca- se que atores e armazenadores de
9DPRV DJRUD UHOHPEUDU DOJXQV SRQWRV LPSRUWDQWHV
dados são objetos que se diferenciam pelo seu comportamento
GHVWD$XOD
e uso; atores podem ainda ser implementados como
35 171
²2PRGHOR'LQkPLFR
Vimos que um HVWDGRé caracterizado pelos valores dos
atributos e pelas ligações mantidas por um o. Um HYHQWRé
algo que ocorre num instante de tempo e que não tem duração
e um cenário é uma sequência de eventos que ocorre durante
uma execução particular de um sistema.

²2PRGHOR)XQFLRQDO
Estudamos nesta seção que o modelo funcional
descreve os aspectos do sistema que dizem respeito com as
transformações de valores: funções, mapeamentos, restrições
e dependências funcionais. Este modelo captura R TXH o
sistema faz sem levar em conta o FRPRe o TXDQGRele faz.

²&RPSDUDo}HVHQWUHPRGHORV
Nesta seção, vimos uma comparação do que foi estudado
entre os modelos dinâmico e funcional.

Vale a pena

9DOHDpena ler
PRESSMAN, Roger. Engenharia de Software. São Paulo-
SP: Makron Books, 2006. SOMMERVILLE, I. Engenharia
de Software. 8ª Edição. Addison Wesley, 2007.

9DOHDpena acessar

UNICAMP. Modelagem Dinâmica. Disponível por www


em: http://www.ic.unicamp.br/~ariadne/mc436/1s2013/
cap5.pdf. Acesso em 10/11/2013

Minhas anotações

Você também pode gostar