1. Apply 5 basic design patterns:

1) Dissection of events
Customer clicks on add to cart button on a third party shopping website
Customer places order via an email sent to his inbox
2) Sequential events pattern
Should customers login before clicking on checkout? Can guest users also checkout?
3) Parallel Split pattern
4) Synchronization
When there are a set of activities, which of these must be finished completely before we continue the process?
Fraud check and confirmation of funding source/shipping address should be done before payment is processed.
5) Exclusive choice
As stated in the earlier pattern, to which flow should the program transfer the control in the event of server crash?
2. Analysis Models
1. Study the domain\business rules between the different entites
2. Know the right questions to ask
3. Identify pitfalls in the product design
4. Check for missing details in the requirements spec and discover new business rules
5. Filter out requirements that are likely to change



