Process Patterns for Component-Based Software Development

  • Ehsan Kouroshfar
  • Hamed Yaghoubi Shahir
  • Raman Ramsin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5582)

Abstract

Component-Based Development (CBD) has been broadly used in software development, as it enhances reusability and flexibility, and reduces the costs and risks involved in systems development. It has therefore spawned many widely-used approaches, such as Commercial Off-The-Shelf (COTS) and software product lines. On the other hand, in order to gain a competitive edge, organizations need to define custom processes tailored to fit their specific development requirements. This has led to the emergence of process patterns and Method Engineering approaches.

We propose a set of process patterns commonly encountered in component-based development methodologies. Seven prominent component-based methodologies have been selected and reviewed, and a set of high-level process patterns recurring in these methodologies have been identified. A generic process framework for component-based development has been proposed based on these process patterns. The process patterns and the generic framework can be used for developing or tailoring a process for producing component-based systems.

Keywords

Component-Based Development Software Development Methodologies Situational Method Engineering Process Patterns 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Mirbel, I., Ralyté, J.: Situational Method Engineering: Combining Assembly-based and Roadmap-driven Approaches. Requirements Engineering 11(1), 58–78 (2006)CrossRefGoogle Scholar
  2. 2.
    Ralyté, J., Brinkkamper, S., Henderson-Sellers, B. (eds.): Situational Method Engineering: Fundamentals and Experiences. In: Proceedings of the IFIP WG 8.1 Working Conference, Geneva, Switzerland, September 12-14. IFIP International Federation for Information Processing, vol. 244. Springer, Boston (2007)Google Scholar
  3. 3.
    Coplien, J.O.: A Generative Development Process Pattern Language. In: Pattern Languages of Program Design, pp. 187–196. ACM Press/ Addison-Wesley, New York (1995)Google Scholar
  4. 4.
    Ambler, S.W.: Process Patterns: Building Large-Scale Systems Using Object Technology. Cambridge University Press, Cambridge (1998)Google Scholar
  5. 5.
    Henderson-Sellers, B.: Method Engineering for OO Systems Development. Communications of the ACM 46(10), 73–78 (2003)CrossRefGoogle Scholar
  6. 6.
    Tasharofi, S., Ramsin, R.: Process Patterns for Agile Methodologies. In: Ralyté, J., Brinkkemper, S., Henderson-Sellers, B. (eds.) Situational Method Engineering: Fundamentals and Experiences, pp. 222–237. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Bergner, K., Rausch, A., Sihling, M., Vilbig, A.: A Componentware Development Methodology based on Process Patterns. In: 5th Annual Conference on the Pattern Languages of Programs, Monticello, Illinois (1998)Google Scholar
  8. 8.
    Firesmith, D.G., Henderson-Sellers, B.: The OPEN Process Framework: An Introduction. Addison-Wesley, Reading (2001)Google Scholar
  9. 9.
    Object Management Group: Software and Systems Process Engineering Metamodel Specification v2.0 (SPEM), OMG (2007)Google Scholar
  10. 10.
    Haumer, P.: Eclipse Process Framework Composer, Eclipse Foundation (2007)Google Scholar
  11. 11.
    Cheesman, J., Daniels, J.: UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2003)Google Scholar
  12. 12.
    Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs (1991)MATHGoogle Scholar
  13. 13.
    Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (1990)Google Scholar
  14. 14.
    Kang, K.C., Lee, J., Donohoe, P.: Feature-Oriented Product Line Engineering. IEEE Software 9(4), 58–65 (2002)CrossRefGoogle Scholar
  15. 15.
    Sochos, P., Philippow, I., Riebisch, M.: Feature-Oriented Development of Software Product Lines: Mapping Feature Models to the Architecture. In: Weske, M., Liggesmeyer, P. (eds.) NODe 2004. LNCS, vol. 3263, pp. 138–152. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J.: Component-Based Product-Line Engineering with UML. Addison-Wesley, Reading (2001)Google Scholar
  17. 17.
    Atkinson, C., Bayer, J., Laitenberger, O., Zettel, J.: Component-based Software Engineering: The KobrA Approach. In: 22nd International Conference on Software Engineering (ICSE 2000), 3rd International Workshop on Component-based Software Engineering, Limerick, Ireland (2000)Google Scholar
  18. 18.
    Ramsin, R., Paige, R.F.: Process-Centered Review of Object-Oriented Software Development Methodologies. ACM Computing Surveys 40(1), 1–89 (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Ehsan Kouroshfar
    • 1
  • Hamed Yaghoubi Shahir
    • 1
  • Raman Ramsin
    • 1
  1. 1.Department of Computer EngineeringSharif University of TechnologyIran

Personalised recommendations