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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Alur D, Crupi J, Malks D (2003) Core J2EE patterns, 2nd edn. Prentice Hall, Upper Saddle River, NJ
Booch G, Rumbaugh J, Jacobson I (1998) The unified modeling language user guide. Addison-Wesley, Reading, MA
Brooks FP (1975) The mythical man month. Addison-Wesley, Reading, MA
Buschmann F et al (1996) Pattern-oriented software architecture: a system of patterns. Wiley, Chichester
CACM (1997) Special issue on object-oriented application frameworks. Commun ACM 40(10):32–87
Cardino G, Baruchelli F, Valerio A (1997) The evaluation of framework reusability. ACM SIGAPP Appl Comput Rev 5(2):21–27
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
Chidamber SR, Kemerer CF (1994) A metrics suite for object oriented design. IEEE Trans Soft Eng 20(6):476–493
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
Cockburn A (2000) Writing effective use cases. Addison-Wesley Professional, Reading, MA
Daigneau R (2011) Service design patterns: fundamental design solutions for SOAP/WSDL and RESTful web services. Addison-Wesley Professional, Reading, MA
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
Douglass BP (2002) Real-time design patterns: robust scalable architecture for real-time systems. Addison-Wesley Professional, Reading, MA
Douglass BP (2011) Design patterns for embedded systems in C. Newnes, Boston, MA
Fayad ME, Schmidt D (1997) Object-oriented application frameworks. Commun ACM 40(10):32–38
Fayad ME, Schmidt D, Johnson R (1999) Building application frameworks: object-oriented foundations of framework design. Wiley, New York, NY
Fayad ME and Johnson R, (1999) Domain-Specific Application Frameworks: framework Experience by Industry. Wiley, New York
Fayad ME, Hamu DS, Brugali D (2000) Enterprise frameworks: characteristics, criteria and challenges. Commun ACM 43(10):39–46
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
Fowler M (2002) Patterns of enterprise application architecture. Addison-Wesley Professional, Reading, MA
Fowler M (2003) UML distilled, 3rd edn. Addison-Wesley, Reading, MA
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading, MA
IEEE (2011) ISO/IEC/IEEE Std 42010-2011 systems and software engineering: architecture description, international standard
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
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
Johnson RE (1997) Frameworks=(components+patterns). Commun ACM 40(10):39–42
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
Object Management Group (2011) The unified modeling language UML, ver. 2.4.1, Object Management Group
Poulin J, Caruso J, Hancock D (1993) The business case for software reuse. IBM Syst J 32(4):567–594
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
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
Rumbaugh J, Jacobson I, Booch G (1998) The unified modeling language reference manual. Addison-Wesley, Reading, MA
Russell S, Norvig P (2009) Artificial Intelligence: a modern approach, 3rd edn. Prentice Hall, Upper Saddle River, NJ
Schmidt D, Fayad ME (1997) Lessons learned building reusable OO frameworks for distributed software. Commun ACM 40(10):85–87
Schmidt D, Stal M, Rohnert H, Buschmann F (2000) Pattern-oriented software architecture, vol 2: patterns for concurrent and networked objects. Wiley, Chichester
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
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
Zachman JA (1987) A framework for information systems architecture. IBM Syst J 26(3):276–292
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)