| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/09/2006 15:43:02
|
cissosaito
Thread.start()
![[Avatar]](/images/avatar/b56ea7b6aa77f6f9008bc9362fab3597.jpg)
Membro desde: 06/04/2005 09:19:10
Mensagens: 34
Offline
|
Caros, vai ai uma dúvida de iniciante em OO:
Feito a análise inicial do projeto, os casos de uso, tenho sempre uma dúvida com relação a um ponto: Quando atores viram classes? Eles realmente viram?
Por exemplo um sistema simples de biblioteca virtual de uma escola. O ator principal seria o Aluno, ele viraria uma classe?
Obrigado a todos.
Desculpa a Sta. Ignorância.
Abraços.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/09/2006 16:10:32
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Classes e atores são coisas diferentes, bastante diferentes.
Você precisa desenhar outros diagramas, antes de você chegar ao diagrama de classes.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/09/2006 16:21:59
|
tatianaesc
JavaChild
![[Avatar]](/images/avatar/ff84a9f3c0d335d25413dd8dfc9b2e8f.jpeg)
Membro desde: 09/04/2006 23:58:04
Mensagens: 114
Localização: Rio de Janeiro
Offline
|
Oi cissosaito,
No exemplo que você deu da biblioteca, provavelmente o sistema teria que armazenar dados do aluno. Desta forma, criaríamos uma classe Aluno, com os atributos login, senha, nome, email, etc... E os métodos necessários. Mas não é sempre que isso acontece.
[]´s
Tatiana
|
There´s no place like 127.0.0.1 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/09/2006 16:39:46
|
Fabricio Cozer Martins
GUJ Ranger
![[Avatar]](/images/avatar/2ecd2bd94734e5dd392d8678bc64cdab.jpg)
Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline
|
cissosaito wrote:Caros, vai ai uma dúvida de iniciante em OO:
Feito a análise inicial do projeto, os casos de uso, tenho sempre uma dúvida com relação a um ponto: Quando atores viram classes? Eles realmente viram?
Por exemplo um sistema simples de biblioteca virtual de uma escola. O ator principal seria o Aluno, ele viraria uma classe?
Obrigado a todos.
Desculpa a Sta. Ignorância.
Abraços.
Atores podem ser sistemas, usuários, hardwares (impressora, teclado, monitor,...), enfim qualquer princípio de início e interação de casos de usos. No seu exemplo de biblioteca virtual de uma escola, aluno é um ator! A representação desse ator ( aluno ) será definido por você, ou seja, na construção do diagrama de classe você terá provavelmente nesse seu sistema uma classe Aluno, mas provavelmente, a ação se dará pelo usuário ( que terá perfil de aluno ) e esse usuário pode ou não usar a classe que foi modelada. Depende de como você vai projetar seu sistema.
Outra coisa também é você criar atores de domínio, ou seja, atores que serão criados apenas para representação de casos de usos e outros diagramas. Mas eles podem assumir outros nomes quando o sistema estiver em funcionamento.
Mas atores são diferentes de classes.
|
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2006 11:39:34
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
cissosaito,
O software por sí só é um "ser inanimado", isto é, não funciona sozinho. O M$-Word, sozinho não consegue produzir texto, precisa do ator para digitar as letrinhas.
O ator é alguma coisa externa ao sistema que possui responsabilidades fora do controle do próprio sistema. 99% dos casos o ator será uma pessoa ou um sistema externo (integração entre sistemas).
Seria legal você fazer o nosso curso on-line grátis como ponto de partida. Cadastre-se e acesse: www.aspercom.com.br (recomendo a lição 2, onde tratamos esse assunto).
Pode ocorrer de ter uma classe com o mesmo nome de um ator, mas a classe é interna à responsabilidade do sistema, o ator não!
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2006 11:13:02
|
lucasdeoliveira
Thread.start()
Membro desde: 17/04/2006 14:22:58
Mensagens: 27
Offline
|
Gente boa!!!!!
Atores são classes esterotipadas!! Segundo a UML um ator é uma classe com stereótipo <<Actor>>. Se o seu sistema precisa de manipular dados desse ator então é possível vc reaproveitar seu ator como classe na modelagem de análise e projeto sim!
Só pra exemplificar: Quem usa o JudeUML (que por acaso está de acordo com a UML) insira um ator em um diagrama e clique com o botão direito no mesmo. Em seguida selecione "Icon Notation". Imediatamente ele vai ser exibido como uma caixa de classe com o estereótipo marcado.
abração!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2006 11:32:01
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
lucasdeoliveira wrote:Atores são classes esterotipadas!! Segundo a UML um ator é uma classe com stereótipo <<Actor>>.
Err... não lucas, Ator na UML não é classe. Ator na UML é um classifier que simplesmente permite herança (vide figura 401 da Superstructure). Um Ator não pode ter dados (atributos) e nem comportamentos (operação) na UML. O fato de permitir que o ator seja representado como um retângulo estereotipado como <<actor>> é um notação alternativa da UML, também prevista na especificação. Não é porque é um retângulo que é uma classe.
lucasdeoliveira wrote:Se o seu sistema precisa de manipular dados desse ator então é possível vc reaproveitar seu ator como classe na modelagem de análise e projeto sim!
O sistema mudando dados do Ator? Acho que a única situação que eu ví isso foi no filme Matrix e no Exterminador do Futuro. Se o que você está falando fosse verdade você sentaria na frente do computador e o sistema falaria "Lucas, vou mudar a sua idade para 81 anos. OK? Está mudado. Veja a sua nova data de nascimento no RG.". [desculpe a ironia, mas não deu para deixar escapar... sorry, afinal, estamos aqui para dar umas risadas também]
lucasdeoliveira wrote:Só pra exemplificar: Quem usa o JudeUML (que por acaso está de acordo com a UML)...
Não existe ferramenta 100% aderente à UML.
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2006 11:45:45
|
lucasdeoliveira
Thread.start()
Membro desde: 17/04/2006 14:22:58
Mensagens: 27
Offline
|
Opa!
Perdoe minha ignorância, acabei tomando o Jude (que até então parecia estar de acordo com a UML ) como regra - erro meu. Não disse que por ser retângulo/caixa tornas o elemento uma classe não, só me espelhei no Jude, que trata o ator dessa forma. Veja que no Jude é possível adicionar atributos e operações à um ator sim, mas entre isso e estar de acordo com a UML já não posso afirmar nada.
Quanto à minha expressão "(..)sistema mudando dadosdo ator(..)". Me expressei mal aqui. Até então eu entendia que se o seu sistema-alvo permitir a realização de casos de uso por um ator que é cadastrado no sistema então vc provavelmente vai ter uma classe relativa à esse ator na sua modelagem de análise/projeto. Certo?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2006 13:15:28
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
lucasdeoliveira wrote:Até então eu entendia que se o seu sistema-alvo permitir a realização de casos de uso por um ator que é cadastrado no sistema então vc provavelmente vai ter uma classe relativa à esse ator na sua modelagem de análise/projeto. Certo?
Err.... não... você pode ter um ator com o mesmo nome de uma classe no seu sistema. Essa classe pode representar o ator, mas a classe é a classe e o ator é o ator. Como disse, o ator tem responsabilidades fora do controle do sistema, mas a classe é interna e o sistema é responsável por ela.
O ator na UML representa alguma coisa fora do sistema. Você se chama Lucas, certo? Se eu criar uma classe chamada Lucas, daria para colocar você no lugar da Classe? Ou melhor, daria para reaproveitar você no lugar da classe?
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2006 13:30:28
|
lucasdeoliveira
Thread.start()
Membro desde: 17/04/2006 14:22:58
Mensagens: 27
Offline
|
rodrigoy wrote:
Err.... não... você pode ter um ator com o mesmo nome de uma classe no seu sistema. Essa classe pode representar o ator, mas a classe é a classe e o ator é o ator. Como disse, o ator tem responsabilidades fora do controle do sistema, mas a classe é interna e o sistema é responsável por ela.
Entendo...ator modela qualquer coisa que precisa interagir com o sistema e é externo ao mesmo. Isso eu tinha em mente, mas não é natural acontecer da modelagem de casos de uso contar com um ator Cliente, por exemplo, e a modelagem de classes ter um ator Cliente? Acho que estou criando caso quanto ao conceito de ator que apesar de ser externo ao sistema merece, muitas vezes, uma classe que o represente.
rodrigoy wrote:
Se eu criar uma classe chamada Lucas, daria para colocar você no lugar da Classe? Ou melhor, daria para reaproveitar você no lugar da classe?
Opa Rodrigo...quis dizer isso não ein! Nada de classe Lucas não....Se existe um ator Funcionário/Gerente/Cliente/.... que vai ser o Lucas um dia vamos ter q criar uma classe Funcionário/Gerente/Cliente/... para atender isso.
Tô viajando muito aqui?
[]'s
|
|
|
 |
|
|