software architecture

13

Click here to load reader

Upload: a71barletta

Post on 24-May-2015

397 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Software Architecture

1

Software Architecture WorkshopSummary

A. BarlettaASLSony Corporate Laboratories Europe

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.02

Summary

l Architecture (what you do)l Architecting (how you do – the process)l Architects (who they are)l Conclusions

Page 2: Software Architecture

2

Architecture

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.04

What is an Architecture ? (I)

Gigantic

New

Visionary

Immortal

Multi tier

Expensive

Technology

Page 3: Software Architecture

3

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.05

What is an Architecture ? (II)

l Definitions:

“There are 3 reasons why Software Architecture is important …a) communication among stakeholders, b) early design decisions, and c) transferable abstraction of the system”

“Architecture is the structure of the system, comprised of a) components or building blocks, b) externally visible properties of those components and the

relationships among them”

l Definitions:

“There are 3 reasons why Software Architecture is important …a) communication among stakeholders, b) early design decisions, and c) transferable abstraction of the system”

“Architecture is the structure of the system, comprised of a) components or building blocks, b) externally visible properties of those components and the

relationships among them”

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.06

When do we need an Architecture ? (I)

l Large/Complex System– Number of people (communication)– Time Frame– Size of the artifacts

l Multiple Interactive Applications– Different technical/engineering areas

Page 4: Software Architecture

4

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.07

When do we need an Architecture ? (II)

l Product Family– Ex: Sony Home Devices -> Symphony !

l Technology Architecture– Java 2EE, .Net, CORBA,etc

l Domain Standard/Reference Models– Harmonization of a large domain– UML, ISO-OSI, etc

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.08

Software Architecture Domain

l Technology– Engineering: Java, C++, digital signal processing– Is it good ?

l Environment or Context– team, company structure, resources, etc– Is it right ?

l Political– Finance, Engagement– Is it successful ?

Tensions & Conflict

Page 5: Software Architecture

5

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.09

Big Stones First !!

lPut in the Jar the BIG stones firstlArchitectural PrincipleslArchitectural Stylesl Important Properties

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.010

Divide et Impera

lReduce complexitylConstraint infinite choicesl Focus on priorities

Ø Intellectually manageableØSocially manageable

Page 6: Software Architecture

6

Architecting

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.012

Architecting

l It is the step-by-step process to build a proper Architecture starting

l from the contextual forces l problems to solvel environmentl skills

l to the final solutionl Architectural principles, styles, attributes, etcl Architect document (components, interfaces, protocols, etc)

Ø The process is a framework to be used properly.

Page 7: Software Architecture

7

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.013

Software Architecture Model (I)

l Meta-Architecturel Architecture

– Conceptual Architecture“identification of components and allocation of responsibilities”

– Logical Architecture“design of component interactions, connection mechanisms, protocols”

– Execution Architecture“physical allocation of resources and process”

l Architecture Guidelines and Policies

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.014

Software Architecture Model (II)

Page 8: Software Architecture

8

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.015

Software Architecting

Init/Commit

Deployment

Architectural Requirements System

Structuring

ArchitectureValidation

Architects

Page 9: Software Architecture

9

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.017

Architect(s) Role

l Domains of competencyl What you know ?l What you do ?l What you are ?

l How many do you need ?

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.018

Domains of Competency Framework

Technology

Business Strategy

Organizational Politics

ConsultingLeadership

What you ARE

What you DO

What you KNOW

Page 10: Software Architecture

10

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.019

Domains of Competency

l Leadership– Technical, Intellectual

l Consulting– Willing to provide support

l Organizational Politics– Who is in control of What

l Business Strategy– Visionary but with the feet on the ground

l Technology

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.020

What you know ?

l Understanding what technical issues are the key to success

l Modeling techniques & development methodsl Organization’s business strategy and rationalel Understand where are the Key players in the

organization

Page 11: Software Architecture

11

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.021

What you do ?

l Communicate, Communicate and …Communicate

l Modeling, tradeoff analysis, prototype, experiment, system viewpoint

l Prepare architectural documents and presentations

l Translate business strategy into technical vision and strategy

l Motivate and make decisions

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.022

What you are ?

l Investigative, Creative and Practicall Visionaryl Ambitious and driven, patient and notl Good mentor, teacherl Committed, dedicate, passionate

Page 12: Software Architecture

12

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.023

Conclusions

l Architecture– Structure of the solution: good, right and successful– “Divide et Impera”, reduce complexity

l Architecting– Architecture Model and Process

l Architects– What you DO, you KNOW, you ARE– Communication

SCLE Colloquium - March 2003 - Software Architect Workshop Summary V 1.024

References

l http://www.bredemeyer.com/papers.htm

Page 13: Software Architecture

13

Thank you very much for your patience J

Any Question ?