Presentation is loading. Please wait.

Presentation is loading. Please wait.

A proposal to support the extreme programming development methodology from the quality assurance point of view Authors: Calin Jebelean –

Similar presentations


Presentation on theme: "A proposal to support the extreme programming development methodology from the quality assurance point of view Authors: Calin Jebelean –"— Presentation transcript:

1 A proposal to support the extreme programming development methodology from the quality assurance point of view Authors: Calin Jebelean – calin.jebelean@ac.upt.ro Vladimir Cretu – vladimir.cretu@ac.upt.ro

2 Introduction Quality New Requirements V1V2Vn-1Vn... System evolution Detection of design flaws System refactoring Software engineer

3 Detection of design flaws? “There is no perfect software design …” [Fowler,O’Cinneide] … but each software design can be improved Design flaw detection lies at the bottom of improving the quality of a software design Keywords

4 Refactoring? Altering the code of a software system towards improving its design, without affecting its observable behavior Design modification required by: the software development method (agile methods) the maintenance phase of system’s lifecycle the detection of design flaws Keywords

5 Modeling? Code analysis: difficult and less practical Solution: performing analysis on a simplified model of the software system Advantages: Simple analyses Language independence Drawbacks: Loss of information – can lead to lack of relevance Keywords

6 Adaptive development methodology Change should be embraced, not denied Some principles: Interpersonal communication between developers (pair programming) between developers and clients (on-site customer) Acceptance of changing requirements simple design refactoring Frequent release of functional software short releases Extreme programming

7 Simple design Iterative system evolution Adapting the design to accept a new feature vs. adapting the feature to the existing design Prediction is unnecessary

8 Extreme programming enhanced Using models of the system between consecutive releases Capturing the refactoring intention (Expert E) Evolving the system as recommended “by the expert”

9 A Visitor Recommendation System SSystem S’ Inspired from [MT04]

10 A Visitor Recommendation

11 An Abstract Factory Recommendation System SSystem S’ Inspired from [GHJV95]

12 An Abstract Factory Recommendation

13 Conclusions Automatic support provided to the extreme programming development methodology during the refactoring step is feasible More analyses can be thought of and implemented as part of the expert module E Future work Implement the expert module containing the two analyses at first Define a suitable language to describe such analyses and allow other software engineers to freely add other analyses to the expert module Conclusions and Future Work

14 [Bec99] K. Beck – Extreme programming explained: Embrace change, Addison-Wesley, 1999 [Fow00] M. Fowler – Refactoring: Improving the design of existing code, Addison-Wesley, 2000 [MT04] T. Mens, T. Tourwe – A survey of software refactoring, IEEE Transactions on Software Engineering, February 2004 [GHJV95] E. Gamma, R. Helm, R. Johnson, J. Vlissides – Design patterns: Elements of reusable object-oriented software, Addison-Wesley, 1995 Bibliography


Download ppt "A proposal to support the extreme programming development methodology from the quality assurance point of view Authors: Calin Jebelean –"

Similar presentations


Ads by Google