20/09/2013
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 - Ingeniera de software - Categoras del software - Desarrollo de productos de software
JAVIER DAVID CHVEZ CENTENO
20/09/2013
CONTENIDO
- Desarrollo de productos de software - Atributos esenciales de un sistema de software profesional - Software heredado - Evolucin en el software heredado - tica en la ingeniera de software Bibliografa Lecturas obligatorias
20/09/2013
Cunto 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) Capacitacin, instalacin, soporte tcnico, etc. Costo oculto (fallas del software) Afecta principalmente a los sistemas de misin crtica.
JAVIER DAVID CHVEZ CENTENO
20/09/2013
a)
Consecuencias inmediatas y efectos directos Son los perjuicios ocasionados mientras dura la cada 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 continan a pesar de la interrupcin en la operacin.
20/09/2013 Dpto Acadmico de Informtica
b)
Consecuencias a mediano y largo plazo y efectos indirectos Son los perjuicios posteriores a la cada de los sistemas. Las consecuencias varan, desde la restauracin de datos, propaganda negativa y prdida de clientes, hasta posibles accidentes y juicios en contra. Estos costos adicionales pueden volver insignificantes los costos directos e indirectos del software.
20/09/2013 Dpto Acadmico de Informtica
Dejar de utilizar software no es una alternativa aceptable, ya que los efectos negativos pueden ser an mayores.
Este es el caso de los sistemas de misin crtica, 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
JAVIER DAVID CHVEZ CENTENO
20/09/2013
Desastre: El cohete Ariane 5, se desvi de su trayectoria de vuelo despus de su lanzamiento (40s). Fue destruido por el control remoto mediante una seal enviada por un computador del Ariene desde Tierra. Causa: Ocurri cuando el sistema de guiado intent convertir la velocidad lateral de la nave (conversin de un nmero flotante de 64 bits a un nmero entero de 16 bits), producindose un error de desbordamiento.
JAVIER DAVID CHVEZ CENTENO
20/09/2013
Desastre: Las compaas gastaron millones en programadores para arreglar un problema en las aplicaciones antiguas tales como trfico areo, pagos de impuestos y seguridad social, banca, etc. Causa: Para ahorrar espacio de almacenamiento u otro problema, los sistemas antiguos solan guardar los aos de las fechas como un nmero de dos dgitos, como 99 para 1999, al llegar el ao 2000, las aplicaciones iban a interpretar 00 como 1900.
JAVIER DAVID CHVEZ CENTENO
20/09/2013
10
Los costos ocultos no se restringen nicamente a fallas en el software, tambin pueden ocurrir durante su desarrollo.
Estados en el Desarrollo de Sistemas de Software
(Evaluacin de 175 000 proyectos 1994 Standish Consulting Group)
20/09/2013
11
De acuerdo con varias encuestas hechas a diferentes compaas por Standish Consulting Group 175 000 proyectos (1994), las tres razones ms importantes para el xito de un proyecto son:
Apoyo de la administracin
20/09/2013
12
El desarrollo de software de dimensin industrial (controladores de trfico areo o ferroviario, etc.) es sumamente difcil, 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:
JAVIER DAVID CHVEZ CENTENO
20/09/2013
13
20/09/2013
14
Weitzenfeld menciona, cuanto ms grandes son los sistemas, mayor es su complejidad. Estos factores que causan esta complejidad son:
Cuanto mayor sea el nmero de requerimientos, mayor ser el tamao del sistema. Por tanto, ms difciles de comprender y desarrollar. Para reducir la complejidad habra que reducir la funcionalidad que el sistema deba tener.
Complejidad
De La Solucin
Tiene que ver con el diseo del sistema, el cual debe satisfacer la funcionalidad del problema. Es importante reducir la otra fuente de complejidad: el de la solucin.
20/09/2013
15
Otros factores:
Factor esttico es la funcionalidad que un sistema de software debe ofrecer al ser inicialmente desarrollado. Factor dinmico es la funcionalidad que varia con el tiempo (puede causar retrasos y cancelaciones de los proyectos). Es muy comn 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 nmero de fallas junto con retrasos y sobrecostos. (mantenimiento continuo).
JAVIER DAVID CHVEZ CENTENO
20/09/2013
16
El desarrollo de software es una actividad profesional, se realiza para propsitos de negocios especficos. 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 Ingeniera de Software busca apoyar el desarrollo de software profesional. La Ingeniera de Software tiene que ver con las teoras, mtodos y herramientas para el desarrollo profesional de software.
JAVIER DAVID CHVEZ CENTENO
20/09/2013
17
Es una
Disciplina de Ingeniera
Los ingenieros hacen que las cosas funcionen. Aplican teoras y herramientas. Buscan soluciones a problemas. Trabajan con restricciones econmicas y organizacionales.
los aspectos de
Produccin de Software
Procesos tcnicos del desarrollo de software. Gestin del proyecto de software. Desarrollo de herramientas, mtodos y teoras para apoyar la produccin de software.
20/09/2013
18
Software
De
Inteligencia
Artificial
20/09/2013 Dpto Acadmico de Informtica
19
Los ingenieros de software estn 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 genricos
Son sistemas independientes que se vende a cualquier cliente que desee comprarlo. Por ejemplo BD, procesadores de texto, sistemas de contabilidad, etc.
20/09/2013
20
El software debe poder evolucionar para cumplir necesidades de cambio de los clientes.
Mantenibilidad
Confiabilidad
Eficiencia
No malgastar los recursos del sistema (memoria, ciclos de procesador, etc.)
Usabilidad
Facilidad de uso (interfaces amigables, documentacin)
20/09/2013
21
Los sistemas de software heredado fueron desarrollados hace dcadas y han sido modificados en forma continua para cumplir los requerimientos de los cambios en los negocios y en las plataformas de cmputo. La proliferacin 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 evolucin. 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.
JAVIER DAVID CHVEZ CENTENO
20/09/2013
22
Debe mejorarse
Debe adaptarse
Debe extenderse
JAVIER DAVID CHVEZ CENTENO
Debe redisearse
20/09/2013 Dpto Acadmico de Informtica
23
1. Confidencialidad
Respetar la confidencialidad de sus empleadores o clientes No desvirtuar su nivel de competencia Proteger la propiedad intelectual de empleadores y clientes
20/09/2013
24
Bibliografa
1. Booch, G. (1996). Anlisis y Diseo Orientado a Objetos. E.U.A.: Addison-Wesley. 2da. ed. cap. 1. 2. Pressman, R. (2005). Ingeniera del Software. Mxico: McGraw-Hill. 6ta ed. cap. 1. 3. Sommerville, I. (2011). Ingeniera de Software. Mxico: Pearson. 9na ed. cap. 1. 4. Weitzenfeld, A. (2004). Ingeniera de Software Orientada a Objetos con UML, Java e Internet, Cengage: Thomson. cap. 1.
Mitos del Software [2]. pp. 14-16 Complejidad [1]. pp. 3-27 Costo y Complejidad del Software [4]. pp. 3-17
JAVIER DAVID CHVEZ CENTENO
Lecturas obligatorias
20/09/2013
25