Top Banner
17

Introduction to Software Architecture

Jun 27, 2015

Download

Technology

Praveen Nair

An extreme introduction to architecture, importance and responsibilities. Contents are less because talk was more.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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