skip to main content
10.1145/2304736.2304750acmconferencesArticle/Chapter ViewAbstractPublication PagescbseConference Proceedingsconference-collections
research-article

Iterative and incremental development of component-based software architectures

Published: 25 June 2012 Publication History

Abstract

While the notion of components has had a major positive impact on the way software architectures are conceptualized and represented, they have had relatively little impact on the processes and procedures used to develop software systems. In terms of software development processes, use case-driven iterative and incremental development has become the predominant paradigm, which at best ignores components and at worse is even antagonistic to them. However, use-case driven, I&I development (as popularized by agile methods) and component-based development have opposite strengths and weaknesses. The former's techniques for risk mitigation and prioritization greatly reduce the risks associated with software engineering, but often give rise to suboptimal architectures that emerge in a semi-ad hoc fashion over time. In contrast, the latter gives rise to robust, optimized architectures, but to date has poor process support. In principle, therefore, there is a lot to be gained by fundamentally aligning the core principles of component-based and I&I development into a single, unified development approach. In this position paper we discuss the key issues involved in attaining such a synergy and suggest some core ideas for merging the principles of component-based and I&I development.

References

[1]
McIlroy, D.: Mass-Produced Software Components, Software Engineering: Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany, 1968.
[2]
Szyperski, C. Component Software: Beyond Object-Oriented Programming (2nd ed.), Addison-Wesley, 2002.
[3]
Beck, K. Extreme Programming Explained: Embrace Change. Addison-Wesley, 1999.
[4]
Larman, C. Applying UML and Patterns (3rd ed.). Prentice Hall, 2004.
[5]
Hummel, O., Janjic, W., Atkinson, C. Code Conjurer: Pulling Reusable Software out of Thin Air, IEEE Software (Vol. 25, Iss. 5), 2008
[6]
Booch, G. The Accidental Architecture. IEEE Software, Volume 23, Issue 3, 2006.
[7]
Crnkovic, I., Chaudron, M., Larsson, S. Component-Based Development Process and Component Lifecycle. Proceedings of the International Conference on Software Engineering Advances, 2006.
[8]
Erl, T. Services-Oriented Architectures, Prentice Hall, 2005.
[9]
Lau, K.K., Wang, Z. Software Component Models. IEEE Transactions on Software Engineering, Volume 33, Issue 10, 2007.
[10]
Kleppe, A., Bast, W., Warmer, J. MDA Explained: The Model-Driven Architecture. Addison-Wesley, 2003.
[11]
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, 2001.
[12]
Atkinson, C., Bostan, P., Brenner, D., Falcone, G., Gutheil, M., Hummel, O., Juhasz, M., Stoll, D.: Modeling Components and Component-Based Systems in KobrA. In Rausch, Reussner, Mirandola, Plasil (editors): The Common Component Modelling Example, Springer, 2008.
[13]
Fowler, M. Refactoring, Addison-Wesley, 1999.
[14]
Sherif, K., Vinze, A. Barriers to adoption of software reuse: A qualitative study. Journal of Information Management, Vol. 41, No. 2, 2003.
[15]
D'Souza, D.,Wills, A. Objects, Components, and Frameworks with UML: The Catalysis Approach: The Catalysis Approach, Addison-Wesley, 1998.
[16]
Cheesman, J., Daniels, J. UML Components: A Simple Process for Specifying Component-Based Software, Addison-Wesley, 2000.
[17]
Schwaber, K. Agile Project Management with Scrum, Microsoft Press, 2004.
[18]
Hummel, O. Semantic Component Retrieval in Software Retrieval, PhD Dissertation, University of Mannheim, 2008.

Cited By

View all
  • (2022)Achieving stepwise construction of cyber physical systems in EX-MAN component modelJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2022.10.02434:10(10319-10338)Online publication date: Nov-2022
  • (2021)Dynamic Prioritization of Software Requirements for Incremental Software DevelopmentAdvanced Computing and Systems for Security: Volume 1410.1007/978-981-16-4294-4_8(111-131)Online publication date: 22-Sep-2021
  • (2020)Incremental Construction for Scalable Component-Based SystemsSensors10.3390/s2005143520:5(1435)Online publication date: 6-Mar-2020
  • Show More Cited By

Index Terms

  1. Iterative and incremental development of component-based software architectures

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CBSE '12: Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering
    June 2012
    198 pages
    ISBN:9781450313452
    DOI:10.1145/2304736
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 June 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. component-based software architectures
    2. iterative and incremental software development

    Qualifiers

    • Research-article

    Conference

    Comparch '12
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 55 of 147 submissions, 37%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)90
    • Downloads (Last 6 weeks)6
    Reflects downloads up to 16 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Achieving stepwise construction of cyber physical systems in EX-MAN component modelJournal of King Saud University - Computer and Information Sciences10.1016/j.jksuci.2022.10.02434:10(10319-10338)Online publication date: Nov-2022
    • (2021)Dynamic Prioritization of Software Requirements for Incremental Software DevelopmentAdvanced Computing and Systems for Security: Volume 1410.1007/978-981-16-4294-4_8(111-131)Online publication date: 22-Sep-2021
    • (2020)Incremental Construction for Scalable Component-Based SystemsSensors10.3390/s2005143520:5(1435)Online publication date: 6-Mar-2020
    • (2014)Symmetric Preferential Attachment for New Vertices Attaching to Software NetworksNew Generation Computing10.1007/s00354-014-0405-632:3-4(271-296)Online publication date: 27-Aug-2014
    • (2013)Towards mining informal online data to guide component-reuse decisionsProceedings of the 16th International ACM Sigsoft symposium on Component-based software engineering10.1145/2465449.2465459(65-74)Online publication date: 17-Jun-2013
    • (2013)A modular attachment mechanism for software network evolutionPhysica A: Statistical Mechanics and its Applications10.1016/j.physa.2013.01.035392:9(2025-2037)Online publication date: May-2013

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media