Formulation of the Problem Main objectives of systems engineering: a brief reminder. One of the main objectives of systems engineering is to design, maintain, and analyze systems that help the users. To design an appropriate system for an application domain, we need to know: • what are the users' desires and preferences, so that we know in what direction we should aim to change this domain, and • what is the current state and what is the dynamics of this application domain, and • how to use all this information to select the best alternatives for the system design and maintenance. Need for analytical techniques. Designing a system includes selecting numerical values for many of the parameters describing the corresponding system and its subsystems. At present, in many cases, this selection is made by consulting experts and/or by following semi-heuristic recommendations (recommendations based partly on the past experience of system design and monitoring). Experience shows that such heuristic imprecise recommendations often lead to less-than-perfect results. It is therefore desirable to come up with analytical techniques for system design, techniques that would be based on valid numerical analysis and on the solution of the corresponding optimization problems. What we do in this dissertation: general idea. System engineering is a very broad discipline, with many different application domains. Each domain has its own specifics and requires its own analysis and, probably, it own analytical techniques. 1 What we do in this dissertation is we formulate and analyze general problems corresponding to different stages of system design, implementation, testing, and monitoring, and show, on appropriate examples, how the corresponding analytical techniques can be applied to different application domains. What we do in this dissertation: a detailed description. We start with analytical techniques for describing the users' preferences. In the ideal world, we should be able to ask each user's opinion about each of the alternatives, but for large systems, with many possible alternatives, this is not realistic. Therefore, we need to extrapolate the user's preferences based on partial information that we can elicit from the user. There are analytical techniques for such extrapolation-e.g., the widely used matrix factorization technique. However, this technique is purely empirical-and thus, not very reliable. In Chapter 2, we provide a theoretical explanation for this techniques-and the existence of such an explanation makes it more reliable. In analyzing user preferences, we need to take into account that these preferences are usually not very detailed-and thus, because of their approximate nature, we should not waste time trying to fit them optimally. This approximate nature is usually captured by the empirical 7 plus minus 2 law, according to which, in the first approximation, instead of sorting all the alternatives, a user usually divides them into 7 plus minus 2 groups. This law is purely empirical-and thus, its use is not as re...