dya|software, architecture for mission-critical applications

29
DYA|Software, Architecture for mission- critical applications bert Deckers Xootic v1 20101203

Upload: kalila

Post on 11-Jan-2016

33 views

Category:

Documents


3 download

DESCRIPTION

DYA|Software, Architecture for mission-critical applications. Robert Deckers Xootic v1 20101203 . Architecture “approaches/techniques”. Zachmann framework. 4 + 1 view. Aspect oriented. Interface specifications. Components. Performance budgets. What to do?. Model driven. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: DYA|Software, Architecture for mission-critical applications

DYA|Software,Architecture for mission-

critical applications

Robert Deckers Xootic v1 20101203

Page 2: DYA|Software, Architecture for mission-critical applications

2

Architecture “approaches/techniques”

ComponentsInterface

specifications

4 + 1 view

RUP

Design by contract

Object oriented

Model driven

Zachmann framework

Togaf

Use case driven

Aspect oriented

UML++

Performancebudgets

Software productfamily

Service oriented

What to do?

Page 3: DYA|Software, Architecture for mission-critical applications

3

Good architecture is…

Technology independent

Homogeneouscomponents

Cost aware

Reliable systems

Maitainablesystems

Modular

Flexible

Fast systems

reusable

Enlarge profit

Simple

Service oriented

Future proof

User firendlysystems

predictableprojects

not always

Situation dependent

Page 4: DYA|Software, Architecture for mission-critical applications

4

SystemArchitectuur

Correct, Consistent, Communicated

t

ROI

Project

Software engineer

Tester

Art. 4.11

functionaliteit

Correct : it fits the environment

Communicated : everyone knows what he should know

Government

End user

Businessmanager

HRM

Program manager

Network mgt

Componentbuilder

Application mgt

Consistent : its well engineered

Good Architecture takes care of:

Control of architecture activitities Assessable architecture Good system

Page 5: DYA|Software, Architecture for mission-critical applications

5

Good architecture is correct

The architecture is based on validated statements about the environent and the stakeholder concerns in particular. Concerns are prioritized. The architecture forms the right balance between the concerns.

Achieved by:

• Consciously balanced concenrs

• Enough environment analysis

• Validated environment information

“The system fits its environment”

Page 6: DYA|Software, Architecture for mission-critical applications

6

Good architecture is consistent

The architecture forms a whole. Architecture statements do not conflict with eachother and in relation to the environment. The system can become reality with the architecture.

Achieved by:

• Consciously managed

• Demonstrable realizable

• Verification on contradictions

“The system is well constructed”

Page 7: DYA|Software, Architecture for mission-critical applications

7

Goede architecture is communicatedThe stakeholders know their relation with the architecture and what is expected from them. The stakeholders understand how their concenrs are covered in the architecture. A communicated architecture starts with a communicatable architecture description

Achieved by:

• Consciously executed

• Embedded in the organization

• Translatable into actions

“Everyone knows what he should know.“

Page 8: DYA|Software, Architecture for mission-critical applications

8

The way to good architecture

• Master and manage architecture

• Balanced decisions

• Guarantee commonality and facilitate variation

• Do!

T

Customer need

Application

Software

system

Rea

lizat

ion

Construction

Technolog

yRea

lizat

ion

proc

ess

/

orga

niza

tion

Bedrijfs-functie

Proces Infrastructuur

Medewerker

Organisatie

Dataobject

Bedrijfsobject

Applicatie

Comp 1 Comp 2 Comp 3 Comp 4

App comp 1

App comp 5

App comp 4

Centrale component

analyseren

uitdragen

opstellensysteem

omgeving

architectuur

architect

stakeholder

Correct

Consistent

Communicated

Page 9: DYA|Software, Architecture for mission-critical applications

ContentDYA|Software Visio

n

Software architecture and software architect

Architecture Reasoning Model

Familyarchitectur

es

Manage and

masterTasks of the architect

Good Architecture

Organization wideSoftwarearchitectuur

Page 10: DYA|Software, Architecture for mission-critical applications

10

CustomerCliëntConsumerRelationBuyer

Software development is a human job

Page 11: DYA|Software, Architecture for mission-critical applications

11

Definition Software Architecture

Based on • DYA (architecture guides development)

• IEEE-1471 (architecture description serves stakeholders)

The software architecture of a system is a set of statements that guide the design, realisation and evolution of the software in its environment

The statements are a model of:

• the fundamental structure of the software elements or the relationship between the elements and the environment,

• principles that guide the creation of the elements

Page 12: DYA|Software, Architecture for mission-critical applications

12

DYA – Architecture Process

◦ www.dya.info

Page 13: DYA|Software, Architecture for mission-critical applications

13

Working area of the software architect

Information analist, Business architect

Requirements engineer,

\

Programmamanager, Project leader,

Development manager

Software engineer, designer, Tester,

Infrastructure/hardwarearchitect

Softwarearchitect

Planning, Development process,

Risks,Expertise/knowledge

Business needs,Role in the business proces

Functionality,Quality

Component, Interface

Design pattern, hardware resources

Page 14: DYA|Software, Architecture for mission-critical applications

14

What architecture does (should do)

Offer

Solution direction

For the most

Important properties

that are

Difficult to realize

Main design : functional, technical, approachArchitecture principles

Business goals - Unique - Right quality

Not standard, What went wrong last time? Multiple departments – disciplines - systems

Page 15: DYA|Software, Architecture for mission-critical applications

15

Manage and master

stakeholderdecision

specification

aspect ia about concern

influences

takes

statement

adresses

environment

system

has interest in

has interaction with

model view

viewpoint

derived from

derived according tosets rules for

Page 16: DYA|Software, Architecture for mission-critical applications

16

T

Customer need

Application

Softwaresystem

Rea

lizat

ion

Construction

Technology

Rea

lizat

ion

proc

ess

/

orga

niza

tion

Different concerns

Iterative developme

nt

Based on open source

Phase out old system

Service delivered via phone, mail, counter

and webBefore the

competition

Build off-shore

Complies to standard

reliable

Components should reusabe

Runs on a mobile

Fast new procducts

Share personnel with other project

Green image

Specific and prioritized • Focus for architecture decisions• Organization alignment

Page 17: DYA|Software, Architecture for mission-critical applications

17

Different representations

Adjust communication to target audience • support in the organization• translation into actions by the target audience

Page 18: DYA|Software, Architecture for mission-critical applications

18

Different solutions

buy – make – outsource – cloud - open source agile – waterfall - …

Conscious descisions • Architecture realizable• traceable

Page 19: DYA|Software, Architecture for mission-critical applications

19

Architecture Reasoning Model

T

Rea

lizat

ion

Construction

Technology Rea

lizat

ion

proc

ess

orga

niza

tion

Customer need

Application

App

roac

h

Function

Design

Environment

Border

System

programmerhardware architect(technical) designer

tester

Project leaderProgram manager

Development manager

Information analist End user

businessarchitect / -manager requirements engineerEnvironment

Border

System• consistent architecture• balanced decisions• stakeholders aligned

Page 20: DYA|Software, Architecture for mission-critical applications

20

Family: applications with the same genes

Component 5

App 6 App 7 App 8 App 9

App 1 App 5 App 4

App 3 App 2Family members

App 6 App 7

App 2

App 1

Design/realization patterns

Use central component

• Homogeneous landscape manageable• Reuse faster and better

Page 21: DYA|Software, Architecture for mission-critical applications

21

Family architecture: set up

• Family scope− Criteria: business, technology, process

− Possible members

• Ownership

• Proces from family to member and back− Family requirements/goals

− Deploy and learn

Page 22: DYA|Software, Architecture for mission-critical applications

22

Family architecture: Commonality

• Fix requirements− Part of project requirements

− Acceptance criteria

• Fix (software)elements− Components

− Design patterns

− Platform…

• Fix process/organization− Deliverables and how to’s

− People: Roles and knowledge

Page 23: DYA|Software, Architecture for mission-critical applications

23

Family architecture: variation

Software mechanisms:

• Composition

• Inheritance

• Extension

• Configuration

• Type instantiation/parametrization

• Generation

Page 24: DYA|Software, Architecture for mission-critical applications

24

Tasks of the architect

•Analyze environment and system

•Define the architecture

•Convey the architecture

Page 25: DYA|Software, Architecture for mission-critical applications

25

Environment analysis

• Other systems− Part of, consists of, chain, family

• Developments in the environment

• Find aspects

• Select stakeholders− Influence and importance

− In time

• Useful concerns: − goals, tasks, information need

• Validation

Page 26: DYA|Software, Architecture for mission-critical applications

26

Define the architecture

• Balanced decisions

• Central concepts− Software components

− Services

− Software as a service

− Guidelines

− Functions

− COTS

− Expertise

− Aspect orientation

• Analyse the impact of changes

Page 27: DYA|Software, Architecture for mission-critical applications

27

Convey the architecture

• Select viewpoints

• Plan the communication

• Embed the architecture in the realization− Publish the top-level concerns

• Support mgt decision. Mgt must be aware of:− Architecture Follows business goals

− Changing an existing architecture is not easy

− Aimed to be a benefit

− The architect makes the architecture

Page 28: DYA|Software, Architecture for mission-critical applications

28

For architects(that know dutch)

Page 29: DYA|Software, Architecture for mission-critical applications