cs2110-sweng-1-6up

cs2110-sweng-1-6up - Overview Today Design Concepts...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
CS 2110 Software Design Principles I Juan Altmayer Pizzorno port25.com Overview Today : Top-Down, Bottom-Up Design Software Process (brieFy) Modularity Information Hiding, Encapsulation Principles of Least Astonishment and “DRY” Refactoring (if there’s time) Next week: Test-Driven Development Top-Down Design Let’s build and electric bicycle! Re±ne the design at each step Decomposition / “Divide and Conquer” Body Fork Tire Propulsion E-Bike Handlebar Saddle Electric Human Cranks Gear Shifters Rim Spokes Bat ery Motor Wheels Bottom-Up Design Just the opposite: start with parts Composition Build-It-Yourself (e.g. IKEA furniture) Body Fork Tire Propulsion E-Bike Handlebar Saddle Electric Human Cranks Gear Shifters Rim Spokes Bat ery Motor Wheels Top-Down vs. Bottom-Up Two ways to think about a problem It’s sometimes good to alternate Not the only way s to go about it With Top-Down it’s harder to test early because parts needed may not have been designed yet With Bottom-Up , you may end up needing things different from how you built them Software Process How do you go about developing software? Are the requirements ±xed and well understood ? Most software problems are not like that Not enough customer feedback Requirements Design Implementation Verifcation Maintenance “Waterfall”
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Deliver parts in several small cycles “Don’t build for the future , for it is unknown Software development is more like gardening than architecture Select Feature(s) Design & Implement Release Start Modularity Module
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/01/2010 for the course CS 2110 at Cornell.

Page1 / 4

cs2110-sweng-1-6up - Overview Today Design Concepts...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online