Computer Science Chapter 6 - Architectural Design
10 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is one of the consequences of incompatibility between the architecture and the developing system?

  • The system is not affected
  • Re-work or redesign is needed (correct)
  • The system crashes
  • Incompatibility is resolved automatically
  • What is a key aspect of system architecture?

  • Understanding the system's functionality
  • Understanding the system's hardware
  • Understanding how a system should be organized (correct)
  • Understanding the system's color scheme
  • Why is software architecture important?

  • Because it affects the system's hardware
  • Because it affects the system's color scheme
  • Because it affects the system's functionality
  • Because it affects the system's performance (correct)
  • What kind of requirements depend on the system architecture?

    <p>Non-functional requirements</p> Signup and view all the answers

    What are some non-functional requirements that depend on the architectural style and structure of the system?

    <p>Performance, security, safety, availability, and maintainability</p> Signup and view all the answers

    What is architectural design?

    <p>A creative process</p> Signup and view all the answers

    Why is it important to hire a system architect for a new project?

    <p>Because of the background and experience of the system architect</p> Signup and view all the answers

    What do system architects have to make during the architectural design process?

    <p>Structural decisions</p> Signup and view all the answers

    What are some key points to justify the hiring of a system architect for a new project?

    <p>The background and experience of the system architect</p> Signup and view all the answers

    What is a consequence of not having a system architect?

    <p>The system will have performance issues</p> Signup and view all the answers

    Study Notes

    Application Architectures

    • Application systems are designed to meet an organizational need.
    • They tend to have a common architecture that reflects the application requirements.

    Generic Application Architectures

    • Can be used as a starting point for architectural design.
    • Can be used as a design checklist.
    • Can be used to organize the work of the development team.
    • Can be used to assess components for reuse.
    • Can be used as a vocabulary for talking about application types.

    Examples of Application Types

    • Data processing applications:
      • Data-driven applications that process data in batches without explicit user intervention during the processing.
    • Transaction processing applications:
      • Data-centred applications that process user requests and update information in a system database.
    • Event processing systems:
      • Applications where system actions depend on interpreting events from the system's environment.
    • Language processing systems:
      • Applications where the users' intentions are specified in a formal language that is processed and interpreted by the system.

    Language Processing Systems

    • Accept a natural or artificial language as input and generate some other representation of that language.
    • May include an interpreter to act on the instructions in the language that is being processed.
    • Used in situations where the easiest way to solve a problem is to describe an algorithm or describe the system data.

    Architecture of a Language Processing System

    • Includes a lexical analyzer, which takes input language tokens and converts them to an internal form.
    • Includes a symbol table, which holds information about the names of entities (variables, class names, object names, etc.) used in the text that is being translated.
    • Includes a syntax analyzer, which checks the syntax of the language being translated.
    • Includes a syntax tree, which is an internal structure representing the program being compiled.
    • Includes a semantic analyzer that uses information from the syntax tree and the symbol table to check the semantic correctness of the input language text.
    • Includes a code generator that 'walks' the syntax tree and generates abstract machine code.

    Compiler Components

    • Lexical analyzer
    • Symbol table
    • Syntax analyzer
    • Syntax tree
    • Semantic analyzer
    • Code generator

    Architectural Design Decisions

    • Include decisions on the type of application, the distribution of the system, and the architectural styles to be used.
    • Architectural design decisions affect the performance, robustness, distributability, and maintainability of a system.

    Architectural Patterns

    • Are a means of reusing knowledge about generic system architectures.
    • Describe the architecture, explain when it may be used, and describe its advantages and disadvantages.

    Key Points

    • A software architecture is a description of how a software system is organized.
    • Architectural patterns are used to describe the architecture, explain when it may be used, and describe its advantages and disadvantages.
    • Models of application systems architectures help us understand and compare applications, validate application system designs, and assess large-scale components for reuse.
    • Transaction processing systems are interactive systems that allow information in a database to be remotely accessed and modified by a number of users.
    • Language processing systems are used to translate texts from one language into another and to carry out the instructions specified in the input language.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    This quiz covers the fundamental concepts of architectural design, including design decisions, views, patterns, and application architectures in software systems.

    More Like This

    Multi-Tier Application Architecture
    10 questions
    Software Architecture Fundamentals
    16 questions
    Cloud Architecture Design Principles
    8 questions
    Monolithic Application vs Microservices
    36 questions
    Use Quizgecko on...
    Browser
    Browser