Table of Contents

Process Step
Role
Policy
Objective
Behaviour
Container
Property
Type
Callable
Parameter
Position
Business Object
Constant Provider
Constant
Thing
Constraint
Derived Relation
Package
Project
Configuration provider
TestData
DTO
Factory
Service
Delegate
External Service under DI framework
External type
External Project
External package
Test Case
Unit Test
Test Helper
Stub provider
Test Artifact

Table 1. 

Process Step

is constrained by

is expanded by

contains

is contained by

is constrained by

is expanded by

is constrained by

is implemented by

is constrained by

is determined by

is tested by

uses

is done by

iterates

is iterated by

triggers

is triggered by

is constrained by

is constrained by

is constrained by

is constrained by

is expanded by

is constrained by

Get data from database

   

gets dataset from database

gets problemset from the database

starts categorizer

record categorization

gets dataset from database

gets problemset from the database

starts categorizer

record categorization

     

external script

 

The record data is provided by the user in CSV

 

TRAINING_SET_FILE

TRAINING_SET_COLUMNS

PROBLEM_SET_FILE

PROBLEM_SET_COLUMNS

User

   

Update database with categories

Update database with categories

           

Convert strings to numeric arrays

   

NCS.ARRAY_SIZE

NCS.ROW_SIZE

NCS.ELEMENTS

data

prepare data for AI

NCS.ARRAY_SIZE

NCS.ROW_SIZE

NCS.ELEMENTS

data

prepare data for AI

     

NumericConverterService

 

Use an AI to categorize the transactions

                         

Calculates maximum string length

   

prepare data for AI

prepare data for AI

     

PrepareDataService

PrepareDataService

 

Use an AI to categorize the transactions

 

PROBLEM_SET_INPUT_COLUMN

TRAINING_SET_INPUT_COLUMN

                     

calculates number of output neurons

   

prepare data for AI

prepare data for AI

     

PrepareDataService

PrepareDataService

 

Use an AI to categorize the transactions

All aspects of the database structure are configureable

 

TRAINING_SET_OUTPUT_COLUMN

                     

prepares problemValues for AI

   

prepare data for AI

prepare data for AI

     

PrepareDataService

PrepareDataService

 

Use an AI to categorize the transactions

All aspects of the database structure are configureable

 

PROBLEM_SET_INPUT_COLUMN

                     

prepares trainValues for AI

   

prepare data for AI

prepare data for AI

     

PrepareDataService

PrepareDataService

 

Use an AI to categorize the transactions

All aspects of the database structure are configureable

 

TRAINING_SET_OUTPUT_COLUMN

                     

prepares trainResults for AI

   

prepare data for AI

prepare data for AI

     

PrepareDataService

PrepareDataService

 

Use an AI to categorize the transactions

 

TRAINING_SET_OUTPUT_COLUMN

                     

prepares problemOids

   

prepare data for AI

prepare data for AI

     

PrepareDataService

PrepareDataService

 

Use an AI to categorize the transactions

All aspects of the database structure are configureable

 

PROBLEM_SET_ID_COLUMN

                     

loads problemset from csv

   

Update database with categories

Update database with categories

     

CategorizerService

CategorizerService

 

The record data is provided by the user in CSV

         

prepare data for AI

prepare data for AI

           

loads training set from csv

   

Update database with categories

Update database with categories

     

CategorizerService

CategorizerService

 

The record data is provided by the user in CSV

         

prepare data for AI

prepare data for AI

           

compiles the model

   

Train AI

Train AI

     

NeuralNetTrainerService

NeuralNetTrainerService

 

Use an AI to categorize the transactions

                         

trains the model

   

Train AI

Train AI

     

NeuralNetTrainerService

NeuralNetTrainerService

 

Use an AI to categorize the transactions

 

BATCH_SIZE

                     

returns model accuracy

   

Train AI

Train AI

     

NeuralNetTrainerService

NeuralNetTrainerService

 

The accuracy of the model and probability of predictions should be shown

Refuse work if the accuracy of predictions are too low

                         

build AI

   

There are three layers in the model

All three layers are Dense

The number of neurons is configureable

the number of output neurons

Update database with categories

ai

There are three layers in the model

All three layers are Dense

The number of neurons is configureable

the number of output neurons

Update database with categories

ai

     

NeuralNetBuilderService

 

Use an AI to categorize the transactions

         

Train AI

prepare data for AI

Train AI

prepare data for AI

           

check model accuracy

   

ACCURACYCHECK_FAILURE_HANDLING

display an error message about accuracy being low

display model accuracy

Train AI

ai

ACCURACYCHECK_FAILURE_HANDLING

display an error message about accuracy being low

display model accuracy

Train AI

ai

     

AccuracyCheckService

 

Refuse work if the accuracy of predictions are too low

 

MIN_ACCURACY

                     

Train AI

   

check model accuracy

compiles the model

trains the model

returns model accuracy

Update database with categories

ai

check model accuracy

compiles the model

trains the model

returns model accuracy

Update database with categories

ai

     

NeuralNetTrainerService

 

Use an AI to categorize the transactions

         

run AI on problem set

build AI

run AI on problem set

build AI

           

Display a transaction

   

ui

update one row

ui

update one row

     

TransactionDisplayService

 

The user is presented with the most probable category combinations, and chooses one of them

Information about the record and possible choices should be presented to the user in a way that makes it easy to comprehend, and contains all information needed by the user

         

prepare options for a row

get row from the database

prepare options for a row

get row from the database

           

display an error message about accuracy being low

   

check model accuracy

ui

check model accuracy

ui

     

AccuracyErrorDisplayService

 

The accuracy of the model and probability of predictions should be shown

Refuse work if the accuracy of predictions are too low

                         

display model accuracy

   

DISPLAY_IN_PERCENTAGE

check model accuracy

ui

DISPLAY_IN_PERCENTAGE

check model accuracy

ui

     

DisplayAccuracyService

 

The accuracy of the model and probability of predictions should be shown

Refuse work if the accuracy of predictions are too low

                         

ask the user about choice of categories

   

ui

obtain user's choice on the category

ui

obtain user's choice on the category

     

ChoiceAskService

 

The user is presented with the most probable category combinations, and chooses one of them

                         

Display choice for user

   

ui

ui

     

OptionDisplayService

 

The user is presented with the most probable category combinations, and chooses one of them

Information about the record and possible choices should be presented to the user in a way that makes it easy to comprehend, and contains all information needed by the user

 

OPTION_DISPLAY_FORMAT

                     

obtain user's choice on the category

   

ask the user about choice of categories

compute chouce from the answer

update

ask the user about choice of categories

compute chouce from the answer

update

     

ChoiceObtainerService

             

update the row in the database

prepare options for a row

update the row in the database

prepare options for a row

           

compute chouce from the answer

   

COS.number

COS.None

COS.categories

obtain user's choice on the category

COS.number

COS.None

COS.categories

obtain user's choice on the category

     

ChoiceObtainerService

ChoiceObtainerService

                             

Display choice for user

   

prepare options for a row

prepare options for a row

     

OptionPreparatorService

OptionPreparatorService

                             

update one row

   

prepare options for a row

update the row in the database

get row from the database

Display a transaction

prepare options for a row

update the row in the database

get row from the database

Display a transaction

     

RowUpdateService

 

The records are updated in the database

     

Update data

Update data

obtain categories

Obtain database connection

obtain categories

Obtain database connection

           

get row from the database

   

update one row

update one row

     

RowUpdateService

RowUpdateService

             

Display a transaction

Display a transaction

           

Update data

   

Obtain database connection

Update database with categories

update

Obtain database connection

Update database with categories

update

     

UpdateService

 

The records are updated in the database

     

update one row

update one row

run AI on problem set

run AI on problem set

           

obtain categories

   

CS.CONFIGURED_SQL

CS.ID_COLUMN

db

CS.CONFIGURED_SQL

CS.ID_COLUMN

db

     

CategoryService

 

Use category combinations determined in the database

         

update one row

update one row

           

Update database with categories

   

prepare data for AI

build AI

Train AI

run AI on problem set

Update data

loads problemset from csv

loads training set from csv

categorizerai

prepare data for AI

build AI

Train AI

run AI on problem set

Update data

loads problemset from csv

loads training set from csv

categorizerai

     

CategorizerService

 

The records are updated in the database

All aspects of the database structure are configureable

 

PROBLEM_SET_COLUMNS

PROBLEM_SET_FILE

TRAINING_SET_COLUMNS

TRAINING_SET_FILE

     

Get data from database

Get data from database

           

Obtain database connection

   

Update data

Update data

     

UpdateService

UpdateService

 

The records are updated in the database

         

update one row

update one row

           

prepare data for AI

   

Calculates maximum string length

calculates number of output neurons

prepares problemValues for AI

prepares trainValues for AI

prepares trainResults for AI

prepares problemOids

Convert strings to numeric arrays

Update database with categories

data

Calculates maximum string length

calculates number of output neurons

prepares problemValues for AI

prepares trainValues for AI

prepares trainResults for AI

prepares problemOids

Convert strings to numeric arrays

Update database with categories

data

     

PrepareDataService

 

Use an AI to categorize the transactions

         

build AI

loads training set from csv

loads problemset from csv

build AI

loads training set from csv

loads problemset from csv

           

prepare options for a row

   

OPS.PROBABLE

OPS.SORTED

Display choice for user

OPS.CHOICE_NUMBER

update one row

OPS.PROBABLE

OPS.SORTED

Display choice for user

OPS.CHOICE_NUMBER

update one row

     

OptionPreparatorService

 

The user is presented with the most probable category combinations, and chooses one of them

         

obtain user's choice on the category

Display a transaction

obtain user's choice on the category

Display a transaction

           

run AI on problem set

   

Update database with categories

Update database with categories

     

CategorizerService

CategorizerService

 

Use an AI to categorize the transactions

         

Update data

Train AI

Update data

Train AI

           

update the row in the database

   

update one row

update one row

     

RowUpdateService

RowUpdateService

 

The records are updated in the database

         

obtain user's choice on the category

obtain user's choice on the category

           


Table 2. 

Role

is constrained by

is expanded by

does

is constrained by

User

   

Get data from database

 




Table 4. 

Objective

is constrained by

is expanded by

is drived by

is constrained by

is constrained by

determines

Refuse work if the accuracy of predictions are too low

   

Categorize transactions

   

check model accuracy

ACCURACYCHECK_FAILURE_HANDLING

returns model accuracy

display an error message about accuracy being low

display model accuracy

The user is presented with the most probable category combinations, and chooses one of them

   

Categorize transactions

   

prepare options for a row

ask the user about choice of categories

Display choice for user

Display a transaction

Use an AI to categorize the transactions

   

Categorize transactions

   

build AI

Train AI

run AI on problem set

prepare data for AI

Convert strings to numeric arrays

NCS.ARRAY_SIZE

NCS.ELEMENTS

NCS.ROW_SIZE

Calculates maximum string length

calculates number of output neurons

prepares problemOids

prepares problemValues for AI

prepares trainResults for AI

prepares trainValues for AI

All three layers are Dense

trains the model

compiles the model

The record data is provided by the user in CSV

   

Transactions are in a database

   

Get data from database

gets dataset from database

gets problemset from the database

starts categorizer

loads problemset from csv

loads training set from csv

The records are updated in the database

   

Transactions are in a database

   

Update database with categories

Update data

Obtain database connection

update one row

update the row in the database

Use category combinations determined in the database

   

Transactions are in a database

   

obtain categories

The important AI parameters should be tuneable

   

The project should not impose constraints on the database structure, and be adaptable for various needs

   

The number of neurons is configureable

the number of output neurons

There are three layers in the model

All aspects of the database structure are configureable

   

The project should not impose constraints on the database structure, and be adaptable for various needs

   

calculates number of output neurons

prepares problemValues for AI

prepares trainValues for AI

prepares problemOids

Update database with categories

Information about the record and possible choices should be presented to the user in a way that makes it easy to comprehend, and contains all information needed by the user

   

The user should be informed about significant circumstances

   

Display choice for user

Display a transaction

The accuracy of the model and probability of predictions should be shown

   

The user should be informed about significant circumstances

   

returns model accuracy

display an error message about accuracy being low

display model accuracy



Table 5. 

Behaviour

is constrained by

is expanded by

contains

is contained by

is constrained by

is expanded by

is constrained by

is implemented by

is constrained by

is determined by

is tested by

uses

Process Step

Contained in a Package or a process step

Contained in at most one Package

Iterates or contained in at most one Process Step

Is done by a user or implemented by a Callable

Determined by at least one Objective

is implemented by/implements

                   

gets dataset from database

   

Get data from database

Get data from database

     

external script

 

The record data is provided by the user in CSV

   

gets problemset from the database

   

Get data from database

Get data from database

     

external script

 

The record data is provided by the user in CSV

   

starts categorizer

   

Get data from database

Get data from database

     

external script

 

The record data is provided by the user in CSV

   

NCS.ARRAY_SIZE

   

Convert strings to numeric arrays

Convert strings to numeric arrays

     

NumericConverterService

 

Use an AI to categorize the transactions

   

NCS.ROW_SIZE

   

Convert strings to numeric arrays

Convert strings to numeric arrays

     

NumericConverterService

 

Use an AI to categorize the transactions

   

NCS.ELEMENTS

   

Convert strings to numeric arrays

Convert strings to numeric arrays

     

NumericConverterService

 

Use an AI to categorize the transactions

   

ACCURACYCHECK_FAILURE_HANDLING

   

check model accuracy

check model accuracy

     

AccuracyCheckService

 

Refuse work if the accuracy of predictions are too low

   

There are three layers in the model

   

build AI

build AI

     

NeuralNetBuilderService

 

The important AI parameters should be tuneable

   

All three layers are Dense

   

build AI

build AI

     

NeuralNetBuilderService

 

Use an AI to categorize the transactions

   

The number of neurons is configureable

   

build AI

build AI

     

NeuralNetBuilderService

 

The important AI parameters should be tuneable

 

FIRST_LAYER_NEURONS

SECOND_LAYER_NEURONS

the number of output neurons

   

build AI

build AI

     

NeuralNetBuilderService

 

The important AI parameters should be tuneable

   

DISPLAY_IN_PERCENTAGE

   

display model accuracy

display model accuracy

     

DisplayAccuracyService

       

COS.number

   

compute chouce from the answer

compute chouce from the answer

               

COS.None

   

compute chouce from the answer

compute chouce from the answer

               

COS.categories

   

compute chouce from the answer

compute chouce from the answer

             

CHOICE_FORMAT_REGEX

OPS.PROBABLE

   

prepare options for a row

prepare options for a row

     

OptionPreparatorService

     

MIN_PROBABILITY

OPS.SORTED

   

prepare options for a row

prepare options for a row

     

OptionPreparatorService

       

OPS.CHOICE_NUMBER

   

prepare options for a row

prepare options for a row

     

OptionPreparatorService

       

CS.CONFIGURED_SQL

   

obtain categories

obtain categories

     

CategoryService

     

SQL_TO_OBTAIN_CATEGORIES

CS.ID_COLUMN

   

obtain categories

obtain categories

     

CategoryService

     

ID_COLUMN_POSITION_IN_CATEGORIES_TABLE





Table 7. 



Table 8. 

Type

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

Callable

               

Business Object

Have an example test artifact

             

Constant Provider

               

DTO

Have a factory

             

Factory

Creates a DTO

             

Delegate

Uses at least one service

Uses exactly one DTO

             

Type Alias

               

Unit Test

               

Test Helper

               

Stub provider

               

csv file

       

column list

filename

 

Training set csv

Problem set csv

 


Table 9. 

Callable

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

implements

results

uses

Service

Implements a Process Step

                   

External Service under DI framework

                     

External type

                     


Table 10. 

Parameter

is constrained by

is expanded by

defaults to

is

referenced as

is used by

is constrained by

is constrained by

is constrained by

inputSet

     

Input set

1

NumericConverterService

     

max_length

     

maximum string length in all records

2

NumericConverterService

     

problemSet

     

problemset dataframe

2

PrepareDataService

     

trainSet

     

trainset dataframe

1

PrepareDataService

     

Accuracy

     

model accuracy

1

AccuracyCheckService

     

max_length

     

maximum string length in all records

1

NeuralNetBuilderService

     

numberOfOutputNeurons

     

number of categories

2

NeuralNetBuilderService

     

model

     

Neural net

3

NeuralNetTrainerService

     

trainResults

     

trainResults

2

NeuralNetTrainerService

     

trainValues

     

trainValues

1

NeuralNetTrainerService

     

accuracy

     

model accuracy

1

DisplayAccuracyService

     

choiceNumber

     

number of the choice offered

1

OptionDisplayService

     

probability

     

probability of an answer

2

OptionDisplayService

     

categoriesForAnswer

     

tuple of categories and the ID of the combination

3

OptionDisplayService

     

row

     

transaction from the database

1

TransactionDisplayService

     

options

     

choices

1

ChoiceObtainerService

     

rowNumber

     

number of row in the problem set

1

OptionPreparatorService

     

data

     

data for AI

2

OptionPreparatorService

     

categories

     

categories

3

OptionPreparatorService

     

rowNumber

     

row number in the problem set

1

RowUpdateService

     

data

     

data for AI

2

RowUpdateService

     

connection

     

database connection

3

RowUpdateService

     

categories

     

categories

4

RowUpdateService

     

data

     

data for AI

1

UpdateService

     

connection

     

database connection

1

CategoryService

     




Table 12. 

Business Object

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

is used as parameter

is of

is resulted by

is constrained by

has an example as

Problem set csv

           

csv file

   

csv file

external script

 

problem_set.csv

Training set csv

           

csv file

   

csv file

external script

 

training_set.csv

Input set

           

numpy.ndarray [str]

 

inputSet

numpy.ndarray [str]

   

TRAIN_SET_VALUES

input array for AI model

           

numpy.ndarray [numpy.ndarray [float]]

   

numpy.ndarray [numpy.ndarray [float]]

NumericConverterService

   

data for AI

           

AIData

 

data

data

data

AIData

PrepareDataService

 

data

trainset dataframe

           

pandas.DataFrame

 

trainSet

pandas.DataFrame

   

TRAIN_SET

problemset dataframe

           

pandas.DataFrame

 

problemSet

pandas.DataFrame

   

PROBLEM_SET

Neural net

           

keras.Model

 

model

keras.Model

NeuralNetBuilderService

 

model

number of categories

           

int

 

numberOfOutputNeurons

int

   

OUTPUT_NEURONS

maximum string length in all records

           

int

 

max_length

max_length

int

   

MAX_LENGTH

model accuracy

           

float

 

Accuracy

accuracy

float

NeuralNetTrainerService

 

ACCURACY

trainValues

           

numpy.ndarray [numpy.ndarray [float]]

 

trainValues

numpy.ndarray [numpy.ndarray [float]]

   

TRAIN_VALUES

trainResults

           

numpy.ndarray [int]

 

trainResults

numpy.ndarray [int]

   

TRAIN_RESULTS

choice

           

str

   

str

ChoiceAskService

 

ANSWER_TO_CHOICE_PROMPT

tuple of categories and the ID of the combination

           

list[str]

 

categoriesForAnswer

list[str]

   

CATEGORY_TUPLE

probability of an answer

           

float

 

probability

float

   

ANSWER_PROBABILITY

number of the choice offered

           

int

 

choiceNumber

int

   

OFFERED_CHOICE

transaction from the database

           

tuple

 

row

tuple

   

fetched_row

categories

           

choice

dict

 

categories

categories

choice

dict

CategoryService

 

categories

choice

       

probability

value

dict

tuple

categories

   

dict

tuple

categories

ChoiceObtainerService

   

choices

       

key

value

 

dict

 

options

dict

OptionPreparatorService

   

number of row in the problem set

           

int

 

rowNumber

int

   

rowNumber

row number in the problem set

           

int

 

rowNumber

int

     

database connection

           

connection

 

connection

connection

connection

     


Table 13. 

Constant Provider

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

Configuration provider

Can contain only constants

             

TestData

Contains only Test Artifacts

             


Table 14. 

Constant

is constrained by

is expanded by

is contained by

is a

is constrained by

is default for

is constrained by

is used by

Test Artifact

Is an example of a Business object

is a/is type of

uses

has an example as/is an example of

           

PROBLEM_SET_COLUMNS

   

Config

list[str]

     

Update database with categories

Get data from database

PROBLEM_SET_FILE

   

Config

str

     

Update database with categories

Get data from database

TRAINING_SET_COLUMNS

   

Config

list[str]

     

Update database with categories

Get data from database

TRAINING_SET_FILE

   

Config

str

     

Update database with categories

Get data from database

MIN_ACCURACY

   

Config

float

     

check model accuracy

FIRST_LAYER_NEURONS

   

Config

int

     

The number of neurons is configureable

SECOND_LAYER_NEURONS

   

Config

int

     

The number of neurons is configureable

BATCH_SIZE

   

Config

int

     

trains the model

PROBLEM_SET_ID_COLUMN

   

Config

str

     

prepares problemOids

PROBLEM_SET_INPUT_COLUMN

   

Config

str

     

Calculates maximum string length

prepares problemValues for AI

TRAINING_SET_INPUT_COLUMN

   

Config

str

     

Calculates maximum string length

TRAINING_SET_OUTPUT_COLUMN

   

Config

str

     

calculates number of output neurons

prepares trainValues for AI

prepares trainResults for AI

OPTION_DISPLAY_FORMAT

   

Config

str

     

Display choice for user

SQL_TO_OBTAIN_CATEGORIES

   

Config

str

     

CS.CONFIGURED_SQL

ID_COLUMN_POSITION_IN_CATEGORIES_TABLE

   

Config

int

     

CS.ID_COLUMN

CHOICE_FORMAT_REGEX

   

Config

str

     

COS.categories

MIN_PROBABILITY

   

Config

float

     

OPS.PROBABLE











Table 19. 

Project

is constrained by

is expanded by

contains

is contained by

is constrained by

External Project

         

CategorizerAI

   

categorizerai

categorizerai

 




Table 21. 

TestData

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

contains examples of

is constrained by

is used by

DataTestData

       

OUTPUT_NEURONS

MAX_LENGTH

TRAIN_SET_VALUES

TRAIN_SET

PROBLEM_SET

           

AITestData

       

model

TRAIN_VALUES

TRAIN_RESULTS

ACCURACY

           

UITestData

       

ANSWER_TO_CHOICE_PROMPT

OFFERED_CHOICE

ANSWER_PROBABILITY

CATEGORY_TUPLE

           

UpdateTestData

       

rowNumber

categories

data

           

DbTestData

       

all_rows

fetched_row

           


DTO

Table 22. 

DTO

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

is created by

is used by

is constrained by

AIData

   

ai

ai

max_length

numberOfOutputNeurons

trainValues

trainResults

problemValues

problemOids

 

data for AI

 

AIDataFactory

   


Table 23. 

Factory

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

creates

is constrained by

AIDataFactory

               

AIData

 


Table 24. 

Service

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

implements

results

uses

contributes to

is constrained by

NumericConverterService

               

Convert strings to numeric arrays

input array for AI model

inputSet

max_length

   

PrepareDataService

               

prepare data for AI

data for AI

problemSet

trainSet

   

CategorizerService

               

Update database with categories

       

AccuracyCheckService

               

check model accuracy

 

Accuracy

   

NeuralNetBuilderService

               

build AI

Neural net

max_length

numberOfOutputNeurons

   

NeuralNetTrainerService

               

Train AI

model accuracy

trainValues

trainResults

model

   

DisplayAccuracyService

               

display model accuracy

 

accuracy

   

AccuracyErrorDisplayService

               

display an error message about accuracy being low

       

ChoiceAskService

               

ask the user about choice of categories

choice

     

OptionDisplayService

               

Display choice for user

 

choiceNumber

probability

categoriesForAnswer

   

TransactionDisplayService

               

Display a transaction

 

row

   

ChoiceObtainerService

               

obtain user's choice on the category

choice

options

   

OptionPreparatorService

               

prepare options for a row

choices

rowNumber

data

categories

   

RowUpdateService

               

update one row

 

rowNumber

data

connection

categories

   

UpdateService

               

Update data

 

data

   

CategoryService

               

obtain categories

categories

connection

   


Table 25. 

Delegate

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

uses

uses

is constrained by

is constrained by



Table 26. 

External Service under DI framework

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

implements

results

uses



Table 27. 

External type

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

implements

results

uses

is aliased by

external script

               

Get data from database

Training set csv

Problem set csv

   

numpy.ndarray [numpy.ndarray [float]]

   

numpy

numpy

 

trainValues

problemValues

trainValues

input array for AI model

         

numpy.ndarray [int]

   

numpy

numpy

 

trainResults

trainResults

         

keras.Model

   

Keras

Keras

   

Neural net

         

int

   

Python core

Python core

 

FIRST_LAYER_NEURONS

SECOND_LAYER_NEURONS

BATCH_SIZE

key

numberOfOutputNeurons

max_length

ID_COLUMN_POSITION_IN_CATEGORIES_TABLE

number of categories

maximum string length in all records

number of the choice offered

number of row in the problem set

row number in the problem set

         

list[list[int]]

   

Python core

Python core

               

list[int]

   

Python core

Python core

 

problemOids

           

list[str]

   

Python core

Python core

 

PROBLEM_SET_COLUMNS

TRAINING_SET_COLUMNS

column list

tuple of categories and the ID of the combination

         

float

   

Python core

Python core

 

MIN_ACCURACY

probability

MIN_PROBABILITY

model accuracy

probability of an answer

         

pandas.DataFrame

   

pandas

pandas

   

problemset dataframe

trainset dataframe

         

numpy.ndarray [str]

   

numpy

numpy

   

Input set

         

str

   

Python core

Python core

 

PROBLEM_SET_FILE

TRAINING_SET_FILE

TRAINING_SET_OUTPUT_COLUMN

PROBLEM_SET_INPUT_COLUMN

TRAINING_SET_INPUT_COLUMN

PROBLEM_SET_ID_COLUMN

OPTION_DISPLAY_FORMAT

filename

CHOICE_FORMAT_REGEX

SQL_TO_OBTAIN_CATEGORIES

choice

         

tuple

   

Python core

Python core

 

all_rows

choice

transaction from the database

         

dict

   

Python core

Python core

   

choice

categories

choices

         

connection

   

extensions

extensions

   

database connection

         




Table 29. 

External package

is constrained by

is expanded by

contains

is contained by

is constrained by

record categorization

   

Get data from database

User's own project

Get data from database

User's own project

 

extensions

   

connection

psycopg2

connection

psycopg2

 


Table 30. 

Test Case

is constrained by

is expanded by

is contained by

tests



Table 31. 

Unit Test

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

contains

uses

uses

uses



Table 32. 

Test Helper

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

is used by



Table 33. 

Stub provider

is constrained by

is expanded by

contains

is contained by

contains

is type of

is type of

represented in

is used by



Table 34. 

Test Artifact

is constrained by

is expanded by

is contained by

is a

is constrained by

is default for

is constrained by

is used by

is constrained by

is expanded by

is expanded by

is expanded by

is an example of

is based on

is base of

problem_set.csv

     

csv file

     

Get data from database

       

Problem set csv

   

training_set.csv

     

csv file

     

Get data from database

       

Training set csv

   

OUTPUT_NEURONS

   

DataTestData

int

     

build AI

       

number of categories

   

MAX_LENGTH

   

DataTestData

int

     

Convert strings to numeric arrays

build AI

       

maximum string length in all records

   

TRAIN_SET_VALUES

   

DataTestData

numpy.ndarray [str]

     

Convert strings to numeric arrays

       

Input set

   

PROBLEM_SET

   

DataTestData

pandas.DataFrame

     

prepare data for AI

       

problemset dataframe

   

TRAIN_SET

   

DataTestData

pandas.DataFrame

     

prepare data for AI

       

trainset dataframe

   

model

   

AITestData

keras.Model

     

Train AI

build AI

       

Neural net

   

ACCURACY

   

AITestData

float

     

check model accuracy

display model accuracy

Train AI

       

model accuracy

   

TRAIN_RESULTS

   

AITestData

numpy.ndarray [int]

     

Train AI

       

trainResults

   

TRAIN_VALUES

   

AITestData

numpy.ndarray [numpy.ndarray [float]]

     

Train AI

       

trainValues

   

ANSWER_TO_CHOICE_PROMPT

   

UITestData

str

     

ask the user about choice of categories

       

choice

   

ANSWER_PROBABILITY

   

UITestData

float

     

Display choice for user

       

probability of an answer

   

CATEGORY_TUPLE

   

UITestData

list[str]

     

Display choice for user

       

tuple of categories and the ID of the combination

   

OFFERED_CHOICE

   

UITestData

int

     

Display choice for user

       

number of the choice offered

   

rowNumber

   

UpdateTestData

int

     

prepare options for a row

       

number of row in the problem set

   

categories

   

UpdateTestData

dict

     

prepare options for a row

update one row

obtain categories

       

categories

   

data

   

UpdateTestData

AIData

     

prepare options for a row

update one row

Update data

prepare data for AI

       

data for AI

   

fetched_row

   

DbTestData

tuple

     

Display a transaction

       

transaction from the database

all_rows

all_rows

all_rows

   

DbTestData

tuple

     

Display a transaction

       

transaction from the database

fetched_row

fetched_row