What artifacts / diagrams do use to document the flow of a web application taking into account links between static pages and how dynamic view components (html forms, JSP, Ajax, etc) interact with server-side components (Servlets, Struts actions, etc)? Do use UML diagrams?
We used UML class diagrams using a variation of Conallen's essay Modeling Web Application Design with UML. You'll find this essay has evolved into different incarnations around the net and has even become a book Building-Web-Applications-UML-2nd.
My 2-cent tour of the approach we used:
Following Conallen's paper, we defined a new UML entities (stereotypes) to represent a web page or portion of a page so that we could distinguished the server-side code (e.g. Java servlet or JSP] from the client-side HTML/javascript/AJAX that it generated. For example:
There were new associationss such as:
Finally, some new diagrams (mostly just specializations of class diagrams) such as:
The good news:
The bad news:
Read one of the Conallen papers for pictures of what I'm talking about, but as I said, didn't follow his approach strictly - we only took the pieces we needed. Hope this helps.
I used UML state diagrams for documenting page navigation for web apps in the past.
I recommend taking the 37signals approach to application development.
Each page needs to have purpose. Focus on that purpose first and design everything else around it.
Process:
It's much easier to add programming to something that has already been designed and thought out vs designing an app to work around existing programming (which in most cases requires code to be rewritten to adapt to design/flow issues which were missed at the beginning).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With