Determine change impact (of a change in a data structure)

From FetchWiki

Jump to: navigation, search

During the evolution of a software structure, new features typically require new data structures or additional field in existing data structures. In order to identify the impact of a change in a particular structure, one needs to identify where and how that structure is being used. With a use, we mean that from a particular location in the source code (typically described as within function/method implementation), this data structure is read from/written to. We assume that at these locations, the source code will need to be modified in some way.

This analysis is done on a model or abstract representation of a software system. Accordingly, one first needs to generate a model of the software system. Once this model has been generated, one can formulate a query that reports all uses of a particular data structure (given as input).

Another objective of this use case is program understanding. By identifying how and where a data structure is being used, one can learn about the system's design.

Contents

[edit] Characteristic Information

  • Goal in Context: User requests report about usage of a particular data structure.
  • Preconditions: model (abstract representation) of the software system is available.
  • Success End Condition: User receives file reporting on data structure usage.
  • Failed End Condition: User receives message explaining failed attempts.
  • Primary Actor: Developer,Architect
  • Trigger: User launches analysis script.

[edit] Main Success Scenario

put here the steps of the scenario from trigger to goal delivery, and any cleanup after

0.1 User identifies data structure to be analyzed.

0.2. User identifies associated script to perform analysis.

1. User launches analysis script.

2. Analysis script generates file reporting on data structure usage.

[edit] Extensions

put here the extensions, one at a time, each referring to the step of the main scenario

step altered - condition: action or sub-use case

[edit] Sub-variations

2. Analysis script only reports about uses of particular fields, or distinguished between read and write operations.

[edit] Related Information

  • Frequency: daily/weekly

[edit] Open Issues

[edit] Schedule

Personal tools