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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend