Sunteți pe pagina 1din 42

Maestra en Administracin de Tecnologas de la Informacin

Ingeniera de software
M. C. Ana Luisa Ballinas Hernndez

1/02/2014

Agenda del da
Presentacin de los participantes. Expectativas. Presentacin del programa. Acuerdos. Exposicin

terica del profesor: conceptos bsicos Exposicin prctica del profesor: Ejemplos prcticos sobre la aplicacin TAREA
Ingeniera de Software Orientada a Objetos

1/02/2014

Presentacin
Ana

Luisa Ballinas Hernndez

Maestra

y Licenciatura en Ciencias de la Computacin (Facultad de Ciencias de la Computacin, BUAP, Mxico)

Contacto:

anage3@hotmail.com Blog del curso: isuvp.blogspot.mx


Ingeniera de Software Orientada a Objetos

1/02/2014

Contenido del curso


Objetivo general: Aplicar la metodologa de anlisis y diseo de software en el marco del paradigma de la orientacin a objetos, elementos de ingeniera inversa, modelo cliente servidor, reutilizacin de software y desarrollo basado en componentes para definir las posibles soluciones a problemas concretos de las organizaciones.
Ingeniera de Software Orientada a Objetos

1/02/2014

Evaluacin
Prcticas Proyectos

Total:

40% 60% 100%

Ingeniera de Software Orientada a Objetos

1/02/2014

Bibliografa
KIMMEL, Paul. Manual de UML. McGraw Hill Interamericana, Mxico, 2006. MARTIN, Rober C. UML para programadores Java. Prentice Hall, Espaa, 2004. PRESSMAN, Roger. Ingeniera del software. (5 Ed) McGraw Hill, Espaa, 2002. SCHACH, Stephen R. Anlisis y diseo orientado a objetos: con UML y el proceso unificado. McGraw Hill Interamericana, Mxico, 2005. SOMMERVILLE, Ian. Ingeniera del software. (8 Ed.) Pearson/Addison-Wesley, Espaa, 2005.
Ingeniera de Software Orientada a Objetos

1/02/2014

Forma de trabajo

El profesor expondr aspectos tericos y prcticos de la materia. El profesor dejar lecturas en casa y en el aula El alumno desarrollar un proyecto de ingeniera de software siguiendo la metodologa adecuada que sea de relevancia y novedoso
Ingeniera de Software Orientada a Objetos

1/02/2014

Presentacin del programa


1. Conceptos bsicos.
1. 2. 3. 4. 5. 6. 7. El software como producto y mercanca. El proceso de desarrollo de software. Proyectos de software. Mtricas de proyectos. Planificacin y mantenimiento. Sistemas de software. Modelado, anlisis y diseo.

Ingeniera de Software Orientada a Objetos

1/02/2014

2. Anlisis y diseo orientado a objetos


1. Conceptos de OO. 2. Identificacin de elementos en un modelo OO. 3. Anlisis OO. 4. Anlisis de dominio. 5. Componentes genricos. 6. El proceso de AOO. 7. Diseo OO. 8. El proceso de diseo del sistema OO. 9. Patrones de diseo. 10.Programacin OO. 11.Pruebas AOO y DOO. 12.Estrategias de prueba. 13.Diseo de casos de prueba. 14.Mtodos de prueba de clases e interclases. 15.Mtricas OO. 16.Desarrollo de un sistema OO.

Ingeniera de Software Orientada a Objetos

10

1/02/2014

3. Desarrollo basado en componentes ISBC.


1. Conceptos bsicos. 2. Ingeniera del dominio. 3. Desarrollo basado en componentes. 4. Clasificacin y recuperacin de componentes. 5. Costos de la ISBC. 6. Desarrollo de un sistema basado en componentes. Modelo cliente/servidor (C/S). 1. El modelo CS y sistemas distribuidos. 2. Arquitectura en capas. 3. Protocolos. 4. Comercio electrnico. 5. Diseo de sistemas distribuidos. 6. Ingeniera de seguridad. 7. Componentes para sistemas CS. 8. Diseo de sistemas CS. 9. Pruebas en sistemas CS. 10. Desarrollo de un sistema CS.
Ingeniera de Software Orientada a Objetos

4.

11

1/02/2014

5. Ingeniera sobre el Web


1. Atributos de aplicaciones basadas en Web. 2. El proceso de ingeniera Web (IWeb). 3. Formulacin y anlisis de sistemas basados en Web. 4. Diseo de aplicaciones basadas en Web. 5. Gestin de proyectos y sistemas Web. 6. Desarrollo de un sistema Web.

Ingeniera de Software Orientada a Objetos

12

1/02/2014

Reingeniera
1. 2. 3. 4. 5. Reingeniera de procesos. Reingeniera de software. Ingeniera inversa. Reestructuracin. Ingeniera directa.

Ingeniera de Software Orientada a Objetos

13

Definicin de software.
Para

nosotros ser el conjunto de informacin:


capaz de producir en las maquinas el comportamiento deseado, de forma eficaz y eficiente, que los usuarios puedan utilizar el sistema de forma eficiente. Al que los desarrolladores puedan dar mantenimiento de forma eficaz y eficiente.
El producto software (EOG tema2)

14

La importancia del Software.


Nuestra

sociedad depende en gran medida de la informtica.


Parece impensable que los sistemas informticos dejasen de trabajar, ya que son soporte de muchos sistemas. Ejemplos de sistemas bsicos son:
el

sistema para el control de semforos ciudad, medios de transporte areo, los bancos, los sistemas de produccin (fabricas), hospitales, etc..

El producto software (EOG tema2)

15

Desde la perspectiva histrica, ...


todo

esto a pesar de que la informtica es una ciencia muy joven (50 aos)
Los primeros aos se centraron en la construccin de maquinas capaces de dar soporte a estos sistemas. En la actualidad la el Software ha superado a la del Hardware como clave del xito de muchos sistemas informticos.

El producto software (EOG tema2)

16

Adems aun queda mucho por hacer.


Empresas,

de todo tipo, plantean nuevos problemas a ser resueltos.


Problemas inabordables hace unos aos por el coste de las computadoras, Por otra parte la ciencia sigue evolucionando, con lo que problemas mas sofisticados pueden ser abordados

El producto software (EOG tema2)

17

Porque es difcil desarrollar Software?


Es

complicado explicar los motivos que hacen tan difcil desarrollar Software. Lo cierto es que muchos proyectos de desarrollo de software fracasan Centraremos el tema mediante:

Una estadstica realizada sobre 8 proyectos de Software Estadounidenses. Caractersticas del Software. Aplicaciones del Software.

El producto software (EOG tema2)

Estadstica realizada sobre 8 proyectos de Software Estadounidenses.


rea: Sistemas de Defensa en Tiempo Real
Pagado pero no entregado Entregado pero no utilizado abandonado o rechazado Utilizado despus de cambios Utilizado como se entrego

0.5

1.5

2.5

3.5

Millones de dolares
El producto software (EOG tema2) 18

19

Caractersticas del Software.


Es

inmaterial e invisible El comprador lo puede evaluar cuando ya ha sido construido. El Software se desarrolla, no se fabrica. Es complejo. Los sistemas actuales estn formados por miles de funciones con interfaces complejas entre ellas. Es excesivamente maleable.

El producto software (EOG tema2)

20

El software es excesivamente maleable.


Todo

el mundo exige que se realicen cambios sobre el Software como respuesta a pequeos cambios del entorno. Adems no es fcil comprender su comportamiento, segn Pressman:

La curva de fallos del Hardware. La curva ideal de fallos del Software. La curva real de fallos del Software.

El producto software (EOG tema2)

21

Curva de fallos del Hardware.


Defectos fabricacin
Indice de fallos Estropeado

Obsolescencia

Tiempo

El producto software (EOG tema2)

22

Curva ideal de fallos del Software.


Defectos fabricacin
Indice de fallos

Obsolescencia

Mismo nivel hasta obsoleto

Tiempo

El producto software (EOG tema2)

23

Curva real de fallos del Software.


Defectos fabricacin
Cambio Indice de fallos Cambio Cambio

Obsolescencia Curva ideal Tiempo


El producto software (EOG tema2)

24

Clasificacin segn la utilizacin del software:


De

Gestin. Produccin y control de procesos. Robtica. De ingeniera y Cientfico. Ofimtico. de Formacin y divulgacin. Domtico. Ocio y Juegos.
El producto software (EOG tema2)

25

1/02/2014

Ingeniera de software
Es el estudio de los principios y metodologas para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)

Ingeniera de Software Orientada a Objetos

26

1/02/2014

Ingeniera de Software Orientada a Objetos

27

1/02/2014

Ingeniera de Software Orientada a Objetos

28

1/02/2014

Ingeniera de Software Orientada a Objetos

29

1/02/2014

Modelo de la ingeniera de software

Ingeniera de Software Orientada a Objetos

30

1/02/2014

Ingeniera de Software Orientada a Objetos

31

1/02/2014

Proceso de desarrollo de software

Ingeniera de Software Orientada a Objetos

32

1/02/2014

Modelo en espiral

Ingeniera de Software Orientada a Objetos

33

1/02/2014

Realizar prctica 1

Ingeniera de Software Orientada a Objetos

34

1/02/2014

El modelado

Ingeniera de Software Orientada a Objetos

35

1/02/2014

Divisin del producto

Ingeniera de Software Orientada a Objetos

36

1/02/2014

Divisin del proceso

Ingeniera de Software Orientada a Objetos

37

1/02/2014

Ingeniera de Software Orientada a Objetos

38

1/02/2014

Ingeniera de Software Orientada a Objetos

39

1/02/2014

Mtodos orientados a objetos UML

Ingeniera de Software Orientada a Objetos

40

1/02/2014

Elementos importantes

Ingeniera de Software Orientada a Objetos

41

1/02/2014

Un traje

Ingeniera de Software Orientada a Objetos

42

1/02/2014

Software vs Sistema
Conjunto de programas y procedimientos necesarios para hacer posible la realizacin de una tarea especfica, en contraste a los componentes fsicos del sistema.

Un sistema de informacin es un conjunto de elementos que interactan entre s con el fin de apoyar las actividades de una empresa o negocio.

Ingeniera de Software Orientada a Objetos