Skip to ContentGo to accessibility pageKeyboard shortcuts menu
OpenStax Logo

Summary

10.1 Patterns Management

  • A pattern documents a recurring problem/solution pairing within a given context.
  • Patterns can be used to construct architectures at various levels of scope to guarantee specific properties.
  • Patterns are classified as design or implementation centric. Design-centric patterns are organized in a pattern hierarchy that includes architectural styles, architectural patterns, and design patterns. Implementation-centric pattern hierarchy includes implementation styles, implementation patterns, and idioms.
  • In patterns terminology, styles are named collections of architectural decisions that are applicable in a given solution context, constrain architectural decisions that are specific to a solution within that context, and elicit beneficial qualities in each resulting system.
  • An enterprise architecture (EA) is a conceptual blueprint that defines the structure and operation of organizations.
  • Design modeling provides a variety of different views of the system like architecture plans for the enterprise.
  • The architecture may appear in different levels of focus from a top-down standpoint (i.e., enterprise, portfolio, or project).
  • A pattern catalog is a collection of patterns that are organized according to specific characteristics and the relationships between them are defined.
  • Implementation patterns are typically specific to technology stacks that are selected as part of the specialization of a solution design.
  • Patterns management comprises a series of patterns that create an organization chart for developing software.

10.2 Enterprise Architecture Management Frameworks

  • Enterprise architecture (EA) is a comprehensive, well-defined approach of business planning to utilize information technology to meet the objectives of the business vision by aligning business and technology strategies.
  • Enterprises focus on activities that allow them to meet their current and future objectives.
  • The enterprise IT strategy is based on a collective set of principles that form a consistent framework for technology decision-making and reflect a level of consensus among key stakeholder technology groups.
  • Business and technology executives are responsible for managing IT projects so that they achieve division-wide and company-wide objectives by engaging with the enterprise architects.
  • Aligning business and technology strategies is typically difficult to do on an ongoing basis because of the lack of alignment with enterprise-driven initiatives. Enterprise architecture helps align business and technology strategies.
  • There are many enterprise architecture frameworks, such as TOGAF, Gartner, C4ISR, CORBA, FEA, and Zachman.
  • The Open Group Architecture Framework (TOGAF) is an EA methodology and framework used by leading organizations to improve business efficiency.
  • Architecture Development Method (ADM) is a detailed step-by-step process for developing or changing an enterprise architecture as well as a content framework to help drive greater consistency in the outputs that are created when using the ADM.
  • ADM defines the TOGAF approach for establishing processes linked with enterprise architecture. It provides a recursive and tested process development business architecture; every phase of the ADM is iterative in nature to develop an enterprise-wide architecture.
  • ADM phases are Preliminary Phase, Architecture Vision, Business Architecture, Information System Architecture, Technology Architecture, Opportunities and Solutions, Migration Planning, Implementation Governance, and Architecture Change Management.
  • EA is typically used by companies to produce a blueprint of the future state and a road map for getting there.
  • A road map is used to guide an organization with planning and maintaining business goals over time through technology.
  • ArchDev is an example of an Accelerated Architecture-Driven Digital Transformation process, which helps companies proactively embed stakeholder interests and sustainability into the company’s digital growth.
  • Agile EA Management (AEAM) is a methodology used for software development and project management.
  • An enterprise architecture blueprint is a visualization of the architecture at the conceptual, logical, and physical level of an enterprise, showing concepts, their elements, as well as the components that implement the elements and their interrelationships.
  • HCC studies the design, development, and deployment of mixed-initiative human-computer systems.
  • HCC/HCI is a subfield within computer science concerned with the study of the interaction between people and computers.
  • Microservices is an approach to building a software solution as a set of small services that may be deployed locally or on the cloud.

10.3 Solution Architecture Management

  • Solution architecture management is managing, designing, and describing the solution engineering in relation to specific business problems.
  • The software process can be defined as a collection of patterns that define a set of activities, actions, and tasks required to develop computer software.
  • Software engineering process patterns establish collaborative communication between customers and software engineers to guarantee a successful completion of task patterns within the project requirements and the project scope.
  • Subsystems are sets of collaborating components performing a given task included in software systems and it is considered a separate entity within a software architecture.
  • At a programming language level, components may be represented as modules, classes, objects, or as a set of related functions.
  • The requirements model describes the problem set, establishes the context, and identifies the system of forces that hold sway.
  • Design patterns are a representation of the previous test solutions in relation to specific problems, which are useful for solving future problems.
  • An architectural style corresponds to a coordinated role and allows relationships among the elements within any architecture that conforms to that style.
  • The framework is an implementation-specific skeletal subsystem for design work.
  • A software stack is a collection of independent components or subsystems such as operating system, protocols, databases, architectural layers, and function calls that work together to support the execution of an application.
  • As architectural models get transitioned into implementation architectures, it becomes necessary to specify how architectural and design patterns are realized practically within the solution.
Citation/Attribution

This book may not be used in the training of large language models or otherwise be ingested into large language models or generative AI offerings without OpenStax's permission.

Want to cite, share, or modify this book? This book uses the Creative Commons Attribution License and you must attribute OpenStax.

Attribution information
  • If you are redistributing all or part of this book in a print format, then you must include on every physical page the following attribution:
    Access for free at https://openstax.org/books/introduction-computer-science/pages/1-introduction
  • If you are redistributing all or part of this book in a digital format, then you must include on every digital page view the following attribution:
    Access for free at https://openstax.org/books/introduction-computer-science/pages/1-introduction
Citation information

© Oct 29, 2024 OpenStax. Textbook content produced by OpenStax is licensed under a Creative Commons Attribution License . The OpenStax name, OpenStax logo, OpenStax book covers, OpenStax CNX name, and OpenStax CNX logo are not subject to the Creative Commons license and may not be reproduced without the prior and express written consent of Rice University.