Modelagem Comportamental
-
Author
guilherme-mendes -
Category
Documents
-
view
634 -
download
2
Embed Size (px)
Transcript of Modelagem Comportamental
FACULDADE PITGORAS DE DIVINPOLIS
MODELAGEM COMPORTAMENTAL
DIVINPOLIS ARIL/2011
FACULDADE PITGORAS DE DIVINPOLIS
MODELAGEM COMPORTAMENTAL
TRABALHO SOBRE MODELAGEM COMPORTAMENTAL REFERENTE DISCIPLINA DE MODELAGEM E GERNCIA
DIVINPOLIS ABRIL/2011
DEDICATRIA
Dedicamos este trabalho ao professor Ernani, que tm nos ensinado com compromisso e dedicao assim como tambm, nossos familiares, que em tudo tem nos apoiado.
AGRADECIMENTOS
Agradecemos a todos que colaboraram direta ou indiretamente para a concluso deste trabalho.
Unir-se um bom comeo, manter a unio um progresso, e trabalhar em conjunto a vitria. Henry Ford.
LISTAS DE ILUSTRAES
SumrioFigura 1- Diagrama de Casos de uso ................................................................................9 Figura 2. Subestados ........................................................................................................17 Figura 3 Diagrama de estado ........................................................................................19 Figura 4 Diagrama de sequencia ..................................................................................21 Figura 5 Diagrama de colaborao ...............................................................................22 Figura 6 Diagrama de atividade....................................................................................24
SUMRIO Modelagem Comportamental ........................................................................................ 8 Diagramas de Casos de Uso ........................................................................................... 9 Mquinas de Estado ..................................................................................................... 11 Conceitos: ...................................................................................................................... 11 Estado ............................................................................................................................ 11 Transies ...................................................................................................................... 12 Aes .............................................................................................................................. 14 Aes de Entrada e Sada............................................................................................. 14 Transies Internas ...................................................................................................... 15 Eventos Adiados............................................................................................................ 16 Subestados ..................................................................................................................... 17 Diagramas Estticos e Dinmicos ............................................................................... 18 Diagrama de Estado ..................................................................................................... 19 Figura 3 Diagrama de estado.................................................................................... 19 Diagrama de Sequncia ................................................................................................ 20 Figura 4 Diagrama de sequencia .............................................................................. 21 Diagrama de Colaborao ........................................................................................... 22 Figura 5 Diagrama de colaborao .......................................................................... 22 Diagrama de Atividade ................................................................................................ 23 Concluso ...................................................................................................................... 25
Modelagem Comportamental
A modelagem comportamental de um sistema consiste, segundo a abordagem orientada por objetos, em dois tipos distintos de especificaes. Por um lado, na modelagem comportamental interobjetos, ou seja, na identificao dos seus padres de trocas de mensagens (diagramas de interao). Por outro lado, na modelagem comportamental intraobjeto, ou seja, na identificao dos estados em que um objeto pode se encontrar ao longo do seu ciclo de vida, dos eventos envolvidos, bem como dos seus algoritmos de implementao (diagramas de estados e atividades). Podemos dizer que a modelagem comportamental descreve o comportamento do interior do sistema, necessrio para interagir com o ambiente. O modelo comportamental representa o que o interior do sistema deve fazer para atender aos eventos apontados pelo modelo ambiental, sendo o principal produto da anlise de requisitos. A modelagem de um sistema com base em diagramas de classes e de objetos traduz apenas as suas relaes estruturais e estticas. Nada revelado sobre o padro interno e externo do comportamento dos objetos ou relativamente definio de determinado algoritmo. A UML providencia os seguintes elementos que permitem a especificao do comportamento de um sistema: objetos, interaes, mensagens, estados, atividades, sinais e eventos. Com base nestes elementos podem-se definir os seguintes tipos de diagramas: diagrama de interaes, diagramas de estados, e diagramas de atividades.
Diagramas de Casos de Uso
Um caso de uso um padro de comportamento que o sistema exibe. Cada caso de uso uma sequencia de transaes relacionadas executadas por um ator e o sistema num dilogo. O diagrama de casos de uso especifica um conjunto de funcionalidades, atraves do elemento sintatico casos de uso, e os elementos extrernos que interagem com o sistema, atraves do elemento sintatico ator (SILVA, 2007). Alem de casos uso e atores, este diagrama contem relacionamentos de dependncia, generalizao e associao e so basicamente usados para fazer a modelagem de viso esttica do caso de uso do sistema. Essa viso proporciona suporte principalmente para o comportamento de um sistema, ou seja, os servios externamente visveis que o sistema fornece no contexto de seu ambiente. Neste caso os diagramas de caso de uso so usados para fazer a modelagem do contexto de um sistema e fazer a modelagem dos requisitos de um sistema.
Figura 1- Diagrama de Casos de uso Como os casos de uso representam um objetivo do ator comum dar como nome aos casos de uso frases verbais curtas no infinitivo (EmprestarMaterial) ou no gerndio (EmprestandoMaterial) onde o sujeito normalmente o ator. Ex. O usurio empresta material O usurio pesquisa assunto Cada caso de uso deve receber uma descrio textual que permita o entendimento do objetivo. Esta descrio pode ser detalhada em cenrios. Um cenrio uma instncia de um caso de uso, isto , uma situao onde o ator utilizou o sistema para conseguir
atingir o objetivo do caso de uso. Um cenrio pode ser considerado otimista de o ator obteve sucesso no seu objetivo, pode ser pessimista se o ator no conseguiu e ocorreu uma situao de exceo, ou o cenrio pode ser alternativo, quanto frente a uma situao de exceo o ator optou por caminhos alternativos. Os diagramas de caso de uso so importantes principalmente para a organizao e modelagem dos componentes de um sistema.
Mquinas de Estado
A Mquina de Estados pode ser entendida como uma representao matemtica de um sistema qualquer (no, necessariamente, apenas de software) que possui um nmero limitado e contvel de estados, sendo cada estado uma representao especfica e instantnea da condio atual de tal sistema. Conceitos: um sistema cuja sada determinada por entradas passadas e corrente O efeito de entradas anteriores representado por um estado uma abstrao composta por eventos (entradas), estados e aes (sadas) Modela sistemas sequenciais Foram aplicadas para design de software a partir da dcada de 60 Foram incorporadas pela UML Elementos presentes em um diagrama de mquina de estados so: Estado Um estado uma condio de um objeto em que ele realiza alguma atividade ou espera um evento. Um objeto pode permanecer em um estado durante um tempo limitado. Um estado tem vrias propriedades: Nome Uma seqncia de caracteres textuais que distingue o estado de outros estados; um estado tambm pode ser annimo, ou seja, no ter nenhum nome. As aes executadas ao entrar no estado ou sair dele. As transies que so manipuladas sem causar mudana de estado. A estrutura aninhada de um estado, envolvendo subestados separados (ativos seqencialmente) ou simultneos (ativos concomitantemente). Uma lista de eventos que no so manipulados no estado, mas so adiados e enfileirados para serem manipulados pelo objeto em outro estado.
Aes de entrada/sada Transies internas
Subestados
Eventos adiados
Transies Uma transio um relacionamento entre dois estados indicando que um objeto no primeiro estado executar certas aes, e entrar em um segundo estado quando ocorrer um evento especificado e determinadas condies forem satisfeitas. Nessa mudana de estado, diz-se que a transio foi 'acionada'. At que a transio seja acionada, diz-se que o objeto est no estado 'de origem'; aps o seu acionamento, diz-se que o objeto est no estado 'de destino'. Uma transio tem vrias propriedades: Estado de origem O estado afetado pela transio. Se um objeto estiver no estado de origem, uma transio de sada poder ser acionada quando o objeto receber um evento trigger da transio e quando a condio de guarda, se houver, for satisfeita. O evento que torna a transio passvel de ser acionada (contanto que sua condio de guarda seja cumprida) quando recebido pelo objeto no estado de origem. Uma boolean expression que avaliada quando a transio disparada pela recepo do disparador de evento. Se o valor da expresso for Verdadeiro, a transio poder ser acionada; se a expresso for Falso, a transio no ser acionada. Se no houver outra transio que possa ser disparada pelo mesmo evento, o evento ser perdido. Um clculo indivisvel executvel que pode agir diretamente sobre o objeto que possui a mquina de estado e indiretamente em outros objetos visveis ao objeto. O estado que ativado aps a concluso da transio.
Trigger de evento
Condio de guarda
Ao
Estado de destino
Uma transio pode ter vrias origens (nesse caso, ela representa uma juno de vrios estados simultneos) e vrios alvos (nesse caso, ela representa uma forquilha para vrios estados simultneos).
Condies de Guarda Uma condio de guarda avaliada aps o evento trigger acionar a transio. possvel que haja vrias transies do mesmo estado de origem e com o mesmo trigger de evento, contanto que as condies de guarda no se sobreponham. Uma condio de guarda avaliada apenas uma vez para a transio no momento em que o evento ocorre. A expresso booleana pode fazer referncia ao estado do objeto.
Aes Uma ao um clculo indivisvel executvel, ou seja, ela no pode ser interrompida por um evento e, portanto, executada at a sua concluso. Isso contrasta com uma atividade, que pode ser interrompida por outros eventos. As aes podem incluir chamadas de operao (para o proprietrio da mquina de estado, bem como para outros objetos visveis), a criao ou a destruio de outro objeto, ou o envio de um sinal para outro objeto. No caso de envio de um sinal, o nome do sinal recebe como prefixo a palavra-chave 'send'. Aes de Entrada e Sada As aes de entrada e de sada permitem que uma mesma ao seja enviada sempre que um estado entra ou sai, respectivamente. As aes de entrada e de sada permitem que isso seja feito adequadamente, sem precisar colocar aes explcitas em todas as transies de entrada e de sada. As aes de entrada e de sada no devem ter argumentos ou condies de guarda. As aes de entrada no nvel mais alto da mquina de estado para um elemento de modelo podem ter parmetros que representam os argumentos que a mquina receber quando o elemento for criado.
Transies Internas As transies internas permitem que eventos sejam manipulados dentro do estado, evitando, com isso, disparar aes de entrada ou de sada. As transies internas podem ter eventos com parmetros e condies de guarda e representam, essencialmente, manipuladores de interrupo.
Eventos Adiados Os eventos adiados so aqueles cuja manipulao adiada at que um estado em que o evento no seja adiado se torne ativo. Quando esse estado se torna ativo, a ocorrncia do evento disparada e pode causar transies como se ele tivesse acabado de ocorrer. A implementao de eventos adiados requer a presena de uma fila interna de eventos. Quando um evento ocorre mas est listado como adiado, ele enfileirado. Os eventos sairo da fila to logo o objeto entre em um estado que no adie esses eventos.
Subestados Um estado simples aquele que no possui subestrutura. Um estado que possui subestados (estados aninhados) denominado estado composto. Os subestados podem ser aninhados em qualquer nvel. Uma mquina de estados aninhados deve ter no mximo um estado inicial e um estado final. Os subestados so usados para simplificar mquinas complexas de estados simples mostrando que alguns estados so possveis apenas dentro de um determinado contexto (o estado confinado).Ver Figura1.
Figura 2. Subestados. A partir de uma origem externa ao estado composto confinado, uma transio pode ter como objetivo um estado composto ou um subestado. Se o seu alvo for o estado composto, a mquina de estados aninhados dever conter um estado inicial, para o qual o controle passar aps entrar no estado composto e aps enviar sua ao de entrada (se houver alguma). Se o seu alvo for o estado aninhado, o controle passar para o estado aninhado aps enviar a ao de entrada do estado composto (se houver alguma) e, em seguida, a ao de entrada do estado aninhado (se houver alguma). Uma transio orientada para fora de um estado composto pode ter como sua origem o estado composto ou um subestado. Nos dois casos, o controle sai primeiro do estado aninhado (e sua ao de sada, se houver, enviada) e, em seguida, sai do estado composto (e sua ao de sada, se houver, enviada). Uma transio, cuja origem o estado composto intrinsecamente, interrompe a atividade da mquina de estados aninhados.
Diagramas Estticos e Dinmicos
Todos os sistemas possuem uma estrutura esttica e um comportamento dinmico. A UML suporta modelos estticos (estrutura esttica), dinmicos (comportamento dinmico) e funcional. A Modelagem esttica suportada pelo diagrama de classes e de objetos, que consiste nas classes e seus relacionamentos. Os relacionamentos podem ser de associaes, herana (generalizao), dependncia ou refinamentos. Os modelamentos dinmicos so suportados pelos diagramas de estado, sequncia, colaborao e atividade. E o modelamento funcional suportado pelos diagramas de componente e execuo.
Diagrama de Estado
O diagrama de estado tipicamente um complemento para a descrio das classes. Este diagrama mostra todos os estados possveis que objetos de uma certa classe podem se encontrar e mostra tambm quais so os eventos do sistemas que provocam tais mudanas. Os diagramas de estado no so escritos para todas as classes de um sistema, mas apenas para aquelas que possuem um nmero definido de estados conhecidos e onde o comportamento das classes afetado e modificado pelos diferentes estados. Diagramas de estado capturam o ciclo de vida dos objetos, subsistemas e sistemas. Eles mostram os estados que um objeto pode possuir e como os eventos (mensagens recebidas, timer, erros, e condies sendo satisfeitas) afetam estes estados ao passar do tempo.
Figura 3 Diagrama de estado Diagramas de estado possuem um ponto de incio e vrios pontos de finalizao. Um ponto de incio (estado inicial) mostrado como um crculo todo preenchido, e um ponto de finalizao (estado final) mostrado como um crculo em volta de um outro crculo menor preenchido. Um estado mostrado como um retngulo com cantos arredondados. Entre os estados esto as transies, mostrados como uma linha com uma seta no final de um dos estados. A transio pode ser nomeada com o seu evento causador. Quando o evento acontece, a transio de um estado para outro executada ou disparada. Uma transio de estado normalmente possui um evento ligado a ela. Se um evento anexado a uma transio, esta ser executada quando o evento ocorrer. Se uma transio no possuir um evento ligado a ela, a mesma ocorrer quando a ao interna do cdigo do estado for executada (se existir aes internas como entrar, sair, fazer ou outras aes definidas pelo desenvolvedor). Ento quando todas as aes forem executadas pelo
estado, a transio ser disparada e sero iniciadas as atividades do prximo estado no diagrama de estados. Diagrama de Sequncia
Um diagrama de sequncia mostra a colaborao dinmica entre os vrios objetos de um sistema. O mais importante aspecto deste diagrama que a partir dele percebe-se a sequncia de mensagens enviadas entre os objetos. Ele mostra a interao entre os objetos, alguma coisa que acontecer em um ponto especfico da execuo do sistema. O diagrama de sequncia consiste em um nmero de objetos mostrado em linhas verticais. O decorrer do tempo visualizado observando-se o diagrama no sentido vertical de cima para baixo. As mensagens enviadas por cada objeto so simbolizadas por setas entre os objetos que se relacionam. Diagramas de sequncia possuem dois eixos: o eixo vertical, que mostra o tempo e o eixo horizontal, que mostra os objetos envolvidos na sequncia de uma certa atividade. Eles tambm mostram as interaes para um cenrio especfico de uma certa atividade do sistema. No eixo horizontal esto os objetos envolvidos na sequncia. Cada um representado por um retngulo de objeto (similar ao diagrama de objetos) e uma linha vertical pontilhada chamada de linha de vida do objeto, indicando a execuo do objeto durante a sequncia, como exemplo citamos: mensagens recebidas ou enviadas e ativao de objetos. A comunicao entre os objetos representada como linha com setas horizontais simbolizando as mensagens entre as linhas de vida dos objetos. A seta especifica se a mensagem sncrona, assncrona ou simples. As mensagens podem possuir tambm nmeros sequenciais, eles so utilizados para tornar mais explcito as sequncia no diagrama. Em alguns sistemas, objetos rodam concorrentemente, cada um com sua linha de execuo (thread). Se o sistema usa linhas concorrentes de controle, isto mostrado como ativao, mensagens assncronas, ou objetos assncronos.
Figura 4 Diagrama de sequencia
Os diagramas de sequncia podem mostrar objetos que so criados ou destrudos como parte do cenrio documentado pelo diagrama. Um objeto pode criar outros objetos atravs de mensagens. A mensagem que cria ou destroi um objeto geralmente sncrona, representada por uma seta slida.
Diagrama de Colaborao
Um diagrama de colaborao mostra de maneira semelhante ao diagrama de sequncia, a colaborao dinmica entre os objetos. Normalmente pode-se escolher entre utilizar o diagrama de colaborao ou o diagrama de sequncia. No diagrama de colaborao, alm de mostrar a troca de mensagens entre os objetos, percebe-se tambm os objetos com os seus relacionamentos. A interao de mensagens mostrada em ambos os diagramas. Se a nfase do diagrama for o decorrer do tempo, melhor escolher o diagrama de sequncia, mas se a nfase for o contexto do sistema, melhor dar prioridade ao diagrama de colaborao. O diagrama de colaborao desenhado como um diagrama de objeto, onde os diversos objetos so mostrados juntamente com seus relacionamentos. As setas de mensagens so desenhadas entre os objetos para mostrar o fluxo de mensagens entre eles. As mensagens so nomeadas, que entre outras coisas mostram a ordem em que as mensagens so enviadas. Tambm podem mostrar condies, interaes, valores de resposta, e etc. O diagrama de colaborao tambm pode conter objetos ativos, que executam paralelamente com outros.
Figura 5 Diagrama de colaborao
Diagrama de Atividade Diagramas de atividade capturam aes e seus resultados. Eles focam o trabalho executado na implementao de uma operao (mtodo), e suas atividades numa instncia de um objeto. O diagrama de atividade uma variao do diagrama de estado e possui um propsito um pouco diferente do diagrama de estado, que o de capturar aes (trabalho e atividades que sero executados) e seus resultados em termos das mudanas de estados dos objetos. Os estados no diagrama de atividade mudam para um prximo estgio quando uma ao executada (sem ser necessrio especificar nenhum evento como no diagrama de estado). Outra diferena entre o diagrama de atividade e o de estado que podem ser colocadas como "swimlanes". Uma swimlane agrupa atividades, com respeito a quem responsvel e onde estas atividades residem na organizao, e representada por retngulos que englobam todos os objetos que esto ligados a ela (swimlane). Um diagrama de atividade uma maneira alternativa de se mostrar interaes, com a possibilidade de expressar como as aes so executadas, o que elas fazem (mudanas dos estados dos objetos), quando elas so executadas (sequncia das aes), e onde elas acontecem (swimlanes). Um diagrama de atividade pode ser usado com diferentes propsitos inclusive: Para capturar os trabalhos que sero executados quando uma operao disparada (aes). Este o uso mais comum para o diagrama de atividade. Para capturar o trabalho interno em um objeto.
Para mostrar como um grupo de aes relacionadas podem ser executadas, e como elas vo afetar os objetos em torno delas. Para mostrar como uma instncia pode ser executada em termos de aes e objetos. Para mostrar como um negcio funciona em termos de trabalhadores (atores), fluxos de trabalho, organizao, e objetos (fatores fsicos e intelectuais usados no negcio). O diagrama de atividade mostra o fluxo sequencial das atividades, normalmente utilizado para demonstrar as atividades executadas por uma operao especfica do sistema. Consistem em estados de ao, que contm a especificao de uma atividade a ser desempenhada por uma operao do sistema. Decises e condies, como execuo paralela, tambm podem ser mostrados no diagrama de atividade. O diagrama tambm pode conter especificaes de mensagens enviadas e recebidas como partes de aes executadas.
Figura 6 Diagrama de atividade
Concluso Conclumos que a modelagem comportamental Descreve os aspectos da dinmica interna de um SI, qual a lgica interna dos processos sem especificar como sero implementados. Ela de extrema importncia para a especificao do funcionamento do sistema, orientando os programadores que iro implementares as classes, assim como tambm clientes que podero opinar no processo de construo no sistema, j que conhecem muito bem como funcionam os processos para os quais o sistema ir trabalhar.