unit 5

Cards (50)

  • Architecture
    The process of designing software systems (and subsystems) of all kinds
  • IT architecture

    The name of a specific architecture typology, e.g., "client-server architecture"
  • IT architecture
    The professional field of the information technology (IT) architect
  • IT architecture
    The result for which an IT architect is responsible, i.e., the amount of artifacts they compose to create an architecture
  • IT architecture
    The term for the science of designing IT systems, i.e., the teaching of IT architecture
  • Architecture
    The "preliminary design" of a software system
  • Design
    The "detailed design" of a software system
  • Architecture determines the basic structure, shape, type of roof, number of rooms, and the arrangement and shape of the windows
  • Design determines what the faucets look like, what color the tile joints are, and in which direction each door opens
  • In this unit, "architecture simplifying" refers to all specifications and decisions about the system that are made prior to implementation
  • IT Architecture in Software Processes
    1. Requirements engineering
    2. Architecture
    3. Implementation
  • IT architect
    • Analyzes and understands the needs of the stakeholders
    • Weighs them against each other
    • Develops an architectural description through several decisions and design activities
  • Architecture definition activities
    1. Analyzing the requirements and interests of the stakeholders
    2. Designing an architecture that meets the requirements
    3. Describing and documenting the architecture
  • Every system has an architecture, even if no software architect has created an architectural description
  • Architecture is inherent in the system
  • Architectural description
    The result of the design activities of an IT architect
  • The actual architecture of the system does not manifest until the system is implemented
  • Simple sketches and presentation slide graphics are often created for initial architectural ideas, but they have no clear and agreed-upon semantics and often allow a dangerously large scope for interpretation
  • Architectural descriptions should always be documented with well-defined software models (e.g., unified modeling language [UML])
  • There is a divergence between the documented design decisions in the form of the architectural description and the actual system architecture
  • Software developers are neither physically nor logically bound by the architect's specifications
  • Application Scenarios for Architecture Documentation
    • A priori documentation
    • Ex post documentation
  • A priori documentation
    The creation of an architecture description before the implementation of the system based on design activities and decisions
  • Ex post documentation
    The creation of the architecture description after the implementation of the system, based on the implemented program code
  • IT Architecture Layers
    • Business architecture
    • Software architecture
    • IT enterprise architecture
  • The actual creation of the software system takes place through the implementation, i.e., the writing or generation of program code
  • The software architect can also be actively involved in the implementation, depending on the project organization
  • If software architects are actively involved in the implementation, they can make sure that the developers adhere to the specifications of the architectural description
  • A software system manifests itself in two ways: the source code and the executable program
  • Software architects
    • Overall responsibility for the entire system
    • Responsibility for individual components
    • Responsibility for individual interfaces
  • Software architect
    First point of contact for the software developer for questions related to the business or technology, and if decisions will affect several parts of the system or important interfaces
  • Software architects are actively involved in the implementation

    They can make sure that the developers adhere to the specifications of the architectural description
  • Developers adhere to the specifications of the architectural description
    Reduces the risk that the architecture will develop away from the planned architecture during implementation (architectural erosion)
  • Ways a software system manifests itself
    • Source code and artifacts created by the development team
    • Executable that can be deployed and started on a computer
  • Programming
    The activity of writing program code
  • When creating code
    • Writing program code
    • Reusing existing program code
    • Generating code automatically
  • Writing program code
    The programmer creates structured text for the targeted solution of specific problems
  • Reusing existing code

    Developers can fall back on already programmed solutions to the problem
  • Creation of complex information systems is inconceivable without reusing existing code in the form of frameworks or libraries
  • Generating program code automatically
    Generating program code from elements of the architectural description