# A Novel UCP Model Based on Artificial Neural Networks and Orthogonal Arrays
## 1 Introduction
### Use Case Point Analysis  
The UCP method is most often used for estimating the real size of a software project. This method of estimating the effort required to implement a particular system considers the use cases of the system. It analyzes system users and different scenarios to adequately assess the effort required. It uses twenty-one parameters for assessment, of which thirteen parameters are technical characteristics of the system, and the remaining eight are environmental factors [12; 13; 14; 15]. The technical characteristics of the system being evaluated are as follows: distributed system, system response time, efficiency, complexity of internal processes, code reuse, ease of installation, ease of use, transfer to other platforms, system maintenance, competitiveness, parallel processing, security requirements, access to external systems, and end-user training. The following environmental factors are assessed: compliance with the used development process, experience with applications, experience in object-oriented technologies, ability of the chief analyst, team motivation, stability requirements, adaptation of working hours of team members, and complexity of the programming language. The system users and use cases are used together to determine the real size of the UCP method. The users of the system are divided into three groups: simple (depending on the interaction with the system, they are assigned a weight factor of (1); medium (depending on internal/external communication, they are assigned a weight factor of (2); and complex (depending on the complexity of interactions, they are assigned a weight factor of (3). There are also three categories of use cases that are defined based on the number of transactions executed (number of users and system messaging): simple (for less than three transactions, with weighting factor of five assigned); medium (from 4 to 7 transactions, with weighting factor of 10 assigned); and complex (more than eight transactions, with a weighting factor of 15 assigned). The size of the system is defined based on a six-dimensional vector whose elements represent the complexity of the previously mentioned users and the cases of users in the system. The estimated value is calculated based on the formulas established by [PERSON] [16]:  
UAW (Unadjusted Actor Weight)--this input value is a functional point that can determine the level of complexity of system users. Users can be simple system operators or other external systems. Each user is ranked according to their level of complexity and can be: _Simple_, _Average_, and _Complex_ (1)-(4). \[\textit{SimpleA}=\sum(\textit{SimpleActor})*\textit{SimpleWeight},\ \textit{where}\ \textit{SimpleWeight}=1; \tag{1}\]  
\[\textit{AverageA}=\sum(\textit{AverageActor})*\textit{AverageWeight},\ \textit{where}\ \textit{AverageWeight}=2; \tag{2}\]  
\[\textit{ComplexA}=\sum(\textit{ComplexActor})*\textit{ComplexWeight},\ \textit{where}\ \textit{ComplexWeight}=3; \tag{3}\]  
\[\text{UAW}=\textit{SimpleA}+\textit{AverageA}+\textit{ComplexA} \tag{4}\]  
UUCW (Unadjusted Use Case Weight)--this input value is a functional point that can determine the level of complexity of use cases. Each use case is ranked according to its level of complexity and can be: Simple, Average and Complex (5)-(8).