Ingeniería del Software Avanzada

Slides:



Advertisements
Presentaciones similares
Lic. Juan Gabriel Bernal López
Advertisements

SISTEMAS DE INFORMACIÓN I
Red Social: “Un millón de Amigos”.
Métricas OO Aparecieron por la necesidad de poder cuantificar la calidad del software no tradicional. El software orientado a objetos posee características.
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
METRICAS DE PROCESO Y PROYECTO
Análisis Visual de la Modularidad de Modelos de Procesos de Software
Ciclo de desarrollo del software
ESCUELA POLITÉCNICA DEL EJÉRCITO
Índice 1. Introducción, objetivos y justificación del proyecto.
CreditScore: Plan de calidad
Ingeniería del Software
Webquest Diseño IU: Wix.com permite un control total del diseño de la web, pudiendo elegir en cualquier momento que punto modificar o que.
SISTEMAS DE DISEÑO ASISTIDO POR COMPUTADORA
Ingeniería del software de la usabilidad (I)
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Estudio de usabilidad Febrero INDEX 1.Introducción 1.Perfil de usuarios 2.Test de tareas 3.Cuestionaro final 4.BLA 2.Hallazgos 3.Conclusiones.
Aplicación para la documentación de la red de la UTEZ
Aplicación Web para Informes de Asignaturas de Trabajo en Grupo
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas ESPECIFICACIÓN Y MANEJO DE LOS REQUERIMIENTOS.
Presentado por: Ing. Manuel Rodríguez Coria. Software Freedom Day 26 de Septiembre de 2009Ing. Manuel Rodríguez Coria Quien Soy? Ing.
Eloísa Orozco Bueno Alvaro Padilla Vilema
Medición y Métricas del Software
FICHEROS DE IMAGEN FUENTES WEB: Gráficos GIF & JPEG, Ramón Montero, 1998 Formatos para la Wb, Luciano Moreno, 2005.
Proyecto de Ingeniería de Software Grupo 9 Septiembre 2009
Marco Conceptual para la Gestión de Conocimiento de entornos de colaboración: aplicación a la creación de un portal de revistas electrónicas EUITIO Daniel.
Metodología para solución de problemas
Conceptos de Gestión y Planificación de Proyectos Software
Métricas Técnicas para Sistemas Orientados a Objeto
Modelos Empíricos de Estimación
Análisis y diseño detallado de aplicaciones informáticas de gestión
Pruebas de Software WebExamen GRUPO 5 Juan Marcelo Ferreira Aranda Silvano Christian Gómez
FRAMEWORK VS Código fuente
COMPUTO III Ing. Jimmy Ojeda Arnica.
Metodología de la programación
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Pruebas de Software WebExamen
Introducción a UML Departamento de Informática Universidad de Rancagua
Facultad de Ingeniería y Tecnologías Memoria de Grado Geolocalización de documentos en el marco GIS.
Estimación por casos de uso.  Un caso de uso representa una unidad de interacción entre uno y el sistema. Un Caso de Uso es una unidad simple de trabajo.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Métricas De Software OO
problemas de la calidad del software
se desconoce la cantidad de documentos y de papel generado en la empresa la falta de herramientas para optimizar el parque de máquinas la falta de herramientas.
@josedlujan. Director de Desarrollo M.T.I. José Dimas Luján Castillo
FUNDAMENTOS DE PROGRAMACION
1. Sistema Integral de Comunicación, Control y Seguimiento de la Vigilancia Epidemiológica Fitosanitaria.
Aclaraciones al modelo MVC del Framework de Justicia
1. Sistema Integral de Comunicación, Control y Seguimiento de la Vigilancia Epidemiológica Fitosanitaria.
La usabilidad puede formar parte de una definición de facilitación y rapidez que obtiene el usuario al realizar ciertas cosas. -La usabilidad tiene como.
LOGO Grupo de desarrollo de software (GDS) Grupo de desarrollo de software.
1 Ingeniería del Software La última lección  Resumen del curso  Buenas prácticas  Malas prácticas  Conclusión.
La Rematada Sitio de remates “El Porton”. Introducción El objetivo es desarrollar un sitio web de remates de productos para promocionar la compra de yerba.
Diagrama de Clases.
INGENIERIA DE REQUERIMIENTOS. Equipo Meza Mora Emanuel Jonatan Vargas Montoya Geovanni Piña Carrera Miguel.
UNIVERSIDAD LATINA (UNILA)
Errores de Servidor Primer nivel – Piramide SEO. Error 404 y 503 Hay dos tipos de errores comunes que podemos encontrarnos navegando por un sitio web,
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Ingeniería del Software Avanzada. Índice Requisitos de Usabilidad Requisitos de Accesibilidad Requisitos de Rendimiento Métricas Resumen Requisitos Conclusiones.
Febrero 2016 FRAMEWORKS DE DESARROLLO/LENGUAJES DE PROGRAMACIÓN AREA DE ARQUITECTURAS Dirección de Ingeniería, Soporte a Gestión de Aplicaciones y Centros.
Es una metodología ágil diseñada para el desarrollo de software, basada en la calidad y el monitoreo constante del proyecto. Consiste esencialmente en.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
TÉCNICAS DE PRUEBA DEL SOFTWARE
Introducción a programación web Martin Esses. Formularios HTML se utilizan para pasar datos a un servidor. Un formulario HTML puede contener elementos.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Ingeniería del Software 2013/2014.  Integrantes del proyecto  Ámbito del proyecto  Arquitectura adoptada  Principal trabajo realizado en el proyecto.
Transcripción de la presentación:

Ingeniería del Software Avanzada

Métricas

JAVANCSS (I) Con esta herramienta, vamos a obtener tres archivos con: Clases Métodos Paquetes

JAVANCSS (II)

JAVANCSS (III) En la imagen se puede ver que el proyecto es pequeño si hablamos de código y no tenemos muchas funciones. Nos muestra 4 paquetes, de los cuales el que tiene más clases es “model”, generado automáticamente por Hibernate. Por todo esto, cabe destacar que nuestro proyecto es de complejidad más bien baja.

JAVANCSS: complejidad ciclomática La escala de complejidad ciclomática que se utiliza para analizar los resultados de JAVANCSS es la siguiente: Es una medición cuantitativa de la complejidad de la lógica de un programa

JAVANCSS: análisis CCN Los métodos que usamos tienen una complejidad ciclomática muy baja, prácticamente todos tienen un valor de 1. Nos indican que nuestro código es muy fácil de mantener, probar y modificar.

JAVANCSS: conclusiones Con el análisis de JAVANCSS hemos podido comprobar: El paquete “model” es el más complejo, ya que tiene los “get” y “set” de comunicación con la base de datos. La clase “anuncio” es la que más atributos tiene, además de los métodos “get” y “set”. Los métodos “login” y “crear anuncio”, situados en el paquete “bean” son los que más líneas tienen, ya que son los que actualmente están en uso.

Findbugs Plugin de NetBeans utilizado para obtener un análisis de problemas en el código fuente, que indique vulnerabilidades, malas prácticas o código duplicado.

Findbugs: conclusiones Como hemos podido ver en la captura anterior, tenemos 105 problemas variados en el código. Los problemas más importantes serán tratados en el siguiente Sprint.

CKJM Métrica de orientación a objetos. Indicadores ¿Qué indican? Métodos ponderados por clase (MPC) (WMC) Tamaño y Complejidad de la clase Profundidad árbol de herencia (PAH) (DIT) Tamaño Número de descendientes (NDD) (NOC) Tamaño, acoplamiento, cohesión Acoplamiento entre clases (ACO) (CBO) Acoplamiento, “colaboraciones de una clase” Respuesta para una clase (RPC) (RFC) Comunicación y complejidad Carencia de cohesión en los métodos (CCM) (LCOM) Cohesión interna

CKJM : indicadores y resultados MPC: Las clases que hemos creado (dao y bean) tienen valores muy bajos por lo tanto la mantenibilidad del código es muy sencilla. PAH :Todas las clases tienen un valor de 1. El tamaño del código es pequeño y nada complejo. Nuestras clases heredan pocos métodos, por lo tanto es muy fácil de mantenerlas. NDD: Todas las clases tienen un valor de 0. No tenemos ninguna clase dependiente por herencia, por lo tanto como punto negativo tenemos poca reutilización del código, mientras que como punto positivo no vamos a tener problemas en el mantenimiento.

CKJM: indicadores y resultados ACO: El valor más alto es 8. El diseño del Código sigue la orientación, con división de las responsabilidades. El acoplamiento de nuestro código es bajo y las clases no son complejas. RPC: El valor máximo es 60 en la clase model.anuncio. Es un valor aceptable, pero hay que evitar que aumente, así no será una clase demasiado extensa y compleja. Un valor muy alto aumentaría el esfuerzo de pruebas y verificaciones. CCM: La clase model.anuncio presenta un valor de 1513, lo que quiere decir que es una clase muy grande y es aconsejable dividirla en varias. Mantener un numero bajo de CCM nos indica que tenemos una elevada cohesión en el código.

CKJM: conclusiones Según esta métrica, nuestra aplicación no tiene complejidad, porque: Tenemos una arquitectura por capas donde separamos el modelo, la vista y el controlador. No tenemos clases complejas. La mantenibilidad del código es muy sencilla. Elevada cohesión en el código y bajo acoplamiento.

JHAWK Es una herramienta para análisis de código, con la que se puede calcular el volumen, complejidad y relaciones entre clases y paquetes. Sólo analizamos las clases que hemos creado nosotros además de la clase “model.anuncio” del paquete “model”, que es la más problemática.

JHAWK: paquetes Los datos obtenidos con esta herramienta confirman los resultados arrojados por las otras herramientas. Observamos pocas clases, la complejidad ciclomática es muy baja y tenemos un buen índice de mantenibilidad.

JHAWK: clases Las clases presentan una complejidad ciclomática muy baja, el esfuerzo de Halstead es alto en las clases “crearAnuncio” y “managedBean”, el acoplamiento de las clases es muy bajo y el índice de mantenibilidad es muy bueno para todas. 

JHAWK: métodos La complejidad ciclomática es muy baja, algunos métodos que se comunican con model.anuncio tienen un esfuerzo de Halstead alto y la predicción de fallos de los métodos es razonable en todos.

JHAWK: paquete model, clase anuncio En este paquete, encontramos que la clase Anuncio tiene 59 métodos, una cantidad importante, con falta de cohesión grande entre objetos, pero complejidad ciclomática baja. El mayor problema es la cantidad de métodos que contiene. 

JHAWK: conclusiones Al igual que con las anteriores métricas, los resultados son: Tenemos pocas clases. La complejidad ciclomática es muy baja. El código dispone de un buen índice de mantenibilidad.

Diagrama caso de uso

Diagrama actividades

Prototipos

Prototipos Web: Gliffy Es una herramienta que nos permite realizar prototipos Web que nos ayudan a: Simular la navegación entre paginas Comprobar la usabilidad Nos permite colaborar y aportar ideas en grupo. Idea aproximada de cómo será el producto final.

Prototipo HomeRent

¿En que nos ayudó Gliffy? Nos dimos cuenta de problemas en el diseño. Descubrimos elementos mal colocados que dificultaban la usabilidad. Todos tenemos acceso al prototipo y pudimos aportar nuevas ideas. Nos permitió realizar pruebas y cambios en el diseño de manera fácil y rápida, si se hicieran con el producto serian muy costosas. http://www.gliffy.com/publish/4133831/

Plantilla: Facelets Facelets es un framework ligero que permite el uso de plantillas en Java Server Faces. Viene integrado en JSF. Nos permite desarrollar en XHTML y nos evitamos usar JSP, que puede producir muchos problemas al usarlo con JSF. Su simpleza maximiza la reutilización, es extensible y escalable. Nos permite trabajar de una manera fácil con distintas vistas de usuario.

¿Por qué una plantilla? Para evitar duplicidad de código. Por la mantenibilidad del código. Para no aumentar la complejidad del código innecesariamente. Por la localización de errores. Para hacer el proceso de aprendizaje de los compañeros más fácil y entendible. Por comodidad y ahorrar tiempo en el desarrollo. El tiempo de compilación es más rápido. En resumen, el uso de Facelets reduce el tiempo y esfuerzo para el desarrollo del proyecto.

Se aconseja que la plantilla sea colocada en el directorio “WEB-INF” Plantilla: Facelets Se aconseja que la plantilla sea colocada en el directorio “WEB-INF”

Crear plantilla

Crear Plantilla

Clear plantilla

Clear plantilla

Clear plantilla

Clear plantilla

Crear plantilla

Requisitos Nuevos ✗ UA-3) Búsqueda sencilla de apartamentos. ✗ UA-5) Detalle de información de un apartamento. ✗ UA-10) Crear perfil de usuario. ✔ IOP-2) Mozilla Navigators X.0. ✔ Métricas ✔ Diseño Web.

Requisitos para terminar del Sprint 1  PA-4) Editar un anuncio.  PA-5) Eliminar un anuncio. ✔ UA-1) Registro de usuarios en el sistema.  PA-1) Registro de propietarios en el sistema.

REQUISITOS QUE VAMOS A MANTENER DURANTE TODO EL PROYECTO ✔ MAN-5) Empleo de lenguajes de programación estandarizados: Java, C#, etc. ✔ MAN-6) Estructura estandarizada de la documentación. ✔ IOP-1) Internet Explorer X.0

FIN