Abstract
Each information system (IS) has an underlying architecture, although its complexity and scope can vary quite substantially for differ kinds of systems. Since design decisions about the architecture define the very foundation of an IS, the design decisions cannot be easily undone or altered after they were made. If not taken seriously enough, improper IS architecture designs can result in the development of systems that are incapable of adequately meeting user requirements. Understanding the concept of good IS architecture design and taking design decisions diligently is, therefore, highly important for an IS development project’s success. In order to answer the question of what constitutes a good IS architecture, this chapter examines the importance of design decisions across a system’s lifecycle. In particular, two different perspectives on the concept of good IS architecture design are explicated: (1) design as the process and (2) design as the outcome of a design process. The two perspectives are closely related to each other and generally help explain the more abstract concept of IS architecture design and particularly the characteristics of a good IS architecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Albin S (2003) The art of software architecture: design methods and techniques. Wiley, New York, NY
Antony T, Han J, Vasa R (2009) Software architecture design reasoning: a case for improved methodology support. IEEE Softw 26(2):43–49
Avgeriou P, Kruchten P, Lago P, Grisham P, Perry D (2007) Architectural knowledge and rationale: issues, trends, challenges. ACM SIGSOFT Softw Eng Notes 32(4):41–46
Avgeriou P, Lago P, Kruchten P (2008) 3rd international workshop on sharing and reusing architectural knowledge (SHARK 2008). In: 30th international conference on software engineering, Leipzig, 10–18 May 2008, pp 1065–1066
Avizienis A, Laprie J-C, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Depend Secure Comput 1(1):11–33
Banker RD, Datar SM, Kemerer CF, Zweig D (1993) Software complexity and maintenance costs. Commun ACM 36(11):81–94
Barbacci MR, Ellison RJ, Lattanze AJ, Stafford JA, Weinstock CB, Wood WG (2003) Quality attribute workshops (QAWs), 3rd edn. https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=6687. Accessed 16 Sept 2019
Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley, London
Beck K, Beedle M, Van Bennekum A, Cockburn A, Cunningham W, Fowler M, Grenning J, Highsmith J, Hunt A, Jeffries R, Kern J, Marick B, Martin R, Mellor S, Schwaber K, Sutherland J, Thomas D (2001) Manifesto for Agile software development. http://agilemanifesto.org. Accessed 5 May 2019
Boehm BW (1988) A spiral model of software development and enhancement. Computer 21(5):61–72
Bondi AB (2000) Characteristics of scalability and their impact on performance. Paper presented at the 2nd international workshop on software and performance, Ottowa, ON, 17–20 Sept 2000
Boritz JE (2005) IS practitioners’ views on core concepts of information integrity. Int J Account Inf Syst 6(4):260–279
Brewer J (2001) Access to the world wide web: technical and policy aspects. In: Preiser W, Ostroff E (eds) Universal design handbook, 1st edn. MacGraw-Hill, New York, NY, p 66.61
Brooke J (1996) SUS – a quick and dirty usability scale. In: Jordan PW, Thomas B, McClelland IL, Weerdmeester B (eds) Usability evaluation in industry. Taylor & Francis, London, pp 189–194
Bryde DJ, Brown D (2005) The influence of a project performance measurement system on the success of a contract for maintaining motorways and trunk roads. Proj Manag J 35(4):57–65
Buckley J, Mens T, Zenger M, Rashid A, Kniesel G (2005) Towards a taxonomy of software change. J Softw Maint Evol Res Pract 17(5):309–332
Carnegie Mellon University (2018) The SEI quality attribute workshop. https://resources.sei.cmu.edu/asset_files/FactSheet/2018_010_001_513488.pdf. Accessed 5 May 2019
Cherdantseva Y, Hilton J (2013) A reference model of information assurance & security. Paper presented at the international conference on availability, reliability and security, Regensburg, 2–6 Sept 2013
Chermack TJ, Kasshanna BK (2007) The use and misuse of SWOT analysis and implications for HRD professionals. Hum Resour Dev Int 10(4):383–399
Clements P, Garlan D, Bass L, Stafford J, Nord R, Ivers J, Little R (2002) Documenting software architectures: views and beyond. Addison Wesley, Boston, MA
Davis AM (1993) Software requirements: objects, functions, and states. PTR Prentice Hall, Upper Saddle River, NJ
de Boer RC, Farenhorst R, Lago P, van Vliet H, Jansen AGJ (2007) Architectural knowledge: getting to the core. Paper presented at the 3rd international conference on the quality of software architectures, Medford, MA, 11–13 July 2007
de Reuver M, Sørensen C, Basole RC (2018) The digital platform: a research agenda. J Inf Technol 33(2):124–135
Falessi D, Cantone G, Kazman R, Kruchten P (2011) Decision-making techniques for software architecture design: a comparative survey. ACM Comput Surv (CSUR) 43(4):33
Ghazawneh A, Henfridsson O (2013) Balancing platform control and external contribution in third-party development: the boundary resources model. Inf Syst J 23(2):173–192
Gilb T (2005) Competitive engineering: a handbook for systems engineering, requirements engineering, and software engineering using planguage. Elsevier, Butterworth-Heinemann, Oxford
Glowalla P, Sunyaev A (2015) Influential factors on IS project quality: a total quality management perspective. Paper presented at the 36th international conference on information systems (ICIS), Fort Worth, TX, 13–16 Dec 2015
Hayes-Roth B, Pfleger K, Lalanda P, Morignot P, Balabanovic M (1995) A domain-specific software architecture for adaptive intelligent systems. IEEE Trans Softw Eng 21(4):288–301
Hinley DS (1996) Software evolution management: a process-oriented perspective. Inf Softw Technol 38(11):723–730
Hochstein L, Lindval M (2005) Combating architectural degeneration: a survey. Inf Softw Technol 47(10):643–665
Hofmeister C, Kruchten P, Nord RL, Obbink H, Ran A, America P (2007) A general model of software architecture design derived from five industrial approaches. J Syst Softw 80(1):106–126
IEEE (1990) Standard glossary of software engineering terminology. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=159342&tag=1. Accessed 16 Sept 2019
IEEE (1992) Standard for a software quality metrics methodology. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=237006. Accessed 16 Sept 2019
Ika LA (2009) Project success as a topic in project management journals. Proj Manag J 40(4):6–19
Isaias P, Issa T (2015) Information system development life cycle models. In: Isaias P, Issa T (eds) High level models and methodologies for information systems. Springer, New York, NY, pp 21–40
ISO (1989) Information processing systems – open systems interconnection – basic reference model – Part 2: Security architecture. https://www.iso.org/standard/14256.html. Accessed 16 Sept 2019
ISO (2018) Ergonomics of human-system interaction – Part 11: Usability: definitions and concepts. https://www.iso.org/standard/63500.html. Accessed 19 Sept 2019
ISO/IEC (2011) Systems and software engineering – systems and software quality requirements and evaluation (SQuaRE) – system and software quality models. https://pdfs.semanticscholar.org/57a5/b99eceff9da205e244337c9f4678b5b23d25.pdf. Accessed 19 Sept 2019
ISO/IEC/IEEE (2017a) International standard – systems and software engineering – vocabulary. https://standards.ieee.org/standard/24765-2017.html. Accessed 19 Sept 2019
ISO/IEC/IEEE (2017b) Systems and software engineering – software life cycle processes. https://www.iso.org/standard/63712.html. Accessed 19 Sept 2019
Jansen AGJ, Bosch J (2005) Software architecture as a set of architectural design decisions. Paper presented at the 5th IEEE/IFIP working conference on software architecture (WICSA), Pittsburgh, PA, 6–10 Nov 2005
Jansen AGJ, Bosch J, Avergiou P (2008) Documenting after the fact: recovering architectural design decisions. J Syst Softw 81(4):536–557
Jansen A, Avgeriou P, van der Ven JS (2009) Enriching software architecture documentation. J Syst Softw 82(8):1232–1248
Kim S, Whitehead EJ, Zhang Y (2008) Classifying software changes: clean or buggy? IEEE Trans Softw Eng 34(2):181–196
Knight JC, Strunk EA, Sullivan KJ (2003) Towards a rigorous definition of information system survivability. Paper presented at the DARPA information survivability conference and exposition, Washington, DC, 22–24 Apr 2003
Kotonya G, Sommerville I (1998) Requirements engineering: processes and techniques, 1st edn. Wiley, New York, NY
Kruchten P, Lago P, van Vliet H (2006) Building up and reasoning about architectural knowledge. Paper presented at the international conference on the quality of software architectures, Västerås, 27–29 June 2006
Lago P, Avgeriou P (2006) First workshop on sharing and reusing architectural knowledge. SIGSOFT Softw Eng Notes 31(5):32–36
Lam W, Shankararaman V (1998) Managing change in software development using a process improvement approach. Paper presented at the 24th annual Euromicro conference, Västerås, 27 Aug 1998
Lehmann MM, Perry DE, Ramil JF (1998) Implications of evolution metrics on software maintenance. Paper presented at the international conference on software maintenance, Bethesda, MD, 16–19 Nov 1998
Lund AM (2001) Measuring usability with the USE questionnaire. Usability Interface 8(2):3–6
Majidi E, Alemi M, Rashidi H (2010) Software architecture: a survey and classification. Paper presented at the 2nd international conference on communication software and networks, Singapore, 26–28 Feb 2010
Medvidovic N, Taylor RN (2010) Software architecture: foundations, theory, and practice. Paper presented at the 32nd ACM/IEEE international conference on software engineering, Cape Town, 1–8 May 2010
Mesly O (2016) Project feasibility: tools for uncovering points of vulnerability. CRC Press, New York, NY
Moore M, Kaman R, Klein M, Asundi J (2003) Quantifying the value of architecture design decisions: lessons from the field. Paper presented at the 25th international conference on software engineering, Portland, OR, 3–10 May 2003
Mouratidis H, Sunyaev A, Jurjens J (2009) Secure information systems engineering: experiences and lessons learned from two health care projects. Paper presented at the international conference on advanced information systems engineering, Amsterdam, 8–12 June 2009
Nielson J (2012) Usability 101: introduction to usability. https://web.archive.org/web/20110408184029/http://www.useit.com/alertbox/20030825.html. Accessed 5 May 2019
O’Neal JS, Carver DL (2001) Analyzing the impact of changing requirements. Paper presented at the IEEE international conference on software maintenance, Florence, 7–10 Nov 2001
O’Reilly C, Morrow P, Bustard D (2003) Lightweight prevention of architectural erosion. Paper presented at the 6th international workshop on principles of software evolution, Helsinki, 1–2 Sept 2003
Pinto JK, Slevin DP (1988) Project success: definitions and measurement techniques. Proj Manag J 19(1):67–72
Shenhar AJ, Dvir D, Guth W, Lechler T, Milosevic D, Patanakul P, Poli M, Stefanovic J (2007) Project strategy: the missing link. In: Shenhar AJ, Milosevic D, Dvir D, Thamhain H (eds) Linking project management to business strategy. Project Management Institute, Newtown Square, PA, pp 57–76
Tang A, Babar MA, Gorton I, Han J (2006) A survey of architecture design rationale. J Syst Softw 79(12):1792–1804
Tang A, Jin Y, Han J (2007) A rationale-based architecture model for design traceability and reasoning. J Syst Softw 80(6):918–934
Tang A, Liang P, van Vliet H (2011) Software architecture documentation: the road ahead. Paper presented at the 9th working IEEE/IFIP conference on software architecture, Boulder, CO, 20–24 June 2011
Taylor RN, Medvidovic N, Dashofy E (2009) Software architecture: foundations, theory, and practice. Wiley, Hoboken, NJ
Tekinerdogan B (2004) ASAAM: aspectual software architecture analysis method. Paper presented at the 4th working IEEE/IFIP conference on software architecture, Oslo, 12–15 June 2004
Thiebes S, Dehling T, Sunyaev A (2016) One size does not fit all: information security and information privacy for genomic cloud services. Paper presented at the 24th European conference on information systems (ECIS), Istanbul, 12–15 June 2016
Tiwana A (2015) Evolutionary competition in platform ecosystems. Inf Syst Res 26(2):266–281
Tiwana A, Konsynski B, Bush AA (2010) Platform evolution: coevolution of platform architecture, governance, and environmental dynamics. Inf Syst Res 21(4):675–687
Toora S-u-R, Ogunlana SO (2010) Beyond the ‘iron triangle’: stakeholder perception of key performance indicators (KPIs) for large-scale public sector development projects. Int J Proj Manag 28(3):228–236
Williams BJ, Carver JC (2010) Characterizing software architecture changes: a systematic review. Inf Softw Technol 52(1):31–51
Wojcik R, Bachmann F, Bass L, Clements PC, Merson P, Nord R, Wood WG (2006) Attribute-driven design (ADD), version 2.0. https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=8147. Accessed 16 Sept 2019
Further Reading
Albin S (2003) The art of software architecture: design methods and techniques. Wiley, New York, NY
Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley, London
de Boer RC, Farenhorst R, Lago P, van Vliet H, Jansen AGJ (2007) Architectural knowledge: getting to the core. Paper presented at the 3rd international conference on the quality of software architectures, Medford, MA, 11–13 July 2007
Gilb T (2005) Competitive engineering: a handbook for systems engineering, requirements engineering, and software engineering using planguage. Elsevier, Butterworth-Heinemann, Oxford
Hofmeister C, Kruchten P, Nord RL, Obbink H, Ran A, America P (2007) A general model of software architecture design derived from five industrial approaches. J Syst Softw 80(1):106–126
Taylor RN, Medvidovic N, Dashofy E (2009) Software architecture: foundations, theory, and practice. Wiley, Hoboken, NJ
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Sunyaev, A. (2020). Design of Good Information Systems Architectures. In: Internet Computing. Springer, Cham. https://doi.org/10.1007/978-3-030-34957-8_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-34957-8_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-34956-1
Online ISBN: 978-3-030-34957-8
eBook Packages: Computer ScienceComputer Science (R0)