SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Requirements Evolution
  Drives Software Evolution

 Neil	
  Ernst,	
  Alexander	
  Borgida,	
  John	
  Mylopoulos
nernst@cs.ubc.ca	
  -­‐	
  borgida@cs.rutgers.edu	
  -­‐	
  jm@disi.unitn.it




                                     1
The Position
    • If	
  we	
  don't	
  know	
  what,	
  or	
  more	
  importantly,	
  
        why	
  we	
  are	
  doing	
  something,	
  "how"	
  we	
  do	
  it	
  is	
  
        inconsequential.	
  
    •   Changing	
  requirements	
  are	
  costly	
  and	
  a	
  major	
  
        source	
  of	
  software	
  errors.	
  
    •   Requirements	
  drift	
  from	
  implementation.	
  
    •   Lack	
  of	
  tool	
  support	
  for	
  requirements	
  evolution.
    •   Requirements	
  are	
  ultimately	
  about	
  business	
  
        value.

2
Outline


    • Other	
  positions	
  and	
  examples
    • What	
  is	
  a	
  requirement?	
  What	
  is	
  software	
  
        evolution?
    •   How	
  can	
  we	
  use	
  requirements	
  in	
  SW	
  Evol?
    •   One	
  approach	
  to	
  the	
  problem
    •   Discussion	
  questions



3
Other researchers agree

    • A	
  challenge	
  for	
  software	
  migration	
  is	
  “How	
  to	
  
        ensure	
  that	
  the	
  resulting	
  system	
  has	
  the	
  
        desired	
  quality	
  and	
  functionality?”1
    •   How	
  to	
  accommodate	
  “.	
  .	
  .	
  evolution	
  of	
  higher-­‐
        level	
  artifacts	
  such	
  as	
  analysis	
  and	
  design	
  
        models,	
  software	
  architectures,	
  requirement	
  
        specifications,	
  and	
  so	
  on.”2
    •   Agreement	
  on	
  importance	
  of	
  requirements	
  re-­‐
        use	
  and	
  requirements	
  integration
                                     [1] T. Mens. Future Research Challenges in Software Evolution. Presentation to
                                             ERCIM Working Group on Software Evolution, Brussels, 2009.
4                                    [2] Mens et al. Challenges in Software Evolution, IWPSE/EVOL 2005.
Some examples

    • Recent	
  study	
  on	
  million	
  €	
  government	
  IT	
  
        project1
    •   16	
  months,	
  4222	
  person-­‐days	
  of	
  work,	
  282	
  
        changes	
  (50%	
  of	
  effort)
    •   24%	
  of	
  changes	
  at	
  requirements	
  phase
    •   Most	
  expensive	
  changes	
  originate	
  with	
  
        organization	
  and	
  strategic	
  concerns
    •   Changes	
  in	
  solution	
  domain	
  very	
  low	
  value
                                    [1] S. McGee and D. Greer, “Software Requirements Change Taxonomy:
                                            Evaluation by Case Study,” ICRE, August 2011.
5
PCI Data Security Standard
                 (PCI-DSS)

    1.   Build	
  and	
  Maintain	
  a	
  Secure	
  Network	
  
    2.   Protect	
  Cardholder	
  Data
    3.   Maintain	
  a	
  Vulnerability	
  Management	
  Program
    4.   Implement	
  Strong	
  Access	
  Control	
  Measures
    5.   Regularly	
  Monitor	
  and	
  Test	
  Networks
    6.   Maintain	
  an	
  Information	
  Security	
  Policy



6
PCI-DSS changes



    • Multiple	
  root	
  logins
    • WEP	
  -­‐>	
  WPA
    • Server	
  virtualization



7
Requirements problems:
         Goals, tasks, and assumptions
        • Requirements	
  describe	
  stakeholder	
  desires	
  for	
  the	
  new	
  
             system	
  (e.g.,	
  “protect	
  cardholder	
  data”).
        •    These	
  desired	
  states	
  we	
  call	
  goals.
        •    Goals	
  are	
  iteratively	
  refined	
  until	
  operationalized	
  by	
  an	
  
             implementation	
  task.
        •    A	
  goal	
  model	
  defines	
  a	
  space	
  of	
  alternative	
  designs	
  for	
  
             satisfying	
  goals,	
  constrained	
  by	
  domain	
  assumptions.

    The	
  requirements	
  problem:	
  given	
  a	
  set	
  of	
  goals,	
  which	
  tasks	
  
    and	
  assumptions	
  satisfy	
  those	
  goals?1
                                               [1] [1] P. Zave and M. Jackson, “Four Dark Corners of Requirements
                                                         Engineering,” TOSEM, vol. 6, pp. 1-30, 1997.
8
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase             Goal
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


     Accept cash
                          Accept credit
                             card                                                Refinement
                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                               server
      Task                                                                                      No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant

                                                                                                Domain
    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                                                assumption
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                      Alternatives                                             server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

9
PCI-DSS model
                                                Increase
                                                revenues


               Accept payment                                           Avoid financial
                                                                         losses and
                                                                          penalties


                          Accept credit
     Accept cash
                             card



                Use Verifone              Use Moneris                 Be PCI
                   POS                       POS                     compliant



    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                        instances
                                                                                   servers
                                                                                                    Conflict
9
The requirements evolution problem


     • Given	
  an	
  existing	
  solution	
  Si	
  which	
  satisfies
         D,	
  Si	
  ⊢	
  G,	
  and
     •   modified	
  entities	
  (δ(G),	
  δ(D),	
  δ(S));
     •   Find	
  Ŝ	
  so	
  that	
  δ(D),	
  Ŝ	
  ⊢	
  δ(G),	
  such	
  that	
  this	
  
         satisfies	
  some	
  desired	
  property	
  π,	
  relating	
  Ŝ	
  to	
  Si.




10
Increase
                                                 revenues


                Accept payment                                           Avoid financial
                                                                          losses and
                                                                           penalties


                           Accept credit
      Accept cash
                              card



                 Use Verifone              Use Moneris                 Be PCI
                    POS                       POS                     compliant



     Buy strongbox
                                                                          Implement only one
                                                                          primary function per
                                                                                server
                                                                                                 No money for
                                                                                                 new servers

                                                         Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances




11
Increase
                                                 revenues


                Accept payment                                           Avoid financial
                                                                          losses and
                                                                           penalties


                           Accept credit
      Accept cash
                              card



                 Use Verifone              Use Moneris                 Be PCI
                    POS                       POS                     compliant



     Buy strongbox
                                                                          Implement only one
                                                                          primary function per
                                                                                server
                                                                                                 No money for
                                                                                                 new servers

Si                                                       Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances




11
Increase
                                                 revenues


                Accept payment                                           Avoid financial
                                                                          losses and
                                                                           penalties


                           Accept credit
      Accept cash
                              card



                 Use Verifone              Use Moneris                 Be PCI
                    POS                       POS                     compliant



     Buy strongbox
                                                                          Implement only one
                                                                          primary function per
                                             Use Secure Hash
                                                                                server
                                                 on CC #
                                                                                                 No money for
                                                                                                 new servers

Si                                                       Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances




11
Increase
                                                 revenues


                Accept payment                                           Avoid financial
                                                                          losses and
                                                                           penalties


                           Accept credit
      Accept cash
                              card



                 Use Verifone              Use Moneris                 Be PCI
                    POS                       POS                     compliant



     Buy strongbox
                                                                          Implement only one
                                                                          primary function per
                                             Use Secure Hash
                                                                                server
                                                 on CC #
                                                                                                 No money for
                                                                                                 new servers

Si                                                       Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances

       New Requirement

11
Increase
                                                 revenues


                Accept payment                                           Avoid financial
                                                                          losses and
                                                                           penalties


                           Accept credit
      Accept cash
                              card



                 Use Verifone              Use Moneris                 Be PCI
                    POS                       POS                     compliant



     Buy strongbox
                                                                          Implement only one
                                                                          primary function per
                                             Use Secure Hash
                                                                                server
                                                 on CC #
                                                                                                 No money for
                                                                                                 new servers

                                                         Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances

       New Requirement

11
Increase
                                                 revenues


                Accept payment                                           Avoid financial
                                                                          losses and
                                                                           penalties


                           Accept credit
      Accept cash
                              card



                 Use Verifone              Use Moneris                 Be PCI
                    POS                       POS                     compliant



     Buy strongbox
                                                                          Implement only one
                                                                          primary function per
                                             Use Secure Hash
                                                                                server
                                                 on CC #
                                                                                                 No money for
                                                                                                 new servers

                                                         Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers

Ŝ
                                                         instances

       New Requirement

11
Maintenance implications



     • New	
  implementation	
  tasks:
       • switch	
  payment	
  system	
  providers
       • add	
  secure	
  hash	
  function




12
Useful properties π

     1. Minimal	
  implementation	
  effort.
     2. Minimal	
  change	
  effort	
  solutions.
     3. Maximal	
  familiarity	
  solutions.


             Si               Sa               Sb               Sc

     a       b c                       a                c   a       b c
                          f   g h
         d        e                        d        f           d    g


13
Useful properties π

     1. Minimal	
  implementation	
  effort.
     2. Minimal	
  change	
  effort	
  solutions.
     3. Maximal	
  familiarity	
  solutions.


             Si               Sa               Sb               Sc

     a       b c                       a                c   a       b c
                          f   g h
         d        e                        d        f           d    g


13
Useful properties π

     1. Minimal	
  implementation	
  effort.
     2. Minimal	
  change	
  effort	
  solutions.
     3. Maximal	
  familiarity	
  solutions.


             Si               Sa               Sb               Sc

     a       b c                       a                c   a       b c
                          f   g h
         d        e                        d        f           d    g


13
Useful properties π

     1. Minimal	
  implementation	
  effort.
     2. Minimal	
  change	
  effort	
  solutions.
     3. Maximal	
  familiarity	
  solutions.


             Si               Sa               Sb               Sc

     a       b c                       a                c   a       b c
                          f   g h
         d        e                        d        f           d    g


13
Useful properties π

     1. Minimal	
  implementation	
  effort.
     2. Minimal	
  change	
  effort	
  solutions.
     3. Maximal	
  familiarity	
  solutions.


             Si               Sa               Sb               Sc

     a       b c                       a                c   a       b c
                          f   g h
         d        e                        d        f           d    g


13
Useful properties π

     1. Minimal	
  implementation	
  effort.
     2. Minimal	
  change	
  effort	
  solutions.
     3. Maximal	
  familiarity	
  solutions.


             Si               Sa               Sb               Sc

     a       b c                       a                c   a       b c
                          f   g h
         d        e                        d        f           d    g


13
Useful properties π

     1. Minimal	
  implementation	
  effort.
     2. Minimal	
  change	
  effort	
  solutions.
     3. Maximal	
  familiarity	
  solutions.


             Si               Sa               Sb               Sc

     a       b c                       a                c   a       b c
                          f   g h
         d        e                        d        f           d    g


13
Implementing the REKB


     • Implemented	
  a	
  tool	
  for	
  answering	
  these	
  
          questions.
     •    For	
  case	
  study,	
  tell	
  user
         • what	
  compliance	
  strategy	
  to	
  use
         • what	
  business	
  goals	
  will	
  be	
  satisfied
         • what	
  changes	
  are	
  important


14
Discussion questions
     1. Is	
  it	
  important	
  to	
  support	
  full	
  traceability?
     2. How	
  do	
  we	
  capture	
  business	
  objectives	
  (and	
  
        value)	
  in	
  software	
  evolution	
  tools?
     3. Why	
  has	
  there	
  been	
  relatively	
  little	
  focus	
  on	
  
        requirements	
  in	
  Software	
  Evolution?



                         http://neilernst.net
                                 @neilernst
                           github.com/neilernst
15
Thanks!
     http://neilernst.net
         @neilernst
     github.com/neilernst




16

Contenu connexe

Tendances

V mware v sphere advanced administration
V mware v sphere advanced administrationV mware v sphere advanced administration
V mware v sphere advanced administration
bestip
 
STN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint PresentationSTN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint Presentation
mcini
 
Managed Server Virtualisation
Managed Server VirtualisationManaged Server Virtualisation
Managed Server Virtualisation
webhostingguy
 
Client Virtualization
Client VirtualizationClient Virtualization
Client Virtualization
Amit Gatenyo
 
Ibm virtualization techday v2.0 final
Ibm virtualization techday v2.0 finalIbm virtualization techday v2.0 final
Ibm virtualization techday v2.0 final
Abhed
 

Tendances (19)

Novell Success Stories: Endpoint Management for Nonprofits
Novell Success Stories: Endpoint Management for NonprofitsNovell Success Stories: Endpoint Management for Nonprofits
Novell Success Stories: Endpoint Management for Nonprofits
 
V mware v sphere advanced administration
V mware v sphere advanced administrationV mware v sphere advanced administration
V mware v sphere advanced administration
 
Novell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback OpportunityNovell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback Opportunity
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Expo
 
Novell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and ManufacturingNovell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and Manufacturing
 
virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009virtualization tutorial at ACM bangalore Compute 2009
virtualization tutorial at ACM bangalore Compute 2009
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leeds
 
STN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint PresentationSTN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint Presentation
 
Implementing Process Controls and Risk Management with Novell Compliance Mana...
Implementing Process Controls and Risk Management with Novell Compliance Mana...Implementing Process Controls and Risk Management with Novell Compliance Mana...
Implementing Process Controls and Risk Management with Novell Compliance Mana...
 
Vmware View VDI 2012
Vmware View VDI 2012Vmware View VDI 2012
Vmware View VDI 2012
 
System Center 2012 - January Licensing Update
System Center 2012 - January Licensing UpdateSystem Center 2012 - January Licensing Update
System Center 2012 - January Licensing Update
 
Managed Server Virtualisation
Managed Server VirtualisationManaged Server Virtualisation
Managed Server Virtualisation
 
FileStore 5.7
FileStore 5.7FileStore 5.7
FileStore 5.7
 
Streamline it & save with virtualization
Streamline it & save with virtualizationStreamline it & save with virtualization
Streamline it & save with virtualization
 
Top 5 Reasons people are moving to Exchange 2010
Top 5 Reasons people are moving to Exchange 2010Top 5 Reasons people are moving to Exchange 2010
Top 5 Reasons people are moving to Exchange 2010
 
Client Virtualization
Client VirtualizationClient Virtualization
Client Virtualization
 
Nimsoft SaaS Service Desk Essentials - presented at CA World 2011
Nimsoft SaaS Service Desk Essentials - presented at CA World 2011Nimsoft SaaS Service Desk Essentials - presented at CA World 2011
Nimsoft SaaS Service Desk Essentials - presented at CA World 2011
 
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
Novell Success Stories: Endpoint Management in High Tech and Professional Ser...
 
Ibm virtualization techday v2.0 final
Ibm virtualization techday v2.0 finalIbm virtualization techday v2.0 final
Ibm virtualization techday v2.0 final
 

Similaire à Requirements Evolution Drives Software Evolution

Covmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's newCovmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's new
esarakaitis
 
Cloud Computing Presentation
Cloud Computing PresentationCloud Computing Presentation
Cloud Computing Presentation
sanyamgoyal
 
Core mechanisms for Web Services extensions
Core mechanisms for Web Services extensionsCore mechanisms for Web Services extensions
Core mechanisms for Web Services extensions
Miguel Pardal
 
The Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra MolletiThe Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra Molleti
Hitendra Molleti
 
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UYData Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
Logicalis Latam
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud Strategy
Al Afflitto
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
AnnSteyaert_vmware
 
Performance testing virtualized systems v5
Performance testing virtualized systems v5Performance testing virtualized systems v5
Performance testing virtualized systems v5
Mentora
 
Microsoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanMicrosoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by Atidan
David J Rosenthal
 
Netax presentation web
Netax presentation webNetax presentation web
Netax presentation web
Vicky Kathuria
 

Similaire à Requirements Evolution Drives Software Evolution (20)

Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization Initiative
 
Covmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's newCovmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's new
 
Microsoft India - Whats New in Windows Server 2008 R2 Presentation
Microsoft India - Whats New in Windows Server 2008 R2 PresentationMicrosoft India - Whats New in Windows Server 2008 R2 Presentation
Microsoft India - Whats New in Windows Server 2008 R2 Presentation
 
Cloud Computing Presentation
Cloud Computing PresentationCloud Computing Presentation
Cloud Computing Presentation
 
Core mechanisms for Web Services extensions
Core mechanisms for Web Services extensionsCore mechanisms for Web Services extensions
Core mechanisms for Web Services extensions
 
Eci Service Architecture Evolution 1
Eci Service Architecture Evolution 1Eci Service Architecture Evolution 1
Eci Service Architecture Evolution 1
 
Private cloud for_partners
Private cloud for_partnersPrivate cloud for_partners
Private cloud for_partners
 
The Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra MolletiThe Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra Molleti
 
Virtualizing Business Critical Apps
Virtualizing Business Critical AppsVirtualizing Business Critical Apps
Virtualizing Business Critical Apps
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UYData Center Convergentes - Carlos Spera - 20 de octubre - UY
Data Center Convergentes - Carlos Spera - 20 de octubre - UY
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud Strategy
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
 
Netax sdc
Netax sdcNetax sdc
Netax sdc
 
Performance testing virtualized systems v5
Performance testing virtualized systems v5Performance testing virtualized systems v5
Performance testing virtualized systems v5
 
Microsoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by AtidanMicrosoft System Center 2012 R2 Overview - Presented by Atidan
Microsoft System Center 2012 R2 Overview - Presented by Atidan
 
Dhinesh-Windows_Administrator
Dhinesh-Windows_AdministratorDhinesh-Windows_Administrator
Dhinesh-Windows_Administrator
 
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
Comprehensive, converged integration platform: IBM Starter Kit for Cloud x86 ...
 
Netax presentation web
Netax presentation webNetax presentation web
Netax presentation web
 
Microsoft Hyper-v launce Virtual Interop
Microsoft Hyper-v launce Virtual InteropMicrosoft Hyper-v launce Virtual Interop
Microsoft Hyper-v launce Virtual Interop
 

Plus de Neil Ernst

Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
Neil Ernst
 

Plus de Neil Ernst (11)

Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
 
Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015
 
Using AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsUsing AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute Tradeoffs
 
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent ReasoningSupporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
Adoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringAdoption-Centric Knowledge Engineering
Adoption-Centric Knowledge Engineering
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Reasoning with optional and preferred requirements
Reasoning with optional and preferred requirementsReasoning with optional and preferred requirements
Reasoning with optional and preferred requirements
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
Using requirements to retrace software evolution history
 
On the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycleOn the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycle
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
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
Safe Software
 
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
Safe Software
 

Dernier (20)

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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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...
 
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
 
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)
 
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
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 

Requirements Evolution Drives Software Evolution

  • 1. Requirements Evolution Drives Software Evolution Neil  Ernst,  Alexander  Borgida,  John  Mylopoulos nernst@cs.ubc.ca  -­‐  borgida@cs.rutgers.edu  -­‐  jm@disi.unitn.it 1
  • 2. The Position • If  we  don't  know  what,  or  more  importantly,   why  we  are  doing  something,  "how"  we  do  it  is   inconsequential.   • Changing  requirements  are  costly  and  a  major   source  of  software  errors.   • Requirements  drift  from  implementation.   • Lack  of  tool  support  for  requirements  evolution. • Requirements  are  ultimately  about  business   value. 2
  • 3. Outline • Other  positions  and  examples • What  is  a  requirement?  What  is  software   evolution? • How  can  we  use  requirements  in  SW  Evol? • One  approach  to  the  problem • Discussion  questions 3
  • 4. Other researchers agree • A  challenge  for  software  migration  is  “How  to   ensure  that  the  resulting  system  has  the   desired  quality  and  functionality?”1 • How  to  accommodate  “.  .  .  evolution  of  higher-­‐ level  artifacts  such  as  analysis  and  design   models,  software  architectures,  requirement   specifications,  and  so  on.”2 • Agreement  on  importance  of  requirements  re-­‐ use  and  requirements  integration [1] T. Mens. Future Research Challenges in Software Evolution. Presentation to ERCIM Working Group on Software Evolution, Brussels, 2009. 4 [2] Mens et al. Challenges in Software Evolution, IWPSE/EVOL 2005.
  • 5. Some examples • Recent  study  on  million  €  government  IT   project1 • 16  months,  4222  person-­‐days  of  work,  282   changes  (50%  of  effort) • 24%  of  changes  at  requirements  phase • Most  expensive  changes  originate  with   organization  and  strategic  concerns • Changes  in  solution  domain  very  low  value [1] S. McGee and D. Greer, “Software Requirements Change Taxonomy: Evaluation by Case Study,” ICRE, August 2011. 5
  • 6. PCI Data Security Standard (PCI-DSS) 1. Build  and  Maintain  a  Secure  Network   2. Protect  Cardholder  Data 3. Maintain  a  Vulnerability  Management  Program 4. Implement  Strong  Access  Control  Measures 5. Regularly  Monitor  and  Test  Networks 6. Maintain  an  Information  Security  Policy 6
  • 7. PCI-DSS changes • Multiple  root  logins • WEP  -­‐>  WPA • Server  virtualization 7
  • 8. Requirements problems: Goals, tasks, and assumptions • Requirements  describe  stakeholder  desires  for  the  new   system  (e.g.,  “protect  cardholder  data”). • These  desired  states  we  call  goals. • Goals  are  iteratively  refined  until  operationalized  by  an   implementation  task. • A  goal  model  defines  a  space  of  alternative  designs  for   satisfying  goals,  constrained  by  domain  assumptions. The  requirements  problem:  given  a  set  of  goals,  which  tasks   and  assumptions  satisfy  those  goals?1 [1] [1] P. Zave and M. Jackson, “Four Dark Corners of Requirements Engineering,” TOSEM, vol. 6, pp. 1-30, 1997. 8
  • 9. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances 9
  • 10. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances 9
  • 11. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances 9
  • 12. PCI-DSS model Increase Goal revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances 9
  • 13. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept cash Accept credit card Refinement Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances 9
  • 14. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server Task No money for new servers Virtualize Use multiple server servers instances 9
  • 15. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Domain Buy strongbox Implement only one primary function per assumption server No money for new servers Virtualize Use multiple server servers instances 9
  • 16. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Alternatives server No money for new servers Virtualize Use multiple server servers instances 9
  • 17. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server instances servers Conflict 9
  • 18. The requirements evolution problem • Given  an  existing  solution  Si  which  satisfies D,  Si  ⊢  G,  and • modified  entities  (δ(G),  δ(D),  δ(S)); • Find  Ŝ  so  that  δ(D),  Ŝ  ⊢  δ(G),  such  that  this   satisfies  some  desired  property  π,  relating  Ŝ  to  Si. 10
  • 19. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances 11
  • 20. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Si Virtualize Use multiple server servers instances 11
  • 21. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new servers Si Virtualize Use multiple server servers instances 11
  • 22. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new servers Si Virtualize Use multiple server servers instances New Requirement 11
  • 23. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new servers Virtualize Use multiple server servers instances New Requirement 11
  • 24. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new servers Virtualize Use multiple server servers Ŝ instances New Requirement 11
  • 25. Maintenance implications • New  implementation  tasks: • switch  payment  system  providers • add  secure  hash  function 12
  • 26. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g 13
  • 27. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g 13
  • 28. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g 13
  • 29. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g 13
  • 30. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g 13
  • 31. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g 13
  • 32. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g 13
  • 33. Implementing the REKB • Implemented  a  tool  for  answering  these   questions. • For  case  study,  tell  user • what  compliance  strategy  to  use • what  business  goals  will  be  satisfied • what  changes  are  important 14
  • 34. Discussion questions 1. Is  it  important  to  support  full  traceability? 2. How  do  we  capture  business  objectives  (and   value)  in  software  evolution  tools? 3. Why  has  there  been  relatively  little  focus  on   requirements  in  Software  Evolution? http://neilernst.net @neilernst github.com/neilernst 15
  • 35. Thanks! http://neilernst.net @neilernst github.com/neilernst 16