Download presentation
Presentation is loading. Please wait.
Published byAudrey Stickley Modified over 10 years ago
1
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6
2
2
3
Global analysis external influencing factors Identify the external influencing factors and critical requirements that could affect the architecture. Analyze Analyze them to come up with strategies for designing the architecture priority, If all cannot be satisfied, decide which has priority, renegotiate a requirement, or change some external factor to come up with workable strategies. 3
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 4
5
5
6
6
7
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 identifying accommodatingdescribing G.A provides a systematic way of identifying, accommodating and describing the affecting factors 8
9
9
10
Why Global Analysis 10 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
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 12
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? 13
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? 14
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 15
16
16
17
17
18
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 19
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 20
21
21
22
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 23
24
24
25
Step 3: Identify related strategies When a strategy belongs with more than one issue, don’t repeat the strategy. 25
26
26
27
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. 28
29
Distributed System Characteristics To present a single-system image: Hide internal organization, communication details Provide uniform interface Easily expandable Adding new computers is hiddenfrom users Continuous availability Failures in one component can be covered by other components Supported by middleware 29
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 30
31
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 32
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) 33
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.