Dúvida no diagrama de sequência.  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
foguinho
Debugger

Membro desde: 20/05/2006 15:59:44
Mensagens: 56
Offline

Fala galera, tudo tranqüilo, galera eu estou tentando criar um diagrama de seqüência para a minha aplicação de controle de estoque, mais eu não estou conseguindo compreender muito bem como ficaria esse diagrama com a arquitetura que eu estou utilizado, o meu projeto está assim eu tenho uma classe Produto com os gets e sets, uma classe ProdutoBO com ás regras de negocio, uma classe ProdutoDAO com os sqls e uma classe com a interface para o usuário. Inclusive eu dei uma olhada nos diagramas lá no site da sun mais mesmo assim eu não conseguir compreender como ficaria esse diagrama de seqüência com essa arquitetura. Galera agradeço desde já pela atenção é vou ficar torcendo para que alguém possa esclarecer essa minha dúvida t+++.
rodrigoallemand
GUJ Ranger
[Avatar]

Membro desde: 21/02/2005 20:19:47
Mensagens: 972
Localização: Rio de Janeiro, Recreio!!!
Offline

Putz... "Falar" um diagrama de sequencia é meio estranho... mas vamos tentar...

Eu faria da seguinte maneira:



É meio dificil "escrever" este diagrama, mas seria mais ou menos assim...
Lembre-se de:
- Desacoplar totalmente as camadas de DAO e de BO!!!
- Nunca pule uma camada!!!
- Para transferencia de informação entre as camadas, utilize os objetos disponiveis na linguagem (nativos e/ou primitivos) ou os DTOs.
- BOs e DTOS SEMPRE devem levantar exceções!

Rodrigo Allemand

A culpa é minha e eu a coloco em quem eu quizer!. (Homer Simpson)
http://blog.rodrigoallemand.com.br
[WWW] [MSN]
TiagoFoil
JavaGuru
[Avatar]

Membro desde: 22/02/2005 19:46:49
Mensagens: 205
Offline

Boa tarde,

Cara, vc tem q ter em mente q o diagrama de sequência serve pra descrever seus "processos", exemplo, o processo de "cadastrar produto". Neste caso vc começa colocando o ator q dispara essa ação, vc coloca a linha jogando pro outro ator (geralmente uma classe do "sistema"), e por cima da linha vc coloca o nome do método q faz essa requisitação, bem como seus parâmetros e retorno. Com relaçao a nomenclatura e forma de se desenhar este diagrama, aconselho vc pegar na net algum tutorial ou usar o livro "Utilizando UML e Padrões", 2ª Edição, Graig Larman.

Espero ter ajudado.
[MSN] [ICQ]
ramilani12
GUJ Master
[Avatar]

Membro desde: 11/03/2005 01:23:30
Mensagens: 1944
Localização: Curitiba-PR
Offline

Tipo para cada caso de uso vc cria uma classe Controle , para cada ator(usuário,banco de dados e etc), vc cria uma classe Fronteira(Interface) e depois cria um classe Entidade que seria a sua Produto com os Get e Sets a sua classe controle seria responsável em comandar as interfaces e criar as entidades , resumindo a sua classe Controle ficará mesmo o algoritmo(regra de negócio) a classe Entidade responsável só p/ armazenar e Classe Interface só comunicação com ator ...
Não seise é p/ deskotp ou web o seu sistema ...

my delicious|follow me|linkedin
[Email] [ICQ]
foguinho
Debugger

Membro desde: 20/05/2006 15:59:44
Mensagens: 56
Offline

E aí Rodrigo é Tiago, tudo beleza obrigado aí pela ajuda. Rodrigo são vários diagramas de sequencia, eu me expressei mal, e o meu projeto eu estou usando swing. Tiago eu sei fazer diagramas de sequencia, eu só não estou conseguindo compreender a classe Produto que tem os gets e sets.
foguinho
Debugger

Membro desde: 20/05/2006 15:59:44
Mensagens: 56
Offline

Obrigado aí ramilani12 pelas dicas mais eu estou tentando seguir esse meu pradrão mesmo, exemplo uma classe Produto com os gets e sets, uma classe ProdutoBO com ás regras de negocio, uma classe ProdutoDAO com os sqls e uma classe com a interface para o usuário é eu estou usando swing.
Fabricio Cozer Martins
GUJ Ranger
[Avatar]

Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline


hehehhee, tosco neh ? rs brincadeira, pra fazer use o jude ou alguma outra ferramenta gráfica pra modelagem uml.

Observe ao fato de que vc está representando operações e fluxos de informações em uma determinada linha de tempo. Ou seja, não tente expressar muita coisa (tudo que acontece), pois seu diagrama fica poluido, e tente ver o que de fato vai ser compreensível para a equipe de desenvolvedores vai entender. Expresse os métodos mais importantes, se houver algum padrão de projeto importante pra ser colocado no diagrama é legal também, só não exagera.

Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4
[MSN] [ICQ]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline

rodrigoallemand wrote:
- Para transferencia de informação entre as camadas, utilize os objetos disponiveis na linguagem (nativos e/ou primitivos) ou os DTOs.


Como falei no outro tópico, isto não é necessário nem recomendável a menos que existam diversas Camadas Físicas. Para outros cenários utilize objetos de negócio normais. Mais detalhes Revista Mundo Java #15.

rodrigoallemand wrote:
- BOs e DTOS SEMPRE devem levantar exceções!


Essa eu não entendi. Como assim?


Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
rodrigoallemand
GUJ Ranger
[Avatar]

Membro desde: 21/02/2005 20:19:47
Mensagens: 972
Localização: Rio de Janeiro, Recreio!!!
Offline

pcalcado wrote:
rodrigoallemand wrote:
- BOs e DTOS SEMPRE devem levantar exceções!


Essa eu não entendi. Como assim?



Objetos de negocio e de acesso a dados retornam o produto gerado na sua chamada ou levantam exceções... muitos, no inicio de UML, colocal a verificação de retorno no próprio diagrama. Diagrama de sequencia deve representar um fluxo de sucesso, normalmente. Fluxos alternativos (exceções, validações, erros, etc) devem ser representados em skets separados ou no documento de descrição de caso de uso...

Rodrigo Allemand

A culpa é minha e eu a coloco em quem eu quizer!. (Homer Simpson)
http://blog.rodrigoallemand.com.br
[WWW] [MSN]
foguinho
Debugger

Membro desde: 20/05/2006 15:59:44
Mensagens: 56
Offline

Valeu aí pelas dicas de todo mundo. Eu tentei fazer o digrama de sequencia, mais eu não sei aonde colocar a classe Produto que tem os gets e os sets. Esse exemplo ficou bem básico.
[Thumb - cadastrarProduto.jpg]
 Nome do arquivo cadastrarProduto.jpg [Disk] Download
 Descrição
 Tamanho 20 Kbytes
 Baixado:  1454 vez(es)

Fabricio Cozer Martins
GUJ Ranger
[Avatar]

Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline

rodrigoallemand wrote:
pcalcado wrote:
rodrigoallemand wrote:
- BOs e DTOS SEMPRE devem levantar exceções!


Essa eu não entendi. Como assim?



Objetos de negocio e de acesso a dados retornam o produto gerado na sua chamada ou levantam exceções... muitos, no inicio de UML, colocal a verificação de retorno no próprio diagrama. Diagrama de sequencia deve representar um fluxo de sucesso, normalmente. Fluxos alternativos (exceções, validações, erros, etc) devem ser representados em skets separados ou no documento de descrição de caso de uso...

é que seu sempre soou como regra e que em alguns casos não tem porque lançar exceções.

Mas em relação a expressar as exceções lançadas no Sequence Diagram, acho que não faz muito sentido, só polui mais, como você falou e concordo devem ficar em documentos separados, caso de uso não sei se é o melhor artefato pra isso, pois ela expressa somente a iteração do sistema com o usuário, um documento de classes detalhado pode ser melhor.

Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4
[MSN] [ICQ]
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Vamos la. Diagrama de sequência serve para modelar interações entre elementos. Um dos maiores usos é realizar caso de uso. Geralmente modelamos a estrutura estática das Classes (atributos e associações) no diagrama de classes, e depois, encontramos as operações de negócio modelando a interação (diag. de sequência).

Como os gets e sets são ligados à estrutura estática (atributos), não é obrigatório que conste no diagrama de sequência, a não ser que você queira destacar alguma atribuição na interação.

Não costumo deixar o modelo tão dependente da arquitetura. Eu costumo modelar num nível de abstração em concordância com a arquitetura. Arquiteturas fortes permitem um modelo mais abstrato. Dando um exemplo mais claro, modelar um cadastro de cliente seria mais ou menos isso:

 Nome do arquivo diagrama seq.JPG [Disk] Download
 Descrição Caso de Uso Manter Cliente - Cenário Inclusão
 Tamanho 37 Kbytes
 Baixado:  1702 vez(es)


Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
foguinho
Debugger

Membro desde: 20/05/2006 15:59:44
Mensagens: 56
Offline

E aí galera, brigado aí pela ajuda de vocês. Olha só, eu vou mostra como eu estou fazendo em código esse cadastro de produto, aí depois se der pra vocês me explicar como vai ficar esse diagrama de seqüência eu ficarei muito agradecido. È só lembrando eu estou começando com o java agora.

1º Na classe de interface para o usuário eu tenho esse método:


2º Na classe ProdutoBO eu tenho o método cadastrarProduto:



3º Na classe ProdutoDAO eu tenho o método adicionaProduto:

ClashFM
Thread.start()
[Avatar]

Membro desde: 28/06/2006 15:24:46
Mensagens: 25
Localização: Sampa
Offline

Se entendi direito, o ponto que ficou faltando foi "como usar a classe Produto no diagrama".
Segue o modelo alterado de acordo com isso...
[Thumb - cadastrarProduto2.jpg]
 Nome do arquivo cadastrarProduto2.jpg [Disk] Download
 Descrição Diagrama de sequência com instanciação de Produto
 Tamanho 29 Kbytes
 Baixado:  1470 vez(es)

chachiua
Smalltalk

Membro desde: 22/01/2007 08:12:42
Mensagens: 1
Offline

Fala ai galera, sou novo no fórum e no Java. Mas tenho uma dúvida sobre diagramas de sequências. a questão é a seguinte:

Estou desenvolvendo um sistema com a seguinte estrutura:
O sistema tem os Beans as classes com gets e sets;
Tem os interfaces Manager e sua implementação
tem os DAOs que contem as regras de negócio
e tem a Action que é a classe de interação com o usuário;

Todos casos de uso tem esta estrutura. A minha questão é fazer um diagrama de sequencia, como eu faço?

Obrigado Óscar
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team