Forces on architecture decisions (WICSA 2012)

690 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
690
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
32
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Forces on architecture decisions (WICSA 2012)

  1. 1. Forces on architecture decisions Uwe van Heesch Paris Avgeriou Rich HilliardDienstag, 14. August 2012 1
  2. 2. Creating software architecture is making decisions Architect Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 2
  3. 3. 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
  4. 4. Each decision implies a choice between 2 or more alternatives ? Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 3
  5. 5. These choices are driven by forces. Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 4
  6. 6. These choices are driven by forces. prefer OSS Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 4
  7. 7. These choices are driven by forces. Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 4
  8. 8. Decisions are driven by forces. Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 5
  9. 9. Decisions are driven by forces. Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 6
  10. 10. Decisions are driven by forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 6
  11. 11. Decisions are driven by forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 7
  12. 12. Decisions are driven by forces. Strateg. development Experience Reliability Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 7
  13. 13. Decisions are driven by forces. Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 8
  14. 14. Decisions are driven by forces. Scalability Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 8
  15. 15. Decisions are driven by forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  16. 16. Decisions are driven by forces. prefer OSS Reliability Experience Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  17. 17. Decisions are driven by forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  18. 18. Decisions are driven by forces. Resulting force Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 9
  19. 19. 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
  20. 20. Typical forces Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  21. 21. Typical forces requirements Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  22. 22. Typical forces requirements business goals Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  23. 23. Typical forces requirements business goals constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  24. 24. Typical forces requirements business goals regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  25. 25. Typical forces requirements business goals laws regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  26. 26. Typical forces requirements business goals laws standards regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  27. 27. Typical forces requirements business goals laws principles standards regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  28. 28. Typical forces requirements business goals laws hw/sw interfaces principles standards regulations constraints Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 11
  29. 29. 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
  30. 30. requirements constraints business goals laws standards principles previously made ADs hw/sw interfaces regulations Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 12
  31. 31. 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
  32. 32. How to model and document forces? Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 13
  33. 33. 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
  34. 34. Decision Relationship Viewpoint Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 15
  35. 35. Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 16
  36. 36. Decision Chronology Viewpoint Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 17
  37. 37. Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 18
  38. 38. Decision Chronology Viewpoint Uwe van Heesch - uwe@vanheesch.netDienstag, 14. August 2012 19
  39. 39. 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
  40. 40. 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
  41. 41. 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
  42. 42. )*+,-+./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
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. 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
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. Thank you for your attention uwe@vanheesch.net paris@cs.rug.nl r.hilliard@computer.orgDienstag, 14. August 2012 30

×