week 7 Software Design (Architecture)

 0    31 flashcards    up804653
download mp3 print play test yourself
 
Question English Answer English
What is Architectural Design?
start learning
Understanding how a system should be organized and designing the overall structure of that system
name 6 Architectural Patterns.
start learning
Layered Architecture, Repositories, Process Contro, Pipe and Filter, Object Oriented, Event based.
Describe Pipe and filter.
start learning
-A series of processes (filters) connected by pipes -The behavior of the system is the composition of behavior of the filters -Filters don’t need to know anything about what they are connected to -Filters can be implemented in parallel
Give exampls of where pipe and filter may be used.
start learning
1) UNIX shell command. 2) Compilers: Lexical analysis -> Parsing -> Semantic analysis -> Code generation 3) Signal processing.
What are the benefits of pipe and filter?
start learning
Easy to understand, Workflow style matches the structure of many business processes, Evolution is straightforward, Can be implemented as either sequential or concurrent system.
Give some drawbacks of pipe and filter.
start learning
The format of data transfer has to be agreed upon between communicating components, Each component must parse its input and unparse its output to the agreed form.
Describe Object Oriented Architectures
start learning
Decompose problems into sets of interacting objects, Objects must know the identity of objects they interact with, Internal data representations of objects are not visible externally.
What are the two sub types of object oriented architecture?
start learning
Client server and object broker
describe Client Server Architecture
start learning
Servers provide services; clients request and use these services, Clients do not need to know about one another, Clients must know the identity of the server, Breaks the system into manageable components.
Give a use of Client Server Architecture
start learning
Data in a shared database needs to be accessed from a range of locations
what are the benefits of Client Server Architecture
start learning
Servers can be distributed across a network General functionality available to all clients; does not need to be replicated
What are the drawbacks of Client Server Architecture
start learning
Performance depends on the network, so can be unpredictable, Servers are single points of failure, susceptible to attacks and failure.
What is Object Brokers Architecture
start learning
Adds a broker between the clients and the servers, Clients don’t need to know which server they are using, Can have multiple brokers and multiple servers.
what is Event-Based Architecture
start learning
Components react to externally generated events and communicate with other components through events
what are Event-Based Architectureused for?
start learning
Debugging systems: listen for breakpoints, Graphical User Interfaces: listen for user inputs, Database management systems: data integrity checks.
what are the Event-Based Architecture Benefits
start learning
Loosely coupled and well distributed, Support broadcast communication in a distributed context.
What are the Event-Based Architecture Drawbacks
start learning
Workflow is usually not obvious, Performance may be a concern.
describe Layered Architecture
start learning
The system is organized into layers with related functionality associated with each layer
give a use of Layered Architecture
start learning
Operating systems Network communication protocols
What are Layered Architecture Benefits?
start learning
Allows replacement of entire layers so long as the interface is maintained, Redundant services can be provided in each layer to increase the dependability of the system.
What are Layered Architecture Drawbacks
start learning
Providing a clean separation between layers of difficult, Performance can be a problem because of multiple levels of interpretation of a service request.
What are the 2 kinds of layerd architecture?
start learning
open and closed
describe open layerd architecture
start learning
A layer can use services from any lower layer, More compact code, as the services of lower layers can be accessed directly, Increased dependency between layers.
describe Closed Layered Architecture
start learning
Each layer only uses services of the layer immediately below, Minimizes dependencies between layers, Reduces the impact of change.
What is a Repositories Architecture
start learning
All data in a system is managed in a central repository that is accessible to all system components
give a use for Repositories Architecture
start learning
Databases, Blackboard expert systems, Programming environments.
what are the Repositories Architecture Benefits
start learning
Components can be independent, Changes made by one component can be propagated to all components, All data can be managed consistently as it is all in one place.
what are the Repositories Architecture Drawbacks?
start learning
The repository is a single point of failure so problems in the repository affect the whole system, Distributing the repository across several computers may be difficult, Organizing all communication through the repository might be inefficient.
what is the Repositories Architecture: MVC
start learning
Model View Controller
Explain the Repositories Architecture: MVC
start learning
change me
What are the Repositories Architecture MVC Uses?
start learning
There are multiple ways to view and interact with data, Future requirements for interaction and presentation of data are unknown.

You must sign in to write a comment