63
Tema 1 Introducción a la Ingeniería del Software Ingeniería del Software I [email protected]

IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

Tema 1Introducción a la Ingeniería del Software

Ingeniería del Software I

[email protected]

Page 2: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Índice

Introducción

La complejidad inherente del software

Algunos principios de la ingeniería del software

Sistemas de Información

Page 3: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Ingeniería?

Page 4: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Ingeniería?

Es el conjunto de conocimientos y técnicas científicas aplicadas a la invención, perfeccionamiento y utilización de la técnica industrial para la resolución u optimización de problemas

Page 5: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es ser Ingeniero?

Saber realizar de diseños y soluciones tecnológicas a necesidades sociales, industriales o económicas

Saber identificar y comprender los obstáculos más importantes para poder realizar un buen diseño (limitaciones físicas o técnicas, de coste, de flexibilidad, estéticas y comerciales)

Saber utilizar el conocimiento de la ciencia y la experienciaapropiada para encontrar las mejores soluciones a los problemas concretos

Page 6: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Software?

Page 7: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Software?

Conjunto de programas que proporcionan una función y un rendimiento esperados

Conjunto de estructuras de datos que permiten a los programas manipular adecuadamente la información

Conjunto de documentos que describen el funcionamiento del SI (Sistema de Información).

Tipos: ◦ Genéricos: Productos de uso genérico (procesadores, bases

de datos, etc.)

◦ A medida: Productos específicos para un cliente particular

Page 8: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Software?

Características:

No tiene forma física

Se desarrolla, no se fabrica

Los costes del SW son de ingeniería. No de fabricación

El SW no se rompe, se deteriora.

La complejidad del mantenimiento del SW es mucho más 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 aún más No hay piezas de recambio

Page 9: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Ingeniería del Software?

Definición:

“La Ingeniería del Software es la disciplina de ingeniería encargada de todos los aspectos relacionados con la producción de software desde sus etapas más tempranas de la especificación del sistema, hasta el mantenimiento del sistema tras su puesta en marcha” Ingeniería del Software – Ian Sommerville

Page 10: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Ingeniería del Software?

Disciplina de ingeniería◦ Los ingenieros de software usan las métodos,

herramientas, procedimientos y paradigmas para solucionar los problemas que aparecen

◦ Incluso teniendo en cuenta restricciones económicas y de organización

Producción de software◦ Planificación de proyectos

◦ Administración de proyectos software

◦ Procesos técnicos de desarrollo de software

◦ Dirección de proyectos

Page 11: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción¿Qué es Ingeniería del Software?

Proceso Software: procedimiento formal para producir algún resultado.

2 minutos5 minutos

Page 12: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción¿Qué es Ingeniería del Software?

Herramienta: instrumento para realizar algo de mejor manera.

Page 13: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Qué es Ingeniería del Software?

Paradigma: Representa una filosofía para la construcción de software

Cocina mexicana:

Cocina mediterránea:

Cocina japonesa:

Page 14: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción ¿Quién hace Ingeniería del Software?

Desarrollador

Cliente

Usuario

Necesidades, dinero

Obligación

contractual

Necesidades

Sistema de

software

Patrocina el

desarrollo

del sistema

Usa el

sistema

Construye el

sistema

Page 15: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción¿Por qué surge la Ing. del Software?

Para superar la crisis del software y terminar con los mitos del software hasta ahora existentes

Para acabar con las malas prácticas de desarrollo y mantenimiento de software llevadas a cabo por las empresas

Crear software de calidad

Page 16: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción Crisis del Software

Dificultad en escribir programas libres de defectos, fácilmente comprensibles, y que sean verificables(Dijkstra – 1968)

Causas:Los proyectos no terminaban en plazoLos proyectos no se ajustaban al presupuesto inicialSoftware que no cumplía las especificacionesCódigo inmantenible que dificultaba la gestión y evolución del proyecto

Consecuencias:Baja Calidad del SoftwareTiempo y Presupuesto ExcedidoConfiabilidad CuestionableAltos requerimientos del personal para el desarrollo y el mantenimiento

Page 17: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción Crisis del Software

Diferencia entre error defecto y fallo.

Error humanoDefecto

(bug)

Puede llevar a

Fallo

Puede llevar a

Page 18: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

“La empresa ya dispone de unos estándares de trabajo y unos procedimientos de desarrollo establecidos y son

conocidos por todos nuestros empleados”

En realidad muchas empresas no disponen de estándares ni procedimientos de trabajo y si los disponen, éstos son incompletos, no utilizan prácticas modernas de desarrollo, no todo el personal los conoce y nadie controla que éstos se apliquen.

Realidad

Mito

Introducción Mitos del SW – Sobre la gestión

Page 19: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

“El equipo de trabajo dispone de las más modernas herramientas de desarrollo y trabaja con las

máquinas más potentes”

No sirve de nada trabajar con las mejores máquinas o utilizar las herramientas más modernas si el equipo no tiene los conocimientos necesarios para utilizarlas eficazmente (cursos de formación, soporte profesional externo…)

Realidad

Mito

IntroducciónMitos del SW – Sobre la gestión

Page 20: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

“Por qué hacer una planificación exhaustiva, si cometemos algún error, siempre podemos añadir

gente”

Añadir gente nueva en un proyecto que está atrasado, lo hace atrasar aún más. Los nuevos integrantes deben integrarse, recibir formación y aprender la manera de comunicarse en el grupo.

Realidad

Mito

Introducción Mitos del SW – Sobre la gestión

Page 21: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Realidad

Mito

“Una declaración general de los objetivos es suficiente para comenzar a escribir los programas, podemos dar

los detalles más adelante”

Una mala definición inicial es la principal causa del trabajo inútil en software. Es esencial una descripción formal y detallada del ámbito de la información. Es necesaria una exhaustiva comunicación entre el cliente y el analista.

Introducción Mitos del SW – Sobre el cliente

Page 22: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Realidad

Mito

“Los requisitos del proyecto cambian continuamente, pero los cambios pueden acomodarse fácilmente ya

que el software es flexible”

Es verdad que los requisitos del software cambian, pero el impacto del cambio varia según en el momento que se presenten (Definición: Bajo Impacto / Desarrollo: Alto Impacto / Después de la entrega: Crítico Impacto)

Introducción Mitos del SW – Sobre el cliente

Page 23: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Realidad

Mito

“No es necesaria ninguna metodología, cuanto antes empecemos a programar, antes acabaremos”

Cuando más pronto se comience a escribir código, más se tardará

en terminarlo. Entre el 50% y el 70% de todo el esfuerzo dedicado

a un programa se realizará después de que se la haya entregado al

cliente por primera vez.

Introducción Mitos del SW – Sobre desarrolladores

Page 24: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Realidad

Mito

“Lo único que realmente importa, cuando se termina un proyecto, es que la aplicación funcione. La

documentación nadie la utiliza”

La documentación es la base de un desarrollo y, lo que es más

importante, proporciona guías para la tarea de mantenimiento del

software.

Introducción Mitos del SW – Sobre desarrolladores

Page 25: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

IntroducciónMalas prácticas de desarrollo y mantenimiento

Planificación y estimaciones imprecisas:

No se recopilan datos de proyectos pasados.

Se invierte más dinero en mantenimiento que en formación de los ingenieros en las nuevas tecnologías de desarrollo.

No se documenta lo suficiente.

Se pasa directamente a la codificación.

Page 26: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

IntroducciónMalas prácticas de desarrollo y mantenimiento

Procesos software improvisadosNo se siguen rigurosamente las especificaciones

No se hace planificación 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

Page 27: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

IntroducciónMalas prácticas de desarrollo y mantenimiento

Síntomas:

Baja calidad del software desarrollado

Alto grado de desconfianza e insatisfacción 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

Page 28: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción¿Qué propone la IS? ¡ser Ingenieros!

Artesano Ingeniero

Para ello se debe:

Aplicar métodos, técnicas y herramientas de desarrollo

Adoptar estándares de desarrollo

Utilizar la experiencia acumulada

Documentación

Page 29: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción¿Qué propone la IS? ¡usar Estándares!

¿Qué conseguimos adoptando estándares de desarrollo?

Mejorar el proceso:

Reducción de costes

Reducción del tiempo de desarrollo

Reducción de riesgos

Mejora de la calidad del producto

Protección del cliente

Protección de la organización Aumenta su competitividad

Page 30: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Índice

Introducción

La complejidad inherente del software

Algunos principios de la ingeniería del software

Sistemas de Información

Page 31: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Complejidad del SW

¿Por qué es complejo el Software?Brooks (1987): “La complejidad del Software es una propiedad esencial y no accidental” Complejidad accidental: se debe a la manera en que

intentamos solucionar el problema

Complejidad esencial: es inherente al problema en sí mismo

Tres motivos:La complejidad del dominio del problema

La dificultad de controlar el proceso de desarrollo

Los problemas para caracterizar sistemas discretos

Page 32: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Complejidad del SW

Page 33: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Complejidad del SWComplejidad del dominio del problema

Los problemas del mundo real son complejos (miles de requisitos compitiendo y quizás contradictorios)

Se añaden requerimientos no funcionales: eficiencia, coste, fiabilidad, robustez...

Diferente perspectiva del mismo problema entre los usuarios y los desarrolladores

Modificación de los requisitos / Inserción de nuevos requisitos

¡Los requisitos cambian durante el desarrollo!

Page 34: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Complejidad del SWDificultad de controlar el proceso de desarrollo

Surgen incidencias

Algunas previstas y otras no

Miles de líneas de código

Intentar la reutilización

Surgen diferentes versiones del producto

Disminuir la complejidad mediante el “divide y vencerás”

División en módulos

Aún así, la creación de muchos módulos puede ser inmanejable

Page 35: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Complejidad del SWDificultad de controlar el proceso de desarrollo

Page 36: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Introducción “Divide y vencerás”

ProblemaSub I

Sub 4

Sub 2

Sub 3

Solución 3Solución 1 Solución 2 Solución 4

Solución total

Page 37: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Complejidad del SWProblemas para caracterizar sistemas discretos

La ejecución de un programa es una transición entre estados de un sistema discreto

Variables

Flujos de control estado del sistema/programa

Eventos externos

Cada evento externo puede cambiar el estado del sistema, pero ¿se trata de un estado válido?

Necesidad de pruebas Complejo, costoso y en ocasiones imposible que sean exhaustivas (cubrir todos los casos posibles)

Page 38: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Índice

Introducción

La complejidad inherente del software

Algunos principios de la ingeniería del software

Sistemas de Información

Page 39: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

1. Entregar el producto al cliente cuanto antes

Se debe dedicar esfuerzo en la captura de las necesidades del cliente Captura de Requisitos

Involucrar al cliente en el proceso de desarrollo Uso de Prototipos

Respetar los plazos acordados con el cliente. Quedará satisfecho

Page 40: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

2. Determinar el problema antes de escribir especificaciones

Elegir la solución que mejor se adapte a las necesidades del cliente

Analizar todas las posibles soluciones. Costes, esfuerzo, etc.

No dar soluciones precipitadas. Explorar todas las alternativas

Page 41: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

3. Minimizar la distancia intelectual

Distancia intelectual: “distancia entre el problema del mundo real y la solución computerizada del problema” (Dijkstra)

Cuanto menor sea la distancia intelectual, más mantenible será el software.

La estructura del SW debería ser cercana a la estructura del mundo real

Page 42: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

4. Evaluar las alternativas de diseño

Una vez establecidos los requisitos, ¿qué arquitecturas o algoritmos elegir?

Según por el diseño que optemos tendremos:

Unos tiempos de respuesta u otros

Más portabilidad

Mayor seguridad

Page 43: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

5. La técnica es más importante que las herramientas

Un ingeniero software indisciplinado con una potente herramienta se puede convertir en un ingeniero peligroso

Antes de seguir una herramienta, se debe comprender y seguir una técnica apropiada

= PELIGRO+

Page 44: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

6. Hazlo bien antes de hacerlo rápido

Es más fácil hacer que un programa que funciona bien sea más rápido, que hacer que un programa rápido que funciona mal funcione bien.

No preocuparse en optimizar en la fase inicial.

Page 45: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

7. La inspección de código es mejor que la ejecución

La inspección de código:

Permite descubrir el 82% de los errores

Consume cerca del 15% de los recursos disponibles para el desarrollo

Reduce los costes de desarrollo entre un 25% y un 30%

Reduce el tiempo de pruebas entre un 50% y un 90%

Page 46: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

8. El personal es la clave del éxitoPersonal cualificado con herramientas insuficientes se puede llegar al éxitoPersonal NO cualificado con las más potentes herramientas, NO llegamos al éxito

Importante trabajar en equipoTodo el personal debe conocer los estándares de trabajoAlguien debe controlar la aplicación de estos estándaresDeberá haber una persona encargada de mantenerlos, adaptarlos y ampliarlos

El equipo debe recibir cursos de formación

Page 47: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

9. Un diseño sin documentación, NO es un diseño

Los ingenieros de SW no competentes suelen decir: “Ya he terminado el diseño, sólo falta la documentación”.

¿Os imagináis a un arquitecto que diga: “ el diseño del nuevo edificio ya está listo, sólo faltan los planos”?

Se debe ir documentando durante todo el proceso de desarrollo

Page 48: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Algunos principios de IS

10. El código difícil de leer es difícil de mantener.

11. La encapsulación crea SW fácil de probar y mantener “Divide y vencerás”

12. No probar tu propio SW. Los desarrolladores no deben probar el SW que han generado

13. La entropía de los sistemas aumenta. Cuanto más se modifica y crece un sistema SW, más complejo y desorganizado se vuelve

Page 49: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Índice

Introducción

La complejidad inherente del software

Algunos principios de la ingeniería del software

Sistemas de Información

Page 50: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

¿Qué es un Sistema?

Es un conjunto de dos o más elementos interrelacionados que satisfacen las 3 propiedades siguientes:

Cada elemento tiene influencia sobre el conjunto. No podemos quitar ningunoEl comportamiento de cada elemento depende de los otros elementos del conjuntoNo hay un elemento aislable dentro del sistema

La complejidad es una función que depende de:Nº elementosNº de relaciones entre elementos

Page 51: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Ejemplos de SistemasSistema operativo

Page 52: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Ejemplos de SistemasSistema de transporte

Page 53: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Ejemplos de SistemasSistema planetario

Page 54: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

¿Qué es un Sistema?Tipos

NaturalesFísicos: Estelares: sistema solar Geológicos: sistema ibérico. Biológicos: sistema nervioso.

Vivientes: Animales: manadas.

Creados por el hombre:Sociales: leyes, costumbres.De transporte: redes viales, líneas aéreas.De comunicación: Internet, teléfono, lengua.Financieros: Contabilidades, personal.

Page 55: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

5656

Controla su actuación en función de cómo las salidas cumplen los objetivos marcados.

Se adecua dinámicamente a las condiciones del entorno.

El control del sistema se puede realizar mediante mecanismos internos (sistemas autorregulados), del entorno o por ambos.

¿Qué es un sistema dinámico?

Page 56: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

5757

ENTRADAENTRADA SALIDASALIDAPROCESADOR

CONTROLADOR

datos información

señalesestímulos

estímulos

realimentación

ENTRADAENTRADA SALIDASALIDAPROCESADORPROCESADOR

CONTROLADORCONTROLADOR

datos información

señalesestímulos

estímulos

realimentación

¿Qué es un sistema dinámico?

Page 57: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

¿Qué son los Datos?

Son los registros de los hechos, los acontecimientos o las transacciones

Son la materia prima para obtener la información

Son series de números, de caracteres que por si solos no quieren decir nada

Page 58: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

¿Qué es Información?

Son los datos procesados de tal forma que resultan útiles o significativos en un cierto contexto.

Según el proceso y según el contexto, la información puede resultar diferente

Page 59: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

¿Qué es un Sistema de Información?

Es un conjunto formal de procesos que operando sobre una colección de datos estructurados, según las necesidades de la empresa, recopilan, elaboran y distribuyen la información necesaria para las operaciones de esta empresa, y para las actividades de dirección y control correspondientes. De esta manera, la empresa puede llevar a cabo su actividad según su estrategia de negocio. (Andreu et al., 1991)

Page 60: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Elementos a tener en cuenta en un Sistema de Información

Procedimientos de trabajo.

La información: es la parte principal del sistema.

Las personas o usuarios: son los que tratan la información.

El equipo de soporte, para la comunicación, el procesamiento y el almacenaje de la información La parte física y tangible (HW, papel, servidores, soportes digitales…)

Page 61: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

6262

Conceptos del Sistema de Información

Toda organización necesita, para su funcionamiento, un conjunto de informaciones que se han de transmitir entre sus elementos desde y hacia el exterior del sistema.

Una parte de esta comunicación que se realiza por medio de contactos interpersonales entre los empleados, es el sistema de información informal.

Cuando se trata de organismos complejos, este tipo de flujo de información es insuficiente y costoso, por lo que se hace necesario un sistema de información formal u organizacional.

Page 62: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

6363

Un Sistema de Información toma datos del entorno y devuelve como resultado la información que la organización requiere para su gestión y toma de decisiones.

La organización debe marcar objetivos y directrices que permitan regular al SI.

Se denomina Sistema Objeto a la parte de la organización de la cual se nutre el SI y a la cual revierten sus resultados.

Los SI son sistemas eminentemente artificiales y dinámicos .

Un SI es un subsistema de los varios que integran la organización.

Conceptos del Sistema de Información

Page 63: IS-LADE: Introducción a la IS · 2011-09-20 · Ingeniería del Software I –2011/2012 Introducción ¿Qué es Software? Conjunto de programas que proporcionan una función y un

www.kybele.etsii.urjc.es Ingeniería del Software I – 2011/2012

Validación

de datos

Introducción El software como sistema

Importante conocer los límites de nuestro sistema (nuestro proyecto).

Base de datosSistema bancario

Nuestro sistemaTerminal

CálculosValidación

de fechas