Difference between revisions of "System Interface Analysis"

From EUDP
Jump to: navigation, search
(Example)
(Used In)
 
Line 69: Line 69:
 
== Used In ==
 
== Used In ==
  
The results of the System Interface Analysis is used many parts in [[Realisation Phase]]. From here you may want to go to [[Function Analysis]].
+
The results of the System Interface Analysis is used many parts in [[Realisation Phase]]. From here you may want to go to [[Functionality Analysis]].

Latest revision as of 10:01, 26 January 2021

What

A description of the interface between the system-to-be and other systems.

How

The dish

System Interface Description

Ingredients

Process

The first thing to do is to identify which systems the system-to-be shall communicate with. It could be a server on the Internet, a piece of software on the same host as the system-to-be, some hardware or something completely different. These systems are in some sense non-human actors with respect to the system-to-be, and they will typically appear in sequence and communication diagrams.

When the systems have been identified, it is time to describe how the system-to-be will interface with each of them. The following is an incomplete list of types of interfaces:

  • Relational databases
  • Files with a predefined format (e.g. XML files)
  • Protocols
    • for communication on the Internet
    • for communication via a specific port on the computer
  • Specific registers in the computer
  • Specific addresses in RAM

In some cases, it is worth considering modifying the systems that interact with the system-to-be. As an example the System Interface Description could specify a minimum version of a program that cooperates with the system-to-be.

Why

Typically, the system-to-be has to communicate with other existing systems - so-called external systems. On exit of the Launch Phase, it must be clear how this communication will take place. Maybe the developer has to develop an adapter for an external system as part of the project, and this is, naturally, a very important piece of information to uncover before entering the Realisation Phase. Maybe an external system needs an upgrade that the customer is responsible for. In all cases, it must be clear what is part of the development project and what is not. A list of alternative scenarios for system-to-system interfaces will be presented in the following sections. The system-to-be is probably connected to several external systems. For each of these external systems you have to go through the considerations below.

Everything fits!.jpg


Everything fits!

In this case, we have no problems constructing the system-to-be so it fits the existing external system. For example, the external system could be a server on the Internet using a well-known protocol.

The adapter approach.jpg


The adapter approach

If it is difficult for the system-to-be and the external system to communicate directly, an adapter could be the solution. A driver for controlling some hardware is an example of an adapter. If an adapter is preferable, there must be no doubt who is responsible for obtaining or constructing the adapter.

Modifying or upgrading the external system.jpg


Modifying or upgrading the external system

In some situations, it is worth considering modifying, replacing or upgrading the external system. If the external system is a server on the local network, it could be wise to upgrade the server in order to provide the intended functionality for the system-to-be. The external system could also be an outdated piece of hardware.

Example

We will now consider the system that should regulate the temperature in the house according to the user's wishes. If we look at the Communication Diagrams produced in General Analysis, we can see that our system will communicate with the solar panel in order to obtain the effect currently produced. We have to decide and describe how this communication will take place.

The solar panel reports its effect for every sixth second on a RS 232-port so we have to pick this information up in some way. We decide that the system must include a SW object with a simple job description: Read the effect on the RS 232-port and store it. If a second object would like to obtain the current effect, it can send the first object a message. In this way, we have established a façade to the solar panel.

One way of describing this interface to the solar panel is a refined version of the relevant part of the communication diagram mentioned above:

Communication diagram.jpg

Used In

The results of the System Interface Analysis is used many parts in Realisation Phase. From here you may want to go to Functionality Analysis.