Advanced Systems Design with Java, UML and MDA

The complete design process for internet systems, using all the techniques described in the previous sections, consists of the following steps:
Define PIM abstract data model of entities involved.
Define PIM use cases describing the operations required from the system.
Transform data model into PSM appropriate for data storage approach to be adopted.
Define entities representing web pages, based on what operations are to be provided (step 2): an input page should only require users to enter the minimal information necessary to support the operation it is involved in. Define page invariants and any client-side scripts to check/enforce these.
Define the user interaction sequence of pages, using statecharts.
Define the visual design and information content of pages, this should usually be consistent in style across an application.
A complete prototype of the client side of the system can be produced at this point and reviewed, this should include checks that accessibility and portability requirements have been met, and evaluation involving usability trials with typical users.
Define which pages are to be hard-coded in XHTML, and which are to be generated.
For generated pages, define an inheritance hierarchy of the classes representing the pages, so that pages with common subparts can be expressed as subclasses of a class with these subparts as its features. Each generated page should have a class which can be used as a template by the server side of the system for constructing instances of the page, eg, by using new...