Refine the description of the system functions using the Sequence diagram

We refine the description of the system functions using the Sequence diagram (continuation of "Proteins")

In this article, we will consider how you can refine (clarify) the description of an automated function using UML Sequence Diagram - a sequence diagram.

In this example, I am using the Enterprise Architect environment from an Australian company. Sparx Systems [1].
For the complete UML specification, see here [2].

To begin with, I will explain what we will detail.
Π’ Part 1 of the article "From Process Modeling to Automated System Design" we modeled the processes of a β€œfabulous” subject area β€” a line about a squirrel from A.S. Pushkin’s The Tale of Tsar Saltan. And we started with the Activity diagram. Then in 2st part we developed a functional model using the Use-case diagram, Figure 1 shows a fragment.

Refine the description of the system functions using the Sequence diagram
Figure 1 Relationship between requirement and feature

Now we want to clarify information about the execution of this automated function:

  • what interface components our user will interact with;
  • what control components we need;
  • what will we store;
  • what messages the user and system components will exchange to perform the function.

The main elements of the Sequence diagram are interacting objects with different stereotypes and connections between them - interacting objects exchange some information with each other (Figure 2).

Refine the description of the system functions using the Sequence diagram
Figure 2. Main elements of Sequence diagram

Objects are arranged in a horizontal sequence, messages are passed between them. The time axis is oriented from top to bottom.
An Actor element can be used to represent a user who initiates a stream of events.
Each object has a dotted line, called the "lifeline", where this element exists and potentially takes part in interactions. The control focus is indicated by a rectangle on the object's lifeline.
Messages exchanged between objects can be of several types, messages can also be customized to reflect the operations and properties of the source and target elements.
Stereotyped elements such as borders (Boundary), controls (Control) and entities (Entity) can be used to model the user interface (GUI), controllers and database elements, respectively.
A repetitive message flow can be designated as a fragment with a "loop" type.

So, we plan to clarify the description of the function β€œAdd information about a new nut to the statement”.
Let us agree on the following additional generalizations and assumptions.

  1. Nuts, kernels and shells are all material assets of the respective types (Figure 3).
    Refine the description of the system functions using the Sequence diagram
    Figure 3. Class Diagram Refinement
  2. Our user will enter information about any material values ​​into the statement.
  3. Let's clarify the name of the sheet - "Statement of accounting for material values."
  4. Let's say that our user, working with the GUI "Statement of accounting of material values", can add a new financial value through the GUI "Card of accounting of material values".
  5. Depending on the type of value, the data structure and GUI changes.
  6. When filling in the fields of the material value accounting card, the correctness of the entered data is checked.

A diagram built with these assumptions in mind is shown in Figure 4.

Refine the description of the system functions using the Sequence diagram
Figure 4. Clarification of the description of the function "Add information about a new nut to the statement"

You can read about the use of other types of UML diagrams here:

List of sources

  1. Sparx Systems website. [Electronic resource] Access mode: Internet: https://sparxsystems.com
  2. OMG Unified Modeling Language (OMG UML) Specification. Version 2.5.1. [Electronic resource] Access mode: Internet: https://www.omg.org/spec/UML/2.5.1/PDF

Source: habr.com

Add a comment