Anda di halaman 1dari 25

M.Sc. Javier David Chvez Centeno DEPARTAMENTO ACADMICO DE INFORMTICA jdchavez5@hotmail.

com CUSCO PER 2013

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

Introduccin a la Ingeniera de Software


La funcin de un buen software es hacer que lo complejo aparente ser simple Grady Booch
2

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 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

Dpto Acadmico de Informtica

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 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

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 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

Dpto Acadmico de Informtica

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 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

JAVIER DAVID CHVEZ CENTENO

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

JAVIER DAVID CHVEZ CENTENO

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

Dpto Acadmico de Informtica

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

Explosin del cohete Ariane 5 (1996). Costo: 500 millones de dlares.

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

Dpto Acadmico de Informtica

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

Error del milenio Y2K (2000). Costo: Un billn de dlares.

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

Dpto Acadmico de Informtica

10

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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)

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

11

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

Clara Especificacin De requerimientos

Participacin Del usuario

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

12

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

Dpto Acadmico de Informtica

13

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

La complejidad del dominio del problema


Gran cantidad de requisitos (se produce por una difcil interaccin entre usuarios de un sistema y sus desarrolladores). Los requisitos de un sistema software cambian durante su desarrollo.

La dificultad de gestionar el proceso de desarrollo


El tamao de una aplicacin (Existen sistemas cuyo tamao se mide en millones de lneas de cdigo). Esta cantidad de trabajo requiere un equipo de desarrollo.

La flexibilidad que se puede alcanzar a travs del software


Un desarrollador puede expresar casi cualquier clase de abstraccin.

Los problemas que plantea la caracterizacin del comportamiento de sistemas discretos


En sistemas discretos todos los eventos externos pueden afectar a cualquier parte del estado interno del sistema.
JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

14

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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 Del Problema

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.

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

15

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

Dpto Acadmico de Informtica

16

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

Dpto Acadmico de Informtica

17

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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.

que comprende todos

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.

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

18

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

De aplicacin Basado en Web (Comercio electrnico) (para los negocios)

Embebido (celular, horno microondas

Cientfico y de Ingeniera (manufactura, simulacin, etc.)

Software

De sistemas (compiladores, editores, etc.)

De adquisicin de datos (usan sensores)

De

Inteligencia
Artificial
20/09/2013 Dpto Acadmico de Informtica

JAVIER DAVID CHVEZ CENTENO

19

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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.

Productos personalizados (o a la medida)


Son sistemas que estn destinados para un cliente en particular. Por ejemplo sistemas para apoyar cierto proceso empresarial, dispositivos electrnicos, etc.

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

20

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

El software debe poder evolucionar para cumplir necesidades de cambio de los clientes.

Fiabilidad, seguridad y proteccin (no debe causar daos fsicos ni econmicos).

Mantenibilidad

Confiabilidad

Eficiencia
No malgastar los recursos del sistema (memoria, ciclos de procesador, etc.)

Usabilidad
Facilidad de uso (interfaces amigables, documentacin)

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

21

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

Dpto Acadmico de Informtica

22

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

Implementar nuevos requerimientos de los negocios.

Satisfacer necesidades de los nuevos ambientes o nueva tecnologa de cmputo.

Debe mejorarse

Evolucin Software Heredado

Debe adaptarse

Hacerlo operable Con sistemas y bases de datos mas modernas.

Hacerlo viable Dentro de un Ambiente de Red.

Debe extenderse
JAVIER DAVID CHVEZ CENTENO

Debe redisearse
20/09/2013 Dpto Acadmico de Informtica

23

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

1. Confidencialidad

Respetar la confidencialidad de sus empleadores o clientes No desvirtuar su nivel de competencia Proteger la propiedad intelectual de empleadores y clientes

2. Competencia 3. Derechos de propiedad 4. Mal uso de computadoras

No usar incorrectamente las PCs de otros individuos.

JAVIER DAVID CHVEZ CENTENO

20/09/2013

Dpto Acadmico de Informtica

24

UNIVERSIDAD DE SAN ANTONIO ABAD DEL CUSCO PER - 2013

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

Dpto Acadmico de Informtica

25

Anda mungkin juga menyukai