Introduction to Software Architecture

17

description

An extreme introduction to architecture, importance and responsibilities. Contents are less because talk was more.

Transcript of Introduction to Software Architecture

Page 1: Introduction to Software Architecture
Page 2: Introduction to Software Architecture
Page 3: Introduction to Software Architecture
Page 4: Introduction to Software Architecture

PRAVEEN NAIRHead of Architecture and Technology

ORION KOCHIhttp://blog.ninethsense.com/

Page 5: Introduction to Software Architecture

• Business Architect• Infrastructure Architect• Data Architect• Application Architect• Technical Architect• Solution Architect• Enterprise Architect

Page 6: Introduction to Software Architecture

Enterprise Architecture Methodologies• The Zachman Framework• The Open Group Architectural Framework (TOGAF)• The Federal Enterprise Architecture• The Gartner Methodology

Page 7: Introduction to Software Architecture
Page 8: Introduction to Software Architecture

An Architecture is…

• set of significant decisions about the organization of a software system, • selection of the structural elements and their interfaces by which the

system is composed, • behavior of the structural elements as specified in the collaborations

among those elements, • composition of these structural and behavioral elements into

progressively larger subsystems, • architectural style that guides this organization (i.e. these elements

and their interfaces, their collaborations, and their composition).

Page 9: Introduction to Software Architecture

Quality Attributes

• Runtime• Performance, Security, Availability, Reliability, Functionality, Usability

• Engineering• Modifiability, Portability, Reusability, Integrability, Interoperability, Testability

• Business• Time to market, cost, lifetime, target market, rollout schedule, use of legacy

systems

Page 10: Introduction to Software Architecture

Technical Architecting Process

Page 11: Introduction to Software Architecture

Architectural Styles

• Communication• SOA, Message Bus

• Deployment• Client-Server, N-Tier

• Domain• DDD

• Structure• Object Oriented, Component based

Page 12: Introduction to Software Architecture

Application Architecture Meta Frame

Page 13: Introduction to Software Architecture

Reference application architecture

Page 14: Introduction to Software Architecture

Designing your Architecture

Page 15: Introduction to Software Architecture

Who is an Architect?

• Definition• Management of non-functional requirements• Architecture definition• Technology selection• Architecture evaluation• Architecture collaboration

• Delivery• Ownership of bigger picture• Leadership• Coaching and mentoring• Quality assurance• Design, development and testing

Page 16: Introduction to Software Architecture

Tools

• UML• Whiteboard, Marker• Paper, Pen/Pencil• Brain

Page 17: Introduction to Software Architecture

Thank You

“Any time you're afraid to do something and you do it, it makes you stronger. Even if you fail." -- Fred Bartlit, Law firm owner