diff --git a/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/controller/StatisticsDesignSmellsController.java b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/controller/StatisticsDesignSmellsController.java
index 47cb2fba89394ff2dca2f9734fc57e3add4994ff..3b1a587d31091681c8e8736bdfd0fbf3d9f8a5e9 100644
--- a/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/controller/StatisticsDesignSmellsController.java
+++ b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/controller/StatisticsDesignSmellsController.java
@@ -42,6 +42,9 @@ public class StatisticsDesignSmellsController extends SelectorComposer<Component
 		case "validation_statistics":
 			locationUri = "/pages/user/StatisticsValidation.zul";
 			break;
+		case "qFactors_statistics":
+			locationUri = "/pages/user/StatisticsQualityFactor.zul";
+			break;
 		default:
 			alert("Pendiente de implementar la funcionalidad del menu " + menuItemLabel);
 			break;
diff --git a/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/controller/StatisticsQualityFactorController.java b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/controller/StatisticsQualityFactorController.java
new file mode 100644
index 0000000000000000000000000000000000000000..d83c42cc404fef92a84f63fb25758a8022e9db6b
--- /dev/null
+++ b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/controller/StatisticsQualityFactorController.java
@@ -0,0 +1,130 @@
+package es.uva.inf.tfg.ginquin.smellswisdom.controller;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.carewebframework.ui.highcharts.Axis;
+import org.carewebframework.ui.highcharts.Chart;
+import org.carewebframework.ui.highcharts.DataPoint;
+import org.carewebframework.ui.highcharts.Series;
+import org.zkoss.util.resource.Labels;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.select.SelectorComposer;
+import org.zkoss.zk.ui.select.annotation.VariableResolver;
+import org.zkoss.zk.ui.select.annotation.Wire;
+import org.zkoss.zk.ui.select.annotation.WireVariable;
+import org.zkoss.zkplus.spring.DelegatingVariableResolver;
+
+import es.uva.inf.tfg.ginquin.smellswisdom.services.QualityFactorService;
+
+@VariableResolver(DelegatingVariableResolver.class)
+public class StatisticsQualityFactorController extends SelectorComposer<Component> {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	
+	@Wire
+	Chart chart1;
+	@Wire
+	Chart chart2;
+	
+	@WireVariable
+	QualityFactorService qFactorService;
+	
+	@Override
+	public void doAfterCompose(Component comp) throws Exception {
+		super.doAfterCompose(comp);
+		
+		String title="";
+		Map<String, Integer> datos=null;
+		
+		//gráfico circular
+		datos = qFactorService.getStatiticsQualityFactor();
+		title= Labels.getLabel("statisticsQFactor.title1");
+		createPieChart(title,chart1, datos);
+		
+		//gráfico de barras
+		datos = qFactorService.getStatiticsQualityFactorImpact();
+		title= Labels.getLabel("statisticsQFactor.title2");
+		createBarChart(title,chart2, datos);
+		
+	}
+	
+	/**
+	 * Permite crear un gráfico circular.
+	 * @param title titulo del gráfico
+	 * @param compChart componente gráfico donde pintarlo.
+	 * @param datos datos con los que realizar el gráfico.
+	 */
+	private void createPieChart(String title,Chart compChart, Map<String, Integer> datos) {
+		
+		compChart.setType("pie");
+		compChart.setTitle(title);
+		compChart.options.plotOptions.allowPointSelect=true;
+		compChart.options.plotOptions.cursor="pointer";
+		compChart.options.plotOptions.showInLegend=true;
+
+		compChart.options.plotOptions.dataLabels.
+				formatter="{return this.point.name+': '+Highcharts.numberFormat(this.percentage, 2)+'%'}";
+		
+		//dividimos el mapa de datos.
+		List<String> keys = new ArrayList<String>();
+		List<Integer> data = new ArrayList<Integer>();
+		for (Map.Entry<String, Integer> entry : datos.entrySet()) {
+			keys.add(entry.getKey());
+			data.add(entry.getValue());
+		}
+		//series para el gráfico
+		Series series = compChart.addSeries();
+		series.name = Labels.getLabel("graphic.total");
+		
+		for (int j = 0; j < data.size(); j++) {
+			DataPoint dataPoint = series.addDataPoint(data.get(j).doubleValue());
+			dataPoint.name=keys.get(j);
+		}
+
+		compChart.run();
+	}
+	
+	/**
+	 * Permite crear un gráfico de barras.
+	 * @param title titulo del gráfico
+	 * @param compChart componente gráfico donde pintarlo.
+	 * @param datos datos con los que realizar el gráfico.
+	 */
+	private void createBarChart(String title,Chart compChart, Map<String, Integer> datos) {
+		
+		compChart.setTitle(title);
+		
+		//dividimos el mapa de datos.
+		List<String> keys = new ArrayList<String>();
+		List<Integer> data = new ArrayList<Integer>();
+		
+		for (Map.Entry<String, Integer> entry : datos.entrySet()) {
+			keys.add(entry.getKey());
+			data.add(entry.getValue());
+		}
+		
+		// Creamos las x axis
+		Axis xAxis = compChart.getXAxis();
+		xAxis.categories.addAll(keys);
+		
+		//primer yAxis
+		Axis yAxis = compChart.getYAxis();
+		yAxis.title.text = Labels.getLabel("graphic.qFactorFrequency");
+		
+		//serie para el primer yAxis
+		Series series = compChart.addSeries("column");
+		series.name = Labels.getLabel("graphic.frequency");
+
+		for (int j = 0; j < data.size(); j++) {
+			series.addDataPoint(j, data.get(j).doubleValue());
+		}
+
+		compChart.run();
+	}
+
+}
diff --git a/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/QualityFactorService.java b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/QualityFactorService.java
new file mode 100644
index 0000000000000000000000000000000000000000..adbfbbac4be225c9e45a81f559cb69ac43f321db
--- /dev/null
+++ b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/QualityFactorService.java
@@ -0,0 +1,19 @@
+package es.uva.inf.tfg.ginquin.smellswisdom.services;
+
+import java.util.Map;
+
+public interface QualityFactorService {
+	
+	/**
+	 * Permite obtener la distribución de los quality factor mencionados en los design smells.
+	 * @return datos de los quality factor mencionados en los design smells.
+	 */
+	Map<String,Integer> getStatiticsQualityFactor();
+	
+	/**
+	 * Permite obtener la distribución de los quality factor sobre los impactos de los design smells.
+	 * @return datos de los quality factor sobre los impactos de los design smells
+	 */
+	Map<String,Integer> getStatiticsQualityFactorImpact();
+
+}
diff --git a/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/impl/QualityFactorDao.java b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/impl/QualityFactorDao.java
new file mode 100644
index 0000000000000000000000000000000000000000..48216ff84338013d90327ca08f63a2bb87dbefcb
--- /dev/null
+++ b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/impl/QualityFactorDao.java
@@ -0,0 +1,64 @@
+package es.uva.inf.tfg.ginquin.smellswisdom.services.impl;
+
+import java.math.BigInteger;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class QualityFactorDao {
+	
+	@PersistenceContext
+	private EntityManager em;
+	
+	
+	@SuppressWarnings("unchecked")
+	public Map<String, Integer> getStatiticsQualityFactor() {
+		Query query = em.createNativeQuery(
+				"SELECT qf.qualitymodel,count(*) " 
+				+ "FROM qfactorsmell qfs,qualityfactor qf "
+				+ "WHERE qfs.qualityfactor_id=qf.qualityfactor_id "
+				+ "GROUP BY qf.qualitymodel");
+		List<Object[]> datos = query.getResultList();
+
+		Map<String, Integer> map = new TreeMap<>();
+
+		for (Object[] dato : datos) {
+			map.put((String) dato[0], ((BigInteger) dato[1]).intValue());
+		}
+
+		return map;
+	}
+	
+	@SuppressWarnings("unchecked")
+	public Map<String,Integer> getStatiticsQualityFactorImpact(){
+		Query query = em.createNativeQuery(
+				"SELECT qf.name,count(*) " 
+				+ "FROM qfactorsmell qfs,qualityfactor qf "
+				+ "WHERE qfs.qualityfactor_id=qf.qualityfactor_id "
+				+ "GROUP BY qf.name");
+		List<Object[]> datos = query.getResultList();
+		
+		Map<String,Integer> unSortedMap = new TreeMap<>();
+		
+		for (Object[] dato : datos) {
+			unSortedMap.put((String)dato[0], ((BigInteger)dato[1]).intValue());
+		}
+
+        LinkedHashMap<String, Integer> sortedMap = new LinkedHashMap<>();
+
+        unSortedMap.entrySet().stream().sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
+        .forEachOrdered(x -> sortedMap.put(x.getKey(), x.getValue()));
+		
+		return sortedMap;
+	}
+
+}
diff --git a/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/impl/QualityFactorServiceImpl.java b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/impl/QualityFactorServiceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..f567ea9b95b30a822dbc9eab666d4fa882f57115
--- /dev/null
+++ b/src/main/java/es/uva/inf/tfg/ginquin/smellswisdom/services/impl/QualityFactorServiceImpl.java
@@ -0,0 +1,29 @@
+package es.uva.inf.tfg.ginquin.smellswisdom.services.impl;
+
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.context.annotation.ScopedProxyMode;
+import org.springframework.stereotype.Service;
+
+import es.uva.inf.tfg.ginquin.smellswisdom.services.QualityFactorService;
+
+@Service("qFactorService")
+@Scope(value="singleton",proxyMode=ScopedProxyMode.TARGET_CLASS)
+public class QualityFactorServiceImpl implements QualityFactorService {
+	
+	@Autowired
+	QualityFactorDao dao;
+
+	@Override
+	public Map<String, Integer> getStatiticsQualityFactor() {
+		return dao.getStatiticsQualityFactor();
+	}
+
+	@Override
+	public Map<String, Integer> getStatiticsQualityFactorImpact() {
+		return dao.getStatiticsQualityFactorImpact();
+	}
+
+}
diff --git a/src/main/webapp/WEB-INF/zk-label.properties b/src/main/webapp/WEB-INF/zk-label.properties
index e6033ed99608209f420ae3f9fb3c483e6d235342..13f045a53d9910a819b007fb19f1883f86d537b9 100644
--- a/src/main/webapp/WEB-INF/zk-label.properties
+++ b/src/main/webapp/WEB-INF/zk-label.properties
@@ -177,6 +177,7 @@ statistics.menu.designSmell=Design smells
 statistics.menu.aprroach=Enfoques
 statistics.menu.tool=Herramientas
 statistics.menu.validation=Validación
+statistics.menu.qFactor=Factor de calidad
 
 #Labels para gráficos
 graphic.absoFrecuency=Frecuencia absoluta
@@ -195,6 +196,7 @@ graphic.toolFrequency=Frecuencia de la herramienta
 graphic.repreFrequency=Frecuencia de la respresentación
 graphic.projectFrequency=Frecuencia del proyecto
 graphic.measureFrequency=Frecuencia de la medida
+graphic.qFactorFrequency=Frecuencia del factor de calidad
 
 #StatiticsPublication.zul
 statisticsPubli.title0=Distribución de artículos relevantes a lo largo del período de tiempo por tipo de publicación..
@@ -225,4 +227,8 @@ statisticsTools.title3=Distribución de la representación interna del software
 statisticsValidation.title1=Distribución de la evidencia de validación sobre los artículos seleccionados.
 statisticsValidation.title2=Distribución de lenguajes de implementación sobre el número de proyectos.
 statisticsValidation.title3=Proyectos más utilizados en validación de herramientas/estrategias.
-statisticsValidation.title4=Distribución de indicadores de rendimiento o mediciones de calidad utilizadas como evidencia sobre los artículos selecionados.
\ No newline at end of file
+statisticsValidation.title4=Distribución de indicadores de rendimiento o mediciones de calidad utilizadas como evidencia sobre los artículos selecionados.
+
+#StatisticsQualityFactor.zul
+statisticsQFactor.title1=Distribución de los factores de calidad mencionados con respecto a los Design smells en los artículos relevantes agrupados por modelos de calidad.
+statisticsQFactor.title2=Factores de calidad más mencionados como afectados por el número de Design Smells que analizan su impacto en ellos.
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/zk-label_en.properties b/src/main/webapp/WEB-INF/zk-label_en.properties
index 3b5f23afe2dde4c8db4670b4a69e07b870efc2d8..68b38a266c5b06c19d30d482794155220374ac0d 100644
--- a/src/main/webapp/WEB-INF/zk-label_en.properties
+++ b/src/main/webapp/WEB-INF/zk-label_en.properties
@@ -177,6 +177,7 @@ statistics.menu.designSmell=Design smells
 statistics.menu.aprroach=Approaches
 statistics.menu.tool=Tools
 statistics.menu.validation=Validation
+statistics.menu.qFactor=Quality factor
 
 #Labels para gráficos
 graphic.absoFrecuency=Absolute frequency
@@ -195,6 +196,7 @@ graphic.toolFrequency=Tool frequency
 graphic.repreFrequency=Representation frequency
 graphic.projectFrequency=Project frequency
 graphic.measureFrequency=Measure frequency
+graphic.qFactorFrequency=Quality factor frequency
 
 #StatiticsPublication.zul
 statisticsPubli.title0=Distribution of relevant papers over time period per publication type.
@@ -225,4 +227,8 @@ statisticsTools.title3=Distribution of internal software representation over the
 statisticsValidation.title1=Distribution of validation evidence over the selected paper.
 statisticsValidation.title2=Distribution of implementation languages over the number of projects.
 statisticsValidation.title3=Most used projects in validation of tools/strategies.
-statisticsValidation.title4=Distribution of performance indicators or quality measurements used as evidence over the selected paper.
\ No newline at end of file
+statisticsValidation.title4=Distribution of performance indicators or quality measurements used as evidence over the selected paper.
+
+#StatisticsQualityFactor.zul
+statisticsQFactor.title1=Distribution of quality factors mentioned regarding the Design Smells in the relevant papers grouped by quality models.
+statisticsQFactor.title2=Quality factors most mentioned as affected by the number of Design Smells that analyze their impact on them.
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/zk-label_es.properties b/src/main/webapp/WEB-INF/zk-label_es.properties
index e6033ed99608209f420ae3f9fb3c483e6d235342..13f045a53d9910a819b007fb19f1883f86d537b9 100644
--- a/src/main/webapp/WEB-INF/zk-label_es.properties
+++ b/src/main/webapp/WEB-INF/zk-label_es.properties
@@ -177,6 +177,7 @@ statistics.menu.designSmell=Design smells
 statistics.menu.aprroach=Enfoques
 statistics.menu.tool=Herramientas
 statistics.menu.validation=Validación
+statistics.menu.qFactor=Factor de calidad
 
 #Labels para gráficos
 graphic.absoFrecuency=Frecuencia absoluta
@@ -195,6 +196,7 @@ graphic.toolFrequency=Frecuencia de la herramienta
 graphic.repreFrequency=Frecuencia de la respresentación
 graphic.projectFrequency=Frecuencia del proyecto
 graphic.measureFrequency=Frecuencia de la medida
+graphic.qFactorFrequency=Frecuencia del factor de calidad
 
 #StatiticsPublication.zul
 statisticsPubli.title0=Distribución de artículos relevantes a lo largo del período de tiempo por tipo de publicación..
@@ -225,4 +227,8 @@ statisticsTools.title3=Distribución de la representación interna del software
 statisticsValidation.title1=Distribución de la evidencia de validación sobre los artículos seleccionados.
 statisticsValidation.title2=Distribución de lenguajes de implementación sobre el número de proyectos.
 statisticsValidation.title3=Proyectos más utilizados en validación de herramientas/estrategias.
-statisticsValidation.title4=Distribución de indicadores de rendimiento o mediciones de calidad utilizadas como evidencia sobre los artículos selecionados.
\ No newline at end of file
+statisticsValidation.title4=Distribución de indicadores de rendimiento o mediciones de calidad utilizadas como evidencia sobre los artículos selecionados.
+
+#StatisticsQualityFactor.zul
+statisticsQFactor.title1=Distribución de los factores de calidad mencionados con respecto a los Design smells en los artículos relevantes agrupados por modelos de calidad.
+statisticsQFactor.title2=Factores de calidad más mencionados como afectados por el número de Design Smells que analizan su impacto en ellos.
\ No newline at end of file
diff --git a/src/main/webapp/pages/user/StatisticsDesignSmells.zul b/src/main/webapp/pages/user/StatisticsDesignSmells.zul
index 4bc3bcb6ab43ca81c5e53b8cf493029bdf7b07ce..3156064a1d5a3fad17d8f6d163c38a96b426d842 100644
--- a/src/main/webapp/pages/user/StatisticsDesignSmells.zul
+++ b/src/main/webapp/pages/user/StatisticsDesignSmells.zul
@@ -14,6 +14,8 @@
 							label="${labels.statistics.menu.tool}" />
 						<menuitem id="validation_statistics" 
 							label="${labels.statistics.menu.validation}" />
+						<menuitem id="qFactors_statistics" 
+							label="${labels.statistics.menu.qFactor}" />
 					</menubar>
 		</div>
 	</west>
diff --git a/src/main/webapp/pages/user/StatisticsQualityFactor.zul b/src/main/webapp/pages/user/StatisticsQualityFactor.zul
new file mode 100644
index 0000000000000000000000000000000000000000..2f3d961c42c64f94a287b11461bbd7ba4aa6f3b7
--- /dev/null
+++ b/src/main/webapp/pages/user/StatisticsQualityFactor.zul
@@ -0,0 +1,15 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<div hflex="1" vflex="1"
+	apply="es.uva.inf.tfg.ginquin.smellswisdom.controller.StatisticsQualityFactorController">
+	
+	<groupbox mold="3d" width="100%">
+		<caption label="${labels.statisticsQFactor.title1}"/>
+		<hchart id="chart1"/>
+	</groupbox>
+	
+	<groupbox mold="3d" width="100%">
+		<caption label="${labels.statisticsQFactor.title2}"/>
+		<hchart id="chart2"/>
+	</groupbox>
+
+</div>
\ No newline at end of file