• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Questions about component diagrams

 
Kuo-Feng Sun
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dear ranchers,

I've got questions about drawing component diagram for a while, though I've browsed lots of threads over here.

Here are my questions...

1. Can I put some common components, for example, a mail component without any connection from other components in my diagram? cause it's a common component. Its dependency will be defered to the next stage other than architecture stage.

2. I've had interfaces in front of many of my components. Even components not for connecting to external systems (For example, controller --> interface--> delegate). I'm wondering if it's acceptable? Or interfaces just should be used for linking external systems?

I'm really afraid if I just submit this kind of diagrams, I may fail.

Thanks for any help in advance.
[ July 13, 2005: Message edited by: Kuo-Feng Sun ]
 
kaiser eblovich
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

1. Can I put some common components, for example, a mail component without any connection from other components in my diagram? cause it's a common component. Its dependency will be defered to the next stage other than architecture stage.


I guess your mail subsystem is there to be used by some other component, implementing [a piece of] business logics? So that other component will _depend_ on your mail component. What do you mean "dependency will be deferred..."?



2. I've had interfaces in front of many of my components. Even components not for connecting to external systems (For example, controller --> interface--> delegate). I'm wondering if it's acceptable? Or interfaces just should be used for linking external systems?


The only interfaces I've shown were those related to EJBs, session and entity beans. I didn't use any other interfaces in my component diagram and got 42/44 for it. Components were tied together by dependency relationships, to show who's used by who.
 
Kuo-Feng Sun
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks. I'll clarify them below...




I guess your mail subsystem is there to be used by some other component, implementing [a piece of] business logics? So that other component will _depend_ on your mail component. What do you mean "dependency will be deferred..."?



Nope. I mean I've got a mail component which is designed for any component which may send mails, but currently it's in the very early stage for development (this assignment). Therefore, maybe ten components will use this mail component, but I'm not sure now, so I would like to put a mail component without any dependency from other components.

I'm wondering if I can put a component without any dependency from other components...






The only interfaces I've shown were those related to EJBs, session and entity beans. I didn't use any other interfaces in my component diagram and got 42/44 for it. Components were tied together by dependency relationships, to show who's used by who.



I also put interface in front of my session beans. However, I also have interfaces for DAOs and business delegate. Cause I think these implementation may be changed due to new technologies.

Is it a good idea?


Some other questions.

Could you tell me how many pages you had for explaining assumptions?

and did you put some more detailed components like View Helper or Transfer Object in the component diagram?


Thanks a lot.
[ July 13, 2005: Message edited by: Kuo-Feng Sun ]
 
kaiser eblovich
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't think you'll have 10 components using your mail component.
In my architecture, it was only one. Anyway it's up to you.

You can read my explanations in this topic
http://www.coderanch.com/t/153612/java-Architect-SCEA/certification/Cleared-Part-II
 
Kuo-Feng Sun
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes. But I would like to have a log service component which will be used frequently by other components. Should I put it on the component diagram or just omit this component?

thanks!
 
kaiser eblovich
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No, no, oh god, no.
You _don't_ have to put logging, exception handling, monitoring and other stuff into your diagrams. My component diagram was 20 components of even less than that, pure generic things like Command or ConcreteValueObject.

In first attempt I've put six entity beans into persistence layer, in second it was a little more than six and I thought, what the f***, and there was just one ConcreteEntityBean instead. You might believe me or not, but in both cases the result was the same, 42/44.

In other words, your diagrams must be _complete_, that means at the chosen detail level they show all relevant parts. But they don't have to be _detailed_, because it's architecture (conceptual level), not design (blueprint of a complete implementation of functional requirements).
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic