extreme programming fits well with aop. problem many software projects are canceled or are late....

Post on 26-Dec-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Extreme Programming

Fits well with AOP

Problem

• Many software projects are canceled or are late.

• Reason: use of technology-centric models not human-centric models

Human-Centric Design Process

• developer– creates succession of system version– works as an effective team member that

understands how the evolving system shows up in the customer’s world

• what is the value• what are the breakdowns

– skillfully listens and carefully co-designs each improvement with customer

Human-Centric Process

• ends with a system meeting the specs

• and with a satisfied customer

Comm. ACM Nov. 2001

• The Core of the Third-Wave Professional by Denning and Dunham

• Quote: Extreme Programming is an excellent example of a technology that supports adaptive software development of this kind.

From the text book

• Chapter 6: many small adjustments: like driving a car.

• Chapter 8: Basic principles: rapid feedback: assume simplicity, incremental change, embracing change, quality work

• Extreme programming is a kind of Yoga for programmers: live in the moment

How does AOP support Extreme Programming?

• Growth plans

• Write test cases using sentences

• Structure-shyness through traversal strategies: what can you do if customer does not know exactly what the class graph will be: that is the way AP was created.

How does AOP support Extreme Programming?

• Use aspects to program growth phases: align phases with concerns: e.g., in the next phase we add the synchronization concern.

• Programming by addition instead of modification

• Short releases: A property-based aspect can do a lot of changes.

• Easier refactoring? Easy undoing a change.

top related