Аннотация:
The object of research is the implementation of relations between
software classes. It is shown that when implementing the aggregation
relationship between classes, errors may occur if more than one client
class is found. Class interaction errors can be caused by management
of resource class attributes by one of the client classes in a way that
is unacceptable to another client class due to invalid attribute values,
state changes, method blocking, etc. To solve the problem, a special
organization of the queue for client classes is proposed. A feature of the
queue is the use of models of client classes and resource class. The model
of a resource class provides an idea about its resources (attributes and
methods) and how they are used. The client class model shows how
much of these resources will be used by the client and how this will
be done. This organization of the queue makes it possible to provide
resources to the next client class only after checking its compatibility
with active client classes. In general, client classes have different types,
and this complicates the organization of the queue. Therefore, it is
proposed to make them derived from the base class, which defines the
interface for the queue. Similarly, the problem of the interaction of the
class-resource with the queue is solved. The proposed base class for the
resource class also provides the necessary queue interface.
Software was developed that automates the process of converting
classes: analysis of a resource class, determination of resource needs
from client classes, construction of base classes. After the conversion
is completed, the queue functions are supported. The study results
verification showed a reduction in the time for converting classes by
about three times, and the waiting time for access to resources during
the work of the queue – at least two times