+ All Categories
Home > Technology > Requirements Evolution Drives Software Evolution

Requirements Evolution Drives Software Evolution

Date post: 12-Nov-2014
Category:
Upload: neil-ernst
View: 705 times
Download: 2 times
Share this document with a friend
Description:
Talk at the IWPSE workshop
35
Requirements Evolution Drives Software Evolution Neil Ernst , Alexander Borgida, John Mylopoulos [email protected] [email protected] [email protected] 1
Transcript
Page 1: Requirements Evolution Drives Software Evolution

Requirements Evolution Drives Software Evolution

Neil  Ernst,  Alexander  Borgida,  John  Mylopoulos

[email protected]  -­‐  [email protected]  -­‐  [email protected]

1

Page 2: Requirements Evolution Drives Software Evolution

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

Page 3: Requirements Evolution Drives Software Evolution

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

Page 4: Requirements Evolution Drives Software Evolution

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

4

[1] T. Mens. Future Research Challenges in Software Evolution. Presentation to ERCIM Working Group on Software Evolution, Brussels, 2009.

[2] Mens et al. Challenges in Software Evolution, IWPSE/EVOL 2005.

Page 5: Requirements Evolution Drives Software Evolution

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

5

[1] S. McGee and D. Greer, “Software Requirements Change Taxonomy: Evaluation by Case Study,” ICRE, August 2011.

Page 6: Requirements Evolution Drives Software Evolution

PCI Data Security Standard (PCI-DSS)

1. Build  and  Maintain  a  Secure  Network  2. Protect  Cardholder  Data3. Maintain  a  Vulnerability  Management  Program4. Implement  Strong  Access  Control  Measures5. Regularly  Monitor  and  Test  Networks6. Maintain  an  Information  Security  Policy

6

Page 7: Requirements Evolution Drives Software Evolution

PCI-DSS changes

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

7

Page 8: Requirements Evolution Drives Software Evolution

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.

8

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.

Page 9: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Page 10: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Page 11: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Page 12: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Goal

Page 13: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Refinement

Page 14: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Task

Page 15: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Domain assumption

Page 16: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Alternatives

Page 17: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

PCI-DSS model

9

Conflict

Page 18: Requirements Evolution Drives Software Evolution

The requirements evolution problem

• Given  an  existing  solution  Si  which  satisfiesD,  Si  ⊢  G,  and

• modified  entities  (δ(G),  δ(D),  δ(S));• Find  Ŝ  so  that  δ(D),  Ŝ  ⊢  δ(G),  such  that  this  

satisfies  some  desired  property  π,  relating  Ŝ  to  Si.

10

Page 19: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

11

Page 20: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

11

Si

Page 21: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

Use Secure Hash on CC #

11

Si

Page 22: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

Use Secure Hash on CC #

11

Si

New Requirement

Page 23: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

Use Secure Hash on CC #

11

New Requirement

Page 24: Requirements Evolution Drives Software Evolution

Increase revenues

Accept credit card

Avoid financial losses and penalties

Be PCI compliant

No money for new servers

Implement only one primary function per

server

Virtualize server

instances

Use Verifone POS

Use multiple servers

Use Moneris POS

Accept payment

Accept cash

Buy strongbox

Use Secure Hash on CC #

11

Ŝ New Requirement

Page 25: Requirements Evolution Drives Software Evolution

Maintenance implications

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

12

Page 26: Requirements Evolution Drives Software Evolution

Useful properties π

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

13

ed

cbahgf fd

ca

gd

cba

SaSi Sb Sc

Page 27: Requirements Evolution Drives Software Evolution

Useful properties π

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

13

ed

cbahgf fd

ca

gd

cba

SaSi Sb Sc

Page 28: Requirements Evolution Drives Software Evolution

Useful properties π

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

13

ed

cbahgf fd

ca

gd

cba

SaSi Sb Sc

Page 29: Requirements Evolution Drives Software Evolution

Useful properties π

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

13

ed

cbahgf fd

ca

gd

cba

SaSi Sb Sc

Page 30: Requirements Evolution Drives Software Evolution

Useful properties π

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

13

ed

cbahgf fd

ca

gd

cba

SaSi Sb Sc

Page 31: Requirements Evolution Drives Software Evolution

Useful properties π

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

13

ed

cbahgf fd

ca

gd

cba

SaSi Sb Sc

Page 32: Requirements Evolution Drives Software Evolution

Useful properties π

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

13

ed

cbahgf fd

ca

gd

cba

SaSi Sb Sc

Page 33: Requirements Evolution Drives Software Evolution

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

Page 34: Requirements Evolution Drives Software Evolution

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?

15

http://neilernst.net@neilernst

github.com/neilernst

Page 35: Requirements Evolution Drives Software Evolution

Thanks!

16

http://neilernst.net@neilernst

github.com/neilernst


Recommended