SlideShare a Scribd company logo
Forces on architecture
                          decisions


                                      Uwe van Heesch
                                      Paris Avgeriou
                                      Rich Hilliard
Dienstag, 14. August 2012                          1
Creating software architecture
            is making decisions




                                                     Architect
                                             Uwe van Heesch - uwe@vanheesch.net
Dienstag, 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.net
Dienstag, 14. August 2012                                                                                             2
Each decision implies a choice between 2 or more
     alternatives


                            ?


                                             Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                     3
These choices are driven by forces.




                                               Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                       4
These choices are driven by forces.




                               prefer
                               OSS




                                               Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                       4
These choices are driven by forces.




                                               Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                       4
Decisions are driven by forces.




                            Reliability




                                             Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                     5
Decisions are driven by forces.




                                             Reliability




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                   6
Decisions are driven by forces.




                            Experience
                                              Reliability




                                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                    6
Decisions are driven by forces.




                      Experience                    Reliability




                                                  Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                          7
Decisions are driven by forces.




                                   Strateg. development
                      Experience                            Reliability




                                                          Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                  7
Decisions are driven by forces.




                      Experience                     Reliability



                                                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           8
Decisions are driven by forces.




                                   Scalability
                      Experience                       Reliability



                                                   Strateg. development




                                                     Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                             8
Decisions are driven by forces.




                      Experience                     Reliability



                     Scalability                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           9
Decisions are driven by forces.




                                   prefer
                                   OSS               Reliability
                      Experience



                     Scalability                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           9
Decisions are driven by forces.




                      Experience                     Reliability



                     Scalability                 Strateg. development




                                                   Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                           9
Decisions are driven by forces.




                                   Resulting force
                      Experience                         Reliability



                     Scalability                     Strateg. development




                                                       Uwe van Heesch - uwe@vanheesch.net
Dienstag, 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.net
Dienstag, 14. August 2012                                                           10
Typical forces




                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                   11
Typical forces

                            requirements




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                  11
Typical forces

                            requirements   business goals




                                                  Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                         11
Typical forces

                            requirements             business goals




                                           constraints

                                                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                   11
Typical forces

                            requirements             business goals




                                                            regulations
                                           constraints

                                                            Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                   11
Typical forces

                            requirements               business goals


                                                laws




                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                     11
Typical forces

                            requirements               business goals


                                                laws


                                           standards


                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                     11
Typical forces

                            requirements               business goals


                                                laws
                                                                  principles

                                           standards


                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                     11
Typical forces

                            requirements               business goals


                                                laws
          hw/sw interfaces
                                                                  principles

                                           standards


                                                              regulations
                                           constraints

                                                              Uwe van Heesch - uwe@vanheesch.net
Dienstag, 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.net
Dienstag, 14. August 2012                                                                     11
requirements
                               constraints       business goals
                            laws        standards       principles
                previously made ADs           hw/sw interfaces
                                                          regulations


                                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                  12
forces

                                       requirements
                               constraints       business goals
                            laws        standards       principles
                previously made ADs           hw/sw interfaces
                                                          regulations


                                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                  12
How to model and document forces?




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 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.net
Dienstag, 14. August 2012                                                                               14
Decision
                            Relationship
                             Viewpoint




                                           Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                  15
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                   16
Decision
                            Chronology
                             Viewpoint




                                         Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                17
Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                   18
Decision
                            Chronology
                             Viewpoint




                                         Uwe van Heesch - uwe@vanheesch.net
Dienstag, 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.net
Dienstag, 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.net
Dienstag, 14. August 2012                                                                               20
Example of a forces view

                                                                                                    )*+,'-+./012134         !5-5'6-1753+ #*882+,57+        !"#$
                                                                                          M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)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)J'8E#.$)J2;+-<#2I      5V$#.<'U-3-$8              %                     %                      %
                         =? =#3-'U-3-$8);W)<'$')I$;2'(#            =#3-'U-3-$8                                                 %%          %           %          %%
                         =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP   =#3-'U-3-$8               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$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)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
)*+,'-+./012134         !5-5'6-1753+ #*882+,57+        !"#$
                                                                                          M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)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)J'8E#.$)J2;+-<#2I      5V$#.<'U-3-$8              %                     %                      %
                         =? =#3-'U-3-$8);W)<'$')I$;2'(#            =#3-'U-3-$8                                                 %%          %           %          %%
                         =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP   =#3-'U-3-$8               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$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)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision topic
                                                                                                    )*+,'-+./012134         !5-5'6-1753+ #*882+,57+        !"#$
                                                                                          M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)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)J'8E#.$)J2;+-<#2I      5V$#.<'U-3-$8              %                     %                      %
                         =? =#3-'U-3-$8);W)<'$')I$;2'(#            =#3-'U-3-$8                                                 %%          %           %          %%
                         =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP   =#3-'U-3-$8               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$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)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision topic                            decision
                                                                                                    )*+,'-+./012134         !5-5'6-1753+ #*882+,57+        !"#$
                                                                                          M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)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)J'8E#.$)J2;+-<#2I      5V$#.<'U-3-$8              %                     %                      %
                         =? =#3-'U-3-$8);W)<'$')I$;2'(#            =#3-'U-3-$8                                                 %%          %           %          %%
                         =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP   =#3-'U-3-$8               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$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)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision state
                                                                      decision topic                            decision
                                                                                                    )*+,'-+./012134         !5-5'6-1753+ #*882+,57+        !"#$
                                                                                          M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)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)J'8E#.$)J2;+-<#2I      5V$#.<'U-3-$8              %                     %                      %
                         =? =#3-'U-3-$8);W)<'$')I$;2'(#            =#3-'U-3-$8                                                 %%          %           %          %%
                         =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP   =#3-'U-3-$8               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$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)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision state
                                                                      decision topic                            decision
                                             forces                                                 )*+,'-+./012134         !5-5'6-1753+ #*882+,57+        !"#$
                                                                                          M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)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)J'8E#.$)J2;+-<#2I      5V$#.<'U-3-$8              %                     %                      %
                         =? =#3-'U-3-$8);W)<'$')I$;2'(#            =#3-'U-3-$8                                                 %%          %           %          %%
                         =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP   =#3-'U-3-$8               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$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)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (




                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 14. August 2012                                                                                                                                              21
decision state
                                                                      decision topic                            decision
                                             forces                                                 )*+,'-+./012134         !5-5'6-1753+ #*882+,57+        !"#$
                                                                                          M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N
                                                                                          *'+')!,-.(     &/&        *!0      1#.$2'3)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)J'8E#.$)J2;+-<#2I      5V$#.<'U-3-$8              %                     %                      %
                         =? =#3-'U-3-$8);W)<'$')I$;2'(#            =#3-'U-3-$8                                                 %%          %           %          %%
                         =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP   =#3-'U-3-$8               %%          %          %           %          &           %           %
                         =A !FJJ;2$)(2;,-.().;);W)FI#2I            !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#         ZI'U-3-$8                 %%          %          %
  '''''!+.*6*10'917.+6




                         =CD 1;EEF.-G'$-;.)+-')H.$#2.#$            [#$,;2)G;EEL                        %%         %%           %          %           %          %
                         =C? /61H)IFJJ;2$                          6'.-.()J2;$;G;3I          %         (           %                      %
                         =CK [;)J'-<)B2<)J'2$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)'+'-3'U3#                 4#+#3;JE#.$)G;I$I                     %          %           %          %                      %
                         0> [;.)UFI-.#II)G2-$-G'3-$8               6FI-.#II)G2-$-G'3-$8                                                                           %
                         0K =#I;F2G#)FI'(#);.)I#2+#2               =#I;F2G#)F$-3-^'$-;.      %%          &          &&          &&         &&          %          (



                                                                                                                                     impact rating

                                                                                                                                      Uwe van Heesch - uwe@vanheesch.net
Dienstag, 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.net
Dienstag, 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<-IG'2<#<N M<-IG'2<#<N
                                                                                                                                      native to be !"#$
                                                                                                                        !5-5'6-1753+ #*882+,57+
                                                                                                                                                         chosen. An
                                                                                                                         M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N

                          :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6
                                                                                    *'+')!,-.(     &/&        *!0        1#.$2'3)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)J'8E#.$)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+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8
                          =A !FJJ;2$)(2;,-.().;);W)FI#2I          !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G#       ZI'U-3-$8              %%         %          %
        Architect                                  C3, C4, C5, C6, C7                                                                 native, or % is not applic
                                                                                                                                                     it
                  '''''!+.*6*10'917.+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<)J'2$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)'+'-3'U3#
                          0> [;.)UFI-.#II)G2-$-G'3-$8
                                                      %           4#+#3;JE#.$)G;I$I
                                                                  6FI-.#II)G2-$-G'3-$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.net
Dienstag, 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.net
Dienstag, 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.net
Dienstag, 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.net
Dienstag, 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    RQ2




e important than other forces causing them to select an                The students described that one column in the forces v
itecture 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.net
gh 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.net
Dienstag, 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.net
Dienstag, 14. August 2012                                                            29
Thank you for your
                                attention
                                     uwe@vanheesch.net
                                    paris@cs.rug.nl
                                r.hilliard@computer.org




Dienstag, 14. August 2012                                 30

More Related Content

More from Rich Hilliard

In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?
Rich Hilliard
 
Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010
Rich Hilliard
 
Using UML for architecture description
Using UML for architecture descriptionUsing UML for architecture description
Using UML for architecture descriptionRich Hilliard
 
Using Aspects in Architecture Description
Using Aspects in Architecture DescriptionUsing Aspects in Architecture Description
Using Aspects in Architecture DescriptionRich Hilliard
 
C4ISR architectures and software architectures
C4ISR architectures and software architecturesC4ISR architectures and software architectures
C4ISR architectures and software architectures
Rich Hilliard
 
The architect's job: 1996 version
The architect's job: 1996 versionThe architect's job: 1996 version
The architect's job: 1996 versionRich Hilliard
 
All about-ieee-1471
All about-ieee-1471All about-ieee-1471
All about-ieee-1471
Rich Hilliard
 

More from Rich Hilliard (8)

Concerns
ConcernsConcerns
Concerns
 
In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?In search of the Higgs or What's wrong with SEMAT?
In search of the Higgs or What's wrong with SEMAT?
 
Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010Knowledge mechanisms in IEEE 1471/ISO 42010
Knowledge mechanisms in IEEE 1471/ISO 42010
 
Using UML for architecture description
Using UML for architecture descriptionUsing UML for architecture description
Using UML for architecture description
 
Using Aspects in Architecture Description
Using Aspects in Architecture DescriptionUsing Aspects in Architecture Description
Using Aspects in Architecture Description
 
C4ISR architectures and software architectures
C4ISR architectures and software architecturesC4ISR architectures and software architectures
C4ISR architectures and software architectures
 
The architect's job: 1996 version
The architect's job: 1996 versionThe architect's job: 1996 version
The architect's job: 1996 version
 
All about-ieee-1471
All about-ieee-1471All about-ieee-1471
All about-ieee-1471
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 

Forces on architecture decisions (WICSA 2012)

  • 1. Forces on architecture decisions Uwe van Heesch Paris Avgeriou Rich Hilliard Dienstag, 14. August 2012 1
  • 2. Creating software architecture is making decisions Architect Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 2
  • 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.net Dienstag, 14. August 2012 2
  • 4. Each decision implies a choice between 2 or more alternatives ? Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 3
  • 5. These choices are driven by forces. Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 4
  • 6. These choices are driven by forces. prefer OSS Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 4
  • 7. These choices are driven by forces. Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 4
  • 8. Decisions are driven by forces. Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 5
  • 9. Decisions are driven by forces. Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 6
  • 10. Decisions are driven by forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 6
  • 11. Decisions are driven by forces. Experience Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 7
  • 12. Decisions are driven by forces. Strateg. development Experience Reliability Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 7
  • 13. Decisions are driven by forces. Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 8
  • 14. Decisions are driven by forces. Scalability Experience Reliability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 8
  • 15. Decisions are driven by forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 16. Decisions are driven by forces. prefer OSS Reliability Experience Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 17. Decisions are driven by forces. Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 18. Decisions are driven by forces. Resulting force Experience Reliability Scalability Strateg. development Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 9
  • 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.net Dienstag, 14. August 2012 10
  • 20. Typical forces Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 21. Typical forces requirements Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 22. Typical forces requirements business goals Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 23. Typical forces requirements business goals constraints Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 24. Typical forces requirements business goals regulations constraints Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 25. Typical forces requirements business goals laws regulations constraints Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 26. Typical forces requirements business goals laws standards regulations constraints Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 27. Typical forces requirements business goals laws principles standards regulations constraints Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 28. Typical forces requirements business goals laws hw/sw interfaces principles standards regulations constraints Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 29. Typical forces requirements business goals laws hw/sw interfaces principles standards previously made ADs regulations constraints Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 11
  • 30. requirements constraints business goals laws standards principles previously made ADs hw/sw interfaces regulations Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 12
  • 31. forces requirements constraints business goals laws standards principles previously made ADs hw/sw interfaces regulations Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 12
  • 32. How to model and document forces? Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 13
  • 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.net Dienstag, 14. August 2012 14
  • 34. Decision Relationship Viewpoint Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 15
  • 35. Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 16
  • 36. Decision Chronology Viewpoint Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 17
  • 37. Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 18
  • 38. Decision Chronology Viewpoint Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 19
  • 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.net Dienstag, 14. August 2012 20
  • 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.net Dienstag, 14. August 2012 20
  • 41. Example of a forces view )*+,'-+./012134 !5-5'6-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8 % % % =? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8 %% % % %% =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$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)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 42. )*+,'-+./012134 !5-5'6-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8 % % % =? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8 %% % % %% =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$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)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 43. decision topic )*+,'-+./012134 !5-5'6-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8 % % % =? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8 %% % % %% =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$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)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 44. decision topic decision )*+,'-+./012134 !5-5'6-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8 % % % =? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8 %% % % %% =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$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)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 45. decision state decision topic decision )*+,'-+./012134 !5-5'6-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8 % % % =? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8 %% % % %% =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$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)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 46. decision state decision topic decision forces )*+,'-+./012134 !5-5'6-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8 % % % =? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8 %% % % %% =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$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)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 47. decision state decision topic decision forces )*+,'-+./012134 !5-5'6-1753+ #*882+,57+ !"#$ M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)J2;+-<#2I 5V$#.<'U-3-$8 % % % =? =#3-'U-3-$8);W)<'$')I$;2'(# =#3-'U-3-$8 %% % % %% =@ Q+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 %% % % % & % % =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % '''''!+.*6*10'917.+6 =CD 1;EEF.-G'$-;.)+-')H.$#2.#$ [#$,;2)G;EEL %% %% % % % % =C? /61H)IFJJ;2$ 6'.-.()J2;$;G;3I % ( % % =CK [;)J'-<)B2<)J'2$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)'+'-3'U3# 4#+#3;JE#.$)G;I$I % % % % % 0> [;.)UFI-.#II)G2-$-G'3-$8 6FI-.#II)G2-$-G'3-$8 % 0K =#I;F2G#)FI'(#);.)I#2+#2 =#I;F2G#)F$-3-^'$-;. %% & && && && % ( impact rating Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 21
  • 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.net Dienstag, 14. August 2012 Reviewer C3, C4, C5, C6, C7 22
  • 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<-IG'2<#<N M<-IG'2<#<N native to be !"#$ !5-5'6-1753+ #*882+,57+ chosen. An M<#G-<#<N M<-IG'2<#<N M<-IG'2<#<N M<#G-<#<N :7./*-+.-;7+'6*30*<*.50-'7+=;*7+>+0-6 *'+')!,-.( &/& *!0 1#.$2'3)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)J'8E#.$)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+'-3'U-3-$8);W)WF33)I#2+-G#)OAALAXP =#3-'U-3-$8 =A !FJJ;2$)(2;,-.().;);W)FI#2I !G'3'U-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#2'U-3-$8);W)FI#2)-.$#2W'G# ZI'U-3-$8 %% % % Architect C3, C4, C5, C6, C7 native, or % is not applic it '''''!+.*6*10'917.+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<)J'2$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)'+'-3'U3# 0> [;.)UFI-.#II)G2-$-G'3-$8 % 4#+#3;JE#.$)G;I$I 6FI-.#II)G2-$-G'3-$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.net Dienstag, 14. August 2012 23
  • 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.net Dienstag, 14. August 2012 24
  • 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.net Dienstag, 14. August 2012 25
  • 52. Data collection and analysis • work artifacts • weekly focus groups • participant observation • grounded theory for data analysis Uwe van Heesch - uwe@vanheesch.net Dienstag, 14. August 2012 26
  • 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 RQ2 e important than other forces causing them to select an The students described that one column in the forces v itecture 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.net gh 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. 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.net Dienstag, 14. August 2012 28
  • 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.net Dienstag, 14. August 2012 29
  • 56. Thank you for your attention uwe@vanheesch.net paris@cs.rug.nl r.hilliard@computer.org Dienstag, 14. August 2012 30