Forces on architecture decisions (WICSA 2012)
Upcoming SlideShare
Loading in...5
×
 

Forces on architecture decisions (WICSA 2012)

on

  • 300 views

 

Statistics

Views

Total Views
300
Views on SlideShare
300
Embed Views
0

Actions

Likes
1
Downloads
23
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Forces on architecture decisions (WICSA 2012) Forces on architecture decisions (WICSA 2012) Presentation Transcript

  • Forces on architecture decisions Uwe van Heesch Paris Avgeriou Rich HilliardDienstag, 14. August 2012 1
  • Creating software architecture is making decisions Architect Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 2
  • Creating software architecture is making decisions M a k e o r b u y? r n s t o us e? h ich a rch i t e c t u r a l p a t te W ame wo r k f o r p e rs i s te n c e? Wh ich f r e p l at f o r m? Wh ic h m idd le wa r t s o r de s ig n? S h o u ld we re u s e c om p o ne n we us e o p e n s o u rc e SW? Sh o u ld h e re t o p u t c om p o ne n t C? W Architect Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 2
  • Each decision implies a choice between 2 or more alternatives ? Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 3
  • These choices are driven by forces. Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 4
  • These choices are driven by forces. prefer OSS Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 4
  • These choices are driven by forces. Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 4
  • Decisions are driven by forces. Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 5
  • Decisions are driven by forces. Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 6
  • Decisions are driven by forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 6
  • Decisions are driven by forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 7
  • Decisions are driven by forces. Strateg. development Experience Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 7
  • Decisions are driven by forces. Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 8
  • Decisions are driven by forces. Scalability Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 8
  • Decisions are driven by forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  • Decisions are driven by forces. prefer OSS Reliability Experience Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  • Decisions are driven by forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  • Decisions are driven by forces. Resulting force Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  • A force is any aspect of an architectural problem arising in the system or its environment ( operational, development, business, organizational, political, economic, legal, regulatory, ecological, social, etc.), to be considered when choosing among the available decision alternatives. Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 10
  • Typical forces Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals laws regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals laws standards regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals laws principles standards regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals laws hw/sw interfaces principles standards regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • Typical forces requirements business goals laws hw/sw interfaces principles standards previously made ADs regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  • requirements constraints business goals laws standards principles previously made ADs hw/sw interfaces regulations Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 12
  • forces requirements constraints business goals laws standards principles previously made ADs hw/sw interfaces regulations Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 12
  • How to model and document forces? Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 13
  • A framework for architecture decisions Decision Decision Relationship Chronology Viewpoint Viewpoint Decision Detail VP Decision Stakeholder Involvement VP using the conventions from ISO/IEC/IEEE 42010 Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 14
  • Decision Relationship Viewpoint Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 15
  • Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 16
  • Decision Chronology Viewpoint Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 17
  • Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 18
  • Decision Chronology Viewpoint Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 19
  • A framework for architecture decisions Decision Decision Relationship Chronology Viewpoint Viewpoint Decision Detail VP Decision Stakeholder Involvement VP using the conventions from ISO/IEC/IEEE 42010 Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 20
  • A framework for architecture decisions Decision Decision Relationship Chronology Viewpoint Viewpoint Decision Detail VP Decision Decision Stakeholder Forces Involvement VP Viewpoint using the conventions from ISO/IEC/IEEE 42010 Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 20
  • Example of a forces view )*+,-+./012134 !5-56-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N *+)!,-.( &/& *!0 1#.$23)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 1;<# 4#IG2-J$-;. 1;.G#2.OIP =% Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"+-;2 %% % & & & % % => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 % % % =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 %% % % %% =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*+IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)+-3U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G3-$8 6FI-.#II)G2-$-G3-$8 % 0K =#I;F2G#)FI(#);.)I#2+#2 =#I;F2G#)F$-3-^$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 21
  • )*+,-+./012134 !5-56-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N *+)!,-.( &/& *!0 1#.$23)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 1;<# 4#IG2-J$-;. 1;.G#2.OIP =% Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"+-;2 %% % & & & % % => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 % % % =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 %% % % %% =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*+IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)+-3U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G3-$8 6FI-.#II)G2-$-G3-$8 % 0K =#I;F2G#)FI(#);.)I#2+#2 =#I;F2G#)F$-3-^$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 21
  • decision topic )*+,-+./012134 !5-56-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N *+)!,-.( &/& *!0 1#.$23)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 1;<# 4#IG2-J$-;. 1;.G#2.OIP =% Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"+-;2 %% % & & & % % => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 % % % =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 %% % % %% =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*+IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)+-3U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G3-$8 6FI-.#II)G2-$-G3-$8 % 0K =#I;F2G#)FI(#);.)I#2+#2 =#I;F2G#)F$-3-^$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 21
  • decision topic decision )*+,-+./012134 !5-56-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N *+)!,-.( &/& *!0 1#.$23)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 1;<# 4#IG2-J$-;. 1;.G#2.OIP =% Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"+-;2 %% % & & & % % => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 % % % =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 %% % % %% =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*+IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)+-3U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G3-$8 6FI-.#II)G2-$-G3-$8 % 0K =#I;F2G#)FI(#);.)I#2+#2 =#I;F2G#)F$-3-^$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 21
  • decision state decision topic decision )*+,-+./012134 !5-56-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N *+)!,-.( &/& *!0 1#.$23)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 1;<# 4#IG2-J$-;. 1;.G#2.OIP =% Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"+-;2 %% % & & & % % => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 % % % =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 %% % % %% =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*+IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)+-3U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G3-$8 6FI-.#II)G2-$-G3-$8 % 0K =#I;F2G#)FI(#);.)I#2+#2 =#I;F2G#)F$-3-^$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 21
  • decision state decision topic decision forces )*+,-+./012134 !5-56-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N *+)!,-.( &/& *!0 1#.$23)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 1;<# 4#IG2-J$-;. 1;.G#2.OIP =% Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"+-;2 %% % & & & % % => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 % % % =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 %% % % %% =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*+IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)+-3U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G3-$8 6FI-.#II)G2-$-G3-$8 % 0K =#I;F2G#)FI(#);.)I#2+#2 =#I;F2G#)F$-3-^$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 21
  • decision state decision topic decision forces )*+,-+./012134 !5-56-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N *+)!,-.( &/& *!0 1#.$23)4! 5*6 78!9: &;I$(2#!9: :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 1;<# 4#IG2-J$-;. 1;.G#2.OIP =% Q+(L)2#IJ;.I#)$-E#)MR)SL%I T-E#)U#"+-;2 %% % & & & % % => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 % % % =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 %% % % %% =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% % & & % & ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % %% %% ?-/+7<17.+6 0% H.";FI#)#VJ#2-#.G# 4#+#3;JE#.$)$-E# 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% 0%LC &/&)O<#G#.$P 4#+#3;JE#.$)$-E# % 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 4#+#3;JE#.$)$-E# % %% 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# % 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II %% 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % %% 0CLC HEJ2;+#)*+IG2-J$)I-33I 1;EJ#$-$-+#.#II && % % 0CLB :#2.)*]F#28 1;EJ#$-$-+#.#II && % % 0D :-.FV)I#2+#2)+-3U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G3-$8 6FI-.#II)G2-$-G3-$8 % 0K =#I;F2G#)FI(#);.)I#2+#2 =#I;F2G#)F$-3-^$-;. %% & && && && % ( impact rating Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 21
  • holder cost, w Concerns framed by the forces viewpoint be “not related concerns, the stakeholders were identified in our pre- vious work. hardwa licenses Table I C ONCERNS OF THE DECISION FORCES VIEWPOINT classifie distribu Code Concern C3 What is the rationale for decision D? Apar C4 What concerns Ci does decision D pertain to? betwee C5 What forces Fj impact/influence decision D? of the C6 What decisions Dk are influenced by force F ? C7 What forces Fl have conflicting influences on decision D? system: C23 What decisions Dp or decision sub-graphs SGq can be reused in other projects? ++: Table II T YPICAL STAKEHOLDERS OF THE DECISION FORCES VIEWPOINT AND THEIR CONCERNS +: Stakeholder Concerns blank Architect C3, C4, C5, C6, C7 Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 Reviewer C3, C4, C5, C6, C7 22
  • C ONCERNS OF THE DECISION FORCES VIEWPOINT classified by a legal concern (e.g distributed). Code Concern C3 What is the rationale for decision D? Apart from a textual qualificatio C4 What concerns Ci does decision D pertain to? between decision force and archite C5 What forces Fj impact/influence decision D? of the following values, estimated C6 What decisions Dk are influenced by force F ? C7 What forces Fl have conflicting influences on decision D? system: C23 What decisions Dp or decision sub-graphs SGq can be reused in other projects? ++: A force strongly suppor )*+,-+./012134 M<#G-<#<N M<-IG2<#<N M<-IG2<#<N native to be !"#$ !5-56-1753+ #*882+,57+ chosen. An M<#G-<#<N M<-IG2<#<N M<-IG2<#<N M<#G-<#<N :7./*-+.-;7+6*30*<*.50-7+=;*7+>+0-6 *+)!,-.( &/& *!0 1#.$23)4! the operability&;I$(2#!9: wh 5*6 78!9: force, 1;<# 4#IG2-J$-;. =% Q+(L)2#IJ;.I#)$-E#)MR)SL%ITable II 1;.G#2.OIP T-E#)U#"+-;2 %% % & & choice of Swing/Java, be & % % T YPICAL => H.$#(2$#)EF3$L)J8E#.$)J2;+-<#2I 5V$#.<U-3-$8 STAKEHOLDERS OF THE DECISION FORCES =? =#3-U-3-$8);W)<$)I$;2(# =#3-U-3-$8 % VIEWPOINT AND % %% develop rich graphical us % % % %% THEIR CONCERNS =@ Q+-3U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-U-3-$8 =A !FJJ;2$)(2;,-.().;);W)FI#2I !G3U-3-$8 %% %% % % % & +:% & A force moderately supp % & % & % ( =%B !#GF2-$8)OJ#2I;.3)<$)J2;$#G$-;.P !#GF2-$8 % ( % ( ( Stakeholder Concerns =%? 13-#.$)J3$W;2E)-.<#J#.<#.G# &;2$U-3-$8 % %% %% blank: A force has a neutral in =CB YJ#2U-3-$8);W)FI#2)-.$#2WG# ZIU-3-$8 %% % % Architect C3, C4, C5, C6, C7 native, or % is not applic it !+.*6*10917.+6 =CD 1;EEF.-G$-;.)+-)H.$#2.#$ [#$,;2)G;EEL %% %% % % % =C? /61H)IFJJ;2$ 6.-.()J2;$;G;3I % ( % % Reviewer C3, C4, C5, C6, C7 =CK [;)J-<)B2<)J2$8)3-G#.G#I 4#+#3;JE#.$)G;I$I % % % -: A force moderately oppo %% %% Requirements Engineer ?-/+7<17.+6 C4, C6, C7 New project member 0% H.";FI#)#VJ#2-#.G# C3 4#+#3;JE#.$)$-E# - -: A force strongly opposes 0%L% !,-.()O+#28)(;;<P 4#+#3;JE#.$)$-E# %% Domain expert 0%LC &/&)O<#G#.$P C23 4#+#3;JE#.$)$-E# % For instance, if the progra 0%LB *&Q)O(;;<P 4#+#3;JE#.$)$-E# 0%LD 78!9:)O+#28)(;;<P 0%L> *!0)O+#28)(;;<P 4#+#3;JE#.$)$-E# 4#+#3;JE#.$)$-E# % % ence in functional progra %% 0C !$2$#(-G).;,3#<(#)<#+#3;JE#.$ 1;EJ#$-$-+#.#II 0CL% :#2.)&;I$(2#I 1;EJ#$-$-+#.#II % a strong argument again %% %% The decision forces viewpoint consists of a single% model% 0CLC HEJ2;+#)*+IG2-J$)I-33I 0CLB :#2.)*]F#28 && && % % 1;EJ#$-$-+#.#II 1;EJ#$-$-+#.#II as a programming langu kind. Figure 3 depicts its metamodel, which presents the% 0D :-.FV)I#2+#2)+-3U3# 0> [;.)UFI-.#II)G2-$-G3-$8 % 4#+#3;JE#.$)G;I$I 6FI-.#II)G2-$-G3-$8 X:% A% decision alternative is % % conceptual elements for architecture models %%that adhere to&& 0K =#I;F2G#)FI(#);.)I#2+#2 & =#I;F2G#)F$-3-^$-;. && instance, a force (could && % it. This model is part of a shared metamodel, which is used tributed under an open s by all viewpoints of the decision documentation framework. would for instance preven Together with well-defined correspondence rules, the shared as a search library. Neve Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 23
  • Validation of the forces viewpoint • multiple case study • 3 groups of graduating students • working in non-academic SW projects (2 industrial, 1 open source) • used our decision framework to model ADs • observed over a period of seven weeks Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 24
  • Research questions RQ1: How does the forces viewpoint support the decision making process? RQ2: Which decision-related concerns does the forces viewpoint support? Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 25
  • Data collection and analysis • work artifacts • weekly focus groups • participant observation • grounded theory for data analysis Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 26
  • Results Table IV R ESULT OF THE QUALITATIVE ANALYSIS Code Category PrjA PrjB PrjC Concerns Res. Qu. Cat1 Required students to think more carefully about decisions. X X X RQ1 Cat2 Triggered students to consider quality attribute requirements. X X X RQ1 Cat3 Prevents ad-hoc decisions. X X X RQ1 Cat4 Forces viewpoint will be used in other projects. X X X RQ1 Cat5 Triggered students to identify more alternatives. X X RQ1 Cat6 Good way to document decisions. X X RQ1 Cat7 Creating the forces view took a lot of time. X RQ1 Cat8 Prevents inefficient discussions about decisions. X RQ1 Cat9 Created with reasonable effort. X RQ1 Cat10 Saved time in the end. X RQ1 Cat11 Support for rational decisions. X RQ1 Cat12 Forces view complements relationship view. X RQ1 Cat13 Useful for architects, designers, programmers, and new project members. X RQ1 Cat14 Support for weighing forces is missing. X RQ1 Cat15 Identifying all forces is a matter of experience. X RQ1 Cat16 Forces view and relationship view are simultaneously refined. X RQ1 Cat17 Proper tool support needed. X RQ1 Cat18 Maintain overview over architectural decisions, concerns, and forces. X X X C4,C5,C6 RQ1,RQ2 Cat19 Helpful to systematically compare decision alternatives in the context of X X X C5,C6 RQ1,RQ2 forces. Cat20 Help for estimating requirements coverage. X X C6 RQ1,RQ2 Cat21 Support for systematic trade-offs between forces. X C7 RQ1,RQ2 Cat22 Supports sharing architecture rationale. X X X C3, C23 RQ2e important than other forces causing them to select an The students described that one column in the forces vitecture decision alternative that had a lower rating (i.e. (see Figure 1) shows which concerns (Cat18, concern C4),s of pluses and minuses) than the other alternatives. Al- which forces (Cat18, concern C5) are related to a decis Uwe van Heesch - uwe@vanheesch.netgh we had considered this aspect during the design of the Dienstag, 14. August 2012 They also understood that a row in the view shows decis 27
  • Results + supports decision making process of (inexperienced) designers + provides a structure for making systematic decisions + documents rationale that went into decisions + satisfies the stakeholder concerns assigned to the viewpoint - different weights for forces needed - identifying forces requires experience Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 28
  • Ongoing work • decision-centric architecture evaluation based on forces • lists of domain specific forces • different approaches to weighing forces • different approaches to force impact ratings • improved tool support for decision framework Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 29
  • Thank you for your attention uwe@vanheesch.net paris@cs.rug.nl r.hilliard@computer.orgDienstag, 14. August 2012 30