1 / 33

Global Analysis and Distributed Systems

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

truman
Télécharger la présentation

Global Analysis and Distributed Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Global Analysis and Distributed Systems Software Architecture Lecture # 5-6

  2. Global analysis • Identify the external influencing factors and critical requirements that could affect the architecture. • Analyzethem 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.

  3. 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. 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, accommodatingand describing the affecting factors

  5. 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.

  6. 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

  7. Step 1: Identify and describe the factors • Can the factor’s influence be localizedto one component or not? • During which stages of development is the factor important? • Does the factor require any new expertise or skills?

  8. 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?

  9. 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

  10. 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

  11. 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

  12. 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 localizethe 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

  13. Step 3: Identify related strategies • When a strategy belongs with more than one issue, don’t repeat the strategy.

  14. 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.

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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)

More Related