Software Requirements Specification (SRS) - mercal03/TINF21C_Team1_AAS-Server-Webclient GitHub Wiki
Version | Date | Author | Comment |
---|---|---|---|
0.1 | 01.11.2022 | S. Helms | Created Document, added structure |
0.2 | 04.11.2022 | S. Helms | Product requirements added |
0.3 | 06.11.2022 | S. Helms | Product requirements added |
0.4 | 03.05.2023 | S. Helms | Added final requirements |
0.5 | 3.05.2023 | S. Helms | Added Analysis |
- Purpose
- Product Environment
- Use Cases
- Product Requirements
- Non-functional Requirements
- Data Model
- Analysis of Existing Solutions
The ultimate end goal of this software shall be that the web-based-interface written in java-script displays the products in a user-friendly and structured way. It should be possible to search for products and filter them. It should also be possible to add new servers.
The Asset Administration Shell (AAS) is the Standard for modelling digital twins in Industry 4.0. Digital twins are models of so-called assets. Those can be tools, systems and products, etc. The twins shall be as like the existing asset as possible, even if it hasn't even been built before. It should simulate a real asset in every (technical) detail. You can virtually build machines with digital twins or test them in virtual environments before building the machine to test its functionality, usability, etc.
Use Cases Objective: | User wants to add an AAS-Server by inserting the server's URL manually into the webpage. |
---|---|
System Boundary: | The application itself. |
Precondition: | The user needs to have the URL to the AAS-Server. The webpage must be open and connected to the Internet. There must not be a currently active AAS-Server. |
Postcondition on success: | The server's content is displayed on the webpage. |
Involved Users: | Every end-user of the application. |
Triggering Event: | When the user presses "Server Menu" on the webpage, the user enters the URL and presses "Add Server". |

Use Cases Objective: | The digital twins are displayed alphabetically sorted on the webpage. The user can scroll through them. |
---|---|
System Boundary: | The application itself |
Precondition: | The user added a working AAS-Server. |
Postcondition on success: | The user can browse through all content of the server and find digital twins coincidentally. |
Involved Users: | Every end-user of the application. |
Triggering Event: | When the user wants to look through all content of the server without the need to find a specific digital twin. |

Use Cases Objective: | User can see the information of a specific digital twin |
---|---|
System Boundary: | The application itself |
Precondition: | The user added a working AAS-Server. |
Postcondition on success: | The user can see the information regarding a specific digital twin |
Involved Users: | Every end-user of the application. |
Triggering Event: | The user clicks on an entry of a digital twin on the webpage |

Use Cases Objective: | Search for a specific digital twin by serial number or by free text search. |
---|---|
System Boundary: | The application itself |
Precondition: | The user added a working AAS-Server. |
Postcondition on success: | A reduced number of digital twins is displayed on the webpage in the same way it was displayed before the search. |
Involved Users: | Every end-user of the application. |
Triggering Event: | The user enters a text in the search bar and presses "search" or Enter and wants to find a specific digital twin. For each letter, a clickable list of corresponding assets is displayed. |

Use Cases Objective: | Filter all content on the webpage to only show assets of one manufacturer name. |
---|---|
System Boundary: | The application itself. |
Precondition: | The user added a working AAS-Server. |
Postcondition on success: | The entries are specified and displayed on the webpage. |
Involved Users: | Every end-user of the application. |
Triggering Event: | The user enters wished manufacturer in designated area. |

Use Cases Objective: | Sort all content on the webpage to show the newest/oldest assets at the top of the list based on manufacturing year |
---|---|
System Boundary: | The application itself. |
Precondition: | The user added a working AAS-Server. |
Postcondition on success: | The entries are sorted and displayed on the webpage and entries without manufacturing year are shown at the end of the list. |
Involved Users: | Every end-user of the application. |
Triggering Event: | The user opens the drop-down menu for the year and can choose between the newest and the oldest year. |

The following functions should be implemented in the applications.
The webpage should be able to import a server by its URL and display its content.
Input Description | Expected Output |
---|---|
Server URL | JSON containing the AAS data |
The system shall be able to detect false server-URLs when adding a new server and throw an error to the user.
Input Description | Expected Output |
---|---|
Wrong Server URL | Error message |
The system shall be able to handle errors (no entries found, unexpected errors, false server-URL, …) and throw an error to the user.
Input Description | Expected Output |
---|---|
Unexpected Input | Error message |
The entries including the digital twins are shown in a clear and readable way as a list one entry under the other.
Input Description | Expected Output |
---|---|
Server URL | List of AAS items |
The user should be able to see more information about the digital twin.
Input Description | Expected Output |
---|---|
Click on an asset | listed information |
The user should be able to sort the displayed assets by manufacturer year.
Input Description | Expected Output |
---|---|
Selected sorting direction (oldest/newest first) | Sorted list of AAS items |
The user should be able to filter the assets by manufacturer.
Input Description | Expected Output |
---|---|
Manufacturer name | List of AAS items only by the specific manufacturer. |
The user can search for digital twins by entering the name of the asset.
Input Description | Expected Output |
---|---|
Name of asset | List of AAS items with the specific name |
This section describes the already known non-functional requirements for the product.
The webpage shall display a graphical user interface (GUI) to the user. This GUI must display every function provided to the user in a simple and intuitive way. It will be the only way to interact with the application.

The webpage shall work in every Browser supporting the HTML 5 standard.
The webpage shall add servers and apply filters in the fastest way possible as well as the user being able to find desired results with the lowest possible amount of steps.
A user searching a specific product shall find that product as fast as possible, intuitively know how the webpage works and there shall be enough online documentation for new users. No further training or experience is required.
This section describes the data, that should be displayed on the webpage.
The data displayed in the webpage is delivered through an AAS-Server with REST-Calls. There is no functionality to export data or import other data than an AAS-Server by its URL.

Strengths | Weaknesses |
---|---|
The list shows the assets clearly | It quickly becomes confusing due to the many dropdown menus on the website |
It is difficult to look for the content and find the right one |
Strengths | Weaknesses |
---|---|
The list shows the assets clearly | There are no names in the asset selection |
The submodels are clear and structured |

Strengths | Weaknesses |
---|---|
The display of an asset is extremely confusing, nested and unclear because of the many dropdowns and many fields. |