## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|CSE522

statistics-lab™ 为您的留学生涯保驾护航 在代写面向对象的系统设计Object-Oriented Systems Design方面已经树立了自己的口碑, 保证靠谱, 高质且原创的统计Statistics代写服务。我们的专家在代写面向对象的系统设计Object-Oriented Systems Design方面经验极为丰富，各种代写面向对象的系统设计Object-Oriented Systems Design相关的作业也就用不着说。

• Statistical Inference 统计推断
• Statistical Computing 统计计算
• (Generalized) Linear Models 广义线性模型
• Statistical Machine Learning 统计机器学习
• Longitudinal Data Analysis 纵向数据分析
• Foundations of Data Science 数据科学基础

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|Meaningful Thresholds

Statistics-based thresholds are useful for most metrics, but for some others they are implicitly given by observations. In that sense they are also based on statistics, but their values have become part of our culture. Therefore we do not need to statistically measure them, but we can infer them from common knowledge.

Example. If we think about the maximum nesting level of statements in a method it is clear that 0 denotes a method without any conditional statements and 1,2 or 3 would mean that there is some nesting but it is quite shallow; but if the maximum nesting level gets higher than that we know that the method has a deep nesting level and following the control flow is harder.

We identified two cases of thresholds based on meanings that are generally accepted and easy to understand: (1) commonly-used fraction thresholds and (2) thresholds with generally-accepted meaning.
Common Fraction Thresholds
Quiz. Which of the following (fractional) numbers can you mentally associate with a semantic: 0.07; 0.39; 0.75; 0.33; 0.72?

We guess you picked $0.75$ because it means three quarters; and you also picked $0.33$ because it is one third. We guess that while looking at $0.72$ you thought: “it is close to three quarters”. Normalized metrics thus have thresholds which seem natural to us. We summarized them in Table $2.3 .$

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|Visualizing Metrics and Design

Characterizing, evaluating and improving the design of large-scale system is a highly complex enterprise, and while metrics are a highly needed means for this purpose, they must be used in conjunction with further techniques to handle this level of complexity. In our opinion the most adequate means to complement metrics is visualization, as it has long been adopted as a means to break down the complexity of information.

The goal of visualization in general is to visualize any kind of data. Applications in visualization are so frequent and common, that most people do not notice them: examples include meteorology (weather maps), geography (street maps), geology, medicine (computer-aided displays to show the inner of the human body), transportation (train tables and metro maps), etc..

It is easy to assess that the cylinder on the right has the largest diameter, the one in the middle has the greatest height, while the one on the left has the smallest diameter. Why is that? Human perception allows us to perform such non-trivial analysis as an in-grained mechanism, despite the fact that we had no numbers to hand. However, when provided with a table containing metric information (height, diameter, weight) for the cylinders we have no problem assigning those numbers. Do we? There is a problem with the weight metric which confuses us. Why? It does not respect the so-called representation condition.

In measurement theory, the procedure of rendering metrics on visual characteristics of representations is called measurement mapping, and must fulfill the representation condition, which asserts that “a measurement mapping $M$ must map entities into numbers and empirical relations into numerical relations in such a way that the empirical relations preserve and are preserved by the numerical relations” [FP96]. In other words, if a number $a$ is greater than a number $b$, the graphical representations of $a$ and $b$ must preserve this fact.
The reader must be aware that visualization does not provide a means to visualize every metric. The provided weight metrics above actually confuse us because we would think that the smallest cylinder would also be the lightest. In that sense, at least regarding the weight, the above visualization does not completely respect the representation condition.

## 广义线性模型代考

statistics-lab作为专业的留学生服务机构，多年来已为美国、英国、加拿大、澳洲等留学热门地的学生提供专业的学术服务，包括但不限于Essay代写，Assignment代写，Dissertation代写，Report代写，小组作业代写，Proposal代写，Paper代写，Presentation代写，计算机作业代写，论文修改和润色，网课代做，exam代考等等。写作范围涵盖高中，本科，研究生等海外留学全阶段，辐射金融，经济学，会计学，审计学，管理学等全球99%专业科目。写作团队既有专业英语母语作者，也有海外名校硕博留学生，每位写作老师都拥有过硬的语言能力，专业的学科背景和学术写作经验。我们承诺100%原创，100%专业，100%准时，100%满意。

## MATLAB代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中，其中问题和解决方案以熟悉的数学符号表示。典型用途包括：数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发，包括图形用户界面构建MATLAB 是一个交互式系统，其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题，尤其是那些具有矩阵和向量公式的问题，而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问，这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展，得到了许多用户的投入。在大学环境中，它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域，MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要，工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数（M 文件）的综合集合，可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|COMP3832

statistics-lab™ 为您的留学生涯保驾护航 在代写面向对象的系统设计Object-Oriented Systems Design方面已经树立了自己的口碑, 保证靠谱, 高质且原创的统计Statistics代写服务。我们的专家在代写面向对象的系统设计Object-Oriented Systems Design方面经验极为丰富，各种代写面向对象的系统设计Object-Oriented Systems Design相关的作业也就用不着说。

• Statistical Inference 统计推断
• Statistical Computing 统计计算
• (Generalized) Linear Models 广义线性模型
• Statistical Machine Learning 统计机器学习
• Longitudinal Data Analysis 纵向数据分析
• Foundations of Data Science 数据科学基础

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|Metrics and Thresholds

With any metric we use we must know what is too high or too low, too much or too little. In other words, we need some reference points, some means to link a particular metric value to useful semantics. Therefore we discuss next how to identify threshold values so that metric values can be properly interpreted.
$\Lambda$ crucial factor in working with metrics is to be able to interpret values correctly; and for this purpose we need to set thresholds for most of the metrics that we use. A threshold divides the space of a metric value into regions; depending on the region a metric value is in, we can make an informed assessment about the measured entity.
For example, if we measure the height of people and we define 2 meters as being the threshold to very tall people, then all measured people whose height is above that threshold can be qualified as being very tall. This simple example has a few implications: how did we come up with a threshold of 2 meters in the first place? Why not $1.95 \mathrm{~m}$ ? Why not six feet? And, is a person of $2.02$ meters not small compared to a person of $2.5$ meters? Would such a threshold still be meaningful in a population where the tallest person is $1.8$ meters?
The point is that there is no such thing as a perfect threshold. However, we can still define explicable thresholds, i.e., values that can be chosen based on reasonable arguments. They are not perfect, but they are useful in practice, and this makes them good enough for our purposes, i.e., assess software artifacts. How do we find them? In our practical experience in working with metrics, we identified two major sources for threshold values:

1. Statistical information, i.e., thresholds based on statistical measurements. They are especially useful for size metrics, where only statistics can tell what usual or unusual values are. For example, if we measure (count) the number of hairs on the head of a person (say 10,000 ) and we want to assess if the result is low, average or high, we need one or more reference points, i.e., thresholds which split the space of numbers into meaningful intervals. There is no other way of finding out than using statistical data, which in this case would tell us that the average number of hairs (measured over a statistically relevant population) is between 80,000 and 120.000. These two statistically-determined values help us determine if a person has an excessive pilosity or if it tends to become bald.
1. Generally accepted semantics, i.e., thresholds that are based on information which is considered common, widely accepted knowledge. Usually this knowledge is also a result of former statistical observations, but the information is so widely accepted that it implicitly provides the necessary reference points needed to classify measurement results. For example, if we were to measure the number of meals a person consumes per day, then we would use a value of 3 as a “normality” threshold, as usually people eat three times a day.

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|Statistics-Based Thresholds

What is the average number of operations (methods) per class? Beyond which number of code lines is a method too large? It is difficult to give a correct answer. On the one hand, the answer depends on many factors (i.e., how exactly do I count? what programming language was used? etc.). On the other hand, even after having specified all the measurement conditions we still need statistical data that provide us with proper orientation points (i.e., what is too much? what is too little?).

We come up with statistics-based thresholds by measuring a large

1. Average Number of Methods (NOM) per class
2. Average Lines of Code (LOC) per method (operation)
3. Average Cyclomatic Number (CYCLO) per line of code (i.e., density of branching points)

These three metrics have three important characteristics, which makes the gathering of statistical data for them meaningful:

1. they are elementary metrics that address the key issues of a project’s size and complexity;
2. they are independent of each other;
3. they are independent of the size of a project.

We collected these metrics from a statistical base of 45 Java projects and $37 \mathrm{C}++$ projects. The projects had been chosen with diversity in mind. They have various sizes (from 20,000 up to 2,000,000 lines), they come from various application domains, and we included both open-source and industrial (commercial software) systems.

Having this amount of data, we employed simple statistical techniques in order to determine for each of these metrics:

• the Typical values, i.e., the range of values that includes the data from most projects.
• the Lower and respectively the Higher margins of this interval.
• the Extreme high values, i.e., a value beyond which a value can be considered an outlier.

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|Metrics and Thresholds

1. 统计信息，即基于统计测量的阈值。它们对于尺寸指标特别有用，因为只有统计数据才能知道什么是通常或不寻常的值。例如，如果我们测量（计数）一个人头上的头发数量（比如 10,000 根）并且我们想要评估结果是低、平均还是高，我们需要一个或多个参考点，即阈值将数字空间分成有意义的间隔。除了使用统计数据之外，没有其他方法可以找出答案，在这种情况下，统计数据会告诉我们头发的平均数量（在统计相关人群中测量）在 80,000 到 120,000 之间。这两个统计确定的值有助于我们确定一个人是否有过多的毛发或是否倾向于秃顶。
2. 普遍接受的语义，即基于被认为是普遍的、被广泛接受的知识的信息的阈值。通常，这种知识也是以前统计观察的结果，但该信息被广泛接受，以至于它隐含地提供了对测量结果进行分类所需的必要参考点。例如，如果我们要测量一个人每天食用的膳食数量，那么我们将使用 3 作为“正常”阈值，因为通常人们一天吃 3 次。

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|Statistics-Based Thresholds

1. 每类平均方法数 (NOM)
2. 每个方法（操作）的平均代码行数 (LOC)
3. 每行代码的平均圈数 (CYCLO)（即，分支点的密度）

1. 它们是解决项目规模和复杂性等关键问题的基本指标；
2. 它们相互独立；
3. 它们与项目的大小无关。

• 典型值，即包含来自大多数项目的数据的值范围。
• 此区间的较低和分别较高的边距。
• 极高值，即超出该值可被视为异常值的值。

## 广义线性模型代考

statistics-lab作为专业的留学生服务机构，多年来已为美国、英国、加拿大、澳洲等留学热门地的学生提供专业的学术服务，包括但不限于Essay代写，Assignment代写，Dissertation代写，Report代写，小组作业代写，Proposal代写，Paper代写，Presentation代写，计算机作业代写，论文修改和润色，网课代做，exam代考等等。写作范围涵盖高中，本科，研究生等海外留学全阶段，辐射金融，经济学，会计学，审计学，管理学等全球99%专业科目。写作团队既有专业英语母语作者，也有海外名校硕博留学生，每位写作老师都拥有过硬的语言能力，专业的学科背景和学术写作经验。我们承诺100%原创，100%专业，100%准时，100%满意。

## MATLAB代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中，其中问题和解决方案以熟悉的数学符号表示。典型用途包括：数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发，包括图形用户界面构建MATLAB 是一个交互式系统，其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题，尤其是那些具有矩阵和向量公式的问题，而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问，这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展，得到了许多用户的投入。在大学环境中，它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域，MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要，工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数（M 文件）的综合集合，可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|MPCS51410

statistics-lab™ 为您的留学生涯保驾护航 在代写面向对象的系统设计Object-Oriented Systems Design方面已经树立了自己的口碑, 保证靠谱, 高质且原创的统计Statistics代写服务。我们的专家在代写面向对象的系统设计Object-Oriented Systems Design方面经验极为丰富，各种代写面向对象的系统设计Object-Oriented Systems Design相关的作业也就用不着说。

• Statistical Inference 统计推断
• Statistical Computing 统计计算
• (Generalized) Linear Models 广义线性模型
• Statistical Machine Learning 统计机器学习
• Longitudinal Data Analysis 纵向数据分析
• Foundations of Data Science 数据科学基础

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|The Book in a Nutshell

The approaches presented in this book are useful in dealing with the problems of existing legacy systems or when you need to ameliorate the design of a part of an existing system.

In Fig. $1.1$ we see a depiction of our approach. It starts with a system whose design must first be characterized and then evaluated. This information is necessary to perform refactorings on the system to ameliorate its design.

Chapter 2, Facts on Measurements and Visualization, presents a practical view on metrics and the usual pitfalls of their use and how we circumvent them in this book. This chapter puts down the basic principles and vocabulary that is used throughout this book and also introduces the domain of visualization.

Chapter 3, Characterizing the Design, presents two metrics-based techniques, the Overview Pyramid and Polymetric Views, to get an overview of the design of a large software system. The Overview Pyramid assembles in one place the most significant measurements about an object-oriented system, so that an engineer can see and interpret in one shot everything that is needed to get a first impression about the system. It provides an overview of the application in terms of its complexity, coupling and inheritance. Polymetric Views are metricsenriched visualizations of software entities and their relationships. Their main benefit is that they can visually render numbers in a simple, yet effective and highly condensed way that is directly interpretable by the viewer.

Chapter 4, Evaluating the Design , presents two further techniques, i.e., the Detection Strategy and the Class Blueprint to provide more fine-grained understanding and assessment of the design of an application. Detection strategies are queries, expressed as a combination of metrics, identifying design elements in the source code satisfying the properties encoded by the query. They provide us with a means to detect flawed (from a design point of view) entities. A Class Blueprint is a semantically enriched and layered visualization of the control-flow and access structure of classes. It provides us with a powerful means to inspect the suspects detected by the Detection Strategy.

## 电子工程代写|面向对象的系统设计代写Object-Oriented Systems Design代考|Facts on Measurements and Visualization

In this chapter we briefly introduce you to the good, the bad and the ugly of software metrics. In this context, we also take a short look on why and how visualization can be used in conjunction with metrics to counter-balance several drawbacks of using metrics. By doing this we aim to set a basis for our approach of employing metrics to characterize, evaluate and improve the design of software systems.
What is a metric? It is the mapping of a particular characteristic of a measured entity to a numerical value. An entity can be anything, including yourself; the characteristic can be anything, e.g., your height. The metric height in your case, for example, would be $180 \mathrm{~cm}$. The metric could also have been $1.8 \mathrm{~m}$. This seemingly trivial issue actually unravels a space where decisions have to be taken: what is the unit we are using? Is it important? Yes, otherwise you could end up being a giant of 180 meters! Moreover, why do we care at all about your height? Maybe we just wanted to measure your weight – and this leads us to the next issue: we can measure almost everything, but if we do not have a clear goal in mind of what we are actually trying to achieve with these measurements we are wasting our time. Since this is a book about object-oriented construction and design, we are quantifying and qualifying those aspects.

Why is it useful to measure? Engineering artifacts are made according to precise guidelines, i.e., the size, weight, material, etc. of screws, construction elements, etc. must be defined upfront and be respected by those actually creating the artifacts. Metrics in this case are a way to control quality. Losing control in such a case may have implications on security and potentially endanger people. In software engineering it is important and useful to measure systems, otherwise we risk losing control because of their complexity. Losing control in such a case could make us ignore the fact that certain parts of the system grow abnormally or have a bad quality, e.g., cryptic and uncommented code, badly structured code, etc..

## 广义线性模型代考

statistics-lab作为专业的留学生服务机构，多年来已为美国、英国、加拿大、澳洲等留学热门地的学生提供专业的学术服务，包括但不限于Essay代写，Assignment代写，Dissertation代写，Report代写，小组作业代写，Proposal代写，Paper代写，Presentation代写，计算机作业代写，论文修改和润色，网课代做，exam代考等等。写作范围涵盖高中，本科，研究生等海外留学全阶段，辐射金融，经济学，会计学，审计学，管理学等全球99%专业科目。写作团队既有专业英语母语作者，也有海外名校硕博留学生，每位写作老师都拥有过硬的语言能力，专业的学科背景和学术写作经验。我们承诺100%原创，100%专业，100%准时，100%满意。

## MATLAB代写

MATLAB 是一种用于技术计算的高性能语言。它将计算、可视化和编程集成在一个易于使用的环境中，其中问题和解决方案以熟悉的数学符号表示。典型用途包括：数学和计算算法开发建模、仿真和原型制作数据分析、探索和可视化科学和工程图形应用程序开发，包括图形用户界面构建MATLAB 是一个交互式系统，其基本数据元素是一个不需要维度的数组。这使您可以解决许多技术计算问题，尤其是那些具有矩阵和向量公式的问题，而只需用 C 或 Fortran 等标量非交互式语言编写程序所需的时间的一小部分。MATLAB 名称代表矩阵实验室。MATLAB 最初的编写目的是提供对由 LINPACK 和 EISPACK 项目开发的矩阵软件的轻松访问，这两个项目共同代表了矩阵计算软件的最新技术。MATLAB 经过多年的发展，得到了许多用户的投入。在大学环境中，它是数学、工程和科学入门和高级课程的标准教学工具。在工业领域，MATLAB 是高效研究、开发和分析的首选工具。MATLAB 具有一系列称为工具箱的特定于应用程序的解决方案。对于大多数 MATLAB 用户来说非常重要，工具箱允许您学习应用专业技术。工具箱是 MATLAB 函数（M 文件）的综合集合，可扩展 MATLAB 环境以解决特定类别的问题。可用工具箱的领域包括信号处理、控制系统、神经网络、模糊逻辑、小波、仿真等。