Hi, I have a question regarding what type of diagrams should we deliver, specially in the case of the iteration diagrams because I usually write up to 3 different sequence diagrams per scenario each one having a different level of granularity. So, I'm not sure if I have to send all of them or just one.
I usually follow a process similar to the RUP development process. I start gathering requirements and I create the Use Case model. Then, I describe the scenarios of each use case. The next step in the analysis phase is to implement the scenarios using interaction diagrams. I use the high level stereotypes <<control>>, <<entity>> and boundary. This model is platform independent, it is also independent of the architecture used and it's useful to identify the domain classes to create a logical model. The next phase is the design, where I refine the model by defining the architecture. Here, I add more classes witch are mode dependent of the platform but independent of the technologies (
EJB,
JSF...). Basically, I add more
Java classes showing the design
pattern giving more details on how the problem is solved. For example, more entity classes are added to show composite objects or Transfer Objects. More Java classes are added to show the design patterns, like mediators, factories, builders, etc. But this class and sequence diagrams don't show EJBs, or JSPs. In other words, you can implement this model in any technology. In the next phase, is when I refine the model adding technology details adding the session beans, JPA entities,
Servlets and JSPs. I use a extension of Rationa
Rose for Web Applications that uses Web Applications stereotypes like in here:
http://www.rationalrose.com/stereotypes/waesetup.htm This is a very detail sequence diagram, I show how entities are created and even I show the server and client side of a
JSP. So, I show the forms which are included in a client page (HTML that the JSP servlet generates), I show the server page, the Java servlets, the ejbs, service locator and so on. Something like this:
http://sites.google.com/site/javierramos1/example.pdf
This approach shows how the system evolves and helps to identify problems and each diagram will be useful to different people depending on the role, for example, a PM will care only on the high level design. My question, is which level of details the
SCEA is looking for. Can I include the 3 types of sequence diagrams in my delivery?
Also, should I add the classes inside a component in the component diagram?
Thanks for your help.
Javi.