DYA|Software, Architecture for mission- critical applications bert Deckers Xootic v1 20101203
Jan 11, 2016
DYA|Software,Architecture for mission-
critical applications
Robert Deckers Xootic v1 20101203
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?
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
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
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”
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”
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.“
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
ContentDYA|Software Visio
n
Software architecture and software architect
Architecture Reasoning Model
Familyarchitectur
es
Manage and
masterTasks of the architect
Good Architecture
Organization wideSoftwarearchitectuur
10
CustomerCliëntConsumerRelationBuyer
Software development is a human job
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
12
DYA – Architecture Process
◦ www.dya.info
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
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
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
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
17
Different representations
Adjust communication to target audience • support in the organization• translation into actions by the target audience
18
Different solutions
buy – make – outsource – cloud - open source agile – waterfall - …
Conscious descisions • Architecture realizable• traceable
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
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
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
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
23
Family architecture: variation
Software mechanisms:
• Composition
• Inheritance
• Extension
• Configuration
• Type instantiation/parametrization
• Generation
24
Tasks of the architect
•Analyze environment and system
•Define the architecture
•Convey the architecture
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
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
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
28
For architects(that know dutch)