unit1-ppt-01-t1-ch1-abc

Post on 06-Apr-2018

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 1/43

 Architecture

Business Cycle

Shubha Raj K.B.

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 2/43

2

Outline

Introductions

Vasa

 Architecture Business Cycle

 Advice and Rules of Thumb for "Good"

 Architecture

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 3/43

3

Preliminary Definition

The software architecture off a program or 

computing system is the structure or 

structures off the system,, which comprisesoftware elements,, the externally visible

properties off those elements,, and the

relationships among them..

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 4/43

4

History of the Vasa

January 1625: Initialcontract

Early 1626: Accelerated

schedule as buildingcommenced

Later 1626: Ship sizeincreased

1627: Shipwright died  August 1628: Maiden

voyage

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 5/43

5

Schedule Pressure

Original project was to take 4 years

Shorter schedule demanded by King

Ship builders opted to extend small ship

rather than start over 

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 6/43

6

Changing Requirements

King asked for larger size to

accommodate more guns

Eventually asked for 2 decks of guns

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 7/43

7

No Written Specifications

Original ship was familiar to ship builders

Scaling up was done without written

specifications

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 8/43

8

No Written Plan

3 "managers" worked without written plans

Shipwright died during project

400 people working in 5 different groups:

largest project in Sweden at this time

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 9/43

9

Missing Science

17th century ship builders could only

measure stability and heeling

characteristics by trial Center of gravity could not be predicted

accurately

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 10/43

10

Cross-Section of Vasa

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 11/43

11

Result:

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 12/43

12

The Role of Architecture

Traditionally,, Requirements beget design, which begets

system. Software Architecture,,encompasses the structures of large software

systems.

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 13/43

13

 Architecture as a Tool

 An important tool for:Communication

Reasoning

 Analysis

Growth

 And, ... Publication!

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 14/43

14

Where do Architectures come

from?

Stake holders:

• The customers

• The end users

• The developers

• Marketing people

• The developer’s organization

• The maintenance organization, …

•Architectures are influenced by system

stackholders

•Architectures are influenced by technical andorganizatinal factors

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 15/43

15

The stakeholder’s concerns:

Providing a certain behavior at runtime

Performing well on a particular piece of hardware

Being easy to customize Achieving a short time to market

Low cost of development

Gainfully employing programmers who have a

particular specialty

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 16/43

16

Architectures are influenced by technical and

organizational factors

Architecture is the summary result of a set of business and technical

decisions.

Architects design will vary depends on many factors Deadlines, real-time system, hardware, support software, human resource,

tools, etc …

Different stakeholders has different concerns and goals, some of them

may be contradictory

Structures and nature of the organization

In general, the influences are: customers and end users

Developing organization

Background and experience of the architect

Technical environment

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 17/43

17

Influences on Architecture

System

 Architecture

Customer 

 And end user 

Architect’s influence

Developing

organization

Technical Environment

 Architect’s Experience

 Architect(s)

Requirements (Qualities)

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 18/43

18

Influences on the Architecture

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 19/43

19

Stakeholders

Developing Organization

Management

Marketing

End User 

Maintainenace

Organization

Customer 

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 20/43

20

Developing Organization

Structure and Nature

Staffs Skill's

Schedule and Budget

Three Categories: Immediate Business

Long-term Business

Organizational Structure

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 21/43

21

 Architect's Experience

Education and training

Exposure to successful architectural

patterns

Exposure to systems that have worked

particularly

Wish to experiment

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 22/43

22

Technical Environment

The environment that is current when anarchitecture is designed will influence that

architecture.. It is a brave architect who, in today's

environment, does not at least consider aWeb based, object-oriented, middleware-supported design for an informationsystem.

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 23/43

23

Requirements

Identify and actively engage the stakeholders

Architecture reviews Iterative prototyping

More than just technical skill's

DiplomacyNegotiationCommunication

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 24/43

24

 Architecture Business Cycle

Stakeholders

Developing

Organization Technical

Environment

 Architect's Experience

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 25/43

25

Effects on Dev. Org..

Teams are formed for individual software units

Schedules and budgets allocate resources in

chunks corresponding to the units Families off similar systems

Establish a foothold in a particular market area

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 26/43

26

Other Effects

The customer may be willing to relax

some requirements to gain economy

Architect's experience with subsequentsystems

Change the software engineering culture

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 27/43

27

 Activities around Architecture

Creating business case

Understanding requirements

Creating or selecting architecture Documenting and communicating architecture

 Analyzing architecture

Implementing system Ensuring conformance of implementation

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 28/43

28

Creating the business case for 

the system It is the important step in creating and constraining

any future requirements

How much should the product cost?

What is its targeted market?What is its targeted time to market?

Will it need to interface with other systems?

Are there system limitations that it must work

within?

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 29/43

29

Understanding the requirements

Object oriented analysis

Safty-critical systems Creation of proto types

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 30/43

30

Creating or selecting the architecture

Any design process, there will be

multiple candidate design

Some will be rejected immediately Some will contend for primary

Choosing the right one is the architects

greatest challenges

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 31/43

31

Representing and communicating the

architecture

Communicate clearly, unambiguously to all stakeholders Developers must understand the work assignments Testers must understand the task structure Management must understand the scheduling implications

Representation medium should be: informative unambiguous readable by many people with varied background

Architecture must meet:behavioral, performance, quality requirement

Representation medium can serve as input to:

formal analysis techniques such as model building, simulation,verification, rapid prototyping

ADL - Architecture Description language

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 32/43

32

Analysis or evaluating the architecture

ADL provides analytical capabilities for runtime

properties of the system

Its performance

Its behavior 

Its communication patterns, etc …

Non runtime quality attributes as:

Maintainability. ( portability, reusability, adaptability)

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 33/43

33

Implementing based on architecture and

ensuring conformance

Concerned with keeping the developers faithful

to the structures and interaction protocols

Requirements:Well communicated architecture

Environment or infrastructure to assists the

developers

Tools for architecture development

Constant vigilance for maintenance

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 34/43

34

What Makes a Good

architecture?

There is no absolute good or bad!

Architectures are either more or less fit for 

some stated purpose.. Architectures can in fact be evaluated but

only in the context off specific goals

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 35/43

35

"Good" Architecture Rules of 

Thumb (1/3)1. Use information hiding to hide computing

infrastructure

2. Each module should protect its secretswith a good interface

3. Use well-known architecture tactics to

achieve quality attributes

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 36/43

36

"Good" Architecture Rules of 

Thumb (2/3)4. Minimize and isolate dependence on a

particular version of a commercial

product or tool.5. Separate producer modules from

consumer modules.

6. For parallel-processing, use well-definedprocesses or tasks.

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 37/43

37

"Good" Architecture Rules of 

Thumb (3/3)7.  Assignment of tasks or processes to

processors should be easily changeable

(even at runtime)8. Use a small number of simple interaction

patterns

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 38/43

38

 Architecture Process Advice

(1/3)1.  Architecture should be product of a single

architect of small group with identified leader 

2.  Architect should have functional requirementsand a prioritized list of quality attributes

3.  Architecture should be well-documented with

at least one static and one dynamic view

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 39/43

39

 Architecture Process Advice

(2/3)4.  Architecture should be circulated to

stakeholders, who are active in review

5.  Architecture should be analyzed(quantitatively and quality) before it is too

late.

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 40/43

40

 Architecture Process Advice

(3/3)6. System should be developed

incrementally from an initial skeleton that

includes major communication paths7.  Architecture should result in a small

number of specific resource contention

areas

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 41/43

41

Structural Guidelines (1/2)

Information-hiding modules

Well-defined interfaces

Quality attributes Independent off a particular version off a

commercial product or tool

Modules that produce data should be separatefrom modules that consume data..

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 42/43

42

Structural Guidelines (2/2)

 A smallll number off simple interaction

patterns

For parallel processing systems:Well-defined processes or tasks

Assignment to specific processors should be

changed

8/3/2019 Unit1-ppt-01-T1-Ch1-ABC

http://slidepdf.com/reader/full/unit1-ppt-01-t1-ch1-abc 43/43

top related