Tuesday, December 17, 2013

Analysis vs. Design: What’s the Difference?

http://www.omg.org/news/meetings/workshops/presentations/eai_2001/tutorial_monday/tockey_tutorial/2-Analysis_vs_Design.pdf

Requirements 

  • Unambiguous 
    • Interpretable in only one way 
  • Testable 
    • Compliance (or, non-compliance) can be clearly demonstrated
  • Binding 
    • The customer is willing to pay for it and is unwilling to not have it 
Every requirement that is still necessary in spite of “perfect technology” is an essential requirement.



Requirements about speed, cost, and capacity go into the design bucket

Requirements about reliability (MTBF, MTTR) go into the design bucket

Requirements about I/O mechanisms and presentations go into the design bucket

Requirements about computer languages go into the design bucket
Requirements about archiving go into the design bucket

Requirements about the customer's business policy / business process go into the essential bucket

UML for Analysis


UML for Design


Benefits

Reduce apparent complexity: one large problem becomes two smaller ones 
  • Understand the customer’s business policy / business process 
  • Figure out how to automate that business policy / process with the available technology 
Isolate areas of expertise
Apply the principles of coupling and cohesion at the highest level of the software architecture 
  • More robust, less fragile systems 
  • Enable separate evolution of the business policy / business process and the implementation technology

No comments:

Post a Comment