Trabajo Grupal II

15
UNIVERSIDAD TÉCNICA DE MANABÍ FACULTAD DE CIENCIAS INFORMÁTICAS ESCUELA DE INGENIERÍA DE SISTEMAS INFORMÁTICOS MATERIA INGENIERIA DEL SOFTWARE II (OCTUBRE 2015 - FEBRERO 2016) TEMA: TABLA RESUMEN DE LOS PRINCIPALES MODELOS QUE CARACTERIZAN LA CALIDAD DEL PRODUCTO Y LA CALIDAD DEL PROCESO DE PRODUCCIÓN DE SOFTWARE. EJERCICIOS Y ACTIVIDADES DE LA CALIDAD EN LA INGENIERÍA DE SOFTWARE. INTEGRANTES ALAVA PARRAGA JESSICA JOHANA GONZÁLEZ GONZÁLEZ ENRIQUE FRANCISCO MOLINA MOREIRA KEVIN STALIN SÁNCHEZ BRAVO JOSÉ AGUSTÍN ZAMBRANO GUEVARA JUNIOR ALEJANDRO CURSO VIII “A” DOCENTE ING. KEVIN MERO

description

este es el deber de ingenieria

Transcript of Trabajo Grupal II

Page 1: Trabajo Grupal II

UNIVERSIDAD TÉCNICA DE MANABÍFACULTAD DE CIENCIAS INFORMÁTICAS

ESCUELA DE INGENIERÍA DE SISTEMAS INFORMÁTICOS

MATERIAINGENIERIA DEL SOFTWARE II

(OCTUBRE 2015 - FEBRERO 2016)

TEMA: TABLA RESUMEN DE LOS PRINCIPALES MODELOS QUE CARACTERIZAN LA CALIDAD DEL PRODUCTO Y LA CALIDAD DEL PROCESO DE PRODUCCIÓN DE

SOFTWARE. EJERCICIOS Y ACTIVIDADES DE LA CALIDAD EN LA INGENIERÍA DE SOFTWARE.

INTEGRANTESALAVA PARRAGA JESSICA JOHANA

GONZÁLEZ GONZÁLEZ ENRIQUE FRANCISCOMOLINA MOREIRA KEVIN STALIN SÁNCHEZ BRAVO JOSÉ AGUSTÍN

ZAMBRANO GUEVARA JUNIOR ALEJANDRO

CURSOVIII “A”

DOCENTEING. KEVIN MERO

ECUADOR-PORTOVIEJO2015

Page 2: Trabajo Grupal II

EJERCICIO N1 DEL TALLER DE INGENIERÍA

Ejercicio: Instale en su computadora un generador automático de documentación de código Javadoc y compare las diferencias entre la documentación obtenida al aplicarlo al paquete Java obtenido como resultado del ejercicio anterior y la documentación Javadoc obtenida en dicho ejercicio.

Pasos para crear la documentación de código Javadoc en Netbeans

1- Cargamos el programa que deseamos crearle la documentación de código Javadoc

2- Abrimos una de las clases creadas dentro de cualquiera de los paquete del programa

Page 3: Trabajo Grupal II

3- Luego nos dirigimos en la barra de opciones donde dice Run y elegimos la opción Generate Javadoc.

4- Una vez que dimos click en Generate Javadoc se nos abre una página del navegador con todos los paquetes y cada una de las clases del programa.

Page 4: Trabajo Grupal II

5.- Se puede apreciar cada uno de los metodos que pertenece a la clase AdministradorVentanas

Page 5: Trabajo Grupal II

Ejercicio: La serie de Fibonacci es una sucesión de números enteros descrita por primera vez en Europa en el siglo XII por Leonardo de Pisa, también conocido como Fibonacci (de ahí su nombre). Investigue su cálculo e implemente dos versiones de una función que calcule términos de la serie de Fibonacci, una iterativa y otra recursiva, comparando finalmente la diferencia de eficiencia entre ambas implementaciones.

Función Principal:

Page 6: Trabajo Grupal II

Función recursiva:

Función iterativa:

Page 7: Trabajo Grupal II

Ejercicio: Mejore el siguiente algoritmo haciendo uso de técnicas de legibilidad y, si son de aplicación, de reglas de afinación del código para mejorar su eficiencia:

SoluciónCodigo Optimizado

public static void algoritmoMejorable(int n, int x){int i, a=x;double b=100, c;

for (i=1; i<=n; i++){ b = 5 * i;while (a < 1000){

b=10*i;a*=b;

}System.out.print(a);System.out.print(“-”);

};c=b+1;System.out.print(b);System.out.print(c);

}

Page 8: Trabajo Grupal II

Codigo mas eficiente

Optimización y entropía

Como son tareas generadoras de entropía, en las optimizaciones no debe introducirse nueva funcionalidad a la vez que se están haciendo. Los cambios deben ser pequeños y hay que

Page 9: Trabajo Grupal II

probarlos enseguida para asegurarse de que no se han introducido errores en un sistema que funcionaba bien.

Actividad: Discuta en grupo cómo la utilización de un entorno de desarrollo frente a otro puede afectar a la construcción de software. Si en el grupo de discusión se conocen diferentes entornos de desarrollo para un mismo lenguaje, pongan por escrito los pros y los contras de utilizar cada uno como documento inicial de la discusión.Respuesta:Entorno de desarrollo integrado, también conocido como IDE viene siendo un programa informático lleno de diversas herramientas accesibles orientadas a la programación ya que permiten programar de manera rápida y fácil.El IDE puede utilizar un lenguaje de programación o bien varios tipos de lenguaje, también el IDE está estructurado como programa de aplicación ya que está compuesto por un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI).Un IDE tiene la capacidad de manejar varios tipos de lenguaje, un ejemplo de IDE es el eclipse que mediante plugins se le añade un soporte de lenguajes. CARACTERÍSTICAS DEL IDE

 Multiplataforma  Soporte para diversos lenguajes de programación  Integración con Sistemas de Control de Versiones  Reconocimiento de Sintaxis  Extensiones y Componentes para el IDE  Integración con Framework populares  Depurador  Importar y Exportar proyectos  Múltiples idiomas  Manual de Usuarios y Ayuda

 Un IDE está compuesto por varios componentes como son:

 Editor de texto.  Compilador.  Intérprete.

Page 10: Trabajo Grupal II

 Herramientas de automatización.  Depurador.  Posibilidad de ofrecer un sistema de control de versiones.  Factibilidad para ayudar en la construcción de interfaces gráficas de usuarios.

 Las diferencias que tienen los IDE es que cada uno tiene su propio modo de trabajar como el Eclipse, el Netbeans, y el JavaCreator, ya que cada uno de ellos tiene diferentes características unos pueden contener errores con lo que es el software o la aplicación.La mayoría de los software pueden ser gratuitos o de pago según sea el caso. VERSIONES DEL IDEECLIPSE: es un entorno de desarrollo integrado de código abierto para desarrollar proyectos.

NETBEANS: es un programa IDE que permite programar en diferentes lenguajes, preciso para trabajar con el lenguaje de desarrollo JAVA ya que ofrece un entorno para programar en PHP. 

  GEANY: Es un IDE que solo era compactible para los sistemas Linux, Mac OS X y BSD, ahora ya es compactible para Windows. Este proporciona funciones para desarrollar aplicaciones sin tener ningún tipo de problemas.  CodeRun: Es un IDE que permite programar en varios lenguajes como el PHP, Ajax, C#, CSS, JavaScript y HTML. La diferencia es que está en inglés pero es útil para cuando no se dispone de un buen editor. VENTAJAS DEL IDEEs más ágil y óptimo para los usuarios que no tienen ningún conocimiento en el manejo del mismo.Hace un formateo de código.Outline se utiliza para ver los métodos de una clase o las funciones de un archivo.Search funciona para ver el contenido el nombre del archivo y las extensiones.Se puden crear proyectos para dar una representación de los archivos gráficamente.Una herramienta de refactoring es extraer una porción de código a un método nuevo.Implementación con el IDE Básicamente se pueden realizar implementaciones con el desarrollo de software nuevos programas o aplicaciones que ayuden al desarrollo del software pero ya depende del programador la acción que valla a realizar.Lenguaje para trabajar con IDE Aquí entran los IDE´S como son java, NetBeans PHP, C++, Visual Studio, Delphi, Python, C#, Visual Basic. La mayoría de los IDE´S es que cada uno tiene su manera de trabajar cada uno tiene sus herramientas su modelo y que en sí lo que hacen todos en que realizan proyectos para el desarrollo de software los programan y se ejecutan para verificar su funcionamiento.Para mí el IDE que se me facilitaría para realizar dichas actividades seria el netbeans ya que me muestra las herramientas fáciles de utilizar y que cuando estoy realizando dicho proyecto el me

Page 11: Trabajo Grupal II

va indicando los errores que tiene y así para ver y corregir ese mal y darle la solución para seguir con el proceso.

Actividad: ¿Qué opinión le merece el siguiente comentario? ¿Qué argumentos utilizaría para rebatirlo? “El tiempo que se pierde en pensar mejores nombres para los identificadores puede emplearse en cosas mejores. Si sólo es un trozo de código en el que queda claro por el contexto cuál es el significado de cada nombre ¿por qué perder el tiempo buscando los mejores nombres?Sinceramente creo que no es hacer buen uso del tiempo disponible el dedicarse a esto”.

Respuesta.Opinamos que si es importante dedicarle tiempo a pensar en los nombres de nuestros identificadores ya que si bien no alteran en nada la funcionalidad del código, pero nos dará una idea clara de que función realiza en esa parte del mismo.

Actividad: Según Jef Raskin (2005), los comentarios del código son más importantes que el propio código. Así, en un artículo titulado precisamente “Comments are more important than code”, afirma lo siguiente: “no se debe creer a ningún programador, gestor o comercial que afirme que el código puede ser documentado automáticamente o autodocumentado. No es cierto. La buena documentación incluye una información previa de base que no puede derivarse a partir del código». Contraste estas afirmaciones con lo estudiado en el capítulo y exprese su propia opinión al respecto a la luz de las diversas consideraciones.

Respuesta.Los comentarios de nuestro sistema debemos de colocarlo o realizarlo nosotros mismos como programadores, el realizar comentarios por medio de ningún gestor de comentarios, ya que asi podemos dejar una muy buena documentación para un buen entendimiento por parte de los usuarios del sistema asi también para las futuras mejoras del sistema por parte de otros programadores

Ejercicio: Implemente las funciones suma() y producto() en Visual Studio 2012 que reciba cada una dos parámetros, luego aplique pruebas unitarias a todo el código realizado y capture una pantalla del código realizado y los resultados de las pruebas aplicadas sobre el mismo.

Actividad: ¿Cuál es la diferencia esencial entre las técnicas de prueba de caja blanca y las de caja negra? Ponga ejemplos, diferentes a los tratados en el libro base de Ingeniería de Software, de situaciones en las que sea oportuno realizar pruebas de caja blanca y compárelos con otras situaciones en las que sea preferible utilizar pruebas de caja negra.

Respuesta.

PRUEBA DE LA CAJA BLANCA

La prueba de la caja blanca es un método de diseño de casos de prueba que usa la estructura de control del diseño procedimental para derivar los casos de prueba.

Page 12: Trabajo Grupal II

Las pruebas de caja blanca intentan garantizar que:

• Se ejecutan al menos una vez todos los caminos independientes de cada módulo

• Se utilizan las decisiones en su parte verdadera y en su parte falsa

• Se ejecuten todos los bucles en sus límites

• Se utilizan todas las estructuras de datos internas

PRUEBA DE LA CAJA NEGRA

Las pruebas de caja negra se llevan a cabo sobre la interfaz del software, obviando el comportamiento interno y la estructura del programa.

Los casos de prueba de la caja negra pretenden demostrar que:

• Las funciones del software son operativas

• La entrada se acepta de forma correcta

• Se produce una salida correcta

• La integridad de la información externa se mantiene

A continuación se derivan conjuntos de condiciones de entrada que utilicen todos los requisitos funcionales de un programa.

Las pruebas de caja negra pretenden encontrar estos tipos de errores:

• Funciones incorrectas o ausentes

• Errores en la interfaz

• Errores en estructuras de datos o en accesos a bases de datos externas

• Errores de rendimento

• Errores de inicialización y de terminación

Los tipos de prueba de cana negra que vamos a estudiar son:

• Prueba de partición equivalente

• Prueba de análisis de valores límites

Actividad: Suponga que empieza usted a trabajar en una empresa y, como parte de su trabajo, se le solicita estudiar el modo de crear productos con una mayor facilidad de mantenimiento. Utilizando los conocimientos adquiridos, diseñe una estrategia que incluya métricas de mantenimiento para alcanzar el objetivo que se le ha encomendado.

Actividad: Lea el siguiente fragmento de un contrato de mantenimiento de software, luego escriba un comentario de qué tipos de mantenimiento cubre y cuáles no:“Los servicios de mantenimiento incluyen:

Page 13: Trabajo Grupal II

La prestación de asesoramiento sobre el uso del software por correo electrónico con carácter prioritario.

El diagnóstico de fallos en el software, e instrucciones para su rectificación. La creación y envío al cliente de entregas de mantenimiento. Responder al cliente dentro de 2 días hábiles a partir de una solicitud de servicios. La respuesta

deberá incluir un primer análisis de los informes de fallos. Posteriormente, se proporcionará una rectificación a los fallos tan pronto como sea posible.

Los servicios no incluyen el diagnóstico y rectificación de fallos derivados de: La modificación del software o su fusión (en todo o en parte) con cualquier otro software, salvo

aquellos permitidos por la licencia. El uso indebido o negligente del software o el equipo en el que se ejecute. Cualquier ajuste o alteración de cualquier reparación o modificación del software hecha por

personas ajenas a la compañía que desarrolló el software. La pérdida o daños causados directa o indirectamente por error u omisión del usuario.”