SlideShare une entreprise Scribd logo
1  sur  20
NFR & Architectuur:
Twee handen op één buik
Remco de Boer




                          1
Over mijzelf



                                               2009:
                                               Promotie (VU)
                  2003:
                  Onderzoeker /
                  ontwikkelaar
                  kennistechnologie
                                      2005:
                                      Promotieonderzoek
                                      “Architectuur-
1999:                                 kennismanagement”
Software-    2002:
ontwikkelaar Econometrie /
             Bestuurlijke
             Informatica
             (EUR)




                                                               2
ArchiXL

•    IT-architectuur adviesbureau
•    Opgericht in januari 2008
•    Gehuisvest in Amersfoort
•    Focus op financiële en publieke sector
•    Onafhankelijk
•    Kennisgebieden:
      – IT-architectuur (BPM, EAI/SOA,
         ECM, IDM, BI, Portals)
      – Enterprise-architectuur methoden,
         technieken en tools (TOGAF,
         ArchiMate)
      – Sectorkennis (verzekeren,
         pensioenuitvoering, gemeentes,
         onderwijs)
•    Met ingang van 2010 ook
     architectuuropleidingen

3-10-2010                                     3
Agenda

• Requirements vs. architectuur

• Requirements engineering als probleemanalyse

• Architectuur: van „structuurgeoriënteerd‟ naar „kennisgeoriënteerd‟

• Requirements vs. architectuurontwerpbeslissingen

• Conclusie en aanbevelingen




                                                                        4
Requirements            vs.          Architectuur




             Wat?                     Hoe?

         Probleem                     Oplossing

Vóór ondertekening                    Na ondertekening

                        Swartout & Waltzer (1982):
                       On the inevitable intertwining of
                      specification and implementation
       “Staat vast”                   “Nog te bepalen”

                                                           5
Requirements engineering als probleemanalyse
                  ‘Indicatief’   ‘Optatief’




Problem domain                   Requirements              Machine specification

Het deel van de                  Beschrijving van wat      Beschrijving van het
wereld waar het                  de klant waar zou         gewenste gedrag van
probleem zich                    willen laten zijn in de   de machine in de
bevindt                          probleemwereld            probleemwereld
                                                           (black box)
                                                              Jackson (2001): Problem frames

                                                                                        6
Probleem en oplossing staan niet los van elkaar

        Probleem                       Oplossing




                                                   7
Voorbeeld: KWIC

•   KWIC: “Key Word In Context”
     – Hans Peter Luhn (IBM, 1958)
     – Parnas (1972): On the criteria to be used in decomposing systems into modules

•   Doel:
     – Alfabetisch kunnen zoeken op individuele woorden in een titel

•   Werking van een KWIC index:
     – „circular shifting‟ (cyclische permutatie) van een regel tekst
            • haal het eerste woord weg
            • plak dit aan het eind van de regel
     – resultaat: lexicografisch geordende lijst van alle gepermuteerde regels

•   Circular shifting: Software Architecture in Practice (Bass e.a., 2003)
     –   Software Architecture in Practice
     –   Architecture in Practice / Software
     –   in Practice / Software Architecture
     –   Practice / Software Architecture in


                                                                                       8
KWIC Index
                           Context      Key Word       Context                               Publicatie

                          Software     Architecture    in Practice                           Bass et al. (2003)

          Design & Use of Software     Architectures                                         Bosch (2000)

                                          Design       & Use of Software Architectures       Bosch (2000)

                          Software     Engineering     Principles and Practice               Van Vliet (2009)

            Software Architecture in     Practice                                            Bass et al. (2003)

Software Engineering Principles and      Practice                                            Van Vliet (2009)

              Software Engineering      Principles     and Practice                          Van Vliet (2009)

                                         Software      Architecture in Practice              Bass et al. (2003)

                   Design & Use of       Software      Architectures                         Bosch (2000)

                                         Software      Engineering Principles and Practice   Van Vliet (2009)

                          Design &         Use         of Software Architectures             Bosch (2000)




                                                                                                          9
Pipe-and-filter architectuur voor KWIC




             Circular
Input                        Sorter         Output
             Shifter




                                                     10
Probleemanalyse voor en na architectuurkeuze

                                                                               KWIC:
                          KWIC                                       Pipe & Filter architectuur




Rapanotti et al. (2004): Architecture-driven Problem Decomposition
                                                                                                  11
Architectuurkeuze verandert de probleemwereld




• Gebruik van pipes & filters
    – is een keuze (optatief), maar
    – wordt vervolgens een gegeven (indicatief)


•   NB. Pipe&filter is maar één van de mogelijke architectuurkeuzen
     – mogelijke alternatieven: shared data, abstract data type, implicit invocation
     – Geschiktheid hangt mede af van de gestelde (niet-functionele) eisen en hun
       relatieve onderlinge prioriteit.
       (cf. Chung et al. (1999), Architectural Design to Meet Stakeholder Requirements)



                                                                                          12
Architectuur is meer dan structuur

• Van „structuurgeoriënteerd‟ naar
  „kennisgeoriënteerd‟

• Architectuur =
  structuur + ontwerpbeslissingen




               Decision graph (Kruchten et al., 2005))


                                                         13
Ontwerpbeslissingen: een beslislus




Concerns („problem‟) leiden tot ontwerpbeslissingen („solution‟) die weer tot nieuwe
concerns leiden
                                                                                 14
Intermezzo: requirement of ontwerpbeslissing?




“The KWIC component must have effective space performance”




                                                             15
Requirements vs. ontwerpbeslissingen:
  Nogmaals het KWIC probleem

                            implicit
                          invocation
                          (cf. Chung et al.
                                1999)

        implicit
      invocation                                                    effective space
      (cf. Chung et al.                                              performance
            1999)
                                                effective space
                                              performance, good
                                              time performance,
  pipe & filter.,                              high extensibility
  shared data,
abstract data type,
implicit invocation,

                                                                     how to limit
                                                                    amount of data
                                                                       stored




                                                                                      16
Requirements vs. ontwerpbeslissingen:
Nogmaals het KWIC probleem


                    effective space
                     performance


                                                           number of items in
  effective space
                                                           catalog expected to
   performance
                                                             increase rapidly

                                      increasing number
                                        of items; budget
effective space                            restrictions
 performance;
 scalable data
    storage
                                                           how to cope with
                                                             increasing
                                                           amount of data?




                                                                                 17
Requirements en architectuur in de wensput van
architectuuruitspraken




                                                 18
Methoden en technieken rondom de wensput

   Requirements          de „wensput‟               Architectuur
    engineering
     Elicitation     creation of statements       Decision making
    Negotiation                                  Trade-off analyses
    Specification    drop statements in the            Design
                              well
     Validation     compare well contents           Assessment
                        with reality
   Documentation    write down well contents         Description
   Requirements     structure well contents    Architectural knowledge
   management                                       management




                                                                      19
Conclusie

•   Er is geen fundamenteel verschil tussen requirements en
    ontwerpbeslissingen
     – Beide zijn richtinggevende uitspraken die het uiteindelijke ontwerp
       beïnvloeden
     – Onderscheid is arbitrair (maar kan wel nuttig zijn in een gegeven context)


•   Aanbevelingen:
     – Maak onderscheid waar dat nuttig is
         • Bijv. formele verantwoordelijkheden (voordat/nadat het contract is ondertekend)
     – Wees je bewust van de wederzijdse afhankelijkheden
         • De architect heeft een rol in het requirementsproces
     – Maak gebruik van de overeenkomsten!
         • Kennismanagement
         • Traceerbaarheid
         • Methoden en technieken



                                                                                             20

Contenu connexe

Similaire à NFR & Architectuur: Twee handen op één buik

Romex intro test no animation
Romex intro test no animationRomex intro test no animation
Romex intro test no animationPeter van Oostrom
 
Contract R&D - Open Innovatie - NL
Contract R&D - Open Innovatie - NLContract R&D - Open Innovatie - NL
Contract R&D - Open Innovatie - NLinduct
 
Cloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdelingCloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdelingPascal van Eck
 
Open bim finale 19 juni 2012 forumdeelnemers (alle presentaties)
Open bim finale 19 juni 2012   forumdeelnemers (alle presentaties)Open bim finale 19 juni 2012   forumdeelnemers (alle presentaties)
Open bim finale 19 juni 2012 forumdeelnemers (alle presentaties)Delano Kenepa
 
Crowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureCrowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureRubiX BV
 
System Engineering V0.3
System Engineering V0.3System Engineering V0.3
System Engineering V0.3Asintik
 
2 enterprise architectuur
2 enterprise architectuur2 enterprise architectuur
2 enterprise architectuurDan Kamminga
 
BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)
BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)
BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)Stefan Boeykens
 
The impact of cloud computing on enterprise architecture
The impact of cloud computing on enterprise architectureThe impact of cloud computing on enterprise architecture
The impact of cloud computing on enterprise architectureRemco Boksebeld
 
RFEM link met Tekla - BIM in RFEM
RFEM link met Tekla - BIM in RFEMRFEM link met Tekla - BIM in RFEM
RFEM link met Tekla - BIM in RFEMJo Gijbels
 
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerkingSE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerkingCROW
 
BIMserver.org op ICT delta 2010
BIMserver.org op ICT delta 2010BIMserver.org op ICT delta 2010
BIMserver.org op ICT delta 2010Léon Berlo
 
BIM Landschapschets
BIM LandschapschetsBIM Landschapschets
BIM LandschapschetsLéon Berlo
 
Agile open
Agile openAgile open
Agile opendrs.M
 
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203RuudKonig
 
10 09-20 presentatie collectief project bim
10 09-20 presentatie collectief project bim10 09-20 presentatie collectief project bim
10 09-20 presentatie collectief project bimElly van Wattingen
 
Tekla BIM opfrisdagen-intro
Tekla BIM opfrisdagen-introTekla BIM opfrisdagen-intro
Tekla BIM opfrisdagen-introRob Roef
 
USG Innotiv
USG InnotivUSG Innotiv
USG Innotivhadeboer
 
121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...
121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...
121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...Leon Abbink
 

Similaire à NFR & Architectuur: Twee handen op één buik (20)

Romex intro test no animation
Romex intro test no animationRomex intro test no animation
Romex intro test no animation
 
Contract R&D - Open Innovatie - NL
Contract R&D - Open Innovatie - NLContract R&D - Open Innovatie - NL
Contract R&D - Open Innovatie - NL
 
Cloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdelingCloud computing en de toekomst van de IT-afdeling
Cloud computing en de toekomst van de IT-afdeling
 
Open bim finale 19 juni 2012 forumdeelnemers (alle presentaties)
Open bim finale 19 juni 2012   forumdeelnemers (alle presentaties)Open bim finale 19 juni 2012   forumdeelnemers (alle presentaties)
Open bim finale 19 juni 2012 forumdeelnemers (alle presentaties)
 
Tiende Meetup: Microservices
Tiende Meetup: MicroservicesTiende Meetup: Microservices
Tiende Meetup: Microservices
 
Crowd Designing Microservices Architecture
Crowd Designing Microservices ArchitectureCrowd Designing Microservices Architecture
Crowd Designing Microservices Architecture
 
System Engineering V0.3
System Engineering V0.3System Engineering V0.3
System Engineering V0.3
 
2 enterprise architectuur
2 enterprise architectuur2 enterprise architectuur
2 enterprise architectuur
 
BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)
BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)
BIM State-of-the-Art (IE-Net Studiedag 16 Oktober 2013)
 
The impact of cloud computing on enterprise architecture
The impact of cloud computing on enterprise architectureThe impact of cloud computing on enterprise architecture
The impact of cloud computing on enterprise architecture
 
RFEM link met Tekla - BIM in RFEM
RFEM link met Tekla - BIM in RFEMRFEM link met Tekla - BIM in RFEM
RFEM link met Tekla - BIM in RFEM
 
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerkingSE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking
 
BIMserver.org op ICT delta 2010
BIMserver.org op ICT delta 2010BIMserver.org op ICT delta 2010
BIMserver.org op ICT delta 2010
 
BIM Landschapschets
BIM LandschapschetsBIM Landschapschets
BIM Landschapschets
 
Agile open
Agile openAgile open
Agile open
 
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203
 
10 09-20 presentatie collectief project bim
10 09-20 presentatie collectief project bim10 09-20 presentatie collectief project bim
10 09-20 presentatie collectief project bim
 
Tekla BIM opfrisdagen-intro
Tekla BIM opfrisdagen-introTekla BIM opfrisdagen-intro
Tekla BIM opfrisdagen-intro
 
USG Innotiv
USG InnotivUSG Innotiv
USG Innotiv
 
121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...
121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...
121031 voorlichting middenkaderfunctionaris bouw en infra niveau 4 + netwerks...
 

Plus de Remco de Boer

The Kadaster Innovation Funnel
The Kadaster Innovation FunnelThe Kadaster Innovation Funnel
The Kadaster Innovation FunnelRemco de Boer
 
SMWCon Fall 2015: SmartConnect (a SmartSuite extension)
SMWCon Fall 2015: SmartConnect (a SmartSuite extension)SMWCon Fall 2015: SmartConnect (a SmartSuite extension)
SMWCon Fall 2015: SmartConnect (a SmartSuite extension)Remco de Boer
 
Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)
Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)
Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)Remco de Boer
 
SMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWiki
SMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWikiSMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWiki
SMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWikiRemco de Boer
 
WICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic Wikis
WICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic WikisWICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic Wikis
WICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic WikisRemco de Boer
 

Plus de Remco de Boer (6)

The Kadaster Innovation Funnel
The Kadaster Innovation FunnelThe Kadaster Innovation Funnel
The Kadaster Innovation Funnel
 
SMWCon Fall 2015: SmartConnect (a SmartSuite extension)
SMWCon Fall 2015: SmartConnect (a SmartSuite extension)SMWCon Fall 2015: SmartConnect (a SmartSuite extension)
SMWCon Fall 2015: SmartConnect (a SmartSuite extension)
 
Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)
Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)
Semantic Time Travelling - Tagging and branching knowledge with SMW (a vision)
 
Het Semantisch Web
Het Semantisch WebHet Semantisch Web
Het Semantisch Web
 
SMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWiki
SMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWikiSMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWiki
SMWCon Fall 2012: Architectural Knowledge Management with Semantic MediaWiki
 
WICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic Wikis
WICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic WikisWICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic Wikis
WICSA 2011 Tutorial T2: Architectural Knowledge Management with Semantic Wikis
 

NFR & Architectuur: Twee handen op één buik

  • 1. NFR & Architectuur: Twee handen op één buik Remco de Boer 1
  • 2. Over mijzelf 2009: Promotie (VU) 2003: Onderzoeker / ontwikkelaar kennistechnologie 2005: Promotieonderzoek “Architectuur- 1999: kennismanagement” Software- 2002: ontwikkelaar Econometrie / Bestuurlijke Informatica (EUR) 2
  • 3. ArchiXL • IT-architectuur adviesbureau • Opgericht in januari 2008 • Gehuisvest in Amersfoort • Focus op financiële en publieke sector • Onafhankelijk • Kennisgebieden: – IT-architectuur (BPM, EAI/SOA, ECM, IDM, BI, Portals) – Enterprise-architectuur methoden, technieken en tools (TOGAF, ArchiMate) – Sectorkennis (verzekeren, pensioenuitvoering, gemeentes, onderwijs) • Met ingang van 2010 ook architectuuropleidingen 3-10-2010 3
  • 4. Agenda • Requirements vs. architectuur • Requirements engineering als probleemanalyse • Architectuur: van „structuurgeoriënteerd‟ naar „kennisgeoriënteerd‟ • Requirements vs. architectuurontwerpbeslissingen • Conclusie en aanbevelingen 4
  • 5. Requirements vs. Architectuur Wat? Hoe? Probleem Oplossing Vóór ondertekening Na ondertekening Swartout & Waltzer (1982): On the inevitable intertwining of specification and implementation “Staat vast” “Nog te bepalen” 5
  • 6. Requirements engineering als probleemanalyse ‘Indicatief’ ‘Optatief’ Problem domain Requirements Machine specification Het deel van de Beschrijving van wat Beschrijving van het wereld waar het de klant waar zou gewenste gedrag van probleem zich willen laten zijn in de de machine in de bevindt probleemwereld probleemwereld (black box) Jackson (2001): Problem frames 6
  • 7. Probleem en oplossing staan niet los van elkaar Probleem Oplossing 7
  • 8. Voorbeeld: KWIC • KWIC: “Key Word In Context” – Hans Peter Luhn (IBM, 1958) – Parnas (1972): On the criteria to be used in decomposing systems into modules • Doel: – Alfabetisch kunnen zoeken op individuele woorden in een titel • Werking van een KWIC index: – „circular shifting‟ (cyclische permutatie) van een regel tekst • haal het eerste woord weg • plak dit aan het eind van de regel – resultaat: lexicografisch geordende lijst van alle gepermuteerde regels • Circular shifting: Software Architecture in Practice (Bass e.a., 2003) – Software Architecture in Practice – Architecture in Practice / Software – in Practice / Software Architecture – Practice / Software Architecture in 8
  • 9. KWIC Index Context Key Word Context Publicatie Software Architecture in Practice Bass et al. (2003) Design & Use of Software Architectures Bosch (2000) Design & Use of Software Architectures Bosch (2000) Software Engineering Principles and Practice Van Vliet (2009) Software Architecture in Practice Bass et al. (2003) Software Engineering Principles and Practice Van Vliet (2009) Software Engineering Principles and Practice Van Vliet (2009) Software Architecture in Practice Bass et al. (2003) Design & Use of Software Architectures Bosch (2000) Software Engineering Principles and Practice Van Vliet (2009) Design & Use of Software Architectures Bosch (2000) 9
  • 10. Pipe-and-filter architectuur voor KWIC Circular Input Sorter Output Shifter 10
  • 11. Probleemanalyse voor en na architectuurkeuze KWIC: KWIC Pipe & Filter architectuur Rapanotti et al. (2004): Architecture-driven Problem Decomposition 11
  • 12. Architectuurkeuze verandert de probleemwereld • Gebruik van pipes & filters – is een keuze (optatief), maar – wordt vervolgens een gegeven (indicatief) • NB. Pipe&filter is maar één van de mogelijke architectuurkeuzen – mogelijke alternatieven: shared data, abstract data type, implicit invocation – Geschiktheid hangt mede af van de gestelde (niet-functionele) eisen en hun relatieve onderlinge prioriteit. (cf. Chung et al. (1999), Architectural Design to Meet Stakeholder Requirements) 12
  • 13. Architectuur is meer dan structuur • Van „structuurgeoriënteerd‟ naar „kennisgeoriënteerd‟ • Architectuur = structuur + ontwerpbeslissingen Decision graph (Kruchten et al., 2005)) 13
  • 14. Ontwerpbeslissingen: een beslislus Concerns („problem‟) leiden tot ontwerpbeslissingen („solution‟) die weer tot nieuwe concerns leiden 14
  • 15. Intermezzo: requirement of ontwerpbeslissing? “The KWIC component must have effective space performance” 15
  • 16. Requirements vs. ontwerpbeslissingen: Nogmaals het KWIC probleem implicit invocation (cf. Chung et al. 1999) implicit invocation effective space (cf. Chung et al. performance 1999) effective space performance, good time performance, pipe & filter., high extensibility shared data, abstract data type, implicit invocation, how to limit amount of data stored 16
  • 17. Requirements vs. ontwerpbeslissingen: Nogmaals het KWIC probleem effective space performance number of items in effective space catalog expected to performance increase rapidly increasing number of items; budget effective space restrictions performance; scalable data storage how to cope with increasing amount of data? 17
  • 18. Requirements en architectuur in de wensput van architectuuruitspraken 18
  • 19. Methoden en technieken rondom de wensput Requirements de „wensput‟ Architectuur engineering Elicitation creation of statements Decision making Negotiation Trade-off analyses Specification drop statements in the Design well Validation compare well contents Assessment with reality Documentation write down well contents Description Requirements structure well contents Architectural knowledge management management 19
  • 20. Conclusie • Er is geen fundamenteel verschil tussen requirements en ontwerpbeslissingen – Beide zijn richtinggevende uitspraken die het uiteindelijke ontwerp beïnvloeden – Onderscheid is arbitrair (maar kan wel nuttig zijn in een gegeven context) • Aanbevelingen: – Maak onderscheid waar dat nuttig is • Bijv. formele verantwoordelijkheden (voordat/nadat het contract is ondertekend) – Wees je bewust van de wederzijdse afhankelijkheden • De architect heeft een rol in het requirementsproces – Maak gebruik van de overeenkomsten! • Kennismanagement • Traceerbaarheid • Methoden en technieken 20