There is a well known principle, that you can manage only what you can measure – therefore adequate measurement and estimation of different elements in any engineering area is a very important development factor, and software engineering is not an exception. Software metrics represent numeric values of software characteristics and are used for analysis of different aspects of the product in order to predict possible problems. Software metrics can be applied to any stage of the software life cycle. For instance, on a stage of requirement analysis and the problem formulation, these metrics help to estimate the required amount of work and, respectively, the amount of financial and work resources. In addition, the metrics can be used directly in estimation of the program code complexity to assess it’s performance, effectiveness and the ability to modify it if needed. Software metrics are an important part of the whole software quality management process as they can be easily automated and applied in order to achieve some valuable technical characteristics. Moreover, they can be combined with another quality management tools and are a beneficial addition to any software product development model. In general, measuring the attributes of software during any phase of development gives a number of beneficial results to the developers as it helps to use the time, finances and effort effectively. This is achieved because of early problems identification, estimation and prevention and because of that the size, cost, quality and simplicity of the maintenance of the product is always under control. This article describes the results of research on different software metrics types and the actual representatives of these types. It assesses the usage area and the convenience of it’s usage on evaluating the quality of both a finished product and a product in the development stage.
У статті здійснено аналіз низки парадигм паралельних обчислень, що підтримуються у різноманітних мовах програмування із описом вимог до мовної підтримки паралельного програмування. Також розглядаються основні принципи та обмеження, що виявляються при перенесенні техніки функціонального програмування на паралельні обчислення. Наприкінці описані вимоги до мовної підтримки.
<p><em></em>The work is devoted to the problem of processes’ deadlock in the multi-tasking system. On the basis of the study of the life cycle of the process, the boundary state of the process was distinguished, which will precede the deadlock state. Proposed the method for prediction of entering processes into the deadlock state, which consists of two algorithms: algorithm of detection of potential processes that may fall into the deadlock and algorithm of processes detection that falling into the state of deadlock. An evaluation of time complexity of proposed method is conducted. Unlike the known methods and algorithms, proposed method use fuzzy logic components to detect two or more processes that fall into the state of deadlock, and thus do not make the algorithm cumbersome, which allows it to be used in modern operating systems.</p>
The paper presents the results of research of various standards, rules and methods of writing software code and analysis of their impact on software quality and the likelihood of technical risks associated with information processes within the system. Most of the risks that arise while developing software products are due to errors in building the system architecture or writing code. As a solution for such problems, it is proposed to apply the developed set of rules and methods to build the system architecture and assess the quality of writing software objects. Metrics have been developed to estimate the size and complexity of the module by combining elements of Halsted and Chepin metrics. Also, a set of principles for optimizing the structure of the system, also known as SOLID principles, was presented. The application of these principles for system construction and analysis was substantiated in order to minimize risks, ensure the quality of the software system and provide opportunities for easy extensibility of the project. Using these methods will optimize the project both for use and for further development. The need for such optimization processes in terms of risk management is that the clearer the system and the easier it is to expand, the less likely it is that errors will occur in the future when adding new functionality.
This article describes two types of paradigms – object-oriented and functional paradigms. Paradigm stands for a style and an approach to perform any kind of coding activities. Relevance of usage for each of them as well as their differences and benefits were analyzed. Regardless of ever-changing tendencies in popularity of both paradigms it is impossible to acknowledge any of them to deprecate another one. Although object-oriented programming as well as functional programming are essential in their approaches they have the same goal – to make comprehensive programs without possible mistakes. OOP follows imperative programming model which is based on a set of primitives the given language provides. Functional paradigm is intertwined with declarative style which imply what is to be done, but not how to do it. We may come to conclusion that the consensus is that object oriented paradigm and functional paradigm can be effective in a peculiar situation. Therefore, developers are to choose and pick the programming paradigm for a given task to make a process as simple and productive as it can be. Object-oriented programming languages are a good choice when you have a fixed set of operations on things and you add new things for your code to evolve. You can achieve it by adding new classes that implement existing methods while existing classes remain the same. Functional languages may be a better choice if you have a fixed set of things and you add new operations on existing things for your code to evolve. You can achieve it by adding new functions which are to be computed with existing data types while existing functions remain the same. Object-oriented programming as well as functional programming has its place in modern approaches to software development. Meanwhile the functional programming is being reconsidered and used much more often due to Big Data Technologies while object-oriented programming remains popular to perform representation of real-life objects in the code.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.