SlideShare una empresa de Scribd logo
1 de 25
M.Sc. Javier David Chávez Centeno
DEPARTAMENTO ACADÉMICO DE INFORMÁTICA
jdchavez5@hotmail.com
CUSCO – PERÚ
2013
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 2Dpto Académico de Informática
Introducción a la
Ingeniería de Software
«La función de un buen software es hacer que lo
complejo aparente ser simple»
Grady Booch
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 3Dpto Académico de Informática
CONTENIDO
1. Costo del Software
1.1 Costos ocultos y consecuencias por fallas de software
- Fallas en sistemas de software
- Sobrecostos, retrasos y cancelaciones en los sistemas
de software
2. Costo del Software
2.1 La complejidad inherente al software
2.2 Complejidad del software
3. Desarrollo de Software Profesional
- Ingeniería de software
- Categorías del software
- Desarrollo de productos de software
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 4Dpto Académico de Informática
CONTENIDO
- Desarrollo de productos de software
- Atributos esenciales de un sistema de software profesional
- Software heredado
- Evolución en el software heredado
- Ética en la ingeniería de software
Bibliografía
Lecturas obligatorias
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 5Dpto Académico de Informática
¿Cuánto le cuesta a la sociedad utilizar
sistemas de software?
 Costo directo (adquirir el software)
Software empacado y software a la
medida.
 Costo indirecto (uso del software)
Capacitación, instalación, soporte
técnico, etc.
 Costo oculto (fallas del software)
Afecta principalmente a los sistemas de
misión crítica.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 6Dpto Académico de Informática
a) Consecuencias inmediatas y efectos
directos
Son los perjuicios ocasionados mientras
dura la caída de los sistemas, por
ejemplo, un sistema financiero de un
banco, una falla puede significar ingresos
que se dejan de percibir por
transacciones perdidas y egresos que
continúan a pesar de la interrupción en
la operación.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 7Dpto Académico de Informática
b) Consecuencias a mediano y largo plazo y
efectos indirectos
Son los perjuicios posteriores a la caída
de los sistemas. Las consecuencias
varían, desde la restauración de
datos, propaganda negativa y pérdida de
clientes, hasta posibles accidentes y
juicios en contra. Estos costos
adicionales pueden volver insignificantes
los costos directos e indirectos del
software.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 8Dpto Académico de Informática
Dejar de utilizar software no es una alternativa
aceptable, ya que los efectos negativos pueden ser
aún mayores.
Este es el caso de los sistemas de misión
crítica, por ejemplo, una empresa que opera
aviones y el software controla el
funcionamiento correcto de éstos.
«Cometer errores es humano, pero para estropear realmente
las cosas necesitas un ordenador»
Paul R. Ehrlich
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 9Dpto Académico de Informática
Explosión del cohete
Ariane 5 (1996).
Costo: 500 millones de
dólares.
Desastre: El cohete Ariane 5, se desvió de su trayectoria de
vuelo después de su lanzamiento (40s). Fue destruido por el
control remoto mediante una señal enviada por un computador
del Ariene desde Tierra.
Causa: Ocurrió cuando el sistema de guiado intentó convertir la
velocidad lateral de la nave (conversión de un número flotante de
64 bits a un número entero de 16 bits), produciéndose un error
de desbordamiento.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 10Dpto Académico de Informática
Error del milenio Y2K (2000).
Costo: Un billón de dólares.
Desastre: Las compañías gastaron millones en programadores
para arreglar un problema en las aplicaciones antiguas tales
como tráfico aéreo, pagos de impuestos y seguridad
social, banca, etc.
Causa: Para ahorrar espacio de almacenamiento u otro
problema, los sistemas antiguos solían guardar los años de las
fechas como un número de dos dígitos, como «99» para
«1999», al llegar el año 2000, las aplicaciones iban a interpretar
«00» como 1900.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 11Dpto Académico de Informática
Los costos ocultos no se restringen únicamente a fallas en el
software, también pueden ocurrir durante su desarrollo.
Estados en el Desarrollo de Sistemas de Software
(Evaluación de 175 000 proyectos – 1994 – Standish Consulting Group)
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 12Dpto Académico de Informática
De acuerdo con varias encuestas hechas a diferentes
compañías por Standish Consulting Group – 175 000
proyectos (1994), las tres razones más importantes para el
éxito de un proyecto son:
Clara
Especificación
De
requerimientos
Apoyo
de la
administración
Participación
Del
usuario
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 13Dpto Académico de Informática
El desarrollo de software de dimensión
industrial (controladores de tráfico aéreo o
ferroviario, etc.) es sumamente difícil, la
complejidad de tales sistemas excede la
capacidad intelectual humana. Esa
complejidad inherente puede
dominarse, pero no eliminarse.
Esta complejidad inherente, como dice Booch, se deriva de:
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 14Dpto Académico de Informática
• Gran cantidad de requisitos (se produce por una difícil interacción entre usuarios de un
sistema y sus desarrolladores).
• Los requisitos de un sistema software cambian durante su desarrollo.
La complejidad del dominio del problema
• El tamaño de una aplicación (Existen sistemas cuyo tamaño se mide en millones de
líneas de código). Esta cantidad de trabajo requiere un equipo de desarrollo.
La dificultad de gestionar el proceso de desarrollo
• Un desarrollador puede expresar casi cualquier clase de abstracción.
La flexibilidad que se puede alcanzar a través del software
• En sistemas discretos todos los eventos externos pueden afectar a cualquier parte del
estado interno del sistema.
Los problemas que plantea la caracterización del comportamiento de
sistemas discretos
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 15Dpto Académico de Informática
Weitzenfeld menciona, cuanto más grandes son los
sistemas, mayor es su complejidad. Estos factores que
causan esta complejidad son:
Complejidad
Del
Problema
•Cuanto mayor sea el número de requerimientos, mayor será el tamaño
del sistema. Por tanto, más difíciles de comprender y desarrollar.
•Para reducir la complejidad habría que reducir la funcionalidad que el
sistema deba tener.
Complejidad
De La
Solución
•Tiene que ver con el diseño del sistema, el cual debe satisfacer la
funcionalidad del problema.
•Es importante reducir la otra fuente de complejidad: el de la solución.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 16Dpto Académico de Informática
Factor estático es la funcionalidad que un sistema de
software debe ofrecer al ser inicialmente desarrollado.
Factor dinámico es la funcionalidad que varia con el tiempo
(puede causar retrasos y cancelaciones de los proyectos). Es
muy común que los requisitos de un sistema se
modifiquen, incluso antes de completarlos y cuando un
programa se modifica su complejidad aumenta. El
incremento en la complejidad al momento de modificar o
extender un sistema de software significa mayor número de
fallas junto con retrasos y sobrecostos. (mantenimiento
continuo).
Otros factores:
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 17Dpto Académico de Informática
 El desarrollo de software es una actividad
profesional, se realiza para propósitos de
negocios específicos.
 El software profesional, se lleva a cabo en
general por equipos, en vez de individualmente.
 Se mantiene y cambia a lo largo de su vida.
 La Ingeniería de Software busca apoyar el
desarrollo de software profesional.
 La Ingeniería de Software tiene que ver con las
teorías, métodos y herramientas para el
desarrollo profesional de software.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 18Dpto Académico de Informática
«Es una
Disciplina de
Ingeniería…
• Los ingenieros hacen que las cosas funcionen.
• Aplican teorías y herramientas.
• Buscan soluciones a problemas.
• Trabajan con restricciones económicas y
organizacionales.
… que
comprende todos
los aspectos de
Producción de
Software»
• Procesos técnicos del desarrollo de software.
• Gestión del proyecto de software.
• Desarrollo de herramientas, métodos y teorías
para apoyar la producción de software.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 19Dpto Académico de Informática
Software
De aplicación
(para los
negocios)
Embebido
(celular, horno
microondas
De sistemas
(compiladores,
editores, etc.)
De
Inteligencia
Artificial
De adquisición de
datos
(usan sensores)
Científico y de
Ingeniería
(manufactura, si
mulación, etc.)
Basado en
Web
(Comercio
electrónico)
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 20Dpto Académico de Informática
Los ingenieros de software están interesados por el desarrollo de
productos de software (es decir software que pueda venderse a un
cliente). Existen dos tipos de productos de software:
Productos genéricos
• Son sistemas independientes
que se vende a cualquier
cliente que desee comprarlo.
Por ejemplo
BD, procesadores de
texto, sistemas de
contabilidad, etc.
Productos
personalizados (o a la
medida)
• Son sistemas que están
destinados para un cliente en
particular. Por ejemplo
sistemas para apoyar cierto
proceso
empresarial, dispositivos
electrónicos, etc.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 21Dpto Académico de Informática
•Facilidad de uso (interfaces
amigables, documentación)
•No malgastar los
recursos del
sistema
(memoria, ciclos
de
procesador, etc.)
•Fiabilidad, seguri
dad y protección
(no debe causar
daños físicos ni
económicos).
•El software debe
poder evolucionar
para cumplir
necesidades de
cambio de los
clientes.
Mantenibilidad Confiabilidad
Eficiencia Usabilidad
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 22Dpto Académico de Informática
«Los sistemas de software heredado… fueron desarrollados
hace décadas y han sido modificados en forma continua
para cumplir los requerimientos de los cambios en los
negocios y en las plataformas de cómputo. La
proliferación de dichos sistemas ha causado dolores de
cabeza a las grandes organizaciones, las cuales los
perciben como costosos en su mantenimiento y riesgosos
en su evolución».
Dayani-Fard.
«Muchos sistemas heredados persisten como el soporte de
las funciones centrales de negocios y son indispensables
para las empresas».
Liu y sus colegas.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 23Dpto Académico de Informática
Evolución
Software
Heredado
Debe adaptarseDebe mejorarse
Debe extenderse
Implementar
nuevos
requerimientos
de los negocios.
Satisfacer
necesidades de
los nuevos
ambientes o
nueva tecnología
de cómputo.
Debe rediseñarse
Hacerlo viable
Dentro de un
Ambiente de
Red.
Hacerlo operable
Con sistemas y
bases de datos
mas modernas.
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 24Dpto Académico de Informática
ETICA
Respetar la
confidencialidad de
sus empleadores o
clientes
1.
Confidencialidad
No desvirtuar su
nivel de
competencia
2.
Competencia
Proteger la propie-
dad intelectual de
empleadores y
clientes
3.
Derechos de
propiedad
No usar
incorrectamente las
PCs de otros
individuos.
4.
Mal uso de
computadoras
UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013
JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 25Dpto Académico de Informática
Bibliografía
1. Booch, G. (1996). Análisis y Diseño Orientado a Objetos.
E.U.A.: Addison-Wesley. 2da. ed. cap. 1.
2. Pressman, R. (2005). Ingeniería del Software. México:
McGraw-Hill. 6ta ed. cap. 1.
3. Sommerville, I. (2011). Ingeniería de Software. México:
Pearson. 9na ed. cap. 1.
4. Weitzenfeld, A. (2004). Ingeniería de Software Orientada
a Objetos con UML, Java e Internet, Cengage: Thomson.
cap. 1.
Lecturas obligatorias
Mitos del Software
[2]. pp. 14-16
Complejidad
[1]. pp. 3-27
Costo y Complejidad del Software
[4]. pp. 3-17

Más contenido relacionado

La actualidad más candente

Presentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwarePresentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwareSamuelSanchez136
 
Gestion de riesgos
Gestion de riesgosGestion de riesgos
Gestion de riesgosjoselucho_89
 
Introduccion sap2000
Introduccion sap2000Introduccion sap2000
Introduccion sap2000Alan Rojas
 
La ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesLa ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesAntonio Vallecillo
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Etapas y metodologias del proceso de desarrollo de software
Etapas y metodologias del proceso de desarrollo de softwareEtapas y metodologias del proceso de desarrollo de software
Etapas y metodologias del proceso de desarrollo de softwarealexandermedranorodr
 
Metodología de desarrollo de software
Metodología de desarrollo de software Metodología de desarrollo de software
Metodología de desarrollo de software alexandermedranorodr
 
Metodología en Cascada (Trabajo Practico III)
Metodología en Cascada (Trabajo Practico III)Metodología en Cascada (Trabajo Practico III)
Metodología en Cascada (Trabajo Practico III)JULIOCESARCERVANTESC1
 
Gestión de proyectos de software
Gestión de proyectos de softwareGestión de proyectos de software
Gestión de proyectos de softwareALONSO UCHIHA
 
METODOLOGÍAS DE GESTIÓN DE PROYECTOS
METODOLOGÍAS DE GESTIÓN DE PROYECTOS METODOLOGÍAS DE GESTIÓN DE PROYECTOS
METODOLOGÍAS DE GESTIÓN DE PROYECTOS alexandermedranorodr
 
Merodologia de desarrollo de software
Merodologia de desarrollo de softwareMerodologia de desarrollo de software
Merodologia de desarrollo de softwareShadrickSdn1
 

La actualidad más candente (15)

Presentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwarePresentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del software
 
Gestion de riesgos
Gestion de riesgosGestion de riesgos
Gestion de riesgos
 
sesión 14
sesión 14sesión 14
sesión 14
 
Introduccion sap2000
Introduccion sap2000Introduccion sap2000
Introduccion sap2000
 
La ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidadesLa ingeniería del software en España: retos y oportunidades
La ingeniería del software en España: retos y oportunidades
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Exposicion
ExposicionExposicion
Exposicion
 
Etapas y metodologias del proceso de desarrollo de software
Etapas y metodologias del proceso de desarrollo de softwareEtapas y metodologias del proceso de desarrollo de software
Etapas y metodologias del proceso de desarrollo de software
 
Metodología de desarrollo de software
Metodología de desarrollo de software Metodología de desarrollo de software
Metodología de desarrollo de software
 
Metodología en Cascada (Trabajo Practico III)
Metodología en Cascada (Trabajo Practico III)Metodología en Cascada (Trabajo Practico III)
Metodología en Cascada (Trabajo Practico III)
 
Gestión de proyectos de software
Gestión de proyectos de softwareGestión de proyectos de software
Gestión de proyectos de software
 
METODOLOGÍAS DE GESTIÓN DE PROYECTOS
METODOLOGÍAS DE GESTIÓN DE PROYECTOS METODOLOGÍAS DE GESTIÓN DE PROYECTOS
METODOLOGÍAS DE GESTIÓN DE PROYECTOS
 
Ciclo de vida clasico
Ciclo de vida clasicoCiclo de vida clasico
Ciclo de vida clasico
 
Merodologia de desarrollo de software
Merodologia de desarrollo de softwareMerodologia de desarrollo de software
Merodologia de desarrollo de software
 
Fallos software
Fallos softwareFallos software
Fallos software
 

Destacado

Java 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgradeJava 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgradeSoftware Guru
 
Solid Day - Nuevo paradigma de desarrollo de software
Solid Day - Nuevo paradigma de desarrollo de softwareSolid Day - Nuevo paradigma de desarrollo de software
Solid Day - Nuevo paradigma de desarrollo de softwareSoftware Guru
 
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...Software Guru
 
Generación de documentación con star UML
Generación de documentación con star UMLGeneración de documentación con star UML
Generación de documentación con star UMLSoftware Guru
 
Tendencias para profesionistas de software 2017
Tendencias para profesionistas de software 2017Tendencias para profesionistas de software 2017
Tendencias para profesionistas de software 2017Software Guru
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003Diana Vásquez
 
Machine Learning para Organizaciones
Machine Learning para OrganizacionesMachine Learning para Organizaciones
Machine Learning para OrganizacionesSoftware Guru
 
Taxonomía de un próyecto Web 2 base DevSecOps
Taxonomía de un próyecto Web 2 base DevSecOpsTaxonomía de un próyecto Web 2 base DevSecOps
Taxonomía de un próyecto Web 2 base DevSecOpsSoftware Guru
 

Destacado (9)

Java 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgradeJava 8, tópicos de estudio para el examen upgrade
Java 8, tópicos de estudio para el examen upgrade
 
Solid Day - Nuevo paradigma de desarrollo de software
Solid Day - Nuevo paradigma de desarrollo de softwareSolid Day - Nuevo paradigma de desarrollo de software
Solid Day - Nuevo paradigma de desarrollo de software
 
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
Estimación del esfuerzo y costo necesarios para el desarrollo de un proyecto ...
 
Generación de documentación con star UML
Generación de documentación con star UMLGeneración de documentación con star UML
Generación de documentación con star UML
 
Tendencias para profesionistas de software 2017
Tendencias para profesionistas de software 2017Tendencias para profesionistas de software 2017
Tendencias para profesionistas de software 2017
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003
 
Machine Learning para Organizaciones
Machine Learning para OrganizacionesMachine Learning para Organizaciones
Machine Learning para Organizaciones
 
Star uml
Star umlStar uml
Star uml
 
Taxonomía de un próyecto Web 2 base DevSecOps
Taxonomía de un próyecto Web 2 base DevSecOpsTaxonomía de un próyecto Web 2 base DevSecOps
Taxonomía de un próyecto Web 2 base DevSecOps
 

Similar a 01 ingsoft jdchc

Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software llmdmyn14
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_softUCC
 
El producto y el proceso
El producto y el procesoEl producto y el proceso
El producto y el procesojenmer
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosMelissa Burgos
 
Fallos software
Fallos softwareFallos software
Fallos softwaremaricitasd
 
Ingeniria del sofware
Ingeniria del sofwareIngeniria del sofware
Ingeniria del sofwareMario Correa
 

Similar a 01 ingsoft jdchc (20)

Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software Sistemas II- Ingeniería del software
Sistemas II- Ingeniería del software
 
Unidad i ing_soft
Unidad i ing_softUnidad i ing_soft
Unidad i ing_soft
 
El producto y el proceso
El producto y el procesoEl producto y el proceso
El producto y el proceso
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 
Diapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgosDiapositivas guia 1 de software.melissa burgos
Diapositivas guia 1 de software.melissa burgos
 
ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 
Robert milt ensayo
Robert milt ensayoRobert milt ensayo
Robert milt ensayo
 
Fallos software
Fallos softwareFallos software
Fallos software
 
Fallos software
Fallos softwareFallos software
Fallos software
 
Fallos software
Fallos softwareFallos software
Fallos software
 
Fallos Software
Fallos SoftwareFallos Software
Fallos Software
 
Fallos software
Fallos softwareFallos software
Fallos software
 
Robert milt ing
Robert milt ingRobert milt ing
Robert milt ing
 
Ingeniria del sofware
Ingeniria del sofwareIngeniria del sofware
Ingeniria del sofware
 
Estado del arte_ing sistemas
Estado del arte_ing sistemasEstado del arte_ing sistemas
Estado del arte_ing sistemas
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 

Más de Javier Chávez Centeno (20)

Recursividad 2017 jdchc
Recursividad 2017 jdchcRecursividad 2017 jdchc
Recursividad 2017 jdchc
 
02 ads i
02 ads i02 ads i
02 ads i
 
01 ads i
01 ads i01 ads i
01 ads i
 
006 herencia y polimorfismo_jdchc
006 herencia y polimorfismo_jdchc006 herencia y polimorfismo_jdchc
006 herencia y polimorfismo_jdchc
 
007 listas
007 listas007 listas
007 listas
 
005 metodos anonimos jdchc
005 metodos anonimos jdchc005 metodos anonimos jdchc
005 metodos anonimos jdchc
 
004 delegados jdchc
004 delegados jdchc004 delegados jdchc
004 delegados jdchc
 
003 sobrecarga de operadores jdchc
003 sobrecarga de operadores jdchc003 sobrecarga de operadores jdchc
003 sobrecarga de operadores jdchc
 
002 modelo objetos jdchc
002 modelo objetos jdchc002 modelo objetos jdchc
002 modelo objetos jdchc
 
001 ta ds jdchc
001 ta ds jdchc001 ta ds jdchc
001 ta ds jdchc
 
02 representación informacion
02 representación informacion02 representación informacion
02 representación informacion
 
05 software computador jdchc
05 software computador jdchc05 software computador jdchc
05 software computador jdchc
 
06 redes jdchc
06 redes jdchc06 redes jdchc
06 redes jdchc
 
06 ingsoft jdchc rup
06 ingsoft jdchc rup06 ingsoft jdchc rup
06 ingsoft jdchc rup
 
04 perifericos inf jdchc
04 perifericos inf jdchc04 perifericos inf jdchc
04 perifericos inf jdchc
 
03 estructuracomputador inf jdchc
03 estructuracomputador inf jdchc03 estructuracomputador inf jdchc
03 estructuracomputador inf jdchc
 
01 introduccion inf jdchc
01 introduccion inf jdchc01 introduccion inf jdchc
01 introduccion inf jdchc
 
06 distribuciones
06 distribuciones06 distribuciones
06 distribuciones
 
05 probabilidades
05 probabilidades05 probabilidades
05 probabilidades
 
04 regresion
04 regresion04 regresion
04 regresion
 

01 ingsoft jdchc

  • 1. M.Sc. Javier David Chávez Centeno DEPARTAMENTO ACADÉMICO DE INFORMÁTICA jdchavez5@hotmail.com CUSCO – PERÚ 2013
  • 2. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 2Dpto Académico de Informática Introducción a la Ingeniería de Software «La función de un buen software es hacer que lo complejo aparente ser simple» Grady Booch
  • 3. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 3Dpto Académico de Informática CONTENIDO 1. Costo del Software 1.1 Costos ocultos y consecuencias por fallas de software - Fallas en sistemas de software - Sobrecostos, retrasos y cancelaciones en los sistemas de software 2. Costo del Software 2.1 La complejidad inherente al software 2.2 Complejidad del software 3. Desarrollo de Software Profesional - Ingeniería de software - Categorías del software - Desarrollo de productos de software
  • 4. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 4Dpto Académico de Informática CONTENIDO - Desarrollo de productos de software - Atributos esenciales de un sistema de software profesional - Software heredado - Evolución en el software heredado - Ética en la ingeniería de software Bibliografía Lecturas obligatorias
  • 5. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 5Dpto Académico de Informática ¿Cuánto le cuesta a la sociedad utilizar sistemas de software?  Costo directo (adquirir el software) Software empacado y software a la medida.  Costo indirecto (uso del software) Capacitación, instalación, soporte técnico, etc.  Costo oculto (fallas del software) Afecta principalmente a los sistemas de misión crítica.
  • 6. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 6Dpto Académico de Informática a) Consecuencias inmediatas y efectos directos Son los perjuicios ocasionados mientras dura la caída de los sistemas, por ejemplo, un sistema financiero de un banco, una falla puede significar ingresos que se dejan de percibir por transacciones perdidas y egresos que continúan a pesar de la interrupción en la operación.
  • 7. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 7Dpto Académico de Informática b) Consecuencias a mediano y largo plazo y efectos indirectos Son los perjuicios posteriores a la caída de los sistemas. Las consecuencias varían, desde la restauración de datos, propaganda negativa y pérdida de clientes, hasta posibles accidentes y juicios en contra. Estos costos adicionales pueden volver insignificantes los costos directos e indirectos del software.
  • 8. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 8Dpto Académico de Informática Dejar de utilizar software no es una alternativa aceptable, ya que los efectos negativos pueden ser aún mayores. Este es el caso de los sistemas de misión crítica, por ejemplo, una empresa que opera aviones y el software controla el funcionamiento correcto de éstos. «Cometer errores es humano, pero para estropear realmente las cosas necesitas un ordenador» Paul R. Ehrlich
  • 9. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 9Dpto Académico de Informática Explosión del cohete Ariane 5 (1996). Costo: 500 millones de dólares. Desastre: El cohete Ariane 5, se desvió de su trayectoria de vuelo después de su lanzamiento (40s). Fue destruido por el control remoto mediante una señal enviada por un computador del Ariene desde Tierra. Causa: Ocurrió cuando el sistema de guiado intentó convertir la velocidad lateral de la nave (conversión de un número flotante de 64 bits a un número entero de 16 bits), produciéndose un error de desbordamiento.
  • 10. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 10Dpto Académico de Informática Error del milenio Y2K (2000). Costo: Un billón de dólares. Desastre: Las compañías gastaron millones en programadores para arreglar un problema en las aplicaciones antiguas tales como tráfico aéreo, pagos de impuestos y seguridad social, banca, etc. Causa: Para ahorrar espacio de almacenamiento u otro problema, los sistemas antiguos solían guardar los años de las fechas como un número de dos dígitos, como «99» para «1999», al llegar el año 2000, las aplicaciones iban a interpretar «00» como 1900.
  • 11. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 11Dpto Académico de Informática Los costos ocultos no se restringen únicamente a fallas en el software, también pueden ocurrir durante su desarrollo. Estados en el Desarrollo de Sistemas de Software (Evaluación de 175 000 proyectos – 1994 – Standish Consulting Group)
  • 12. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 12Dpto Académico de Informática De acuerdo con varias encuestas hechas a diferentes compañías por Standish Consulting Group – 175 000 proyectos (1994), las tres razones más importantes para el éxito de un proyecto son: Clara Especificación De requerimientos Apoyo de la administración Participación Del usuario
  • 13. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 13Dpto Académico de Informática El desarrollo de software de dimensión industrial (controladores de tráfico aéreo o ferroviario, etc.) es sumamente difícil, la complejidad de tales sistemas excede la capacidad intelectual humana. Esa complejidad inherente puede dominarse, pero no eliminarse. Esta complejidad inherente, como dice Booch, se deriva de:
  • 14. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 14Dpto Académico de Informática • Gran cantidad de requisitos (se produce por una difícil interacción entre usuarios de un sistema y sus desarrolladores). • Los requisitos de un sistema software cambian durante su desarrollo. La complejidad del dominio del problema • El tamaño de una aplicación (Existen sistemas cuyo tamaño se mide en millones de líneas de código). Esta cantidad de trabajo requiere un equipo de desarrollo. La dificultad de gestionar el proceso de desarrollo • Un desarrollador puede expresar casi cualquier clase de abstracción. La flexibilidad que se puede alcanzar a través del software • En sistemas discretos todos los eventos externos pueden afectar a cualquier parte del estado interno del sistema. Los problemas que plantea la caracterización del comportamiento de sistemas discretos
  • 15. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 15Dpto Académico de Informática Weitzenfeld menciona, cuanto más grandes son los sistemas, mayor es su complejidad. Estos factores que causan esta complejidad son: Complejidad Del Problema •Cuanto mayor sea el número de requerimientos, mayor será el tamaño del sistema. Por tanto, más difíciles de comprender y desarrollar. •Para reducir la complejidad habría que reducir la funcionalidad que el sistema deba tener. Complejidad De La Solución •Tiene que ver con el diseño del sistema, el cual debe satisfacer la funcionalidad del problema. •Es importante reducir la otra fuente de complejidad: el de la solución.
  • 16. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 16Dpto Académico de Informática Factor estático es la funcionalidad que un sistema de software debe ofrecer al ser inicialmente desarrollado. Factor dinámico es la funcionalidad que varia con el tiempo (puede causar retrasos y cancelaciones de los proyectos). Es muy común que los requisitos de un sistema se modifiquen, incluso antes de completarlos y cuando un programa se modifica su complejidad aumenta. El incremento en la complejidad al momento de modificar o extender un sistema de software significa mayor número de fallas junto con retrasos y sobrecostos. (mantenimiento continuo). Otros factores:
  • 17. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 17Dpto Académico de Informática  El desarrollo de software es una actividad profesional, se realiza para propósitos de negocios específicos.  El software profesional, se lleva a cabo en general por equipos, en vez de individualmente.  Se mantiene y cambia a lo largo de su vida.  La Ingeniería de Software busca apoyar el desarrollo de software profesional.  La Ingeniería de Software tiene que ver con las teorías, métodos y herramientas para el desarrollo profesional de software.
  • 18. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 18Dpto Académico de Informática «Es una Disciplina de Ingeniería… • Los ingenieros hacen que las cosas funcionen. • Aplican teorías y herramientas. • Buscan soluciones a problemas. • Trabajan con restricciones económicas y organizacionales. … que comprende todos los aspectos de Producción de Software» • Procesos técnicos del desarrollo de software. • Gestión del proyecto de software. • Desarrollo de herramientas, métodos y teorías para apoyar la producción de software.
  • 19. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 19Dpto Académico de Informática Software De aplicación (para los negocios) Embebido (celular, horno microondas De sistemas (compiladores, editores, etc.) De Inteligencia Artificial De adquisición de datos (usan sensores) Científico y de Ingeniería (manufactura, si mulación, etc.) Basado en Web (Comercio electrónico)
  • 20. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 20Dpto Académico de Informática Los ingenieros de software están interesados por el desarrollo de productos de software (es decir software que pueda venderse a un cliente). Existen dos tipos de productos de software: Productos genéricos • Son sistemas independientes que se vende a cualquier cliente que desee comprarlo. Por ejemplo BD, procesadores de texto, sistemas de contabilidad, etc. Productos personalizados (o a la medida) • Son sistemas que están destinados para un cliente en particular. Por ejemplo sistemas para apoyar cierto proceso empresarial, dispositivos electrónicos, etc.
  • 21. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 21Dpto Académico de Informática •Facilidad de uso (interfaces amigables, documentación) •No malgastar los recursos del sistema (memoria, ciclos de procesador, etc.) •Fiabilidad, seguri dad y protección (no debe causar daños físicos ni económicos). •El software debe poder evolucionar para cumplir necesidades de cambio de los clientes. Mantenibilidad Confiabilidad Eficiencia Usabilidad
  • 22. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 22Dpto Académico de Informática «Los sistemas de software heredado… fueron desarrollados hace décadas y han sido modificados en forma continua para cumplir los requerimientos de los cambios en los negocios y en las plataformas de cómputo. La proliferación de dichos sistemas ha causado dolores de cabeza a las grandes organizaciones, las cuales los perciben como costosos en su mantenimiento y riesgosos en su evolución». Dayani-Fard. «Muchos sistemas heredados persisten como el soporte de las funciones centrales de negocios y son indispensables para las empresas». Liu y sus colegas.
  • 23. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 23Dpto Académico de Informática Evolución Software Heredado Debe adaptarseDebe mejorarse Debe extenderse Implementar nuevos requerimientos de los negocios. Satisfacer necesidades de los nuevos ambientes o nueva tecnología de cómputo. Debe rediseñarse Hacerlo viable Dentro de un Ambiente de Red. Hacerlo operable Con sistemas y bases de datos mas modernas.
  • 24. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 24Dpto Académico de Informática ETICA Respetar la confidencialidad de sus empleadores o clientes 1. Confidencialidad No desvirtuar su nivel de competencia 2. Competencia Proteger la propie- dad intelectual de empleadores y clientes 3. Derechos de propiedad No usar incorrectamente las PCs de otros individuos. 4. Mal uso de computadoras
  • 25. UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO – PERÚ - 2013 JAVIER DAVID CHÁVEZ CENTENO 29/07/2013 25Dpto Académico de Informática Bibliografía 1. Booch, G. (1996). Análisis y Diseño Orientado a Objetos. E.U.A.: Addison-Wesley. 2da. ed. cap. 1. 2. Pressman, R. (2005). Ingeniería del Software. México: McGraw-Hill. 6ta ed. cap. 1. 3. Sommerville, I. (2011). Ingeniería de Software. México: Pearson. 9na ed. cap. 1. 4. Weitzenfeld, A. (2004). Ingeniería de Software Orientada a Objetos con UML, Java e Internet, Cengage: Thomson. cap. 1. Lecturas obligatorias Mitos del Software [2]. pp. 14-16 Complejidad [1]. pp. 3-27 Costo y Complejidad del Software [4]. pp. 3-17