global analysis and distributed systems

Post on 23-Feb-2016

29 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Global Analysis and Distributed Systems . Software Architecture Lecture # 5-6. Global analysis. Identify the external influencing factors and critical requirements that could affect the architecture. Analyze them to come up with strategies for designing the architecture - PowerPoint PPT Presentation

TRANSCRIPT

Global Analysis and Distributed Systems

Software Architecture Lecture # 5-6

2

3

Global analysis Identify the external influencing factors

and critical requirements that could affect the architecture.

Analyze them to come up with strategies for designing the architecture

If all cannot be satisfied, decide which has priority, renegotiate a requirement, or change some external factor to come up with workable strategies.

4

Global analysis con’t Influencing factors

Organizational factors Development schedule, budget Organizational attitudes, software process

Technological factors Available hardware and software technology

Product factors Performance, dependability, cost May be different in future versions

5

6

7

8

Global analysis con’t Occurs throughout the design

New factors, issues or strategies can arise at any time

Requirements and risk analyses might give the analyzed factors Then develop strategies to the design

G.A provides a systematic way of identifying, accommodating and describing the affecting factors

9

10

Why Global Analysis Influencing factor always involve a change. Successful project prepares for a change

by; Noting the flexibility of influencing factor and

their likelihood of change. Characterizing how factors interact and their

impact. Selecting cost-effective design plan and project

plan to reduce the impact of change.

11

12

Global analysis con’t Analyzing factors

Take as input the organizational, technological and product factors

Three (3) step procedure Step 1: Identify and describe the factors Step 2: Characterize the flexibility or the changeability

of the factors Step3: Analyze the impact of the factors

13

Step 1: Identify and describe the factors Can the factor’s influence be localized to one

component or not? During which stages of development is the

factor important? Does the factor require any new expertise or

skills?

14

Step 2: Characterize the flexibility or the changeability of the factors

Flexibility Is it possible to control the factor so that it

makes your task of architecture development easier?

In what way can you control it? To what extent can you control it?

Changeability In what way could the factor change? How likely will it change during or after

development? How often will it change? Will the factor be affected by changes in the

other factors?

15

Step3: Analyse the impact of the factors If a factor was to change, which of the

following would be affected and how: Other factors Components Modes of operation of the system Other design decisions

16

17

18

19

Global analysis con’t Develop strategies

Three (3) steps procedure Step 1: Identify issues and influencing factors Step 2: Develop solutions and specific strategies Step 3: Identify related strategies

20

Step 1: Identify issues and influencing factors Identify a important issues that are

influenced by the factor and their changeability Limitations or constraints imposed by factors

Aggressive development schedule Difficulty in satisfying product factors

High throughput req. may overload CPU A common solution to global requirements

Error handling and recovery

21

22

23

Step 2: Develop solutions and specific strategies For each issue, develop strategies that

address the issue and ensure the implementation, for changeability of the architecture design Reduce or localize the factor’s influence Reduce the impact of the factor’s changeability

on the design and other factors Reduce or localize required area of expertise or

skills Reduce overall time and effort

24

25

Step 3: Identify related strategies When a strategy belongs with more than one

issue, don’t repeat the strategy.

26

27

28

What Is A Distributed System? A collection of independent computers that

appears to its users as a single coherent system.

Features: No shared memory – message-based

communication Each runs its own local OS Heterogeneity

Ideal: to present a single-system image: The distributed system “looks like” a single

computer rather than a collection of separate computers.

29

Distributed System Characteristics

To present a single-system image: Hide internal organization, communication details Provide uniform interface

Easily expandable Adding new computers is hidden from users

Continuous availability Failures in one component can be covered by other

components Supported by middleware

30

Definition of a Distributed System

Figure 1-1. A distributed system organized as middleware. The middleware layer runs on all machines, and offers a uniform interface to the system

31

What is Middleware? Middleware is the software between the

application programs and the operating System and base networking

Integration Fabric that knits together applications, devices, systems software, data

an operating system is “the software that makes the hardware usable”

similarly, a middleware system makes the distributed system programmable and manageable

32

Role of Middleware (MW) In some early research systems: MW tried

to provide the illusion that a collection of separate machines was a single computer. E.g. NOW project: GLUNIX middleware

Today: clustering software allows independent

computers to work together closely MW also supports seamless access to remote

services, doesn’t try to look like a general-purpose OS

33

Middleware Examples CORBA (Common Object Request Broker

Architecture) DCOM (Distributed Component Object

Management) – being replaced by .net Sun’s ONC RPC (Remote Procedure Call) RMI (Remote Method Invocation) SOAP (Simple Object Access Protocol)

top related