Function Candidates Analysis

From EUDP
Jump to: navigation, search

What

Function candidates

How

The dish

Function candidates

Ingredients

Process

Consider what the system should do in terms of functions. From the Use Cases we know how the system-to-be will be used. From the usage the developer can extract what kind of functions the system-to-be should place at the user's disposal.

Consider how the actors (other systems or physical persons) will be using the system-to-be with focus on what functions the user may need. From the Use Cases one can generalise the functions the system-to-be should provide.

Do not assess the candidates now. The gross list with all possible and less possible candidates are useful and are assessed when describing the functions later.

The customer can, with great success, be involved in this process, because it is actually the customers use of the system we are trying to describe. Consult the customer with the list and get all comments relevant for the candidates.

How - in details.

There are generally four types of functions.

  • Updating
  • Signalling
  • Reading
  • Calculating

The Updating functions are typically activated by an event in the Problem Domain and results in a shift of state in the data-model. Data are directed from the problem domain to the data-model.

The Signalling functions signal changes in the data-model to the problem or usage domain. The reaction can be showing the changed state to the actor, or it can be a direct intervention in the problem domain. Data are directed from the data-model to the problem domain or the usage domain.

The Reading functions are typically activated by an actor when in need of information kept in the data-model. Reading functions direct data from the model to the usage domain.

The Calculating functions are typically activated by an actor that both needs to get information from the data-model and provides information that should be computed with the data. Hence, data are directed from the model towards the usage domain.

Why

Definition: A function is a facility that makes the data-model available for the user or another system.

Functions are the facilities that enables the actor to view or manipulate the data kept in the data-model. In EUDP we define functions as the facilities interfaces (user- or system-interfaces) uses for data manipulation. Every computer program contains quite a large number of functions - typically classes are implemented by constructing a number of functions (or procedures in some languages) offering the necessary operations on data. In this context those functions implementing the classes is not the ones we are seeking. It is functions on a higher level possibly implemented by using a number of the "low level" functions offered in the individual classes.

In the Use Case analysis the focus is on how the system-to-be will be used. In the function analysis the focus will turn to what the user of the system can do with the data. Consequently there is a great relationship between Use Case Analysis and Function Analysis i.e it is two different views of the same problem and there should reside a consistency between the Use Cases and the Functions provided by the system.

In order to be open minded and not assess any possible candidates before actual analysis and description of the functions the developer should produce a candidate list.

Preparing the list of all possible function candidates without assessment of the individual candidate, the developer ends up with a list properly containing at least all possible candidates.

The assessment later in analysis will eliminate the candidates not suitable for the system-to-be.

Example

TotalElectricPowerProduction (period)

ViewSettings

SetTemperatures (daytemp, starttime, nighttemp, starttime, weekday)


Used In

The Function Candidates is used in the Functions Analysis in the system.