SE lec6
In the Advantages of layered model Redundant facilities (e.g. Authentication) can be provided in each layer to increase the......... of the system
dependability يعني يكون free of errors
System functionality organized into layers, with each layer only dependent on the previous layer
Layered model
What are the components in client/server architecture
1-a set of servers that offer services 2-set of clients that call on the services 3- network that allows client to access the services
Subsystems often exchange and work with the same data. This can be done in two ways What are they?
1-each system maintains its own database and passes that explicitly to other subsystems 2-share data is held in a central repository, and may be accessed by all subsystems
Why Explicitly plan architecture?
1-enable stakeholder communication 2-enable system analysis 3-enable large-scale reuse 4-bad architectural design means bad security
What are the architectural models
1-layered 2-shared repository 3-client/server 4-pipe & filter
What are some of the architecture and system characteristics?
1-performance 2-security 3-safety 4-availability 5-maintainability
What is example of client/server architecture?
A film and video/DVD library organized as a client server system
Give me example of layered model
A layerd model of a system for sharing copyright documents, held in different libraries
High-level presentation of the system Can be provided after A-enable stakeholder communication B-enable large-scale reuse C-bad architectural design means bad security
A-enable stakeholder communication
What are the advantages of layered model?
Allows replacement of entire layers so long as the interface is maintained
Are the technical interface between the customer and the contractor building the building, (and the software)
Architectural plans
In architecture and system characteristics Include redundant components and mechanisms for fault tolerance
Availability
Controlling access is the first line of defense. Can be provided after understanding that A-enable large- scale reuse B-bad architectural design means security C-enable stakeholder communication
B-bad architectural design means security
Planning subsystems as independent entities allows their reuse in other systems A-enable stakeholder communication B-enable large- scale reuse C-enable system analysis
B-enable large- scale reuse
Can look for problems before coding, can be provided after A-but architectural design means security B-enable large-scale reuse C-enable system analysis
C-enable system analysis
What does control models include
Centralized control and event-driven models
Functionality organized into services distributed across a range of components
Client-server architecture
The functionality of the system is organized into services
Client-server architecture
May be used when the load on a system is variable
Client/server architecture
Used when data in a shared database has to be accessed from a range of locations
Client/server architecture
In the layered model The lowest level layers represents...?
Core services That are likely to be used throughout the system
Useful for judging performance, security, availability
Dynamic view
Visualize entities communicating during runtime execution
Dynamic view
What are the disadvantages of client/server architecture?
Each service is a single point of failure so susceptible to denial of service attacks or server failure. باختصار ممكن يتعرض للهجوم
A layer provide services to the layer below it
False A layer provide services to the layer above it
In Pipe and filter architecture Can be only implemented as sequential
False As sequential or concurrent system
Server cannot be replicated
False Can be replicated that's why we use it when a shared database Has to be accessed from a range of locations
A bad architectural design for a building can be rescued by good construction (Same for software)
False Cannot be rescued by good construction
In repository model Components interact directly
False Do not interact directly , only through the repository
In Pipe and filter architecture It is hard to understand and support transformation reuse
False Easy to understand and support transformation reuse
Is efficient in organizing all communication through repository
False Inefficiencies من عدم الكفاءة
Distributing the repository across several computers is so easy
False May be difficult
Complex systems must always follow a single model
False Might not follow a single model-mix and match
Pipe and filter architecture is really suitable for interactive systems
False Not really suitable
In client/ server architecture We can predict the performance of the network as well as the system
False Performance may be unpredictable, because it depends on network as well as the system
Layered model does not support incremental development
False Supports incremental development
Allows elements to change independently
Layered model
Organizes the system into layers with related functionality associated with each layer
Layered model
Used when building new facilities on top of existing system; when the development is spread across several teams with each team responsibility for a layer of functionality; when there is a requirement for multi-level security مهم
Layered model
In architecture and system characteristics Use fine-grain, replaceable components
Maintainability
In architecture and system characteristics Localize critical operations, and minimize communications. Use large rather than fine-grain components
Performance
How hardware and software communicate, and how software is distributed across processes
Physical view
Commonly used in data processing applications(both batch-and transaction-based) where inputs are processed in separate stages to generate related output
Pipe and filter architecture
Functional transformations process their input to produce outputs
Pipe and filter architecture
The processing of the data in a systems is organized so that each processing component(filter) is a discrete and carries out one type of data transformation. The date flows(as in a pipe) from one component to another for processing
Pipe and filter architecture
Variants of this approach are very common
Pipe and filter architecture
When transformations are sequential, this is a batch sequential model, which is extensively used in data processing systems
Pipe and filter architecture
Like what a set of servers
Print server, file server, code compilation server.etc
All data in the system is managed in a central repository that is accessible to all systems components
Repository model
Components can be independent—-they do not need to know of the existence of other components. Changes made by one component can be propagated to all components. All data can be managed consistently for example back up is done at the same time as it is all in one place
Repository model
You can use it in data-driven systems were the inclusion of data in the repository triggers an action or tool
Repository model
You should use this pattern when you have a system in which large volumes of information are generated that has to be stored for a long time
Repository model
In architecture and system characteristics Localize, safety-critical features in a small number of sub-systems
Safety
In architecture and system characteristics Use a layered architecture with critical assets in the inner layers
Security
What are the advantages of client/server architecture?
Servers can be distributed across a network. General functionality(e.g. Printing service) can be available to all clients and does not need to be implemented by all services.
Is responsible for deriving a system structure, a control model, and a modular decomposition
Software architect
Is the fundamental organization of a system, embodied in its components, their relationships to one another and environment, and the principles governing its design and evolution
Software architecture
Logical view-given the services we want to offer. How does it make sense to delegate responsibility? Relate requirements to entities in the system.
Static view
Is structured around the latter
The repository model
Architectural models can help organize a system But large systems rarely confirm to one model
True
Example of layered model the eLearn system?
True
In Pipe and filter architecture Workflow style matches the structure of many business processes
True
In client/server architecture Each service delivered from a separate server , and clients are users of these services, and access servers to make use of them
True
In client/server architecture May be management problems if servers are owned by different organizations
True
Pipe and filter architecture Evaluation by adding transformation is straightforward
True
The clients can call the services through locally-installed front end
True
The model used affects the performance robustness availability maintainability,etc of the system
True
The repository is a single point of failure so problems in the repository affect the whole system
True
There are specialist types of building architects, and architecture styles
True
Give me example of pipe and filter architecture
Used for processing invoices معالجة الفواتير