SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
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

Más contenido relacionado

Más de 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 42010Rich 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 architecturesRich 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
 

Más de 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
 

Último

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Último (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

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