Systems architecture

Last updated
Example of a high-level systems architecture for a computer Computer system architecture.svg
Example of a high-level systems architecture for a computer

A system architecture is the conceptual model that defines the structure, behavior, and more views of a system. [1] An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system.

Contents

A system architecture can consist of system components and the sub-systems developed, that will work together to implement the overall system. There have been efforts to formalize languages to describe system architecture, collectively these are called architecture description languages (ADLs). [2] [3] [4]

Overview

Various organizations can define systems architecture in different ways, including:

One can think of system architecture as a set of representations of an existing (or future) system. These representations initially describe a general, high-level functional organization, and are progressively refined to more detailed and concrete descriptions.

System architecture conveys the informational content of the elements consisting of a system, the relationships among those elements, and the rules governing those relationships. The architectural components and set of relationships between these components that an architecture description may consist of hardware, software, documentation, facilities, manual procedures, or roles played by organizations or people.[ clarification needed ]

A system architecture primarily concentrates on the internal interfaces among the system's components or subsystems, and on the interface(s) between the system and its external environment, especially the user. (In the specific case of computer systems, this latter, special, interface is known as the computer human interface, AKA human computer interface, or HCI; formerly called the man-machine interface.)

One can contrast a system architecture with system architecture engineering (SAE) - the method and discipline for effectively implementing the architecture of a system: [13]

History

Systems architecture depends heavily on practices and techniques which were developed over thousands of years in many other fields, perhaps the most important being civil architecture.

Types

Several types of systems architectures (underlain by the same fundamental principles [14] ) have been identified as follows: [15]

See also

Related Research Articles

Software engineering is an engineering-based approach to software development. A software engineer is a person who applies the engineering design process to design, develop, test, maintain, and evaluate computer software. The term programmer is sometimes used as a synonym, but may emphasize software implementation over design and can also lack connotations of engineering education or skills.

<span class="mw-page-title-main">Systems engineering</span> Interdisciplinary field of engineering

Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their life cycles. At its core, systems engineering utilizes systems thinking principles to organize this body of knowledge. The individual outcome of such efforts, an engineered system, can be defined as a combination of components that work in synergy to collectively perform a useful function.

<span class="mw-page-title-main">Software architecture</span> High level structures of a software system

Software architecture is the set of structures needed to reason about a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations.

Software design is the process by which an agent creates a specification of a software artifact intended to accomplish goals, using a set of primitive components and subject to constraints. The term is sometimes used broadly to refer to "all the activity involved in conceptualizing, framing, implementing, commissioning, and ultimately modifying" the software, or more specifically "the activity following requirements specification and before programming, as ... [in] a stylized software engineering process."

An information system (IS) is a formal, sociotechnical, organizational system designed to collect, process, store, and distribute information. From a sociotechnical perspective, information systems are composed by four components: task, people, structure, and technology. Information systems can be defined as an integration of components for collection, storage and processing of data of which the data is used to provide information, contribute to knowledge as well as digital products that facilitate decision making.

<span class="mw-page-title-main">Systems development life cycle</span> Systems engineering terms

In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an information system. The SDLC concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.

In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provided to the other components by application components, through a communication protocol over a network. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online. SOA is also intended to be independent of vendors, products and technologies.

Enterprise architecture (EA) is a business function concerned with the structures and behaviours of a business, especially business roles and processes that create and use business data. The international definition according to the Federation of Enterprise Architecture Professional Organizations is "a well-defined practice for conducting enterprise analysis, design, planning, and implementation, using a comprehensive approach at all times, for the successful development and execution of strategy. Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies. These practices utilize the various aspects of an enterprise to identify, motivate, and achieve these changes."

Architecture description languages (ADLs) are used in several disciplines: system engineering, software engineering, and enterprise modelling and engineering.

<span class="mw-page-title-main">Department of Defense Architecture Framework</span> Enterprise architecture framework

The Department of Defense Architecture Framework (DoDAF) is an architecture framework for the United States Department of Defense (DoD) that provides visualization infrastructure for specific stakeholders concerns through viewpoints organized by various views. These views are artifacts for visualizing, understanding, and assimilating the broad scope and complexities of an architecture description through tabular, structural, behavioral, ontological, pictorial, temporal, graphical, probabilistic, or alternative conceptual means. The current release is DoDAF 2.02.

<span class="mw-page-title-main">Systems architect</span>

The systems architect is an information and communications technology professional. Systems architects define the architecture of a computerized system in order to fulfill certain requirements. Such definitions include: a breakdown of the system into components, the component interactions and interfaces, and the technologies and resources to be used in its design and implementation.

<span class="mw-page-title-main">Component-based software engineering</span> Branch of software engineering

Component-based software engineering (CBSE), also called component-based development (CBD), is a style of software engineering that aims to build software out of loosely-coupled, modular components. It emphasizes the separation of concerns among different parts of a software system.

<span class="mw-page-title-main">Hardware architecture</span>

In engineering, hardware architecture refers to the identification of a system's physical components and their interrelationships. This description, often called a hardware design model, allows hardware designers to understand how their components fit into a system architecture and provides to software component designers important information needed for software development and integration. Clear definition of a hardware architecture allows the various traditional engineering disciplines to work more effectively together to develop and manufacture new machines, devices and components.

<span class="mw-page-title-main">Enterprise architecture framework</span> Frame in which the architecture of a company is defined

An enterprise architecture framework defines how to create and use an enterprise architecture. An architecture framework provides principles and practices for creating and using the architecture description of a system. It structures architects' thinking by dividing the architecture description into domains, layers, or views, and offers models – typically matrices and diagrams – for documenting each view. This allows for making systemic design decisions on all the components of the system and making long-term decisions around new design requirements, sustainability, and support.

IEEE 1471 is a superseded IEEE standard for describing the architecture of a "software-intensive system", also known as software architecture.

Enterprise systems engineering (ESE) is the discipline that applies systems engineering to the design of an enterprise. As a discipline, it includes a body of knowledge, principles, and processes tailored to the design of enterprise systems.

<span class="mw-page-title-main">ArchiMate</span> Enterprise architecture modeling language

ArchiMate is an open and independent enterprise architecture modeling language to support the description, analysis and visualization of architecture within and across business domains in an unambiguous way.

<span class="mw-page-title-main">View model</span>

A view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture, or enterprise architecture. A view is a representation of the whole system from the perspective of a related set of concerns.

<span class="mw-page-title-main">Open-system environment reference model</span>

Open-system environment (OSE) reference model (RM) or OSE reference model (OSE/RM) is a 1990 reference model for enterprise architecture. It provides a framework for describing open system concepts and defining a lexicon of terms, that can be agreed upon generally by all interested parties.

Software architecture description is the set of practices for expressing, communicating and analysing software architectures, and the result of applying such practices through a work product expressing a software architecture.

References

  1. Hannu Jaakkoррмшлинla and Bernhard Thalheim. (2011) "Architecture-driven modelling methodologies." In: Proceedings of the 2011 conference on Information Modelling and Knowledge Bases XXII. Anneli Heimbürger et al. (eds). IOS Press. p. 98
  2. Paul C. Clements (1996) "A survey of architecture description languages." Proceedings of the 8th international workshop on software specification and design. IEEE Computer Society, 1996.
  3. Nenad Medvidovic and Richard N. Taylor (2000). "A classification and comparison framework for software architecture description languages." Software Engineering, IEEE Transactions on 26.1 (2000): 70-93.
  4. Nejad, Bobby (2023), Nejad, Bobby (ed.), "The Physical Architecture", Introduction to Satellite Ground Segment Systems Engineering: Principles and Operational Aspects, Space Technology Library, Cham: Springer International Publishing, vol. 41, pp. 187–197, doi:10.1007/978-3-031-15900-8_13, ISBN   978-3-031-15900-8 , retrieved 2022-12-07
  5. From ANSI/IEEE 1471-2000.
  6. From the Carnegie Mellon University's Software Engineering Institute.
  7. From The Human Engineering Home Page's Glossary. Archived 2015-02-13 at the Wayback Machine
  8. From OPEN Process Framework (OPF) Repository Archived 2006-03-05 at the Wayback Machine .
  9. From The National Center for Education Statistics glossary.
  10. TOGAF
  11. From IEEE 1220-1998 as found at their glossary Archived 2006-05-17 at the Wayback Machine .
  12. TOGAF
  13. The Method Framework for Engineering System Architectures, Donald Firesmith et al., 2008
  14. The fundamental principles of Systems Architecture, by Boris Golden
  15. The Art of Systems Architecture, Mark Maier and Eberhardt Rechtin, 2nd ed 2002
  16. Abbas, Karim (2023). From Algorithms to Hardware Architectures. doi:10.1007/978-3-031-08693-9. ISBN   978-3-031-08692-2. S2CID   251371033.
  17. Michaels, Paul (2022). Software Architecture by Example. doi:10.1007/978-1-4842-7990-8. ISBN   978-1-4842-7989-2. S2CID   248408249.
  18. Zeng, Ruiqi; Niu, Yiru; Zhao, Yue; Peng, Haiyang (2022). "Software Architecture Evolution and Technology Research". In Liu, Shuai; Ma, Xuefei (eds.). Advanced Hybrid Information Processing. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering. Vol. 416. Cham: Springer International Publishing. pp. 708–720. doi:10.1007/978-3-030-94551-0_54. ISBN   978-3-030-94551-0. S2CID   246051702.
  19. Ziemann, Jörg (2022), Ziemann, Jörg (ed.), "Enterprise Architecture in a Nutshell", Fundamentals of Enterprise Architecture Management: Foundations for Steering the Enterprise-Wide Digital System, The Enterprise Engineering Series, Cham: Springer International Publishing, pp. 23–60, doi:10.1007/978-3-030-96734-5_2, ISBN   978-3-030-96734-5 , retrieved 2022-12-07
  20. Musukutwa, Sheunopa Chalmers (2022), Musukutwa, Sheunopa Chalmers (ed.), "Developing an Enterprise Architecture", SAP Enterprise Architecture: A Blueprint for Executing Digital Transformation, Berkeley, CA: Apress, pp. 51–92, doi:10.1007/978-1-4842-8575-6_3, ISBN   978-1-4842-8575-6 , retrieved 2022-12-07
  21. Markusheska, Nastasija; Srinivasan, Venkatachalam; Walther, Jan-Niclas; Gindorf, Alex; Biedermann, Jörn; Meller, Frank; Nagel, Björn (2022-07-01). "Implementing a system architecture model for automated aircraft cabin assembly processes". CEAS Aeronautical Journal. 13 (3): 689–703. doi: 10.1007/s13272-022-00582-6 . ISSN   1869-5590. S2CID   248972956.
  22. Choosing A Strategic Systems Architecture, by Brad Day