Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion Ingenieria Software
Introduccion Ingenieria Software
Productos y procesos
Contenido
1. Que es software?
2. Que es la Ingeniería de Software?
3. Cual es la diferencia entre Ingeniería de Software y Ciencias de la
Computación?
4. Cual es la diferencia entre Ingeniería de Software e Ingeniería de
Sistemas?
5. Que es un proceso de software?
6. Que es un modelo de proceso de software?
7. Que son los métodos de Ingeniería de Software?
Software (Pressman):
Ingeniería
Tecnología
Profesión / trabajo
Experiencia
Esotérica Uso sistemático de la
experiencia pasada y Bases
Científicas
Uso no organizado
de la experiencia
Arte
Tiempo
Ingeniería de Software: Una actividad de
resolver problemas
Ingeniería de Software
Colección de técnicas, metodologías y herramientas para ayudar con la
producción de:
Ciencias de la Computación:
2. Lo que tienen que preocuparse es cómo hacerlo bajo la presión del tiempo
de una fecha límite.
COMPUTER
CUSTOMER
SCIENCE
Computer Problem
Theories
Functions
SOFTWARE
ENGINEERING
Tools and
Techniques to
Solve Problem
INGENIERÍA DE SOFTWARE VS
INGENIERÍA DE SISTEMAS
Ingeniería de Sistemas
Tenga en cuenta
Tenga en cuenta
Tenga en cuenta
Complejidad
• El sistema es tan complejo que ningún programador puede entenderlo.
• La introducción de una solo corrección de error puede hacer que otro se genere
Cambios
• La "Entropía" de un sistema de software se incrementa con cada cambio: Cada cambio
implementado erosiona la estructura del sistema lo cual hace que el siguiente cambio
sea aún más costoso ("Segunda Ley de la Dinámica de Software").
• Conforme pasa el tiempo, el costo de implementar un cambio será demasiado alto, y el
sistema entonces no podrá soportar la tarea prevista.
Por que el software es tan complejo
Uno de los supuestos que los administradores han hecho en el pasado, es que el desarrollo
de software puede ser gestionado como un conjunto de pasos en forma lineal, por ejemplo:
Especificación de Requisitos, seguido de Diseño de Sistemas seguido de Ejecución seguido
de pruebas y de entrega.
Esto puede suceder con los sistemas digitales. Una de las razones:
3. Validación: El software debe validarse, para asegurar que cumpla con lo que
quiere el cliente.
1. Un marco común del proceso: actividades que son aplicables a todos los proyectos de
software, con independencia del tamaño o complejidad.
3. Las actividades de protección, tales como garantía de calidad del software, gestión de
configuración del software y medición, abarcan el modelo del proceso. Las actividades
de protección son independientes de cualquier actividad del marco de trabajo y
aparecen durante todo el proceso.
Modelos de proceso software
Sommerville define el modelo de proceso de software como:
1. Codificar y corregir
2. Modelo en cascada
3. Desarrollo evolutivo
4. Desarrollo formal de sistemas
5. Desarrollo basado en reutilización
6. Desarrollo incremental
7. Desarrollo en espiral
Métodos de Ingeniería de software
Meir M. Lehman
Tipos de Software