Application Architectures

WellEstablishedBildungsroman avatar
WellEstablishedBildungsroman
·
·
Download

Start Quiz

Study Flashcards

40 Questions

What type of system is described in the chapter that involves passengers at a railway station?

An automated ticket-issuing system

What is the primary function of the computer-controlled video conferencing system?

To allow video, audio, and computer data to be visible to several participants at the same time

What is the primary function of the robot floor-cleaner?

To clean relatively clear spaces such as corridors

What is the importance of system architecture in software development?

It affects the performance, robustness, disreputability, and maintainability of a system

Why is it challenging to establish a separate profession of 'software architect'?

Due to difficulties in implementation and understanding of the architecture by the implementing company

What are some architectural design decisions?

Decisions on the type of application, the distribution of the system, and the architectural styles to be used.

What are some potential difficulties in establishing a separate profession of 'software architect'?

Difficulty in implementation and the company that implements the system may struggle to understand the architecture

From how many perspectives can architectures be documented?

Four: conceptual view, logical view, process view, and development view.

Why is it important to analyze system architecture from various prospects?

Because it affects the performance, robustness, disreputability, and maintainability of a system

What is the role of a system architect in software development?

To work independently with a customer to design the software system architecture

What do architectural patterns describe?

The architecture, when it may be used, and its advantages and disadvantages.

What is the purpose of models of application systems architectures?

To understand and compare applications, validate application system designs, and assess large-scale components for reuse.

What type of systems allow remote access and modification of database information?

Transaction processing systems.

What is the primary function of language processing systems?

To translate texts from one language into another and execute instructions specified in the input language.

What is the purpose of the abstract machine in language processing systems?

To execute the generated language.

What is the primary function of a robot floor cleaner?

To clean relatively clear spaces such as corridors, while sensing walls and other obstructions.

What are the common characteristics of application systems in terms of their architecture?

They have a common architecture that reflects the application requirements and can be configured and adapted to meet specific requirements.

What are some ways in which a generic application architecture can be used?

As a starting point for architectural design, as a design checklist, as a way of organizing the work of the development team, as a means of assessing components for reuse, and as a vocabulary for talking about application types.

What are some examples of application types?

Data processing applications, transaction processing applications, event processing systems, and language processing systems.

What are the characteristics of data processing applications?

They are data-driven applications that process data in batches without explicit user intervention during the processing.

What are transaction processing applications?

Data-centred applications that process user requests and update information in a system database.

What are event processing systems?

Applications where system actions depend on interpreting events from the system's environment.

What are language processing systems?

Applications where the users' intentions are specified in a formal language that is processed and interpreted by the system.

What are two widely used generic application architectures?

Transaction processing systems and language processing systems.

What functional component of an e-commerce system enables users to pay for multiple items in a single transaction?

Shopping cart

What type of system accepts a natural or artificial language as input and generates some other representation of that language?

Language processing system

What is the purpose of a symbol table in a compiler?

To hold information about the names of entities (variables, class names, object names, etc.) used in the text being translated

What checks the semantic correctness of the input language text in a compiler?

A semantic analyzer

What is the purpose of a code generator in a compiler?

To generate abstract machine code by 'walking' the syntax tree

What type of architecture separates the compilation process into distinct components, with each component performing a specific function?

Pipe and filter compiler architecture

What is a description of how a software system is organized?

A software architecture

What is the main purpose of a repository architecture in a language processing system?

To organize and manage the system's components and data

What are some consequences of an incompatibility between the architecture and the developing system?

Re-work or redesign is needed sometimes, due to incompatibility or change in technical requirements.

What is the primary concern of system architecture?

Understanding how a system should be organized and the overall structure of the system to be designed.

Why is software architecture important?

It affects the performance, robustness, distributability, and maintainability of a system.

What non-functional requirements depend on the system architecture?

Performance, security, safety, availability, and maintainability.

What is the nature of architectural design?

A creative process where you design a system organization that will satisfy the functional and non-functional requirements of a system.

What are some key factors to consider when justifying the hiring of a system architect for a new project?

The background and experience of the system architect, and the specific requirements for the system.

What kind of decisions do system architects make during the architectural design process?

Structural decisions that profoundly affect the system and its development process.

Why is it important to have a system architect involved in a new project?

To ensure that the system is organized and structured to satisfy its functional and non-functional requirements.

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.

Learn about the design and requirements of application systems, including generic architectures and their uses. Discover how to organize development teams and assess components for reuse.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Use Quizgecko on...
Browser
Browser