Documente Academic
Documente Profesional
Documente Cultură
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:
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
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
Programas de tipo S
("determinable"):
1. Declaración imprecisa de un
problema del mundo real
2. Aceptación: Es el programa de
una solución aceptable al
problema?
3. Este software es probable que
evolucione continuamente
porque la solución no es nunca
perfecta, y se puede mejorar
debido a los cambios del mundo
real y por lo tanto los cambios de
problemas
Tipos de Software
Programas de tipo E
("Embedded")