Académique Documents
Professionnel Documents
Culture Documents
Introduo
um artefato que ilustra os eventos de entrada e sada relacionados com o sistema em discusso A notao utilizada para o DSS o Diagrama de Seqncia da UML Utiliza-se os cenrios de casos de uso como base
Introduo
Os casos de uso descrevem como os atores externos interagem com o sistema de software que estamos interessados em criar; Durante essa interao, um ator gera eventos de sistema para um sistema, geralmente solicitando alguma operao de sistema para tratar o evento; Ex.: Quando um caixa entra com o ID de um item, ele est solicitando ao sistema PDV que registre a venda daquele item (o evento entrarItem). Neste caso, o texto do caso de uso implica o evento entrarItem, e o DSS torna isso concreto e explcito.
Introduo
Diagramas de Interao
O objetivo dos modelos vistos at agora fornecer um entendimento do problema correspondente ao SSOO a ser desenvolvido. Entretanto, esses modelos deixam algumas perguntas sem respostas. No modelo de casos de uso:
Quais so as operaes que devem ser executadas internamente ao sistema? A que classes estas operaes pertencem? Quais objetos participam da realizao deste caso de uso?
Diagramas de Interao
No modelo conceitual:
De que forma os objetos colaboram para que
um determinado caso de uso seja realizado? Em que ordem as mensagens so enviadas durante esta realizao? Que informaes precisam ser enviadas em uma mensagem de um objeto a outro? Ser que h responsabilidades ou mesmo classes que ainda no foram identificadas?
Diagramas de Interao
Para responder s questes anteriores, o modelo de interaes deve ser criado. Esse modelo representa mensagens trocadas entre
objetos para a execuo de cenrios dos casos de uso do sistema. A construo dos diagramas de interao uma consolidao do entendimento dos aspectos dinmicos do sistema. A modelagem de interaes uma parte da modelagem dinmica de um SSOO.
Diagramas de interao representam como o sistema age internamente para que um ator atinja seu objetivo na realizao de um caso de uso. A modelagem de um SSOO normalmente contm diversos diagramas de interao. O conjunto de todos os diagramas de interao de um sistema constitui o seu modelo de interaes.
Diagramas de Interao
Os objetivos da construo do modelo de
interao so:
1.Obter informaes adicionais para completar e
aprimorar outros modelos (principalmente o modelo de classes)
de uso (ou cenrio deste)? Uma classe precisa de mais atributos?
Mensagem
O conceito bsico da interao entre objetos a mensagem. Um sistema OO uma rede de objetos que trocam mensagens.
Funcionalidades so realizadas pelos objetos, que s podem interagir atravs de mensagens. Um objeto envia uma mensagem para outro objeto quando o primeiro deseja que o segundo realize alguma tarefa.
O fato de um objeto precisar de ajuda indica a necessidade de este enviar mensagens. Na construo de diagramas de interao, mensagens de um objeto a outro implicam em operaes que classes devem ter.
Uma mensagem representa a requisio de um objeto remetente a um objeto receptor para que este ltimo execute alguma operao definida para sua classe. Essa mensagem deve conter informao suficiente para que a operao do objeto receptor possa ser executada.
Uma mensagem implica na existncia de uma operao no objeto receptor. A resposta do objeto receptor ao recebimento de uma mensagem a execuo da operao correspondente.
1: adicionarItem(item)
Mensagem com clusula de iterao e com limites Mensagem aninhada com retorno armazenado na
varivel x.
1.2.1: x := selecionar(e) 2 *[i := 1..10]: figuras[i].desenhar( )
2 *: desenhar( )
Multiobjetos
Um multiobjeto o nome que a UML d para uma coleo de objetos de uma mesma classe. Pode ser
utilizado para:
representar o lado muitos de uma associao de
conectividade um para muitos. representar uma lista (temporria ou no) de objetos sendo formada em uma colaborao.
Diagrama de seqncia
Diagrama de seqncia
Os objetos participantes da interao so organizados na
horizontal. Abaixo de cada objeto existe uma linha (linha de vida) Cada linha de vida possui o seu foco de controle. Quando o objeto est fazendo algo. As mensagens entre objetos so representadas com linhas horizontais rotuladas partindo da linha de vida do objeto remetente e chegando a linha de vida do objeto receptor. A posio vertical das mensagens permite deduzir a ordem na qual elas so enviadas. Ordem de envio de mensagens em um diagrama de seqncia pode ser deduzida a partir das expresses de seqncia. Criao e destruio de objetos podem ser representadas.
Elementos grficos de um DS
Elementos bsicos em um diagrama de
seqncia:
Atores Objetos, multiobjetos e classes Mensagens Linhas de vida e focos de controle Criao e destruio de objetos Iteraes
Elementos grficos de um DS
Mensagens reflexivas em um DS
Em uma mensagem reflexiva (ou automensagem) o remetente tambm o receptor.
Corresponde a uma mensagem para this (self).
Criao/destruio de objetos em um DS
Diagrama de comunicao
Chamado de diagrama de colaborao na UML
1.X. Estruturalmente, bastante diagrama de objetos.
semelhante
um
Elementos grficos de um DC
Elementos bsicos em um diagrama de
comunicao: Atores Objetos, multiobjetos e classes Mensagens Ligaes entre objetos Criao e destruio de objetos Iteraes
Elementos grficos de um DC
Criao de objetos em um DC
Durante a execuo de um cenrio de caso de uso, objetos podem
ser criados e outros objetos podem ser destrudos. Alguns objetos podem sobreviver execuo do caso de uso (se conectando a outro objetos); outros podem nascer e morrer durante essa execuo. A UML define etiquetas (tags) para criao e destruio de objetos (ou de ligaes entre objetos) no diagrama de comunicao. {new}: objetos ou ligaes criados durante a interao. {destroyed}: objetos ou ligaes destrudos durante a interao. {transient}: objetos ou ligaes destrudos e criados durante a
interao.
Criao de objetos em um DC
Modularizao de interaes
Quadros de interao
Elemento grfico, que serve para modularizar a construo de diagramas de seqncia (ou de comunicao). Objetivos especficos:
Dar um nome ao diagrama que aparece dentro do quadro; Fazer referncia a um diagrama definido separadamente; Definir o fluxo de controle da interao.
Notao:
Diagramas nomeados
Dar um nome ao diagrama que aparece dentro do quadro
Diagramas referenciados
Fazer referncia a um diagrama definido separadamente.
Uma mensagem implica na existncia de uma operao no objeto receptor. A resposta do objeto receptor ao recebimento de uma mensagem a execuo da operao correspondente.
Alocao de responsabilidades
Podemos ento entender a modelagem de interaes como um processo cujo objetivo final decompor as responsabilidades do sistema e aloc-las a classes. Dado um conjunto de N responsabilidades, uma possibilidade criar uma nica classe no sistema para assumir com todas as N responsabilidades. Outra possibilidade criar N classes no sistema, a cada um delas sendo atribuda uma das N responsabilidades. Certamente, as duas alternativas anteriores so absurdas do ponto de vista prtico. Mas, entre as muitas maneiras possveis de alocar responsabilidades, como podemos saber quais delas so melhores que outras?
Acoplamento e coeso
A resposta pergunta anterior no nenhuma receita de bolo. De fato, para construirmos uma bom modelo de interaes,
devemos lanar mo de diversos princpios de projeto: Dois dos principais princpios so o acoplamento e a coeso.
extremamente
importante
assegurar
que
as
Acoplamento e coeso
O acoplamento uma medida de quo fortemente
uma classe est conectada a outras classes, tem conhecimento ou depende das mesmas. Uma classe com acoplamento fraco (baixo) no depende de muitas outras.
inteligvel isoladamente e menos reutilizvel.
sensvel a mudanas, quando necessrio modificar as classes da qual ela depende. Concluso: criar modelos com alta coeso e baixo acoplamento deve ser um objetivo de qualquer projetista.
Procedimento de construo
Vamos agora descrever um procedimento para
construo do modelo de interaes.
Note, primeiramente, que esse procedimento genrico serve
tanto para diagramas de seqncia quanto para diagramas de comunicao, resguardando-se as diferenas de notao entre os dois.
Durante
a aplicao desse procedimento, recomendvel considerar todas as dicas descritas anteriormente. Antes de descrevermos esse procedimento, necessrio que definamos o conceito de evento de sistema
Eventos de sistema
Eventos de sistema correspondem s aes do ator
no cenrio de determinado caso de uso. Sendo assim, relativamente fcil identificar eventos de sistemas em uma descrio de caso de uso: devemos procurar nessa descrio os eventos que correspondem a aes do ator.
No caso particular em que o ator um ser humano e existe uma interface grfica para que o mesmo interaja com o sistema, os eventos do sistema so resultantes de aes desse ator sobre essa interface grfica, que corresponde a objetos de fronteira.
Procedimento de construo
Para cada caso de uso, selecione um conjunto de cenrios relevantes. O cenrio correspondente ao fluxo principal do caso de uso deve
ser includo. Considere tambm fluxos alternativos e de exceo que tenham potencial em demandar responsabilidades de uma ou mais classes.
Para cada cenrio selecionado, identifique os eventos de sistema: Posicione o(s) ator(es) no diagrama. Para cada passo do cenrio selecionado, defina as mensagens a
serem enviadas de um objeto a outro. Defina as clusulas de condio e de iterao, se existirem, para as mensagens. Adicione multiobjetos e objetos de entidade medida que a sua participao se faa necessria no cenrio selecionado.
considerado? A mensagens que um objeto recebe esto consistentes com suas responsabilidades?
conta de um evento de sistema resultam na necessidade de definir operaes de sistema no objeto controlador do caso de uso.
Por exemplo, no do formulrio de fornecimento de
disponibilidades, o controlador deve possuir as seguintes operaes de sistema: validarProfessor(matrcula); adicionarDisciplina(nomeDisciplina); adicionarItemDisponibilidade(dia, horaInicial, horaFinal). registrarGrade()
MI em um processo iterativo
So utilizados na fase de construo de um ciclo de
vida incremental e iterativo.
iterao desta fase.
utilizao desse modelo (se na anlise ou se no projeto). Inicialmente (+anlise), pode exibir apenas os objetos participantes e mensagens exibindo somente o nome da operao (ou nome da responsabilidade). Posteriormente (+projeto), pode ser refinado.
criao e destruio de objetos, tipo e assinatura completa
de cada mensagem, etc.
MI em um processo iterativo
Embora modelos de um SSOO representem vises distintas, eles so interdependentes e complementares.
O MCU fornece cenrios a serem considerados pelo MI. O modelo de classes de anlise fornece objetos iniciais para
o MI. A construo do MI fornece informaes teis para transformar o modelo de classes de anlise no modelo de classes de especificao. Em particular, MI fornece os seguintes itens para refinar o modelo de classes de anlise: Detalhamento de operaes Detalhamento de associaes Operaes para classes Novos atributos para classes Novas classes
MI em um processo iterativo
Referncia Bibliogrfica
LARMAN, Craig. Utilizando UML e Padres: uma
introduo anlise e ao projeto orientados a objetos e ao desenvolvimento iterativo 3. Edio Porto Alegre: Bookman, 2007.