Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Design and Architecture

Similar presentations


Presentation on theme: "Software Design and Architecture"— Presentation transcript:

1 Software Design and Architecture
Global Analysis Muhammad Nasir

2 Agenda Global Analysis Factor Analysis Developing Strategies
Organizational Factors Technological Factors Product Factors Developing Strategies

3 Global Analysis The purpose of the Global Analysis is two fold.
Analyze the factors that influence the architecture And develop strategies for accommodating these factors in the architecture design.

4 Global Analysis We call it Global Analysis for three reasons:
Many factors affect the entire system. So as the whole architecture. Global analysis occurs throughout the architecture design rather than at one point in time. Global analysis considers the factors as group not individually and develop strategies that accommodate all factors. As some factors contradict each other.

5 Analyzing the Factors The factors that effect the architecture design fall in to three categories. Organizational Factors Technological Factors Product Factors

6 Organizational Factors
Organizational factors constraint the design choices. Some of them, such as development schedule and budget, apply only to a specific product being developed. Other organizational factors are organizational attitudes and software processes that effect every product. If you ignore these factors, the architecture may not be able to be implemented.

7 Typical Organizational Factors
Q1: Management Build Versus Buy Schedule versus Functionality Environment Business Goals Q2: Staff skills, interests, strengths, weaknesses Application domain Specialized implementation techniques Specialized analysis techniques

8 Typical Organizational Factors
Q3: Process and development environment Development platform Development Process and tools Configuration Management Process and Tools Production Process and Tools Testing Process and Tools Release Process and Tools Q4: Development Schedule Time to Market Delivery of features Release schedule Q5: Development Budget Head Count Cost of Development Tools

9 Technological Factors
The Technological factors have a more obvious influence on the architecture. Architecture design choices are limited by the kind of software and hardware, architecture technology, and standards that are currently available. Technology changes over the period of time and product must adapt it and architecture should be designed with flexibility in mind.

10 Typical Technological Factors
T1: General-purpose hardware Processors Network Memory Disk T2: Domain-specific Hardware Domain Specific Hardware Domain Specific Software T3: Software Technology Operating System User Interface Software Components Implementation Language Design Patterns Frameworks

11 Typical Technological Factors
T4: Standards Operating system Database Data Formats Communication Algorithms and Techniques Coding Conventions

12 Product Factors Product factors are the primary influence on the architecture. This category covers the functional features of your product, and qualities like performance, dependability and cost. These factors may be different in future versions of the product, so your architecture should be designed to support the changes you can reasonably expect.

13 Typical Product Factors
P1: Functional Features Functional Features P2: User Interface User Interaction Model User Interaction Features P3: Performance Sensor data rate Start-up and shutdown times Recovery Time P4: Dependability Availability Reliability Safety Dependability: The trustworthiness of a computing system which allows reliance to be justifiably placed on the service it delivers. Reliability: The term reliability refers to the ability of a computer-related hardware or software component to consistently perform according to its specifications. Safety: Safety is the state of being "safe" (from French sauf), the condition of being protected against physical, social, spiritual, financial, political, emotional, occupational, psychological, educational or other types or consequences of failure, damage, error, accidents, harm or any other event which could be considered non-desirable.

14 Typical Product Factors
P5: Failure detection, reporting, recovery Error Classification Error Logging Diagnostics Recovery P6: Services Software Installation and upgrade Maintenance of domain-specific hardware Software testing Maintenance of Software P7: Product Cost Hardware Budget Software Licensing budget

15 Global Analysis Activities

16 Factor Analysis Activities
Step 1: Identify and describe the Factors Step 2: Characterize the flexibility or the changeability of the Factors Step 3: Analyze the impact of the Factors

17 Sample Organizational Factor Table

18 Factor Analysis - Example
Organizational Factor Flexibility/ Changeability Impact O2. Staff Skills Experience in multithreaded application. One in-house developer has this skill. The subject area is too complex to rely on training alone. There is moderate impact on meeting the performance

19 Factor Analysis - Example
Organizational Factor Flexibility/ Changeability Impact O2. Development Schedule Time to market Time to market is two years There is no flexibility There can be a large impact on architecture choice. In commerce, time to market (TTM) is the length of time it takes from a product being conceived until its being available for sale. TTM is important in industries where products are outmoded quickly. A common assumption is that TTM matters most for first-of-a-kind products, but actually the leader often has the luxury of time, while the clock is clearly running for the followers.

20 Factor Analysis - Example
Organizational Factor Flexibility/ Changeability Impact O2. Development Budget Head Count There are 12 developers The organization can hire one or two permanent developers or a large number of contractors There is a moderate impact on meeting the schedule. In commerce, time to market (TTM) is the length of time it takes from a product being conceived until its being available for sale. TTM is important in industries where products are outmoded quickly. A common assumption is that TTM matters most for first-of-a-kind products, but actually the leader often has the luxury of time, while the clock is clearly running for the followers.

21 Developing Strategies
The second global analysis activity is to develop strategies for the architecture design. Developing strategies also has three steps Step 1: Identify Issues and Influencing Factors Step 2: Develop solutions and Specific Strategies Step 3: Identify Related Strategies

22 Step 1: Identify Issues and Influencing Factors
Using the Factor table, Identify a handful of important Issues. An Issue may arise from limitation or constraints imposed by factors. E.g. Aggressive development schedule may take it impossible to satisfy all the product requirements.

23 Step 2: Develop solutions and Specific Strategies
For each Issue develop strategies that address the issue and ensure the implementation of the architecture. Reduce the factor’s influence Reduce the overall time and effort.

24 Step 3: Identify Related Strategies
Whenever a strategy belong to more than one issue, don’t repeat the strategy. Describe it at once and reference it whenever required. Use standard format to describe an strategy i.e. Issue Card

25 Issue Card

26 Developing Strategies - Example


Download ppt "Software Design and Architecture"

Similar presentations


Ads by Google