1 / 13

11425 Software Engineering

11425 Software Engineering. Extreme Programming February 28, 2012. Sommerville , I., Software Engineering, Pearson, 9 th Ed., 2010. Overview. Extreme programming Testing in XP Pair programming. Extreme Programming.

mostyn
Download Presentation

11425 Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 11425 Software Engineering Extreme Programming February 28, 2012 Sommerville, I., Software Engineering, Pearson, 9th Ed., 2010.

  2. Overview • Extreme programming • Testing in XP • Pair programming

  3. Extreme Programming • Extreme programming (XP) is perhaps the best known and most widely used of the agile methods • Extreme Programming (XP) takes an ‘extreme’ approach to iterative development. • New versions may be built several times per day • Increments are delivered to customers every 2 weeks • All tests must be run for every build and the build is only accepted if tests run successfully

  4. XP Release Cycle

  5. XP Practices (1/2)

  6. XP Practices (2/2)

  7. Requirements Scenarios • In XP, requirements are expressed as scenarios (called user stories), which are implemented directly as a series of tasks • The story cards are the main inputs to the XP planning process, or the ‘planning game’. • The development team breaks the cards down into implementation tasks. These tasks are the basis of schedule and cost estimates. • The customer chooses the stories for inclusion in the next release based on their priorities and the schedule estimates.

  8. A ‘Prescribing Medication’ Story

  9. Task Cards

  10. Testing in XP • Testing is central to XP and XP has developed an approach where the program is tested after every change has been made. • XP testing features: • Test-first development. • Incremental test development from scenarios. • User involvement in test development and validation. • The use of automated testing frameworks (e.gJUnit) • Write the test before you write the code

  11. Test Case Description for Dose Checking

  12. XP Testing Difficulties • Programmers prefer programming to testing and sometimes they take short cuts when writing tests. • Some tests can be very difficult to write incrementally. • It is difficult to judge the completeness of a set of tests.

  13. Pair Programming • In XP, programmers work in pairs, sitting together to develop code. • This helps develop common ownership of code and spreads knowledge across the team. • It serves as an informal review process as each line of code is looked at by more than 1 person. • It encourages refactoring as the whole team can benefit from this.

More Related