Skip to main content

A Heuristic Approach to Architectural Design of Software-Intensive Product Platforms

  • Chapter
  • First Online:
Advances in Product Family and Product Platform Design
  • 5860 Accesses

Abstract

This chapter introduces a heuristic approach for the analysis, architecting, and design of software-centric product platforms. The central role of software architecture is stressed by highlighting its relationship to the analysis of new product domains. Several case studies are used to illustrate key concepts, including a more detailed case on the design of an object-oriented application framework as platform for a family of products that control industrial processing machines. Case studies and methodology are linked to important software engineering design principles. At the end of the detailed case study, an approximate measure of code reuse and its economic impact is presented, which can serve to support the business case of making the significant investment required by a software platform for a family of related products. This chapter builds on fundamental software engineering concepts introduced in Chap. 21.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 299.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Alur D, Crupi J, Malks D (2003) Core J2EE patterns, 2nd edn. Prentice Hall, Upper Saddle River, NJ

    Google Scholar 

  • Booch G, Rumbaugh J, Jacobson I (1998) The unified modeling language user guide. Addison-Wesley, Reading, MA

    Google Scholar 

  • Brooks FP (1975) The mythical man month. Addison-Wesley, Reading, MA

    Google Scholar 

  • Buschmann F et al (1996) Pattern-oriented software architecture: a system of patterns. Wiley, Chichester

    Google Scholar 

  • CACM (1997) Special issue on object-oriented application frameworks. Commun ACM 40(10):32–87

    Article  Google Scholar 

  • Cardino G, Baruchelli F, Valerio A (1997) The evaluation of framework reusability. ACM SIGAPP Appl Comput Rev 5(2):21–27

    Article  Google Scholar 

  • Chen YF, Krishnamurti B, Vo KP (1995) An objective reuse metric: model and methodology. In: Schäfer W, Botella P (eds) ESEC ‘95: 5th European software engineering conference, Sitges, Spain, Sept 1995

    Google Scholar 

  • Chidamber SR, Kemerer CF (1994) A metrics suite for object oriented design. IEEE Trans Soft Eng 20(6):476–493

    Article  Google Scholar 

  • Clemens P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Merson P, Nord R, Stafford J (2011) Documenting software architectures, 2nd edn. Addison-Wesley, Reading, MA

    Google Scholar 

  • Cockburn A (2000) Writing effective use cases. Addison-Wesley Professional, Reading, MA

    Google Scholar 

  • Daigneau R (2011) Service design patterns: fundamental design solutions for SOAP/WSDL and RESTful web services. Addison-Wesley Professional, Reading, MA

    Google Scholar 

  • Devanbu P, Kartsu S, Melo W, Thomas W (1996) Analytical and empirical evaluation of software reuse metrics. In: Dieter Rombach H et al (eds) ICSE ‘96: 18th international conference on software engineering, Berlin, Germany, 25–29 Mar 1996. Proceedings IEEE Computer Society 1996, pp 189–199

    Google Scholar 

  • Douglass BP (2002) Real-time design patterns: robust scalable architecture for real-time systems. Addison-Wesley Professional, Reading, MA

    Google Scholar 

  • Douglass BP (2011) Design patterns for embedded systems in C. Newnes, Boston, MA

    Google Scholar 

  • Fayad ME, Schmidt D (1997) Object-oriented application frameworks. Commun ACM 40(10):32–38

    Article  Google Scholar 

  • Fayad ME, Schmidt D, Johnson R (1999) Building application frameworks: object-oriented foundations of framework design. Wiley, New York, NY

    Google Scholar 

  • Fayad ME and Johnson R, (1999) Domain-Specific Application Frameworks: framework Experience by Industry. Wiley, New York

    Google Scholar 

  • Fayad ME, Hamu DS, Brugali D (2000) Enterprise frameworks: characteristics, criteria and challenges. Commun ACM 43(10):39–46

    Article  Google Scholar 

  • Ferri RN, Pratiwadi RN, Rivera LM, Shakir M, Snyder JJ, Thomas DW, Chen YF, Fowler GS, Krishnamurti B, Vo KP (1997) Software reuse metrics for an industrial project. In: Bieman et al (eds) METRICS ‘97: Proceedings of the 4th international software metrics symposium, Albuquerque, NM, Nov 1997, pp 165–173

    Google Scholar 

  • Fowler M (2002) Patterns of enterprise application architecture. Addison-Wesley Professional, Reading, MA

    Google Scholar 

  • Fowler M (2003) UML distilled, 3rd edn. Addison-Wesley, Reading, MA

    Google Scholar 

  • Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading, MA

    Google Scholar 

  • IEEE (2011) ISO/IEC/IEEE Std 42010-2011 systems and software engineering: architecture description, international standard

    Google Scholar 

  • ISO (2011) The ISO architecture group maintains a survey of all known architecture frameworks as reference material in their ISO/IEC/IEEE Std 42010. http://www.iso-architecture.org/ieee-1471/afs/frameworks-table.html. Accessed Jul 2012

  • Jacobson I, Christerson M, Jonsson P, Overgaard G (1992) Object-oriented software engineering: a use case driven approach. Addison-Wesley, Reading, MA

    MATH  Google Scholar 

  • Johnson RE (1992) Documenting frameworks using patterns. In: Pugh J (ed) OOPSLA ‘92: ACM conference on object oriented programming systems, languages and applications, conference proceedings, Vancouver, BC, Canada, Oct 1992

    Google Scholar 

  • Johnson RE (1997) Frameworks=(components+patterns). Commun ACM 40(10):39–42

    Article  Google Scholar 

  • Microsoft (1994) COM and COM+Technology reference papers. http://msdn.microsoft.com/

  • Morales CO (2013) Chapter 21: Design principles for reusable software platforms. In: Simpson T, Jiao R, Siddique Z, Holtta-Otto K (eds) Advances in Product Family and Product Platform Design: Methods and Applications, Springer, New York, NY

    Google Scholar 

  • Object Management Group (2011) The unified modeling language UML, ver. 2.4.1, Object Management Group

    Google Scholar 

  • Poulin J, Caruso J, Hancock D (1993) The business case for software reuse. IBM Syst J 32(4):567–594

    Article  Google Scholar 

  • Price MW, Demurjian SA (1997) Analyzing and measuring reusability in object-oriented designs. In: Berman AM (ed) OOPSLA ‘97: ACM conference on object oriented programming systems languages and applications, conference proceedings, Atlanta, GA, Oct 1997, pp 22–33

    Google Scholar 

  • Price MW,Needham DM, Demurjian SA (2001) Producing reusable object-oriented components: a domain-and-organization-specific perspective. In: Proceedings of ACM symposium on software reusability SSR ‘01, Toronto, ON, Canada, May 2001, pp 41–50

    Google Scholar 

  • Rumbaugh J, Jacobson I, Booch G (1998) The unified modeling language reference manual. Addison-Wesley, Reading, MA

    Google Scholar 

  • Russell S, Norvig P (2009) Artificial Intelligence: a modern approach, 3rd edn. Prentice Hall, Upper Saddle River, NJ

    Google Scholar 

  • Schmidt D, Fayad ME (1997) Lessons learned building reusable OO frameworks for distributed software. Commun ACM 40(10):85–87

    Article  Google Scholar 

  • Schmidt D, Stal M, Rohnert H, Buschmann F (2000) Pattern-oriented software architecture, vol 2: patterns for concurrent and networked objects. Wiley, Chichester

    Google Scholar 

  • Washizaki H, Yamamoto H, Fukuzawa Y (2003) A metrics suite for measuring reusability of software components. In: Proceedings of the 9th IEEE international software metrics symposium (METRICS 2003), 3–5 Sept 2003, Sydney, Australia, pp 211–223

    Google Scholar 

  • Yassin AF, Fayad ME (1999) Chapter 29: A survey of object-oriented application frameworks. In: Fayad ME, Johnson R (eds) Domain-specific application frameworks. Wiley, New York, NY, pp 615–632

    Google Scholar 

  • Zachman JA (1987) A framework for information systems architecture. IBM Syst J 26(3):276–292

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Carlos O. Morales .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer Science+Business Media New York

About this chapter

Cite this chapter

Morales, C.O. (2014). A Heuristic Approach to Architectural Design of Software-Intensive Product Platforms. In: Simpson, T., Jiao, J., Siddique, Z., Hölttä-Otto, K. (eds) Advances in Product Family and Product Platform Design. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-7937-6_26

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-7937-6_26

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-7936-9

  • Online ISBN: 978-1-4614-7937-6

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics