Podcast
Questions and Answers
What type of system is described in the chapter that involves passengers at a railway station?
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?
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?
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?
What is the importance of system architecture in software development?
Signup and view all the answers
Why is it challenging to establish a separate profession of 'software architect'?
Why is it challenging to establish a separate profession of 'software architect'?
Signup and view all the answers
What are some architectural design decisions?
What are some architectural design decisions?
Signup and view all the answers
What are some potential difficulties in establishing a separate profession of 'software architect'?
What are some potential difficulties in establishing a separate profession of 'software architect'?
Signup and view all the answers
From how many perspectives can architectures be documented?
From how many perspectives can architectures be documented?
Signup and view all the answers
Why is it important to analyze system architecture from various prospects?
Why is it important to analyze system architecture from various prospects?
Signup and view all the answers
What is the role of a system architect in software development?
What is the role of a system architect in software development?
Signup and view all the answers
What do architectural patterns describe?
What do architectural patterns describe?
Signup and view all the answers
What is the purpose of models of application systems architectures?
What is the purpose of models of application systems architectures?
Signup and view all the answers
What type of systems allow remote access and modification of database information?
What type of systems allow remote access and modification of database information?
Signup and view all the answers
What is the primary function of language processing systems?
What is the primary function of language processing systems?
Signup and view all the answers
What is the purpose of the abstract machine in language processing systems?
What is the purpose of the abstract machine in language processing systems?
Signup and view all the answers
What is the primary function of a robot floor cleaner?
What is the primary function of a robot floor cleaner?
Signup and view all the answers
What are the common characteristics of application systems in terms of their architecture?
What are the common characteristics of application systems in terms of their architecture?
Signup and view all the answers
What are some ways in which a generic application architecture can be used?
What are some ways in which a generic application architecture can be used?
Signup and view all the answers
What are some examples of application types?
What are some examples of application types?
Signup and view all the answers
What are the characteristics of data processing applications?
What are the characteristics of data processing applications?
Signup and view all the answers
What are transaction processing applications?
What are transaction processing applications?
Signup and view all the answers
What are event processing systems?
What are event processing systems?
Signup and view all the answers
What are language processing systems?
What are language processing systems?
Signup and view all the answers
What are two widely used generic application architectures?
What are two widely used generic application architectures?
Signup and view all the answers
What functional component of an e-commerce system enables users to pay for multiple items in a single transaction?
What functional component of an e-commerce system enables users to pay for multiple items in a single transaction?
Signup and view all the answers
What type of system accepts a natural or artificial language as input and generates some other representation of that language?
What type of system accepts a natural or artificial language as input and generates some other representation of that language?
Signup and view all the answers
What is the purpose of a symbol table in a compiler?
What is the purpose of a symbol table in a compiler?
Signup and view all the answers
What checks the semantic correctness of the input language text in a compiler?
What checks the semantic correctness of the input language text in a compiler?
Signup and view all the answers
What is the purpose of a code generator in a compiler?
What is the purpose of a code generator in a compiler?
Signup and view all the answers
What type of architecture separates the compilation process into distinct components, with each component performing a specific function?
What type of architecture separates the compilation process into distinct components, with each component performing a specific function?
Signup and view all the answers
What is a description of how a software system is organized?
What is a description of how a software system is organized?
Signup and view all the answers
What is the main purpose of a repository architecture in a language processing system?
What is the main purpose of a repository architecture in a language processing system?
Signup and view all the answers
What are some consequences of an incompatibility between the architecture and the developing system?
What are some consequences of an incompatibility between the architecture and the developing system?
Signup and view all the answers
What is the primary concern of system architecture?
What is the primary concern of system architecture?
Signup and view all the answers
Why is software architecture important?
Why is software architecture important?
Signup and view all the answers
What non-functional requirements depend on the system architecture?
What non-functional requirements depend on the system architecture?
Signup and view all the answers
What is the nature of architectural design?
What is the nature of architectural design?
Signup and view all the answers
What are some key factors to consider when justifying the hiring of a system architect for a new project?
What are some key factors to consider when justifying the hiring of a system architect for a new project?
Signup and view all the answers
What kind of decisions do system architects make during the architectural design process?
What kind of decisions do system architects make during the architectural design process?
Signup and view all the answers
Why is it important to have a system architect involved in a new project?
Why is it important to have a system architect involved in a new project?
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.
Description
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.