Date post: | 27-Nov-2015 |
Category: |
Documents |
Upload: | ana-luisa-ballinas-hernandez |
View: | 245 times |
Download: | 1 times |
Ingeniería de softwareM. C. Ana Luisa Ballinas Hernández
Maestría en Administración de Tecnologías de la Información
Ingeniería de Software Orientada a Objetos
2
Agenda del día Presentación de los participantes. Expectativas. Presentación del programa. Acuerdos.
Exposición teórica del profesor: conceptos básicos
Exposición práctica del profesor: Ejemplos prácticos sobre la aplicación
TAREA
1/02/2014
Ingeniería de Software Orientada a Objetos
3
Presentación Ana Luisa Ballinas Hernández
Maestría y Licenciatura en Ciencias de la Computación (Facultad de Ciencias de la Computación, BUAP, México)
Contacto: [email protected] Blog del curso: isuvp.blogspot.mx
1/02/2014
Ingeniería de Software Orientada a Objetos
4
Contenido del cursoObjetivo general: Aplicar la metodología de análisis y
diseño de software en el marco del paradigma de la orientación a objetos, elementos de ingeniería inversa, modelo cliente servidor, reutilización de software y desarrollo basado en componentes para definir las posibles soluciones a problemas concretos de las organizaciones.
1/02/2014
Ingeniería de Software Orientada a Objetos
5
Evaluación
Prácticas 40% Proyectos 60% Total: 100%
1/02/2014
Ingeniería de Software Orientada a Objetos
6
Bibliografía
KIMMEL, Paul. Manual de UML. McGraw Hill Interamericana, México, 2006.
MARTIN, Rober C. UML para programadores Java. Prentice Hall, España, 2004.
PRESSMAN, Roger. Ingeniería del software. (5ª Ed) McGraw Hill, España, 2002.
SCHACH, Stephen R. Análisis y diseño orientado a objetos: con UML y el proceso unificado. McGraw Hill Interamericana, México, 2005.
SOMMERVILLE, Ian. Ingeniería del software. (8ª Ed.) Pearson/Addison-Wesley, España, 2005.
1/02/2014
Ingeniería de Software Orientada a Objetos
7
Forma de trabajo El profesor expondrá aspectos teóricos y
prácticos de la materia.
El profesor dejará lecturas en casa y en el aula
El alumno desarrollará un proyecto de ingeniería de software siguiendo la metodología adecuada que sea de relevancia y novedoso
1/02/2014
Ingeniería de Software Orientada a Objetos
8Presentación del programa
1. Conceptos básicos.1. El software como producto y mercancía.2. El proceso de desarrollo de software.3. Proyectos de software.4. Métricas de proyectos.5. Planificación y mantenimiento.6. Sistemas de software.7. Modelado, análisis y diseño.
1/02/2014
Ingeniería de Software Orientada a Objetos
9
2. Análisis y diseño orientado a objetos
1. Conceptos de OO.2. Identificación de elementos en un modelo OO.3. Análisis OO.4. Análisis de dominio.5. Componentes genéricos.6. El proceso de AOO.7. Diseño OO.8. El proceso de diseño del sistema OO.9. Patrones de diseño.10.Programación OO.11.Pruebas AOO y DOO.12.Estrategias de prueba.13.Diseño de casos de prueba.14.Métodos de prueba de clases e interclases.15.Métricas OO.16.Desarrollo de un sistema OO.
1/02/2014
Ingeniería de Software Orientada a Objetos
10
3. Desarrollo basado en componentes – ISBC.
1. Conceptos básicos.2. Ingeniería del dominio.3. Desarrollo basado en componentes.4. Clasificación y recuperación de componentes.5. Costos de la ISBC.6. Desarrollo de un sistema basado en componentes.
1/02/2014
4. Modelo cliente/servidor (C/S).1. El modelo CS y sistemas distribuidos.2. Arquitectura en capas.3. Protocolos.4. Comercio electrónico.5. Diseño de sistemas distribuidos.6. Ingeniería de seguridad.7. Componentes para sistemas CS.8. Diseño de sistemas CS.9. Pruebas en sistemas CS.10.Desarrollo de un sistema CS.
Ingeniería de Software Orientada a Objetos
11
5. Ingeniería sobre el Web
1/02/2014
1. Atributos de aplicaciones basadas en Web.
2. El proceso de ingeniería Web (IWeb).3. Formulación y análisis de sistemas
basados en Web.4. Diseño de aplicaciones basadas en Web.5. Gestión de proyectos y sistemas Web.6. Desarrollo de un sistema Web.
Ingeniería de Software Orientada a Objetos
12
Reingeniería
1. Reingeniería de procesos.2. Reingeniería de software.3. Ingeniería inversa.4. Reestructuración.5. Ingeniería directa.
1/02/2014
El producto software (EOG tema2)
13
Definición de software. Para nosotros será el conjunto de
información: 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 informática. Parece impensable que los sistemas
informáticos dejasen de trabajar, ya que son soporte de muchos sistemas.
Ejemplos de sistemas básicos son: el sistema para el control de semáforos ciudad, medios de transporte aéreo, los bancos, los sistemas de producción (fabricas), hospitales,
etc..
El producto software (EOG tema2)
15
Desde la perspectiva histórica, ... todo esto a pesar de que la informática
es una ciencia muy joven (50 años) Los primeros años se centraron en la
construcción 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 informáticos.
El producto software (EOG tema2)
16
Además aun queda mucho por hacer. Empresas, de todo tipo, plantean
nuevos problemas a ser resueltos. Problemas inabordables hace unos años
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 difícil desarrollar Software? Es complicado explicar los motivos que hacen
tan difícil desarrollar Software. Lo cierto es que muchos proyectos de
desarrollo de software fracasan Centraremos el tema mediante:
Una estadística realizada sobre 8 proyectos de Software Estadounidenses.
Características del Software. Aplicaciones del Software.
El producto software (EOG tema2) 18
Estadística realizada sobre 8 proyectos de Software Estadounidenses.
Área: Sistemas de Defensa en Tiempo Real
0 0.5 1 1.5 2 2.5 3 3.5Millones de dolares
Pagado pero no entregado
Entregado pero no utilizado
abandonado o rechazado
Utilizado después de cambios
Utilizado como se entrego
El producto software (EOG tema2)
19
Características 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 están
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 pequeños cambios del entorno.
Además no es fácil comprender su comportamiento, según 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
Tiempo
Ind
ice
de
fallo
s
Defectos fabricación Estropeado
Obsolescencia
Curva de fallos del Hardware.
El producto software (EOG tema2)
22
Curva ideal de fallos del Software.
Tiempo
Ind
ice
de
fallo
s
Defectos fabricación
Mismo nivel hasta obsoleto
Obsolescencia
23
El producto software (EOG tema2)
Curva real de fallos del Software.
Tiempo
Ind
ice
de
fallo
s
Defectos fabricación
Curva ideal
Cambio Cambio Cambio
Curva
realObsolescencia
El producto software (EOG tema2)
24
Clasificación según la utilización del software:
De Gestión. Producción y control de procesos. Robótica. De ingeniería y Científico. Ofimático. de Formación y divulgación. Domótico. Ocio y Juegos.
Ingeniería de Software Orientada a Objetos
25
Ingeniería de software
1/02/2014
Es el estudio de los principios y metodologías
para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
Ingeniería de Software Orientada a Objetos
42
Software vs Sistema
1/02/2014
Conjunto de programas y procedimientos necesarios
para hacer posible la realización de una tarea
específica, en contraste a los componentes físicos del
sistema.
Un sistema de información es un conjunto de elementos que interactúan entre sí con el fin de apoyar las actividades de una empresa o negocio.