Identifying modularity improvement opportunities in goal-oriented - - PowerPoint PPT Presentation

identifying modularity improvement opportunities in goal
SMART_READER_LITE
LIVE PREVIEW

Identifying modularity improvement opportunities in goal-oriented - - PowerPoint PPT Presentation

Identifying modularity improvement opportunities in goal-oriented requirements models Catarina Gralha, Miguel Goulo, Joo Arajo CITI, Faculdade de Cincias e Tecnologia, Universidade Nova de Lisboa, Portugal acg.almeida@campus.fct.unl.pt


slide-1
SLIDE 1

Identifying modularity improvement opportunities in goal-oriented requirements models

Catarina Gralha, Miguel Goulão, João Araújo

CITI, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa, Portugal acg.almeida@campus.fct.unl.pt {mgoul, joao.araujo}@fct.unl.pt

slide-2
SLIDE 2

Roadmap

Introduction i* framework Metrics Evaluation Conclusions

slide-3
SLIDE 3

Introduction

slide-4
SLIDE 4

Introduction

  • Goal-oriented Requirements Engineering (GORE)
  • Great impact and importance in the Requirements Engineering community
  • Provide expressive model elements for requirements elicitation and analysis
  • i*, KAOS, GRL
  • The models can quickly become very complex
  • Manage the accidental complexity of the models is a challenge
  • Identify refactoring opportunities to improve the modularity of those models,

and consequently reduce their complexity

slide-5
SLIDE 5

Objectives

  • To provide a tool supported metrics suite, targeted to the

measurement and analysis of the complexity of i* models, for identifying modularity refactoring opportunities

  • The identification of such opportunities can be useful during

development, where a better modularization can lead to a sounder distribution of responsibilities among the system components

  • If performed in a timely fashion, this is likely to contribute to relevant costs

savings through the reduction of the model’s accidental complexity

  • Refactoring opportunities identification is also an asset in the context of

preventive maintenance, as a facilitator for future requirements changes

slide-6
SLIDE 6

The Approach

Improve the modularity

  • f i* models

and reduce their complexity Metrics Set

Informal definition Formal definition

i* modelling tool

i* models creation Metrics collecting

Metrics evaluation

Case studies set Statistics analysis

slide-7
SLIDE 7

About the metrics suite

  • The metrics suite is integrated in an eclipse-based i* editor, so that metrics

can be computed during the requirements modelling process, whenever the requirements engineer requests them

  • The metrics are defined using the Object Constraint Language (OCL) upon the

i* metamodel

  • This makes our metrics set easily extensible, as improving the metrics set can

be done by adding new OCL metrics definitions

  • Actor’s boundaries are a key mechanism in the metrics suite proposed here.

Our goal is to use these metrics to leverage the modularity of i* models.

slide-8
SLIDE 8

i* Framework

slide-9
SLIDE 9

i* Framework

Approach focused on the system stakeholders and in their relations Developed for modelling and reasoning about organizational environments SR Model (Strategic Rationale) SD Model (Strategic Dependency)

slide-10
SLIDE 10

i* Metamodel

slide-11
SLIDE 11

Metrics

slide-12
SLIDE 12

Complexity Metrics Definition

Q1 Q2 Q3 Q4 Q5 Complexity M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 M13 M14 M15 M16 M17 M18

How complex is the model, concerning the number of actors and elements? Does an actor have too much responsibility? How complex is a goal, with respect to its decompositions? How complex is a task with respect to its decompositions? How complex is a softgoal, with respect to its decompositions?

Conceptual Level Operational Level Quantitative Level

Number of actors Number of elements Number of elements inside Minimum number Maximum number Average number Number of decompositions Minimum number Maximum number Average number

slide-13
SLIDE 13

Metrics Definition for Q1

Q1 - How complex is the model, concerning the number of actors and elements? Name NAct – Number of Actors Informal definition Number of actors in the SD/SR model Formal definition

context ISTAR def:NAct():Integer = self.hasNode -> select(n:Node | n.oclIsKindOf(Actor)) -> size()

Name NElem – Number of Elements Informal definition Number of elements in the SD/SR model Formal definition

context ISTAR def:NElem():Integer = self.NEOAB() + self.NEIAB()

Requires NEOAB – Number of Elements Outside Actors’ Boundary NEIAB – Number of Elements Inside Actors’ Boundary

slide-14
SLIDE 14

Some Metrics Definition for Q2

Q2 - Does an actor have too much responsibility in the model? Name NEA – Number of Elements of an Actor Informal definition Number of elements inside an actor’s boundary in the SR model Formal definition

context Actor def:NEA():Integer = self.hasElement -> select(e : Element | e.oclIsKindOf(Element)) -> size()

Name AvgNEA – Average Number of Elements of an Actor Informal definition Average number of elements inside an actor’s boundary in the SR model Formal definition

context ISTAR pre:self.NAct() > 0 context ISTAR def:AvgNEA():Real = self.NEA() / self.NAct()

Requires NEA – Number of Elements of an Actor NAct – Number of Actors

slide-15
SLIDE 15

Tool Prototype

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 1 2 1 3 4/2 1 2

slide-16
SLIDE 16

Evaluation

slide-17
SLIDE 17

Case Studies

HC: Health Care HPA: Health Protection Agency MD: Media Shop NATS: National Air Traffic Services NO: Newspaper Office

slide-18
SLIDE 18

Number of Actors and Elements in the System

Number of Actors Number of Elements

slide-19
SLIDE 19

Goal Decomposition per Actor

HC has a higher ratio than all the

  • ther systems, which have very

similar ratios. This may suggest that HC could be an interesting candidate for refactoring. In contrast, we note that the most complex system, in terms of size, has the lowest element/actor density, suggesting a good overall modularity

slide-20
SLIDE 20

Number of Decompositions of a Goal

slide-21
SLIDE 21

Number of Decompositions of a Softgoal

Civil ATCO may have too many responsibilities. A typical refactoring would be to decompose the actor into sub-actors

slide-22
SLIDE 22

Number of Decompositions of a Task

It may also be the case that the requirements engineer may

  • ver-decompose these

goals, softgoals, or tasks, by following a functional decomposition strategy, leading to poor

  • modularity. This is similar

to the functional decomposition anti-pattern

slide-23
SLIDE 23

Conclusions and Future Work

slide-24
SLIDE 24

Conclusions

  • The questions allow evaluating the complexity of a model as a whole
  • Evaluating complexity at early stages allows avoiding eventual extra costs
  • during the later stages of software development
  • during software maintenance and evolution
  • The realization that the modularity of a requirements model can be improved

can trigger requirements refactoring opportunities

  • The results of these metrics reveal a pattern of usage in goal modelling

concerning modularity of those models

slide-25
SLIDE 25

Future Work

  • Replicate this evaluation with other i* models
  • Extend the metrics set to cover other model quality attributes
  • Identify thresholds for suggesting merging and decomposing model elements
  • Conduct an experiment with requirements engineers
  • Assess the extent to which those thresholds are correlated with an increased difficulty in i*

model comprehension

  • Define and apply refactoring patterns for GORE models
  • Implement different views and analyse each view separately
slide-26
SLIDE 26

Thank you.

Questions?