1 Department of Computer Science, University of Sheffield eXtreme Programming - Practices Dr. Marian Gheorghe.

Slides:



Advertisements
Similar presentations
1. XP 2 * The Web is a collection of files that reside on computers, called Web servers. * Web servers are connected to each other through the Internet.
Advertisements

Zhongxing Telecom Pakistan (Pvt.) Ltd
Chapter 1: The Database Environment
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Chapter 1 The Study of Body Function Image PowerPoint
BASIC SKILLS AND TOOLS USING ACCESS
By Rick Clements Software Testing 101 By Rick Clements
© 2010 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Chapter 11: Structure and Union Types Problem Solving & Program Design.
6 Copyright © 2005, Oracle. All rights reserved. Building Applications with Oracle JDeveloper 10g.
1 State Wildlife Action Plans Wiki: Business Transformation Tutorial Brand Niemann July 5, 2008
Click to edit Master title style Page - 1 OneSky Teams Step-by-Step Online Corporate Communication Support 2006.
Tutorial 9 – Creating On-Screen Forms Using Advanced Table Techniques
XP New Perspectives on Microsoft Office Word 2003 Tutorial 6 1 Microsoft Office Word 2003 Tutorial 6 – Creating Form Letters and Mailing Labels.
State of New Jersey Department of Health and Senior Services Patient Safety Reporting System Module 2 – New Event Entry.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Determine Eligibility Chapter 4. Determine Eligibility 4-2 Objectives Search for Customer on database Enter application signed date and eligibility determination.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Dr. Engr. Sami ur Rahman Data Analysis Lecture 6: SPSS.
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
Integrify 5.0 Tutorial : Creating a New Process
Week 2 The Object-Oriented Approach to Requirements
Click to add text Card Sorting and Cluster Analysis Sophie Wood Agency Support Services
1 How to Enter Time. 2 Select: Log In Once logged in, Select: Employees.
1 2 In a computer system, a file is a collection of information with a single name, such as addresses.doc, or filebackup.ppt, or ftwr.exe, or guidebook.xls.
Configuration management
Information Systems Today: Managing in the Digital World
Page 1 of 30 To the Create Assignment Request Online Training Course An assignment request is created by an assignor to initiate the electronic assignment.
PEPS Weekly Data Extracts User Guide September 2006.
© Paradigm Publishing, Inc Access 2010 Level 1 Unit 1Creating Tables and Queries Chapter 2Creating Relationships between Tables.
Microsoft Office Illustrated Fundamentals Unit K: Working with Data.
Microsoft Access.
Vanderbilt Business Objects Users Group 1 Reporting Techniques & Formatting Beginning & Advanced.
Access Tables 1. Creating a Table Design View Define each field and its properties Data Sheet View Essentially spreadsheet Enter fields You must go to.
1 1 Mechanical Design and Production Dept, Faculty of Engineering, Zagazig University, Egypt. Mechanical Design and Production Dept, Faculty of Engineering,
Legacy Systems Older software systems that remain vital to an organisation.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 12 – Security Panel Application Introducing.
In The Name Of Allah, The Most Beneficent, The Most Merciful
XP New Perspectives on Introducing Microsoft Office 2003 Tutorial 1 1 Using Common Features of Microsoft Office 2003 Tutorial 1.
Microsoft Office Illustrated Fundamentals Unit C: Getting Started with Unit C: Getting Started with Microsoft Office 2010 Microsoft Office 2010.
VOORBLAD.
The world leader in serving science TQ ANALYST SOFTWARE Putting your applications on target.
Individual Assisted Living Planning and Rate Negotiation Tool Testing Version Sponsored by Aging and Adult Services MN Department of Human Services Testing.
© 2012 National Heart Foundation of Australia. Slide 2.
Requirements Analysis Moving to Design b521.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Lecture 6: Software Design (Part I)
Lecture 5: Requirements Engineering
Page 1 of 43 To the ETS – Bidding Query by Map Online Training Course Welcome This training module provides the procedures for using Query by Map for a.
Executional Architecture
Pasewark & Pasewark Microsoft Office XP: Introductory Course 1 INTRODUCTORY MICROSOFT WORD Lesson 8 – Increasing Efficiency Using Word.
IG Pro & CMS.
25 seconds left…...
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Week 1.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
PSSA Preparation.
Use the buttons on the top to navigate through the presentation 1 PrevNext Menu.
Page 1 Orchard Harvest ™ LIS Find a Patient Training.
From Model-based to Model-driven Design of User Interfaces.
Chapter 8 Improving the User Interface
1 Department of Computer Science, University of Sheffield An introduction to eXtreme Programming Professor Mike Holcombe.
Presentation transcript:

1 Department of Computer Science, University of Sheffield eXtreme Programming - Practices Dr. Marian Gheorghe

2 Department of Computer Science, University of Sheffield Plan Example Practices Conclusions

3 Department of Computer Science, University of Sheffield Example: Customer/order subsystem Enter customer details (name, reference, address, phone, ); validate; edit Enter orders by customer (customer reference, order reference, order details, delivery date, invoice reference); validate; edit

4 Department of Computer Science, University of Sheffield Story cards 1.Story name: Enter and validate customer details Task description: enter customer details and validate (ref. unique, name alphanumeric, phone numeric, address non-empty); if valid record then store it otherwise re-enter it. Initiating event: a request made through choosing a menu option

5 Story card cont’d Memory context: customer records exist and will be updated Observable result: confirmation of success or prompting an error otherwise Related stories: Edit a customer details Notes: Mandatory Risk factor: 1(low) / Change factor: 1 (low) Department of Computer Science, University of Sheffield

6 Story card cont’d Functional tests Customer with a new reference, arbitrary data but alphanumeric name, non-empty address, numeric phone Customer with an existing reference Customer with either non-alphanumeric name or empty address or non-numeric phone Customer with empty fields (name, reference etc)

7 Department of Computer Science, University of Sheffield More story cards: 2. Edit customer details (validation included) 3. Enter and validate orders by customer 4. Edit orders (validation included)

8 Department of Computer Science, University of Sheffield The twelve sacred tenets of XP 1.Test first programming Functional test sets; from story cards Unit test sets (white-box: branch/condition/statement coverage) Non-functional requirements tested

9 Department of Computer Science, University of Sheffield To get used to testing continuously – Run unit tests every time a new method/function has been created Run functional testing every time a new class, or set of functions implementing a story card

10 Department of Computer Science, University of Sheffield 2. Pair programming Any work involving code is done in pairs: two people – one computer

11 Department of Computer Science, University of Sheffield 3. On site customer: N/a 4. The planning game Story cards + cost estimations (how long it takes, how many people involved) Story cards discussed with the client Test sets associated with will help to understand some tricky conditions/new aspects; ask the client

12 Department of Computer Science, University of Sheffield 5. System metaphor A read.me file with the file structure of the project + a short description of the components An X-machine model of the system/subsystem

13 X-machine specification Department of Computer Science, University of Sheffield customer_proc end_customer pick_up_customer end_customer order_proc end_order exit

14 Department of Computer Science, University of Sheffield X-machine model State based model (states in green); with an initial state Transitions labeled by function names The model may contain functions which themselves will become X-machines (blue ones) Hierarchical model

15 Department of Computer Science, University of Sheffield customer_proc: click_customer edit_customer search&display change_customer enter_customer enter_detail validate_data error success end_customer

16 Function component Takes an input (click a button, enter some data) and a memory value then produces an output and updates the memory side. Formally: func_comp:: Input x Memory -> Output x Memory Department of Computer Science, University of Sheffield

17 Department of Computer Science, University of Sheffield Function components (examples) click_customer:: customer_btn x λ -> λ x customer_sel enter_customer:: enter_btn x customer_sel -> λ x customer_sel enter_detail:: data x customer_sel -> data_echoed x data where data =(name, reference,address,phone, )

18 Department of Computer Science, University of Sheffield 6. Small, frequent releases Releases are not prototypes A release implement a couple of stories A release is thoroughly tested Releases are related to

19 Department of Computer Science, University of Sheffield 7. Continuous integration Write small units and test them (unit testing) Integrate into the system and test it functionally (test first programming) Suggestion: one pair be responsible for integrating components into an operational system

20 Department of Computer Science, University of Sheffield 8. Keep your code as SIMPLE as possible If it’s not so simple then…

21 Department of Computer Science, University of Sheffield 9. Refactoring Restructuring the code without changing its functionality Its main use is to simplify the code (Fowler) -moving methods used in several classes in a new one -renaming classes, methods, functions -simplify conditional expressions; reorganise data

22 Department of Computer Science, University of Sheffield Refactoring (cont’d) Refactoring the test sets accordingly Changes into code require test sets changes as source code and test sets are the two main deliverables

23 Department of Computer Science, University of Sheffield 10. Code standards Should follow consistent class/method naming conventions Study coding standards before starting programming; decide upon a set of rules; show it to your manager Similar conventions should apply for test sets, story cards, metaphor

24 Department of Computer Science, University of Sheffield 11. Collective code ownership Coding standards help in using the same programming style Changes might be done by everyone in the team Suggestion: keep commenting your code with name, date and what has been changed; provide a change notification form Changes in the documents/story cards will be reflected only in notification forms and CVS variants.

25 Department of Computer Science, University of Sheffield hours/week => avg of 15hours/week Use your time adequately

26 Department of Computer Science, University of Sheffield Java coding standards(p.131-) Each directory containing java files will contain a README file describing briefly these files Each java source file will contain a single public class or interface -beginning comment: class name, author, date, version, changes description, changes history -a specified class structure

27 Department of Computer Science, University of Sheffield Java coding standards(cont’d) Each method should have a comment associated with Block comments vs single line comments One declaration per line + comment One stmt per line (simplicity) Layout for class decl, if, for, while, switch, try stmts

28 Department of Computer Science, University of Sheffield Coding standards Decide which standards you apply Apply them consistently (you’ll be marked on this basis!) The standards are there to help you produce simpler and easier to understand code

29 Department of Computer Science, University of Sheffield References K. Beck, “Extreme programming explained.” Addison- Wesley, 1999 K. Beck & M. Fowler, “Planning extreme programming.” Addison-Wesley, 2000 M. Holcombe, “Extreme programming for real: a disciplined, agile,approach to software engineering”, 2003 M. Holcombe & F. Ipate, “Correct systems: building a business process solution”, Springer, 1998.

30 Department of Computer Science, University of Sheffield Summary Are the 12 XP practices all applicable to SH projects? Simplify/apply partially some of them Enforce others Strengthen the testing side