Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(parte 1)
Jobson Massollar
jobson@cos.ufrj.br
Tayana Conte
tayana@cos.ufrj.br
www.cos.ufrj.br/~ese
Sumrio
Introduo UML Definio & Caractersticas Diagramas da UML 2.0 Modelo de Casos de Uso Atores Descrio dos Casos de Uso Diagrama de Casos de Uso Diagrama de Atividades
www.cos.ufrj.br/~ese
Introduo
Um modelo uma simplificao/abstrao da realidade. Construmos modelos para compreender melhor o sistema que estamos desenvolvendo. Facilidades alcanadas pela modelagem: 9 Os modelos ajudam a visualizar o sistema como ele ou como desejamos que seja. 9 Os modelos permitem especificar a estrutura ou o comportamento de um sistema. 9 Os modelos proporcionam um guia para a construo do sistema. 9 Os modelos documentam as decises de projeto tomadas. 9 Os modelos permitem visualizar o sistema em diversos nveis de abstrao. 9 Os modelos facilitam a comunicao entre os membros da equipe.
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
UML - Diagramas
Diagramas previstos na UML 2.0: Estruturais ou Estticos: 9 Diagrama de Classes 9 Diagrama de Componentes 9 Diagrama de Implantao 9 Diagrama de Objetos 9 Diagrama de Pacotes 9 Diagrama de Estrutura da Composio 9 Diagrama Combinado Componentes/Implantao Comportamentais ou Dinmicos: 9 Diagrama de Casos de Uso 9 Diagrama de Seqncia 9 Diagrama de Atividades 9 Diagrama de Estados 9 Diagrama de Comunicao (antigo diagrama de Colaborao da UML 1.4) 9 Diagrama de Viso Geral da Interao 9 Diagrama de Tempo
www.cos.ufrj.br/~ese
UML Diagramas
Diagrama de Casos de Uso: nele especificamos/detalhamos os requisitos funcionais descrevendo os cenrios nos quais os atores interagem com o sistema. So bastante teis na comunicao com os stakeholders. Diagrama de Classses: o principal diagrama da anlise e projeto OO (viso estrutural). Nele mostramos as classes do sistema, seus relacionamentos (herana, associao, composio e agregao), seus atributos e seus mtodos. Diagrama de Sequncia: o modelo mais usado para viso dinmica de uma sistema. usado na anlise e projeto para modelar a interao entre os diversos objetos em uma linha de tempo. Diagrama de Atividades: so normalmente usados para modelagem de processos de negcio ou para detalhamento da lgica de negcio. Tambm podem ser usados pra descrever casos de uso. Permitem a modelagem de fluxo de controle e de dados.
www.cos.ufrj.br/~ese
UML Diagramas
Diagrama de Estados: modela como os estmulos ou eventos externos causam mudanas no estado de um objeto no decorrer do seu ciclo de vida. Diagrama de Pacotes: mostra como os elementos esto organizados em pacotes e as dependncias entre esses pacotes. Diagrama de Componentes: modela as partes do software no ambiente de implementao (cdigos-fonte, DLLs, executveis, HTML, CSS, JAR, CLASS, bibliotecas, componentes especficos, etc.). Diagrama de Implantao: modela o hardware do ambiente de desenvolvimento, teste, homologao, produo, etc. Diagrama de Comunicao: equivalente ao diagrama de seqncia, mas sem o foco temporal (algumas ferramentas UML geram diagrama de colaborao/comunicao a partir do diagrama de seqncia).
www.cos.ufrj.br/~ese
UML Diagramas
Diagrama de Objetos: modela instncias reais das classes e seus relacionamentos, ou seja, modela fatos reais ou exemplos do dia-a-dia. Diagrama de Tempo: como o diagrama de estados, tambm modela mudanas no estado de um objeto. Entretanto, enfatiza a questo do tempo durante o ciclo de vida. Diagrama de Viso Geral da Interao: usa o mesmo layout do diagrama de atividades. Entretanto, ao invs de modelar atividades so modelados blocos de interao associados ao diagrama de seqncia, ou seja, uma viso macro ao invs de uma viso detalhada. Diagrama de Estrutura da Composio: modelam um comportamento/estrutura complexa (onde esto envolvidas classes e/ou componentes) e os pontos de interao usados para acessar os recursos dessa estrutura. Diagrama Combinado Componentes/Implantao: une os modelos de Componentes e Implantao mostrando como os componentes de software esto distribudos nos componentes do hardware.
www.cos.ufrj.br/~ese
Aps a identificao dos requisitos preciso especific-los. Uma tcnica comumente adotada para especificao dos requisitos a modelagem de Casos de Uso (Use Cases). Caractersticas: Podem ser consultados por qualquer stakeholder. O foco o problema e no a soluo computacional. Permite registrar de fato o que o sistema deve fazer. Independente da abordagem de desenvolvimento no OO. Pode ser descrito com diversos nveis de detalhamento.
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
Ator no o mesmo que usurio! 9 Um ator representa um papel exercido por um usurios ao interagir com um determinado caso de uso. 9 Usurios podem desempenhar mais de um papel junto ao sistema.
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
Representaes para Casos de Uso: 9 Descries textuais contnuas 9 Descries formais (com pr e ps-condies, fluxo principal, alternativos e de exceo) 9 Tabelas Ator x Sistema
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
Cliente
Insere seu carto no caixa eletrnico. Digita senha. Solicita realizao de saque. Retira a quantia e o recibo.
Sistema
Apresenta solicitao de senha. Exibe operaes disponveis. Requisita quantia a ser sacada.
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
1. 2. 3. 4. 5.
6. 7.
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
Fluxos de Exceo : E0 [ Carto invlido] E1.1 O Sistema informa que o carto invlido. E1.2 O Sistema solicita que seja inserido o carto. [E2] E1.3 Continua com o passo 1 do fluxo principal. E1 [O cliente no retirou o carto magntico do caixa eletrnico em 20 segundos] A1.1 O Sistema solicita que o cliente retire o carto magntico e aguarda at que o cliente execute a ao. [E2] A1.2 Continua com o passo 4 do fluxo principal. E2 [Cliente no executa nenhuma ao em 20 segundos] E2.1 O Sistema cancela a operao corrente e volta para a tela principal. E2.2 Caso de uso encerrado.
www.cos.ufrj.br/~ese
Fluxos de Exceo: E3 [Senha invlida < 3 vezes] E3.1 O Sistema avisa que a senha invlida. E3.2 Volta para o passo 4 do fluxo principal. E4 [Senha invlida >= 3 vezes] E4.1 O Sistema informa que a senha de acesso ao caixa eletrnico est bloqueada e pede que o cliente v at uma agncia para recadastrar a senha. E4.2 Caso de uso encerrado. E5 [No existe dinheiro suficiente no caixa eletrnico para a quantia desejada] E5.1 O Sistema informa que no h dinheiro suficiente para a quantia desejada. E5.2 Volta para o passo 9 do fluxo principal. E6 [As notas existentes no caixa eletrnico no conseguem formar a quantia desejada] E6.1 O Sistema informa que as notas existentes no caixa eletrnico no conseguem formar a quantia desejada e lista os valores das notas existentes. E6.1 Volta para o passo 9 do fluxo principal.
www.cos.ufrj.br/~ese
Fluxos de Exceo: E7 [Saldo insuficiente na CC para a quantia desejada] E7.1 O Sistema informa que no h saldo suficiente para a quantia desejada. E7.2 Volta para o passo 9 do fluxo principal. E8 [Cliente est tentando sacar mais de R$1.000,00 em 24hs] E8.1 O Sistema informa que foi ultrapassado o limite de R$1000,00 para saque. E8.2 Volta para o passo 9 do fluxo principal. E9 [Problemas durante a contagem do dinheiro ou no mecanismo de entrega do dinheiro] E9.1 O Sistema informa que ocorreram problemas no equipamento. E9.2 Caso de uso encerrado. E10 [Problema na comunicao com o banco durante o dbito na CC] E10.1 O Sistema informa que ocorreram problemas na comunicao com o banco. E10.2 O Sistema grava um log informando que o dinheiro foi sacado, mas o dbito na CC no foi efetuado. E10.3 Caso de uso encerrado.
www.cos.ufrj.br/~ese
Fluxos de Exceo: E11 [Problemas na impressora] E11.1 O Sistema informa que ocorreram problemas na impresso do recibo e que o mesmo poder ser retirado em outro caixa eletrnico. E11.2 Caso de uso encerrado. E12 [Problema na comunicao com o banco em qualquer operao, exceto dbito em CC] E12.1 O Sistema informa que ocorreram problemas na comunicao com o banco. E12.2 Caso de uso encerrado. Regras de Negcio: RN1-O cliente no pode sacar um valor maior que: saldo da CC + limite do cheque-especial. RN2-O cliente no pode sacar mais de R$1000,00 em um perodo de 24hs (de oh de um dia at a 0h do dia seguinte). RN3-Caso o cliente erre a senha mais de 3 vezes seguidas, a mesma dever ser bloqueada. RN4-Caso o cliente no tome nenhuma ao em 20 segundos a operao ser cancelada. RN5-Caso haja alguma falha na comunicao com o banco a operao ser cancelada.
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
Importante para no se obter casos de uso grandes demais. Importante para no se obter casos de uso pequenos demais. Cuidado: um caso de uso no deve ser apenas um passo de um processo.
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
www.cos.ufrj.br/~ese
Fazer check-out
Fazer check-in
www.cos.ufrj.br/~ese
Processos Regras
Modelos
A descrio textual do caso de uso traz, ao mesmo tempo, vantagens e riscos (descries textuais aceitam qualquer contedo). Geralmente so adotadas algumas aes para mitigar esses riscos, como por exemplo, estabelecer padres para descrio dos casos de uso (tanto para a forma quanto para o nvel da abstrao)
www.cos.ufrj.br/~ese
Diagrama de Atividades
Os diagrama de Atividades uma verso bastante melhorada dos antigos fluxogramas. So bastante teis para: Modelar processos de negcio Especificar operaes ou algoritmos complexos Especificar mtodos Alguns analistas utilizam o diagrama de atividades para modelar Casos de Uso. Entretanto, deve-se ter em mente que: 9 A notao dificulta a leitura dos casos de uso pelos stakeholders. 9 Existe a necessidade de uma ferramenta case para sua criao, ao contrrio da notao textual.
www.cos.ufrj.br/~ese
Prottipo da Interface
Modelo Conceitual
Modelagem Esttica
www.cos.ufrj.br/~ese
Diagrama de Atividades
O diagrama de Atividades pode conter os seguintes componentes bsicos:
Descrio Atividade inicial: denota o ponto inicial do fluxo de atividades. Atividade: representada por um retngulo com os cantos arredondados com o nome da atividade no seu interior. Transio: representa o fluxo de execuo entre duas atividades. Deciso: representa o ponto onde uma deciso deve ser tomada. As vrias alternativas so definidas por condies de guarda. Smbolo
Condio de guarda: expresso associada a uma transio que determina se aquele fluxo de execuo pode ser seguido ou no. Deve estar entre colchetes.
www.cos.ufrj.br/~ese
Diagrama de Atividades
Descrio Ponto de merge: representa o local onde dois caminhos alternativos se juntam. Cuidado: no o mesmo que sincronizao. Smbolo
Concorrncia: algumas atividades podem acontecer simultaneamente ou em paralelo. Para representar a concorrncia usamos o smbolo de bifurcao e sincronizao.
Atividade final: representa o fim do fluxo de execuo. Pode existir mais de uma atividade final.
www.cos.ufrj.br/~ese
Diagrama de Atividades
Descrio Swinlanes (raias): permitem determinar as responsabilidades na execuo de cada atividade Smbolo
www.cos.ufrj.br/~ese
Diagrama de Atividades
Exerccio 1: criar um diagrama de atividade para representar o seguinte processo: Em uma empresa, quando um gerente deseja conceder um aumento salarial ou uma promoo de cargo a um empregado, ele abre uma requisio no RH. Inicialmente o setor de anlise de pessoal verifica se a requisio somente para aumento salarial, somente para promoo ou ambos. Caso a requisio seja somente de aumento salarial (sem mudana de cargo), a requisio enviada para o setor de anlise financeira que verificar se o departamento ao qual pertence o empregado suporta o aumento requerido. Caso a requisio seja de promoo de cargo (com ou sem aumento salarial), ela analisada pelo prprio setor de anlise de pessoal para verificar se a mesma se encontra dentro das regras de promoo. Caso esteja, ela enviada para o setor de anlise financeira para anlise da viabilidade financeira. Caso contrrio, ela enviada para o Gerente de RH que poder aprov-la mesmo fora das regras de promoo. Nesse caso ela tambm enviada para o setor de anlise financeira. Caso a requisio seja aprovada ou reprovada, o gerente solicitante toma cincia por email.
www.cos.ufrj.br/~ese
Diagrama de Atividades
www.cos.ufrj.br/~ese
Diagrama de Atividades
Exerccio 2: criar um diagrama de atividade para representar o seguinte processo: Um cliente liga a para para o setor de tele-vendas de uma empresa e realiza o seu pedido. Aps a realizao do pedido, o cliente informa o nmero do CC. Aps autorizao online da compra, as quantidades so baixadas do estoque e os dados do pedido so enviados para o setor de faturamento para emisso da NF e para o setor de logstica para separao dos produtos. O setor de logstica separa os produtos e embala os mesmos juntamente com a NF emitida. O pacote repassado a uma transportadora que entrega o produto na casa do cliente. Este recebe o produto e assina o canhoto de mercadoria entregue. Esse canhoto entregue no setor de logstica para dar baixa na entrega do produto.
www.cos.ufrj.br/~ese
Diagrama de Atividades
www.cos.ufrj.br/~ese
Diagrama de Atividades
Atividades e Aes: Atividade: o processo que est sendo modelado Ao: um passo do processo que est sendo modelado
www.cos.ufrj.br/~ese
Diagrama de Atividades
Atividades e Aes podem ter pr e ps-condies:
www.cos.ufrj.br/~ese
Diagrama de Atividades
Aes podem invocar processos, ou seja, invocar atividades. Nesse caso so chamadas de aes call activity ou call behavior:
www.cos.ufrj.br/~ese
Diagrama de Atividades
Alm do fluxo normal de controle, objetos podem ser usados para modelar os fluxos de dados que trafegam entre as aes. Fluxos de controle e dados so representados atravs da mesma sintaxe. Objetos so representados por retngulos . Uma forma alternativa de representao dos fluxos de dados atravs dos PINS.
www.cos.ufrj.br/~ese
Diagrama de Atividades
O smbolo que define o fim do fluxo de dados diferente daquele usado para definir o fim do fluxo de controle Tambm possvel definir o estado que os objetos assumem ao longo do fluxo de dados.
www.cos.ufrj.br/~ese
Diagrama de Atividades
possvel tambm definir parmetros para as atividades, que definem os dados de entrada e/ou sada das mesmas. Esses parmetros podem ser usados como objetos de entrada para as aes que compem a atividade ou serem obtidos atravs dos objetos gerados por essas atividades.
www.cos.ufrj.br/~ese
Diagrama de Atividades
Podemos associar transformaes aos fluxos de dados, a fim de definir como os objetos gerados por uma atividade/ao so "transformado" em outros objetos que sero consumidos por outras atividades/aes.
www.cos.ufrj.br/~ese
Diagrama de Atividades
Podemos definir aes sobrecarregadas atravs dos conjuntos de parmetros. Cada conjunto define, exclusivamente, quais parmetros so aceitos ou quais resultados so gerados pela ao.
www.cos.ufrj.br/~ese
Diagrama de Atividades
A execuo do diagrama ocorre atravs de tokens que trafegam pelos fluxos de controle e de dados. Para que uma atividade/ao seja executada todos os tokens nos parmetros ou pins de entrada devem estar disponveis, assim como pelo menos um token nos fluxos de controle que chegam ao.
www.cos.ufrj.br/~ese
Diagrama de Atividades
Podemos definir tambm tratadores de exceo para uma ao especfica ou para um conjunto de aes.
try { imagem = carregar(nomeArquivo); try { imagem = redimensionar(imagem, largura, comprimento); } catch(erroMemoria) { NotificarUsuario(); return; } salvar(imagem, nomeArquivo); } catch(excecao e) { notificarUsuario(e); }
www.cos.ufrj.br/~ese
Referncias
Bezerra, E. Princpios de Anlise e Projeto de Sistemas com UML Editora Campus, 2002. Booch, G. et al. UML, guia do usurio Campus, 2000. Cockburn, A., Escrevendo Casos de Uso Eficazes, Editora Bookman, 2005. Falbo, R., Modelagem de Objetos usando UML. Mini-Curso XVII Simpsio Brasileiro de Engenharia de Software (SBES), Manaus, 2003. Lima, A. S., UML 2.0 Do Requisito Soluo, Editora rica, 2005. Pender, T., A Bblia UML, Editora Elsevier, 2005. Pilone, D., Pitman, N. UML 2.0 In A Nutshell, OReilly, 2005.
www.cos.ufrj.br/~ese