object oriented software design and software processes
play

Object-Oriented Software Design and Software Processes Hans - PowerPoint PPT Presentation

Object-Oriented Software Design (COMP 304) 7 January 2005 Object-Oriented Software Design and Software Processes Hans Vangheluwe Modelling, Simulation and Design Lab (MSDL) School of Computer Science, McGill University, Montr eal, Canada


  1. Object-Oriented Software Design (COMP 304) 7 January 2005 Object-Oriented Software Design and Software Processes Hans Vangheluwe Modelling, Simulation and Design Lab (MSDL) School of Computer Science, McGill University, Montr´ eal, Canada Hans Vangheluwe hv@cs.mcgill.ca 1/17

  2. Overview 1. Software Processes 2. The Process influences Productivity 3. The Rational Unified Process (RUP) 4. Extreme Programming (XP) Hans Vangheluwe hv@cs.mcgill.ca 2/17

  3. Software Processes “The Software Engineering process is the total set of Software Engineering activities needed to transform requirements into software”. Watts S. Humphrey. Software Engineering Institute, CMU. h t t p : / / p o r t a l . a c m . o r g / c i t a t i o n . c f m ? i d = 7 51 2 2 Some Software Processes: • Waterfall model • Spiral model • Throwaway/Evolutionary prototyping model • Incremental/iterative development • Automated software synthesis • . . . Hans Vangheluwe hv@cs.mcgill.ca 3/17

  4. The Waterfall Model (W. Royce. 1970) h t t p : / / w w w . i n f o r m a t i k . u n i - b r e m e n . d e / g d p a/ d e f / d e f w / W A T E R F A L L . h t m Hans Vangheluwe hv@cs.mcgill.ca 4/17

  5. The Process influences Productivity “Adding manpower to a late software project makes it later”. Fred Brooks. The Mythical Man-Month. h t t p : / / w w w . e r c b . c o m / f e a t u r e / f e a t u r e . 0 0 0 1. h t m l Hans Vangheluwe hv@cs.mcgill.ca 5/17

  6. Why Brooks’ Law ? Team Size. d e v e l o p m e n t r a t e = n o m i n a l _ p r o d u c t i v i t y * ( 1 - C _ o v e r h e a d * N ˆ 2 ) * N Hans Vangheluwe hv@cs.mcgill.ca 6/17

  7. Why Brooks’ Law ? Programmer Behaviour. Eystein Fredrik Esbensen’s COMP 522 project. h t t p : / / w w w . s t u d . n t n u . n o / ˜ e y s t e i n f / f i n a l .h t m l Hans Vangheluwe hv@cs.mcgill.ca 7/17

  8. Why Brooks’ Law ? Productivity. Hans Vangheluwe hv@cs.mcgill.ca 8/17

  9. Why Brooks’ Law ? Remaining work. Hans Vangheluwe hv@cs.mcgill.ca 9/17

  10. The Rational Unified Process (RUP): Activity Workload as Function of Time Hans Vangheluwe hv@cs.mcgill.ca 10/17

  11. The Rational Unified Process (RUP): Observations 1. Waterfall-like sequence of Requirements, Design, Implementation, Testing. 2. Not pure waterfall: • Iteration • Overlap ( concurrency ) between activities 3. Testing: • Regression (test not only newly developed, but also previously developed code) • Testing starts before design and coding (Extreme Programming) Hans Vangheluwe hv@cs.mcgill.ca 11/17

  12. The Rational Unified Process (RUP) Hans Vangheluwe hv@cs.mcgill.ca 12/17

  13. Extreme Programming (XP) w w w . e x t r e m e p r o g r a m m i n g . o r g Hans Vangheluwe hv@cs.mcgill.ca 13/17

  14. Extreme Programming (XP) highlights • User Stories are written by the customers as things that the system needs to do for them. They drive the creation of acceptance tests . • The project is divided into Iterations . Hans Vangheluwe hv@cs.mcgill.ca 14/17

  15. Extreme Programming (XP) highlights Use Class, Responsibilities, and Collaboration (CRC) Cards to design the system. Hans Vangheluwe hv@cs.mcgill.ca 15/17

  16. Extreme Programming (XP) highlights • Code the Unit Test first . • All code must have Unit Tests; All code must pass all unit tests before it can be released. • Refactor whenever and wherever possible. Hans Vangheluwe hv@cs.mcgill.ca 16/17

  17. Extreme Programming (XP) highlights Pair Programming Hans Vangheluwe hv@cs.mcgill.ca 17/17

Recommend


More recommend