Download presentation
Presentation is loading. Please wait.
Published byAnissa Strickland Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.