Ingeniería de Software

Slides:



Advertisements
Presentaciones similares
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Advertisements

CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
CALIDAD EN DESARROLLO DE SOFTWARE
2. Diseño y Desarrollo del Producto
INGENIERIA DE SOFTWARE
METRICAS DE PROCESO Y PROYECTO
Evaluando Competencias Profesionales a Través de Rúbricas
Métricas de Software Medimos para mejorar cuando recogemos la información cuantitativa que nos ayuda a identificar obstáculos, problemas de raíz, ineficiencias.
Métricas de Software Medimos para mejorar cuando recogemos la información cuantitativa que nos ayuda a identificar obstáculos, problemas de raíz, ineficiencias.
Guia Diseño Robert Echeverria
CALIDAD EN EL DESARROLLO DE SOFTWARE
Administración de Procesos de Pruebas
M.S.C. Ivette Hernández Dávila
HERRAMIENTAS CASE.
PLANEACION DE UNA ESTRUCTURA ORGANIZACIONAL
Ingeniería de Software Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María
Métricas de productividad y calidad
SEMANA Introducción.
Aprendizajes Esperados
Modelo McCall PRESENTA: Liliana Hilario, Anabel peña, Jessica Carbajal, Ricardo Díaz.
Ingenieria de software
REQUERIMIENTOS DE SOFTWARE
Métricas de calidad de software
CONCEPTOS BÁSICOS Diseño de Sistemas.
Calidad y Garantía de Calidad
Ingeniería de Software
Ingeniería del Software
Conceptos de Gestión y Planificación de Proyectos Software
Tema 1: Introducción a la Ingeniería de Software
PROYECTO INFORMÁTICO.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Medición y Métricas del Software
Desarrollo de Software II Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto - Diciembre 2008 Ing. Oswaldo Solarte Pabón.
PRESENTACIÓN Este trabajo se desarrolla sobre el tema de competencias, y basado en el Marco de Fundamentacion Conceptual Especificaciones de la Pruebas.
ASIGNACIÓN DE ROLES.
INGENIERIA DE SOFTWARE
Docente: Lic. M. Alina Vargas García Horario: Lunes 20:05 – 21:25 Miércoles 20:05 – 21:25 Gestión: 2011.
I.- Introducción a los sistemas de información
Diseño de Sistemas.
Factores y Métricas que determinan la Calidad de un producto
Capitulo 1 Roger S. Presman
Ciclo de vida de un sistema
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Métricas de calidad de software
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
TIPOS DE PRUEBAS DEL SOFTWARE
Conceptos sobre GESTIÓN DE PROYECTOS
Introducción al proceso de verificación y validación.
Análisis y Diseño de Aplicaciones
Universidad Laica « Eloy Alfaro De Manabí « Extensión Chone Paralelo Tosagua Escuela: Computación Comercio y Administración Paralelo « B « Tema de Exposición.
8D’s FMEA.
problemas de la calidad del software
Estructurar tus ideas para hacerlas realidad
REVISION Y AUDITORIA.
Por: Jaime Enrique Melendez Monreal Código: INGENIERÍA DE SOFTWARE.
Omar de Jesús Rosales hernández
INTRODUCCIÓN A INGENIERIA KARLA TATIANA OLAYA TORRES ID ( )
INGENIERIA DE SOFTWARE
De Informaciòn Gerencial Lcda. Oly Mata.
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Proceso de desarrollo de Software
Administración de Calidad de Software
Las fases del ciclo de la vida de desarrollo de sistemas
Maestría en Gerencia en Tecnología de la Información Cátedra Ingeniería de Software Profesora: Mary Carmen Milano. Integrantes: Rosa Arellano Osbaldo Goitia.
Modelo de procesos de software
Planificación de Sistemas de Información
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
GESTIÓN DE PROYECTOS.
Transcripción de la presentación:

Ingeniería de Software Universidad Autónoma de Baja California Facultad de Ingeniería Ensenada Ingeniería de Software M.I. Haydeé Meléndez Guillén

Contenido Introducción 1.1 Definiciones 1.2 Consideraciones de software y hardware 1.3 Factores de calidad y productividad 1.4 Problemas y soluciones en la administración de software

¿Qué es el Software? Software Es un conjunto de elementos u objetos Que conforman una configuración Incluye Programas Documentos Datos

¿Qué es el software? El software en ingeniería El software no caduca El software es complejo

Aplicaciones de Software Software de Sistema Software de Tiempo Real Software de Negocios Software de Ingeniería/Científico Software Incrustrado Software de PC Software de IA Aplicaciones Web

¿Qué es la ingeniería de software? Una disciplina que integra métodos, herramientas y procedimientos para el desarrollo de software de computadora bajo un enfoque de calidad.

¿Qué es la ingeniería de software? Aplicación práctica del conocimiento científico en el diseño y construcción de programas de computadora y la documentación asociada requerida para desarrollar, operar (funcionar) y mantenerlos.

¿Qué es la ingeniería de software? Trata del establecimiento de los principios y métodos de la ingeniería a fín de obtener software de modo rentable que sea fiable y trabaje en máquinas reales.

¿Qué es la ingeniería de software? La disciplina tecnológica preocupada de la producción sistemática y del mantenimiento de los productos de software que son desarrollados y modificados en tiempo y dentro de un presupuesto definido. (Fairley, 1985).

¿Qué es la ingeniería de software? La ingeniería de software difiere de la programación tradicional en que se utilizan técnicas de ingeniería para especificar, diseñar, instrumentar, validar y mantener los productos dentro del tiempo y el presupuesto establecidos.

¿Qué es la ingeniería de software? Ingeniería de Software es el estudio de los principios y metodologías para desarrollo y mantenimiento de sistemas de software.

Perspectiva histórica del desarrollo de software Década 80-90: Nuevos paradigmas de programación y de producción de programas: OO C/S 90’s - actualidad: Análisis/Diseño OO. Tecnología CASE Componentes y reutilización Interoperabilidad (CORBA, .NET...) Internet ISw. distribuida repositorios de componentes reutilizables e-business; e-commerce ... Década 50-60: “Software como un añadido”. Desarrollo artesanal, a medida. Lenguajes de bajo nivel. Década 60-70: Software como producto. Década lenguajes y compilación. “Crisis del software”. Década 70-80: Programación estructurada. Ingeniería del Software. Primeros métodos estructurados.

Consideraciones del hardware y software El software es un elemento del sistema que es lógico, en lugar de físico. El software se desarrolla no se fábrica en un sentido clásico.

Consideraciones del hardware y software El software no se «estropea». ¡Pero se deteriora!. La mayoría del software se construye a medida. usar todo o nada (poco ensamblaje de componentes: reutilización)

Factores de calidad y productividad Basili y Zelkowitz [BAS78] definen cinco factores importantes que inciden en la productividad del software: Factores humanos: El tamaño y la experiencia de la organización de desarrollo. Factores del problema: La complejidad del problema que se debe resolver y el número de cambios en las restricciones o los requisitos del diseño.

Factores de calidad y productividad Factores del proceso: Técnicas del análisis y diseño qué se utilizan, lenguajes y herramientas CASE y técnicas de revisión. Factores del producto: Fiabilidad y rendimiento del sistema basado en computadora.

Factores de calidad y productividad Factores del recurso: Disponibilidad de herramientas CASE, y recursos (hardware y software).

Atributos de calidad del software: Fiable Capacidad de ofrecer los mismos resultados bajo las mismas condiciones. Eficiente Utilización óptima de los recursos de la máquina.

Atributos de calidad del software: Robusto No poseer un comportamiento catastrófico ante situaciones excepcionales (Tolerante a fallos). Correcto Se ajusta a las especificaciones dadas por el usuario.

Atributos de calidad del software: Portable Capaz de integrarse en entornos distintos con el mismo esfuerzo. Adaptable (extensibilidad) Modificar alguna función sin que afecte a sus actividades.

Atributos de calidad del software: Inteligible Diseño claro, bien estructurado y documentado. No Erróneo No exista diferencia entre los valores reales y los calculados Reutilizable (reusabilidad)

Factores para la calidad del software: El objetivo primordial de la ingeniería del software es: “Producir un sistema, aplicación o producto de alta calidad”

Factores para la calidad del software: Para lograr este objetivo, los ingenieros de software deben aplicar métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo del software.

Factores para la calidad del software: Además, un buen ingeniero del software (y buenos gestores de la ingeniería del software) deben medir si la alta calidad se va a llevar acabo.

Factores para la calidad del software: La calidad de un sistema, aplicación o producto es tan bueno como los requisitos que describen el problema, el diseño que modela la solución, el código que conduce a un programa ejecutable y las pruebas que ejercitan el software para detectar errores.

Factores para la calidad del software: Un buen ingeniero del software utiliza mediciones que evalúan la calidad del análisis y los modelos de diseño, el código fuente y los casos de prueba que se han creado al aplicar la ingeniería del software. Para lograr esta evaluación de la calidad, el ingeniero debe utilizar medidas técnicas que evalúan la calidad con objetividad, no con subjetividad.

Factores para la calidad del software: El gestor de proyectos también debe evaluar la calidad objetivamente, y no subjetivamente. A medida que el proyecto progresa el gestor del proyecto también debe evaluar la calidad. Las métricas privadas recopiladas por ingenieros del software se asimilan para proporcionar resultados en los proyectos.

Factores para la calidad del software: Aunque se pueden recopilar muchas medidas de calidad, el primer objetivo en el proyecto es medir errores y defectos. Las métricas que provienen de estas medidas proporcionan una indicación de la efectividad de las actividades de control y de la garantía de calidad en grupos o en particulares

Factores para la calidad del software: Los errores detectados por hora de revisión y los errores detectados por hora de prueba proporcionan una visión profunda de la eficacia de cada una de las actividades implicadas en la métrica.

Factores para la calidad del software: Visión general de los factores que afectan a la calidad:  En las dos décadas pasadas, McCall y Cavano [MCC78] definieron un juego de factores de calidad como los primeros pasos hacia el desarrollo de métricas de la calidad del software. Estos factores evalúan el software desde tres puntos de vista distintos:

Factores para la calidad del software: Operación del producto (utilizándolo). Revisión del producto (cambiándolo). Transición del producto (modificándolo para que funcione en un entorno diferente, p. ej.: «portándolo»). Los autores, en su trabajo, describen la relación entre estos factores de calidad (lo que llaman un «marco de trabajo» ) y otros aspectos del proceso de ingeniería del software:

Factores para la calidad del software: En primer lugar, el marco de trabajo proporciona un mecanismo para que el gestor del proyecto identifique lo que considera importante. Estas cualidades son atributos del software, además de su corrección y rendimiento funcional, que tiene implicaciones en el ciclo de vida. En otros factores, como son facilidad de mantenimiento y transportabilidad, se ha demostrado que tienen un impacto significativo en el costo del ciclo de vida...

Factores para la calidad del software: En segundo lugar, el marco de trabajo proporciona un medio de evaluar cuantitativamente lo bien que va progresando el desarrollo en relación con los objetivos de calidad establecidos.

Factores para la calidad del software: En tercer lugar, el marco de trabajo proporciona más interacción del personal de calidad en el esfuerzo de desarrollo..

Factores para la calidad del software: Por último, el personal de garantía de calidad puede utilizar indicaciones de calidad pobre para ayudar a identificar estándares [mejores] a contrastar en el futuro.

Factores para la calidad del software: Medida de la calidad: Aunque hay muchas medidas de la calidad de software, la corrección, facilidad de mantenimiento integral y facilidad de uso proporcionan indicadores útiles para el equipo del proyecto. Gilb [GIL88] sugiere definiciones y medidas para cada uno de ellos.

Factores para la calidad del software: Corrección: Un programa debe operar correctamente o proporcionará poco valor a sus usuarios. La corrección es el grado en el que el software lleva a cabo su función requerida.

Factores para la calidad del software: Facilidad de mantenimiento: El mantenimiento del software cuenta con más esfuerzo que cualquier otra actividad de ingeniería del software. La facilidad de mantenimiento es la facilidad con la que se puede corregir un programa si se encuentra un error, se puede adaptar si su entorno cambia, o mejorar si el cliente desea un cambio de requisitos.

Factores para la calidad del software: No hay forma de medir directamente la facilidad de mantenimiento; por consiguiente, se deben utilizar medidas indirectas.

Factores para la calidad del software: Integridad: En esta época de intrusos informáticos y de virus, la integridad del software ha llegado a tener mucha importancia. Este atributo mide la habilidad de un sistema para resistir ataques (tanto accidentales como intencionados) contra su seguridad. El ataque se puede realizar en cualquiera de los tres componentes del software: programas, datos y documentos.

Factores para la calidad del software: Para medir la integridad, se tienen que definir dos atributos adicionales: amenaza y seguridad. Amenaza es la probabilidad (que se puede estimar o deducir de la evidencia empírica) de que un ataque de un tipo determinado ocurra en un tiempo determinado. La seguridad es la probabilidad (que se puede estimar o deducir de la evidencia empírica) de que se pueda repeler el ataque de un tipo determinado.

Factores para la calidad del software: Facilidad de uso: El calificativo «amigable con el usuario» se ha convertido en omnipresente en las discusiones sobre productos de software. Si un programa no es «amigable con el usuario», frecuentemente está abocado al fracaso, incluso aunque las funciones que realice sean valiosas. La facilidad de uso es un intento de cuantificar «lo amigable que puede ser con el usuario»

Problemas y soluciones en la administración de software Thayer, Pyster y Wood sugirieron 20 áreas potenciales, y pidieron a 294 individuos su opinión respecto a la importancia de los problemas, la naturaleza de éstos, ya fuera técnica, gerencial o ambas, y sobre su posible solución (THA81).

Problemas y soluciones en la administración de software problemas importantes en la administración fueron: La planeación de proyectos de programación es generalmente pobre. Los procedimientos y las técnicas para la selección de los gerentes de proyecto son pobres. La contabilidad en proyectos de programación es pobre, cuestionando sobre quién es el responsable de las diversas funciones del proyecto.

Problemas y soluciones en la administración de software La capacidad para estimar correctamente los recursos requeridos para completar un proyecto de programación es pobre. Los criterios de éxito en el desarrollo de proyectos son, con frecuencia, inapropiados; esto repercute en productos de programación no confiables, difíciles de usar y de mantener . No existen reglas de decisión para ayudar a la selección de la adecuada organización estructural.

Problemas y soluciones en la administración de software No existen reglas de decisión para ayudar a la selección de las técnicas gerenciales más correctas para los proyectos de programación. No siempre existen procedimientos, métodos y técnicas para el diseño de un sistema de control del proyecto que permita a los gerentes controlar con éxito sus proyectos. No siempre existen procedimientos, técnicas, estrategias y ayuda que permitan vigilar el avance real de un proyecto.

Problemas y soluciones en la administración de software No existen estándares y técnicas para medir la calidad del desempeño y la cantidad de producción esperada de los programadores y analistas de procesamiento de datos.