Test 2 -- CH 6
architecture in the large
this is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components. These enterprise systems are distributed over different computers, which may be owned and managed by different companies.
architecture
this is the critical link between design and requirements engineering, as it identifies the main structural components in a system and the relationships between them.
What are the key characteristic(s) of the client-server architecture?
- Distributed system model which shows how data and processing is distributed across a range of components. (Can be implemented on a single computer.) - Set of stand-alone servers which provide specific services such as printing, data management, etc. - Set of clients which call on these services. - Network which allows clients to access servers.
What are 4 architectural views?
- logical view, which shows the key abstractions in the system as objects or object classes. - process view, which shows how, at run-time, the system is composed of interacting processes. - development view, which shows how the software is decomposed for development. - physical view, which shows the system hardware and how software components are distributed across the processors in the system.
List 5 ways in which application architectures can be used.
-As a starting point for architectural design. -As a design checklist. -As a way of organising the work of the development team. -As a means of assessing components for reuse. -As a vocabulary for talking about application types
What are the key characteristic(s) of the pipe and filter architecture pattern?
-Functional transformations process their inputs to produce outputs. -May be referred to as a pipe and filter model (as in UNIX shell). -Variants of this approach are very common. When transformations are sequential, this is a batch sequential model which is extensively used in data processing systems.
What are the key characteristic(s) of the layered architectural pattern?
-Organises the system into a set of layers (or abstract machines) each of which provide a set of services. -Supports the incremental development of sub-systems in different layers. When a layer interface changes, only the adjacent layer is affected.
What is an architectural pattern?
-Patterns are a means of representing, sharing and reusing knowledge. -An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments. -Patterns should include information about when they are and when the are not useful. -Patterns may be represented using tabular and graphical descriptions.
What are three advantages of using an architecture?
-Stakeholder communication -System analysis (Means that analysis of whether the system can meet its nonfunctional requirements is possible), and -Large-scale reuse (may be reusable across a range of systems)
What are the key characteristic(s) the repository of the architectural pattern?
-Sub-systems must exchange data. This may be done in two ways: --Shared data is held in a central database or repository and may be accessed by all sub-systems; --Each sub-system maintains its own database and passes data explicitly to other sub-systems. -When large amounts of data are to be shared, the repository model of sharing is most commonly used a this is an efficient data sharing mechanism.
What are 5 architecture design decisions that must be made?
-is there a generic application architecture that can act as a template for the system that is being designed? -What will be the fundamental approach used to structure the system? -How will the structural components in the system be decomposed into sub-components? -How will the system be distributed across hardware cores or processors? -What architectural organization is best for delivering the non-functional requirements of the system? -What architectural patterns or styles might be used? -What strategy will be used to control the operation of the components in the system? -How should the architecture of the system be documented?
What is the purpose of an application architecture?
They are designed to meet an organisational need. This is an architecture for a type of software system that may be configured and adapted to create a system that meets specific requirements.
architecture in the small
This is concerned with the architecture of individual programs. At this level, we are concerned with the way that an individual program is decomposed into components.