SAPs and XP


The explicit use of good software development principles requires considerable experience and is prone to error. For most users, a better way to apply the principles is implicitly, by building a conceptual model through the application of SAPs or another appropriate methodology. As indicated in [Fernandez+2000D], a procedure to build a conceptual model would be as follows. We assume we have a catalog of atomic patterns and SAPs. We examine the use cases and any other requirements and then do the following:

  • Look for SAPs. We look first for patterns that exactly or closely match the requirements. Then we try to find analogous patterns that may apply.

  • Look for atomic patterns.

This procedure results in a skeleton, where some parts of the model are fairly complete, while other portions are partially covered or not covered at all. We still need to cover the rest of the model in an ad hoc way, but we already have a starting model. Naturally, we can still add design patterns in the design stage.

The point here is that a user applying SAPs is implicitly applying the principles if the patterns have been built by careful application of these principles. This should result in a good-quality conceptual model. This model can be used to guide an XP design by relating each new class to be built to its place in the global order. Individual SAPs can be used at each stage in XP. A well-built conceptual model is easy to change and is well suited to changing requirements. It is also highly reusable. Some nonfunctional aspects should be defined or specified in the global conceptual model for example, security, as shown earlier. Patterns for distribution, concurrency, real time, and fault tolerance can also be used at this level. Of course, the lower architectural levels must implement and enforce the nonfunctional constraints defined in the conceptual model. This can be done by using more specialized patterns [Fernandez+2001].



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net