11 1. Software Requirements Specification
mhorst00 edited this page 2022-05-06 07:13:09 +02:00

Table of Contents

Changelog

Version Date Author Comment
V0.1 29.10.2021 Malte Horst created
V0.2 05.11.2021 Malte Horst added diagrams
V1.0 05.05.2022 Malte Horst added bug fixes

1. Goal

The Goal of this project is to create a standalone application from the existing plugin for the AutomationML Editor [1]. The software is to be tested for quality defects applying the typical use cases, paying attention to the usability and the "look & feel" of the user interface. The new application should have a simplified but still practical interface. The old interface of the plugins needs to be reviewed and improved upon in the ongoing development. Another point is the support of additional model interfaces and the possibility to use AML interface libraries. For the file extraction it should be possible to choose between the versions 2.15 and 3.0 of the CAEX output format.

2. Use Cases

UC diagram

Figure 1 UC Diagram

2.1. <UC.001> Create new device

Use Case's Objective: User wants to create a device by inserting the data manually into the user interface of the application
System Boundary: The application itself
Precondition: The user needs to have the minimal required data for the device on hand. The program needs to be installed on the user system and opened.
Postcondition on success: The entered data is displayed completely and correctly
Involved Users: Every end-user of the application
Triggering Event: When the user opens the application and uses the 'New device' function to create a new device

uc1

2.2. <UC.002> Create interface or load interface from library

Use Case's Objective: Creating a device interface by inserting the data manually into the user interface. Or to add an interface from one of the existing libraries
System Boundary: The application itself
Precondition: The user needs to have the minimal required data for the device or interface to be added
Postcondition on success: The user has submitted the specific data completely and correctly
Involved Users: Every end-user of the application
Triggering Event: When the user has the need to add/create a device interface

uc2

2.3. <UC.003> View device data and device interface data

Use Case's Objective: After at least one device was successfully added, the device data should be visible and editable on the user interface
System Boundary: The application itself
Precondition: The user added or loaded a device
Postcondition on success: The user added at least one device successfully
Involved Users: Every end-user of the application
Triggering Event: When the user has the need to view device data and device interface data

uc3

2.4. <UC.004> Add attachments to the device

Use Case's Objective: It is possible to add an attachment to the object, such as a manufacturer's icon
System Boundary: The application itself
Precondition: The user has loaded or added a device
Postcondition on success: The user has loaded or added at least one device successfully
Involved Users: Every end-user of the application
Triggering Event: When the user has the need to edit device data and add attachments such as icons.

uc4

2.5. <UC.005> Format output as CAEX version 2.15/3.0

Use Case's Objective: Make the export to CAEX formats possible for devices
System Boundary: The application itself
Precondition: The user has loaded or added a device
Postcondition on success: The user has loaded or added at least one device successfully
Involved Users: Every end-user of the application
Triggering Event: When the user wants to save a device in the CAEX format

uc5

3. Features

In this chapter, the definable features are described and illustrated with figures.

3.1. /LF10/ Import

The application should be able to import a file by the absolute path to the file

3.2 /LF20/ File validation

The system shall be able to detect wrongly formatted imported files and throw an error to the user.

3.3 /LF30/ Error handling

The system shall be able to handle errors (unexpected shut down, wrongly formatted files, ...) and throw an error to the user.

3.4 /LF40/ GUI

The system should display a graphical user interface after startup of the standalone application. The user will interact with this GUI for every other functionality of the application. For this, the application has to be converted from a plugin to a full application on its own.

GUI

3.5 /LF50/ Display device in a readable way

When a device is loaded or created the attributes of the element should be displayed directly and easily readable for the user.

3.6 /LF60/ Edit device

When the attributes of a loaded device are displayed to the user, the user should be able to edit every attribute he wants to change.

3.7 /LF70/ Create device

When the application is started, the user should be able to create a new and empty device model.

3.8 /LF80/ Export device

When the user has edited a device, he should be able to save the device to a file.

4. Product data

4.1 /LD10/ AML-DD

The system shall create a valid AML-DD with all the necessary information the original file contained. Including an AML root file complete with versioning header, a "SystemUnitClass" with logical description, identification and configuration parameters as well as a reference to the original file and pictures if there are any.

4.1 /LD20/ Save and load files

The system shall make a device description editable. For this, the user can load existing or create new devices within the interface of the application. After editing them, these descriptions can be saved to a location selected by the user.

5. Bug fixes

/BUG10/ Empty screen on device import

/BUG20/ No GUI scaling in window

/BUG30/ Drag and Drop does not work

/BUG40/ No Icon when application is open

/BUG50/ No attachments loaded from existing device

/BUG60/ Delete button in Generic Data tab does not work

/BUG70/ Wrong data displayed in Help -> About

/BUG80/ User manual link is wrong, missing manual

/BUG90/ No CAEX version choosable on export of file

/BUG100/ Saving of devices does not work

6. Enhancements

7. References

[1] https://github.com/Rajkumarpulaparthi/ModellingWizard

[2] https://github.com/DekaAthlos/TINF19C-ModellingWizard/wiki/6.-User-Manual

8. Glossary

AML Automation Markup Language is an open standard data format for storing and exchanging plant planning data

AML DD AML Device Description

AMLX AML Package

CAEX Computer-Aided Engineering Exchange

CLI Command Line Interface

GUI Graphical User Interface

IODD Input/Output Device Description