{'fraction_non_alphanumeric': 0.01855287569573284, 'fraction_numerical': 0.0, 'mean_word_length': 6.098684210526316, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An approach to class diagrams verification according to SOLID design principles

An approach, verifying class diagram correspondence to SOLID Design Principles, is proposed in this paper. SOLID is an acronym, encapsulating the five class diagram design principles namely: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation and Dependency Inversion. To check whether a class diagram meets to SOLID, its analytical representation is analyzed by means of predicate expressions. For every SOLID design principle corresponded predicate expressions are proposed. Analytical representation describes interaction of class diagram constituents, namely classes and interfaces, in set-theory terms. Also criteria for estimation of obtained results are formulated. Example of class diagram verification according to the suggested verification approach is also represented in this paper. The advantages of the proposed verification approach implementing to improve the quality of different software development lifecycle processes are outlined in the conclusions.