You are on page 1of 41

UNT.

INGENIERIA INDUSTRIAL

Ingeniera de Software

Ing. Francisco Rodrguez Novoa

TEMA 1

INTRODUCCION A LA INGENIERIA DE SOFTWARE

Agenda
1. Que es software? 2. Evolucin histrica del software 3. Tipos de producto software 4. Definicin de Ingeniera de Software. 5. Crisis del software 6. Malas prcticas de desarrollo y mantenim. 7. Principios de la ISW 8. Atributos de Calidad del SW 9. Ciclo de vida del software 10.Industria del Software en el Per

1. Qu es Software (SW) ?
Conjunto de programas que proporcionan una funcin y un rendimiento esperados. Conjunto de estructuras de datos que permiten a los programas manipular adecuadamente la informacin. (Datos de configuracin) Conjunto de documentos que describen el funcionamiento del SI (Documentacin
Genricos: Productos de uso genrico (procesadores, bases de datos, etc.). A medida: Productos especficos para un cliente

particular (manual de usuario).

1. Qu es Software (SW) ?

1. Qu es Software. Caractersticas
No tiene forma fsica. Se desarrolla, no se fabrica. Los costes del Sw son de INGENIERA. No de fabricacin. El Sw no se rompe, se deteriora. La complejidad del mantenimiento del Sw es mucho ms grande que la del Hw.

Si el Hw se rompe se cambia por otro y listo. (Hay piezas de recambio). Si el Sw se deteriora, con cada cambio que se realiza se deteriore an ms. (No hay piezas de recambio).

2. Qu es Software. Caractersticas
No se estropea, pero se degrada:
Curva de baera para fallos del Hw. Curva ideal de fallos del Sw. Curva real de fallos del Sw.

Se construye a medida

Reusabilidad

2. Evolucin Histrica del Desarrollo de Sw

2. Evolucin Histrica del Desarrollo de Sw

3. Tipos de productos software (i)


Un producto software es un sistema software que se acompaa de la documentacin necesaria para su instalacin y uso Tipos de mercados Productos genricos

Productos personalizados

Sistemas autnomos producidos por una organizacin para su venta en el mercado abierto a cualquier cliente que pueda adquirirlo El desarrollador controla la especificacin

Sistemas encargados por un cliente particular Desarrollos a medida Las especificaciones las determina el cliente

3. Tipos de productos software (ii)


reas de aplicacin [Pressman, 2010] (i) Software de sistemas

Software para dar servicio a otros programas: compiladores, editores...

Software aplicacin

Fuerte interaccin con el hardware Uso intensivo por parte de usuarios mltiples. Recursos compartidos Ejm: componentes de sistemas operativos, software de redes, procesadores de telecomunicaciones

Programas aislados que resuelven una necesidad especfica de negocios. Las aplicaciones en esta rea procesan datos comerciales o tcnicos en una forma que facilita las operaciones de negocios o la toma de decisiones administrativas o tcnicas. Adems se usa para controlar funciones de negocios en tiempo real (por ejemplo
procesamiento de transacciones en punto de venta, control de procesos de manufactura en tiempo real etc)

3. Tipos de productos software (iii)


reas de aplicacin [Pressman, 2010] (ii) Software de ingeniera y cientfico
Algoritmos de tratamiento numrico: simulacin, estadstica, CAD... Diseo de algoritmos y estructuras de datos Clculo intensivo Las aplicaciones van de la astronoma a la vulcanologa, del anlisis de tensiones en automviles a la dinmica orbital del transbordador espacial y de la biologa molecular a la manufactura automatizada.

Software incrustado

Reside dentro de un producto o sistema y se usa para implementar y controlar caractersticas y funciones para el usuario final y para el sistema en si. (por ejemplo control del
tablero de un horno microondas, funciones digitales en un automvil)

3. Tipos de productos software (iv)


reas de aplicacin [Pressman, 2010] (iii) Software de lnea de productos
Es diseado para proporcionar una capacidad especfica para uso de muchos consumidores diferentes . El software de lnea de productos se centra en algn mercado limitado y particular (por ejemplo, control de inventario de productos) o se dirige a mercados masivos de consumidores (procesamiento de textos, hojas de clculo, entretenimiento, administracin de base de datos y aplicaciones para finanzas personales o de negocios)
Llamadas webapps, agrupa una amplia gama de aplicaciones. En su forma mas sencilla, las webapps son poco mas que un conjunto de archivos hipertexto vinculados que presentan informacin con uso de texto y grficas limitadas. Sin embargo desde que surgi las web 2.0, las webapps estn evolucionando integrndose con base de datos corporativas y aplicaciones de negocio.

Aplicaciones Web

3. Tipos de productos software (v)


reas de aplicacin [Pressman, 2010] (iv)
Software de Inteligencia Artificial Hace uso de algoritmos no numricos para resolver problemas complejos que no son fciles de tratar computacionalmente o con anlisis directo. Las aplicaciones en esta rea incluyen robtica, sistemas expertos, reconocimiento de patrones (imagen y voz), redes neuronales artificiales, demostracin de teoremas y juegos.

4. Qu es Ingeniera de Software?
La Ingeniera del Software es la disciplina de ingeniera encargada de todos los aspectos relacionados con la produccin de software desde sus etapas ms tempranas de la especificacin del sistema hasta el mantenimiento del sistema tras su puesta en marcha. - Ingeniera del Software Ian Sommerville

4. Qu es Ingeniera del Software?


Conjunto de mtodos, tcnicas y herramientas que controlan el proceso integral del desarrollo de software y suministra las bases para construir software de calidad de forma eficiente en los plazos adecuados.

16

4. Qu es Ingeniera del Software?


Disciplina de ingeniera
Los ingenieros de software usan las herramientas,

mtodos y teoras para solucionar los problemas que aparecen. Incluso teniendo en cuenta restricciones econmicas y de organizacin. Produccin de software
Planificacin de proyectos. Administracin de proyectos software. Procesos tcnicos de desarrollo de software. Direccin de proyectos.

17

Por qu surgi la Ingeniera SW


Para superar la crisis del software y terminar con los mitos del software hasta ahora existentes. Para acabar con las malas prcticas de

desarrollo y mantenimiento de software


llevadas a cabo por las empresas. Crear software de calidad

18

5. Crisis del Software


Conjunto de problemas que afectan al desarrollo y mantenimiento del software derivado de los mitos y malas prcticas. Las consecuencias son:
Baja Calidad del Software. Tiempo y Presupuesto Excedido. Confiabilidad Cuestionable. Altos requerimientos del personal para el

desarrollo y el mantenimiento

19

6. Malas prcticas de desarrollo y mantenimiento


Planificacin y estimaciones imprecisas:
No se recopilan datos de proyectos pasados.

Se invierte ms dinero en mantenimiento que en formacin de los ingenieros en las nuevas tecnologas de desarrollo. No se documenta lo suficiente. Se pasa directamente a la codificacin

20

6. Malas prcticas de desarrollo y mantenimiento


Procesos software improvisados. No se siguen rigurosamente las especificaciones. No se hace planificacin de riesgos. Se resuelven crisis inmediatas. Se apagan fuegos. Se sacrifica funcionalidad y calidad del producto para cumplir plazos. No se planifica debidamente. No se realizan pruebas, verificaciones o revisiones del Sw.

21

6. Malas prcticas de desarrollo y mantenimiento


Sntomas: Baja calidad del software desarrollado. Alto grado de desconfianza e insatisfaccin en el cliente. Empresas inmaduras -> En fase artesanal.
Se exceden en los plazos y presupuestos previstos.

90% de los proyectos no consiguen los objetivos

propuestos.
40% fracasan completamente. 29% nunca se entregan.

22

Qu propone la IS? Ser ingenieros


Artesano Para ello se debe:
Aplicar mtodos, tcnicas y herramientas de

Ingeniero

desarrollo. Adoptar estndares de desarrollo.


Utilizar la experiencia acumulada. Documentacin.

23

Qu propone la IS? Ser ingenieros


Qu conseguimos adoptando estndares de desarrollo?
Mejorar el proceso. Reduccin de costes. Reduccin del tiempo de desarrollo. Reduccin de riesgos.

Mejora de la calidad del producto.


Proteccin del cliente. Proteccin de la organizacin. Aumenta su

competitividad.

24

7. Algunos Principios de la Ing. del SW


Entregar el producto al cliente cuanto antes Determinar el problema antes de escribir especificaciones Minimizar la distancia intelectual Evaluar las alternativas de diseo La tcnica es ms importante que las herramientas Hazlo bien antes de hacerlo rpido

Inspeccionar el cdigo

25

7. Algunos Principios de la Ing. del SW


El personal es la clave del xito Un diseo sin documentacin, NO es un diseo El cdigo difcil de leer es difcil de mantener La encapsulacin crea Sw fcil de probar y

mantener. Divide y vencers.


No probar tu propio Sw. Los desarrolladores no debe probar el Sw que han generado.

26

8. Atributos de Calidad del software


Mantenible.
Construido y documentado para permitir cambios.

Fiable.
Debe hacer lo que se espera de l, no debe fallar ms a menudo de lo que se acord en la

especificacin. Eficiente.
No debe hacer uso innecesario de recursos.

Usable.
Interfaz de usuario adecuada

27

9. Qu es el Ciclo de Vida del SW?


Es una sucesin de etapas por las que pasa el software en su desarrollo, desde que se concibe la idea hasta que el software deja de utilizarse. Cada etapa lleva asociada una serie de actividades y tareas que se deben realizar, y una serie de documentos que sern la salida de cada una de estas fases y que servirn de entrada a la fase siguiente.

9. Qu es el Ciclo de Vida del SW?

Segn la norma ISO/IEC Standard 12207:2008: Software life-Cycle processes propuesta por la ISO (International Organization for Standardization):
Es un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, explotacin y mantenimiento de un producto software, abarcando la vida del sistema desde la definicin de requisitos hasta que se deja de utilizar

9. Qu es el Ciclo de Vida del SW?


Qu es un proceso? Un proceso es un conjunto de actividades que se suceden siguiendo una ordenacin temporal determinada Qu es una actividad? Una actividad es un conjunto de tareas Qu es una tarea? Una accin que transforma unas entradas en unas salidas

9. Qu es el Ciclo de Vida del SW?


Fases genricas en el ciclo de vida del SW: Fase de definicin. Tareas:
Ingeniera de sistemas Planificacin del proyecto del SW Anlisis de los requisitos

Fase de desarrollo. Tareas:


Diseo del SW Generacin de cdigo Prueba del SW

Fase de mantenimiento. Cambios:


Correccin Adaptacin Mejora Prevencin

10. Industria del Software en el Per


Una de las industrias que tiene inmensas oportunidades es la del software, cuyo mercado mundial asciende a los $ 1,500 billones. El Per es un actor que tiene significativas ventajas para obtener parte del consumo internacional, ya que cuenta con un activo en capital humano (30,000 programadores) y con la presencia de aproximadamente 300 empresas (90% pequeas y microempresas), que en su mayora no superan una dcada de funcionamiento.

10. Industria del Software en el Per


Sector de las Tecnologas de Informacin cada vez cobra mas importancia, por ser:

10. Industria del Software en el Per


Pases latinoamericanos han tomado la iniciativa de apoyar sus industrias informticas, considerndolas sector de inters nacional En nuestro pas, la industria del software tiene un expectante potencial de crecimiento:
Da empleo directo e indirecto altamente calificado a ms de 6000 peruanos.

Pese a lo comentado, la industria informtica dista an de estar consolidada. La informalidad es un cncer para nuestra actividad porque disipa el esfuerzo de las empresas formales, comenta Amau. Se reclama una poltica gubernamental para incentivar la formalizacin del sector, que acelere el desarrollo de los centros informticos

10. Industria del Software en el Per

Ao

Ventas (millones de dlares)


160 171 182 205 225 313

Incremento

Exportacin (millones de dlares)


16 18 22 28 36 60

2008 2009 2010 2011 2012 2015

7.0 6.4 12.6 9.8 39.11

10. Industria del Software en el Per


Productos software para: Sector salud Sector bancario Sector construccin Sector gobierno Sector educativo. Soluciones ERPs para pymes Antivirus

Las limitaciones del sector de TI


Las principales limitaciones para el desarrollo del sector son: Carencia de fuentes de financiamiento para proyectos tecnolgicos. Insuficiente infraestructura tecnolgica (hardware y conexiones a costo internacional) Presencia real y significativa de la piratera del software. Segn BSA es de 61%.

Es necesario implementar polticas de fomento para el sector tecnolgico!

Planes de la ind. del sw para los prx 5 aos


Programa BID de apoyo a la industria de software: Sostenibilidad de la Capacitacin en CMMi, Ing de Software, laboratorio de testeado, estudios, eventos, etc. Fomento a las exportaciones de software. Esquema descentralizado de capacitacin especializada (provincias componente importante) Centro de arbitraje tecnolgico. Centro de incubacin de empresas de base tecnolgica. Certificacin de competencias laborales IT-CARD.

Temas Exposicin de Ingeniera de Sw


Tecnologa Orientada a Objetos. Proceso de Software. Modelos Prescriptivos del Proceso: Modelo en Cascada / Modelos Incrementales / Modelos Evolutivos Administracin de Proyectos Software. (Personal, Producto, Proceso, Proyecto) Estimacin para proyectos software Administracin del Riesgo. Conceptos de Calidad de software Ingeniera Web.

Web del curso

http://untingsw.weebly.com

FIN

You might also like