Advertisement

Design of Good Information Systems Architectures

  • Ali Sunyaev
Chapter
  • 30 Downloads

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Albin S (2003) The art of software architecture: design methods and techniques. Wiley, New York, NYGoogle Scholar
  2. Antony T, Han J, Vasa R (2009) Software architecture design reasoning: a case for improved methodology support. IEEE Softw 26(2):43–49CrossRefGoogle Scholar
  3. 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–46CrossRefGoogle Scholar
  4. 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–1066Google Scholar
  5. 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–33CrossRefGoogle Scholar
  6. Banker RD, Datar SM, Kemerer CF, Zweig D (1993) Software complexity and maintenance costs. Commun ACM 36(11):81–94CrossRefGoogle Scholar
  7. 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 2019CrossRefGoogle Scholar
  8. Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley, LondonGoogle Scholar
  9. 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
  10. Boehm BW (1988) A spiral model of software development and enhancement. Computer 21(5):61–72CrossRefGoogle Scholar
  11. 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 2000Google Scholar
  12. Boritz JE (2005) IS practitioners’ views on core concepts of information integrity. Int J Account Inf Syst 6(4):260–279CrossRefGoogle Scholar
  13. 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.61Google Scholar
  14. 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–194Google Scholar
  15. 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–65CrossRefGoogle Scholar
  16. 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–332CrossRefGoogle Scholar
  17. 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 2019Google Scholar
  18. 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 2013Google Scholar
  19. Chermack TJ, Kasshanna BK (2007) The use and misuse of SWOT analysis and implications for HRD professionals. Hum Resour Dev Int 10(4):383–399CrossRefGoogle Scholar
  20. Clements P, Garlan D, Bass L, Stafford J, Nord R, Ivers J, Little R (2002) Documenting software architectures: views and beyond. Addison Wesley, Boston, MAGoogle Scholar
  21. Davis AM (1993) Software requirements: objects, functions, and states. PTR Prentice Hall, Upper Saddle River, NJzbMATHGoogle Scholar
  22. 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 2007Google Scholar
  23. de Reuver M, Sørensen C, Basole RC (2018) The digital platform: a research agenda. J Inf Technol 33(2):124–135CrossRefGoogle Scholar
  24. 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):33CrossRefGoogle Scholar
  25. 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–192CrossRefGoogle Scholar
  26. Gilb T (2005) Competitive engineering: a handbook for systems engineering, requirements engineering, and software engineering using planguage. Elsevier, Butterworth-Heinemann, OxfordGoogle Scholar
  27. 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 2015Google Scholar
  28. 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–301CrossRefGoogle Scholar
  29. Hinley DS (1996) Software evolution management: a process-oriented perspective. Inf Softw Technol 38(11):723–730CrossRefGoogle Scholar
  30. Hochstein L, Lindval M (2005) Combating architectural degeneration: a survey. Inf Softw Technol 47(10):643–665CrossRefGoogle Scholar
  31. 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–126CrossRefGoogle Scholar
  32. IEEE (1990) Standard glossary of software engineering terminology. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=159342&tag=1. Accessed 16 Sept 2019
  33. IEEE (1992) Standard for a software quality metrics methodology. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=237006. Accessed 16 Sept 2019
  34. Ika LA (2009) Project success as a topic in project management journals. Proj Manag J 40(4):6–19CrossRefGoogle Scholar
  35. 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–40Google Scholar
  36. 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
  37. ISO (2018) Ergonomics of human-system interaction – Part 11: Usability: definitions and concepts. https://www.iso.org/standard/63500.html. Accessed 19 Sept 2019
  38. 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
  39. ISO/IEC/IEEE (2017a) International standard – systems and software engineering – vocabulary. https://standards.ieee.org/standard/24765-2017.html. Accessed 19 Sept 2019
  40. ISO/IEC/IEEE (2017b) Systems and software engineering – software life cycle processes. https://www.iso.org/standard/63712.html. Accessed 19 Sept 2019
  41. 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 2005Google Scholar
  42. Jansen AGJ, Bosch J, Avergiou P (2008) Documenting after the fact: recovering architectural design decisions. J Syst Softw 81(4):536–557CrossRefGoogle Scholar
  43. Jansen A, Avgeriou P, van der Ven JS (2009) Enriching software architecture documentation. J Syst Softw 82(8):1232–1248CrossRefGoogle Scholar
  44. Kim S, Whitehead EJ, Zhang Y (2008) Classifying software changes: clean or buggy? IEEE Trans Softw Eng 34(2):181–196CrossRefGoogle Scholar
  45. 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 2003Google Scholar
  46. Kotonya G, Sommerville I (1998) Requirements engineering: processes and techniques, 1st edn. Wiley, New York, NYGoogle Scholar
  47. 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 2006Google Scholar
  48. Lago P, Avgeriou P (2006) First workshop on sharing and reusing architectural knowledge. SIGSOFT Softw Eng Notes 31(5):32–36CrossRefGoogle Scholar
  49. 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 1998Google Scholar
  50. 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 1998Google Scholar
  51. Lund AM (2001) Measuring usability with the USE questionnaire. Usability Interface 8(2):3–6Google Scholar
  52. 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 2010Google Scholar
  53. 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 2010Google Scholar
  54. Mesly O (2016) Project feasibility: tools for uncovering points of vulnerability. CRC Press, New York, NYGoogle Scholar
  55. 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 2003Google Scholar
  56. 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 2009Google Scholar
  57. 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
  58. 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 2001Google Scholar
  59. 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 2003Google Scholar
  60. Pinto JK, Slevin DP (1988) Project success: definitions and measurement techniques. Proj Manag J 19(1):67–72Google Scholar
  61. 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–76Google Scholar
  62. Tang A, Babar MA, Gorton I, Han J (2006) A survey of architecture design rationale. J Syst Softw 79(12):1792–1804CrossRefGoogle Scholar
  63. Tang A, Jin Y, Han J (2007) A rationale-based architecture model for design traceability and reasoning. J Syst Softw 80(6):918–934CrossRefGoogle Scholar
  64. 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 2011Google Scholar
  65. Taylor RN, Medvidovic N, Dashofy E (2009) Software architecture: foundations, theory, and practice. Wiley, Hoboken, NJGoogle Scholar
  66. 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 2004Google Scholar
  67. 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 2016Google Scholar
  68. Tiwana A (2015) Evolutionary competition in platform ecosystems. Inf Syst Res 26(2):266–281CrossRefGoogle Scholar
  69. Tiwana A, Konsynski B, Bush AA (2010) Platform evolution: coevolution of platform architecture, governance, and environmental dynamics. Inf Syst Res 21(4):675–687CrossRefGoogle Scholar
  70. 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–236CrossRefGoogle Scholar
  71. Williams BJ, Carver JC (2010) Characterizing software architecture changes: a systematic review. Inf Softw Technol 52(1):31–51CrossRefGoogle Scholar
  72. 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

  1. Albin S (2003) The art of software architecture: design methods and techniques. Wiley, New York, NYGoogle Scholar
  2. Bass L, Clements P, Kazman R (2012) Software architecture in practice. Addison-Wesley, LondonGoogle Scholar
  3. 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 2007Google Scholar
  4. Gilb T (2005) Competitive engineering: a handbook for systems engineering, requirements engineering, and software engineering using planguage. Elsevier, Butterworth-Heinemann, OxfordGoogle Scholar
  5. 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–126CrossRefGoogle Scholar
  6. Taylor RN, Medvidovic N, Dashofy E (2009) Software architecture: foundations, theory, and practice. Wiley, Hoboken, NJGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Ali Sunyaev
    • 1
  1. 1.Institute of Applied Informatics and Formal Description MethodsKarlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations