Ingeniería de Software

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

Ingeniería de Software II
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
Gestión de Recursos Informáticos Unidad Nº 3: Gestión de calidad y eficiencia.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ANÁLISIS DE REQUERIMIENTOS
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
10º2 Sergio Posso. Jonatán Agualimpia. Julia Blandón. Docente:
Modelos de Proceso del Software
Análisis y Diseño de Aplicaciones Ingeniería de Software
CALIDAD DE SOFTWARE Alejando Márquez Alejando Vega Claudia Aguilar
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
Administración de la Producción.  Los nuevos productos sirven para aumentar las oportunidades de la empresa y para proporcionarle una ventaja competitiva.
Ingeniería de Software
 Docentes ◦ Jonathan Erlich  ◦ Ariel Glikman   Organización de la materia ◦ Idesmaimonides.wikidot.com.
Ingenieria de software
Ciclo de Vida del Software Paradigmas de Desarrollo
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
Ingeniería de Software
Ciclo de Vida del Software
Calidad y Garantía de Calidad
Ingeniería de Software
Ingeniería de Requerimiento
EL APORTE DE LA INGENIERIA DE SOFTWARE A LAS ORGANIZACIONES
Tema 1: Introducción a la Ingeniería de Software
Ingeniería de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
SUBTEMA 2.4 FUNDAMENTOS DE DESARROLLO DE SISTEMAS
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.
Análisis y Diseño de Aplicaciones
INGENIERIA DE SOFTWARE
Tecnológico de Estudios Superiores Huixquilucan
Docente: Lic. M. Alina Vargas García Horario: Lunes 20:05 – 21:25 Miércoles 20:05 – 21:25 Gestión: 2011.
Problemáticas en la Ingeniería Mitos del Software
Capitulo 1 Roger S. Presman
Ciclo de vida de un sistema
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Introducción al proceso de verificación y validación.
Ingeniería de software
Actividades en el Proceso de desarrollo de Software
Modelo Prescriptivos de proceso
Ingeniería del Software I
problemas de la calidad del software
Estructurar tus ideas para hacerlas realidad
G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE G ESTIÓN DE LA C ONFIGURACIÓN DEL S OFTWARE Daniel Eduardo Almeciga Angie Katterine Cruz O. Diego Fernando.
El producto de software y su ciclo de vida
Ciclo de Vida del Software
Tecnicas del Mantenimiento del Software
Sistema de control de calidad de software
Preocupaciones del Analista Programador & Usuarios
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
INGENIERIA DE SOFTWARE
Proceso de desarrollo de Software
Ing del Software Libre1 Ingeniería del Software Libre y Modelos de Calidad Instructora: Ing. Erika Veliz Correo Electrónico:
¿Qué es la Ingeniería De Software? Ingeniería de Software.
INTRODUCCION AL DESARROLLO DE PROYECTO SOFTWARE. ¿Qué es software? Elemento lógico del sistema.
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
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Verificación y Validación del Software
Transcripción de la presentación:

Ingeniería de Software Definición de Software Según la definición del IEEE, “software es la suma total de los programas de computadora, procedimientos, reglas, la documentación asociada y los datos que pertenecen a un sistema de cómputo".

Ingeniería de Software Intangible No se deteriora Requiere de Hardware Características del Software

Ingeniería de Software Programas Documentación Datos Procedimientos Componentes del Software

Bondades deseables en un Producto de Software Ingeniería de Software Bondades deseables en un Producto de Software Mantenible. Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones. Confiable. El software no debe causar daños físicos o económicos en el caso de fallas. Eficiente. El software no debe desperdiciar los recursos del sistema. Fácilmente usable. El software debe contar con una interfaz de usuario adecuada además de su documentación.

Ingeniería de Software Origen de la Ingeniería de Software En el año 1968 que se convocó una reunión en Garmisch, Alemania Oriental, estimulándose el interés hacia los aspectos técnicos y administrativos utilizados en el desarrollo y mantenimiento de software, y fue en esa ocasión donde se utilizó el término "Ingeniería de Software".

Ingeniería de Software La ingeniería de software se define como 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).

Ingeniería de Software "la Ingeniería de Software es la rama de la ingeniería que aplica los principios de las ciencias de computación y las matemáticas para lograr soluciones técnicas efectivas (eficaces en costo o económicas) a los problemas de desarrollo de software", es decir, "permite elaborar consistentemente productos correctos, utilizables y costo-efectivos" (Cota 1994).

Ingeniería de Software Es el conjunto de métodos, técnicas y herramientas que controlan el proceso integral del desarrollo de software y suministra las bases para construir software de calidad de forma eficiente en los plazos adecuados (Enciclopedia Wikipedia).

Costos de la eficiencia Ingeniería de Software Costos de la eficiencia Costos Eficiencia

Ingeniería de Software La Ingeniería de software abarca cuatro elementos clave: Métodos o técnicas: Indican cómo construir técnicamente el software, y abarca una serie de tareas que incluyen la planificación y estimación de proyectos, el análisis de requisitos, el diseño de estructuras de datos, programas y procedimientos, la codificación, las pruebas y el mantenimiento. Los métodos introducen frecuentemente una notación específica para la tarea en cuestión y una serie de criterios de calidad.

Ingeniería de Software Herramientas: Son instrumentos o sistemas automatizados para realizar algo de la mejor manera posible. Esta manera óptima puede significar que la herramienta produce resultados más exactos, más eficientes, más productivos, o que refuerza la calidad del producto resultante. Proporcionan un soporte automático o semiautomático para todas las fases del desarrollo y sistemas que integran las herramientas de cada fase de manera que sirven para todo el proceso. Estas herramientas se denominan CASE (Computer Aided Software Engineering).

Ingeniería de Software Procedimientos: Son la combinación de las técnicas y las herramientas que en forma conjunta dan un resultado particular. Los procedimientos indicarán qué herramientas deberán utilizarse cuando se aplican determinadas técnicas. Definen la secuencia en que se aplican los métodos, los documentos que se requieren, los controles que aseguran la calidad y las directrices que permiten a los gestores evaluar los progresos.

Ingeniería de Software Paradigmas: Representan un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro. Ejemplos: Análisis orientado a objetos y Análisis estructurado.

Ingeniería de Software Ciclo de vida Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociadas entre estas etapas.

Ingeniería de Software Ciclo de vida El proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema.

Ingeniería de Software Ciclo de vida Un modelo de ciclo de vida del software describe las fases principales de desarrollo de software. Define las fases primarias esperadas de ser ejecutadas durante esas fases. Ayuda a administrar el progreso del desarrollo, y provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.

Ingeniería de Software Ciclo de vida Clásico Winston Royce a fines del 70.

A tiempo y en presupuesto Ingeniería de Software La Crisis del Software A tiempo y en presupuesto Discontinados Sobrepasados Promedios 189% del presupuesto 221% del tiempo 61% de la funcionalidad pretendida Standish Group CHAOS Report 1995

Ingeniería de Software Mitos en los Proyectos de Software Mitos de Gestión Mito. Tenemos ya un libro que está lleno de estándares y procedimientos para construir software. ¿No le proporciona ya a mi gente todo lo que necesita saber?. Realidad. Está muy bien que el libro exista, pero ¿Se usa? ¿Conocen los trabajadores su existencia? ¿Refleja las prácticas modernas de desarrollo de software? ¿Es completo? En muchos casos, la respuesta a todas estas preguntas es "no"?.

Ingeniería de Software Mitos en los Proyectos de Software Mito. Nuestra gente dispone de las herramientas de desarrollo de software más avanzadas; después de todo, les compramos las computadoras más nuevas. Realidad. Se necesita mucho más que el último modelo de computadora grande (o de PC) para hacer desarrollo de software de gran calidad. Las herramientas de ingeniería del software asistida por computadora (CASE), aunque no se usen la mayoría , son más importantes que el hardware para conseguir buena calidad y productividad.

Ingeniería de Software Mitos en los Proyectos de Software Mito. Si fallamos en la planificación, podemos añadir más programadores y adelantar el tiempo perdido. Realidad. El desarrollo de software no es un proceso mecánico como la fabricación. Brooks dice: "Añadir gente a un proyecto de software retrasado lo retrasa aún más". Ya que cuando se añaden nuevas personas, la necesidad de aprender y comunicarse con el equipo puede y hace que se reduzca la cantidad de tiempo gastado en el desarrollo productivo. Puede añadirse gente, pero de una manera planificada y bien coordinada.

Ingeniería de Software Mitos en los Proyectos de Software Mitos del Cliente Mito. Una declaración general de los objetivos es suficiente para comenzar a escribir los programas. (podemos detallar m&aacutes adelante). Realidad. Una mala definición inicial es la causa principal del trabajo baldío en software. Es esencial una descripción formal y detallada del ámbito de la información, funciones, rendimiento, etc. Y todas éstas características sólo se pueden determinar después de una exhaustiva comunicación entre cliente y analista.

Ingeniería de Software Mitos en los Proyectos de Software Mito. Los requisitos del proyecto cambian continuamente, pero los cambios pueden acomodarse fácilmente, ya que el software es flexible. Realidad. Es verdad que los requisitos del software cambian pero el impacto del cambio varía según el momento en que se introduzca. Entre más temprano se realicen mejor.

Ingeniería de Software Mitos en los Proyectos de Software Mitos de los Desarrolladores. Mito. Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha terminado. Realidad. Alguien dijo una vez: "Cuando más pronto se comience a escribir código, más se tardará en terminarlo". Datos industriales indican que entre el 50 y el 70 por ciento de todo el esfuerzo dedicado a un programa se realizará después de que se le haya entregado al cliente por primera vez.

Ingeniería de Software Mitos en los Proyectos de Software Mito. Hasta que no tengo el programa “ejecutándose” realmente no tengo forma de comprobar su calidad. Realidad. Desde el principio del proyecto se puede aplicar uno de los mecanismos más efectivos para garantizar la calidad del software (Revisión de Técnica Formal). La revisión del Software es un "filtro de calidad" que se ha comprobado que es más efectivo que la prueba, para encontrar ciertas clases de defectos en el software.

Ingeniería de Software Mitos en los Proyectos de Software Mito. Lo único que se entrega al terminar es el programa funcionando. Realidad. Un programa que funciona es sólo una parte de una configuración del software que incluye todos los elementos tales como el Análisis, Diseño, Documentación del Sistema, etc..

Ingeniería de Software Principales Desafíos Qué Construir? Porqué? Qué tan bien? - Equilibrio de los requerimientos Quiénes deben construirlo? Donde? - Asesores; Personal Propio; Agentes externos Cómo construirlo? Cúando y en qué orden? -procesos, métodos, herramientas, componentes. Cómo adaptarse a los cambios -requerimientos y necesidades, tecnología, mercado Cúanto es suficiente? -Funcionalidad, cualidades, especificaciones, prototipos, pruebas

Ingeniería de Software Enfoque tradicional versus tendencias emergentes Orientado a la Colaboración Nuestro problema; win-win Ciclico y concurrente Focalizado en el riesgo (utilidades) Reuso Mezcla de flexibilidad y disciplina. Orientado al Contrato su problema; gana-pierde Secuencial focalizado en procedimientos Programación Centrado en la disciplina y el control

Ingeniería de Software Resumen La Ingeniería de software concierne a las teorías, métodos y herramientas para el desarrollo, administración y evolución de productos de software. Los productos de software consisten de programas, datos y documentación. Los atributos deseables de los productos son, mantenible, confiable, eficiente y fácilmente usable. El proceso de software consiste en aquellas actividades involucradas en el desarrollo de software. Este proceso conforma junto a la mantención el ciclo de vida del software.