• No se han encontrado resultados

EVOLUCIÓN Y PRINCIPIOS DE LA INGENIERIA DEL SOFTWARE

N/A
N/A
Protected

Academic year: 2021

Share "EVOLUCIÓN Y PRINCIPIOS DE LA INGENIERIA DEL SOFTWARE"

Copied!
33
0
0

Texto completo

(1)

1 EVOLUCIÓN Y PRINCIPIOS EVOLUCIÓN Y PRINCIPIOS DE LA INGENIERIA DEL DE LA INGENIERIA DEL SOFTWARE SOFTWARE

(2)

Centro ISYS. Esc. Computación. UCV/2005 2

Contenido

Contenido

1. Evolución de la Ingeniería de Software

(3)

Centro ISYS. Esc. Computación. UCV/2005 3

Contexto : década 50

Contexto : década 50

Hardware: mainframes, cintas magnéticas. Costos altos

Lenguajes: ensambladores, Fortran

(4)

Centro ISYS. Esc. Computación. UCV/2005 4

Contexto : década 50

Contexto : década 50

(5)

Centro ISYS. Esc. Computación. UCV/2005 5

Evolución de la IS

Evolución de la IS

(década 50)(década 50)

Desarrollo de software = desarrollo de programas

Actividad individual

Desarrollador = usuario

Aplicaciones con distribución reducida Resolver problemas científicos y de ingeniería

(6)

Centro ISYS. Esc. Computación. UCV/2005 6

Contexto : década 60

Contexto : década 60

Hardware: mainframes comerciales,

almacenamiento en discos magnéticos, minicomputadores. Costos altos

Programación orientada a función Lenguajes: Cobol, PL/I, Simula 67

(7)

Centro ISYS. Esc. Computación. UCV/2005 7

La Burroughs 5500

(8)

Centro ISYS. Esc. Computación. UCV/2005 8

Evolución de la IS

Evolución de la IS

(década 60)(década 60)

Actividad de grupo

Desarrollador ‡ usuario

Desarrollo de software para mercadeo Resolver problemas complejos en

diferentes dominios, además de científicos y de ingeniería

(9)

Centro ISYS. Esc. Computación. UCV/2005 9

Contexto : década 70

Contexto : década 70

Hardware: mainframes, minicomputadores, microcomputadores, surgen los PC

Lenguajes: COBOL, PL/I, Pascal, Prolog Métodos: programación

estructurada,refinamiento paso a paso. Computación distribuida, Interfaces

(10)

Centro ISYS. Esc. Computación. UCV/2005 10

Evolución de la IS

Evolución de la IS

(década 70)(década 70)

Desarrollo de la tecnología Actividad de grupo

Desarrollador ‡ usuario

Desarrollo de software para mercadeo Diversidad del dominio de aplicaciones Programación orientada a módulos

(11)

Centro ISYS. Esc. Computación. UCV/2005 11

Commodore CBM 3032

(12)

Centro ISYS. Esc. Computación. UCV/2005 12

¿Qué ocurre en la década 70?

¿Qué ocurre en la década 70?

Crisis del software

!!

(13)

Centro ISYS. Esc. Computación. UCV/2005 13

Evolución: década de los 80

Evolución: década de los 80

primera mitad – segunda mitad

Hardware: computadores personales, primeras estaciones de trabajo, redes locales Lenguajes: C, Ada Paradigma de programación: programación estructurada, modular Herramientas interactivas, interfaces gráficas (GUI)

Hardware: Aumento

considerable de la venta y uso de computadores

personales, estaciones de trabajo, redes locales y globales, Internet, arquitecturas avanzadas Lenguajes: C++, Standard ML Paradigma de programación: irrumpe la programación OO Computación cliente-servidor

(14)

Centro ISYS. Esc. Computación. UCV/2005 14

Evolución de la IS

Evolución de la IS

(década 80)(década 80)

El usuario se incorpora al proceso de desarrollo de software

Relevancia de las interfaces de usuario Aumento exponencial del número y tipo de usuarios

Demanda creciente de aplicaciones

Resolver problemas en todos los dominios Inicio de las aplicaciones basadas en la tecnología Internet .

(15)

Centro ISYS. Esc. Computación. UCV/2005 15

Contexto : década 90

Contexto : década 90

Hardware: masificación del uso de los computadores personales, arquitecturas paralelas, multimedia

Redes de computadoras (LAN, WAN..)

Lenguajes: Orientados a objetos, visuales (Java, VisualC++, HTML,..)

Paradigma de programación: OO, patrones y framework

Crecimiento de Internet y el Web .

(16)

Centro ISYS. Esc. Computación. UCV/2005 16

Evolución de la IS

Evolución de la IS

(década 90)(década 90)

Los productos se insertan en la globalización

El ciberespacio introduce nuevos tipos de aplicaciones: comercio electrónico,

educación a distancia,... Ambientes colaborativos

El Web como infraestructura de las aplicaciones corporativas (Intranets) .

(17)

Centro ISYS. Esc. Computación. UCV/2005 17

Contexto : nuevo milenio

Contexto : nuevo milenio

Hardware: dispositivos moviles, computación ubicua

Redes de computadoras (inalambricas..) Paradigma de programación: modelos basados en componentes

Crecimiento de Internet y la Web .

(18)

Centro ISYS. Esc. Computación. UCV/2005 18

Factores que influyen en los

Factores que influyen en los

cambios en IS

cambios en IS

Costos Tiempo de desarrollo

Redes de Computadores Tecnologías

Emergentes

Masificación y variedad de los

microcomputadores y accesorios Interfaces de usuario.

Software libre

(19)

Centro ISYS. Esc. Computación. UCV/2005 19

Principios en la IS

Contenido

Contenido

GHEZZI, C., JAZAYERI, M., MANDRIOLI, D. "Fundamentals of Software Engineering". Prentice-Hall International Editions. 2da ed. Nov. 2002

(20)

Centro ISYS. Esc. Computación. UCV/2005 20

Principios en la IS

Principios en la IS

Los principios forman la base de métodos, técnicas, metodologías y herramientas

Seis principios que pueden ser usados en todas las fases del desarrollo de

software

Modularidad es el principio clave que soporta el diseño del software

(21)

Centro ISYS. Esc. Computación. UCV/2005 21

Una representación visual

Una representación visual

Principles Methodologies principios métodos y técnicas metodologías herramientas

(22)

Centro ISYS. Esc. Computación. UCV/2005 22

Principios en la IS

Principios en la IS

1. Rigor y formalidad 2. Abstracción 3. Modularidad 4. Anticipación al cambio 5. Generalidad 6. Incrementalidad.

(23)

Centro ISYS. Esc. Computación. UCV/2005 23

Principios: Rigor y

Principios: Rigor y

Formalidad

Formalidad

Significa ...

seguir procesos sistemáticos y verificables en el proceso de desarrollo de software

IMPLICACIONES:

La formalidad es la base de automatización de procesosPrincipio esencial para

(24)

Centro ISYS. Esc. Computación. UCV/2005 24

Principios: Abstracción

Principios: Abstracción

Significa...

Aplicar un proceso mental o intelectual que permite identificar lo relevante e ignorar los detalles

IMPLICACIONES:

percepción del qué/cómo (la separación de intereses )

percepción del todo/partes

(25)

Centro ISYS. Esc. Computación. UCV/2005 25

Principios. Modularidad

Principios. Modularidad

Un sistema complejo puede ser dividido en piezas más simples llamadas módulos

Un sistema que está conformado por módulos se dice que es modular

(26)

Centro ISYS. Esc. Computación. UCV/2005 26

Principios: Modularidad

Principios: Modularidad

Alta Cohesión del módulo

(el módulo es una unidad significativa)

Bajo Acoplamiento entre módulos (mínimas interacciones entre ellos)

(27)

Centro ISYS. Esc. Computación. UCV/2005 27

Una representación visual

Una representación visual

(a) (b)

(28)

Centro ISYS. Esc. Computación. UCV/2005 28

Una representación visual

Una representación visual

(a) (b)

(29)

Centro ISYS. Esc. Computación. UCV/2005 29

Principios: Modularidad

Principios: Modularidad

permite:

descomponer en partes un sistema complejo (descomposición)

componer el sistema a partir de sus partes

(composición)

Comprender el sistema y las partes

(30)

Centro ISYS. Esc. Computación. UCV/2005 30 Descomposición Descomposición análisis análisis -Problema Subprob. 4 Subprob. 2 Subprob. 1 Subprob. 3 solución. 4 solución. 2 Solución. 1 solución. 3 Solución Composición síntesis

(31)

-Centro ISYS. Esc. Computación. UCV/2005 31

Principios:

Principios:

Anticipación al cambio

Anticipación al cambio

Significa:

La capacidad de prever cómo y dónde pueden ocurrir los cambios

La aplicación de este principio es altamente apreciado en la etapa de mantenimientoEs un principio relevante para el desarrollo de componentes reusables

(32)

Centro ISYS. Esc. Computación. UCV/2005 32

Principios: Generalidad

Principios: Generalidad

Significa:

buscar la solución más amplia (que englobe los casos específicos)

Busca la solución más amplia para problemas específicos

La solución general puede ser menos eficiente o más costosa

Principio importante para desarrollar productos

(33)

Centro ISYS. Esc. Computación. UCV/2005 33

Principios: Incrementalidad

Principios: Incrementalidad

Significa:

Construcción del producto por

aproximaciones sucesivas y/o por componentes (partes)

Desarrollo de prototipos para

los componentes críticos

Útil para desarrollo de

aplicaciones no precisas, donde no están bien definidos los

Referencias

Documento similar

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés

Se especifica y describen los lenguajes de programación, gestor de base datos y otras herramientas de trabajo que son necesarias para el desarrollo del Subsistema Ayuda, así

Se tienen en cuenta la política de migración hacia el software libre en el ámbito nacional, las aplicaciones de los generadores de informes en los SCADA, los lenguajes de

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Se concluye que la eficiencia energética de los computadores personales para la misma carga de trabajo es comparable a la de los computadores más potentes, lo que significa que,

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

• “SistemaDeCaptación.bas”: Este módulo ya presenta una complejidad adicional a los anteriores, si bien se ha utilizado también una sección de declaración de variables

La gráfica inferior es la diferencia entren el tiempo de finalización de la tarea y el de inicia, esta gráfica representa el periodo de la tarea, que como