cambios en ingeniería de software · pdf file•mantenimiento de aplicaciones batch...
TRANSCRIPT
![Page 1: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/1.jpg)
Cambios en Ingeniería de Software
Material tomado del artículo de Casallas Rubby, Villalobos, Jorge.
“El actual ingeniero de Software”. Revista ACIS.
Edición Nº 93 Julio - Septiembre de 2005. Preparado por Gilberto Pedraza García
![Page 2: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/2.jpg)
Agenda
• Los cuatro ejes de la ingeniería de software
• Tecnologías
• Procesos
• Arquitecturas
• Metodologías
![Page 3: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/3.jpg)
Los cuatro ejes de la ingeniería de software actual
![Page 4: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/4.jpg)
Desarrollo de software hoy en día
![Page 5: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/5.jpg)
Ejes de la Ing. de Software
procesos Arquitectura
Tecnología Metodología
Herramientas
Jorge Villalobos. Rubby Casallas Uniandes
![Page 6: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/6.jpg)
TECNOLOGIAS
![Page 7: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/7.jpg)
Tecnologías (1)
• Conjunto de lenguajes, modelos, protocolos que permiten materializar un producto de software
• Ingeniería de la construcción
![Page 8: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/8.jpg)
Perspectiva tecnológica
![Page 9: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/9.jpg)
ERA BATCH (1)
• 60’s a 70’s
• Recolección manual de datos
• Necesidad de aumentar la productividad
• Explotar el poder de cálculo reduciendo el tiempo de procesamiento
• Pocas personas relacionadas con los negocios
• Automatización de procesos manuales de negocio
– Contabilidad
– Inventarios
– Nómina
– Compras
![Page 10: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/10.jpg)
ERA BATCH (2)
• Aplicaciones asociadas con simples departamentos
• Múltiples islas de datos
• Datos duplicados en diversas aplicaciones
• Mantenimiento se hace difícil en la medida que el
negocio crece.
– Más ordenamientos y actualizaciones
![Page 11: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/11.jpg)
Era Terminal – Host (1)
• Años 70´s
– Terminales
– Bases de datos
– Terminales
– Discos de almacenamiento
![Page 12: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/12.jpg)
Era Terminal – Host (2)
• Integración de datos – Evitar duplicación de datos – Problemas de dependencia
• Independencia de datos – Problemas de fragilidad de aplicaciones
• Tecnologías de procesamiento de transacciones y comunicaciones
• Visión de acceso en línea a datos corporativos – Nuevos programas pueden ser usados vía terminal en línea
![Page 13: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/13.jpg)
Era Terminal – Host (3)
• Acceso en línea a la información
– Aplicaciones batch se vuelven a escribir
– Grandes presupuestos de datos
– Los departamentos de IT se vuelven una ventaja competitiva
– Nuevas habilidades en desarrolladores
![Page 14: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/14.jpg)
Era Terminal – Host (4)
• Integración elemental de bases de datos
• La organización no es el centro de atención para modelar los datos – Aplicaciones con diferentes modelos de datos y
arquitecturas
• Mantenimiento de aplicaciones batch es costosa
• No hay facilidades de integración
• Crecientes expectativas de los usuarios
![Page 15: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/15.jpg)
Era de los computadores personales (1)
• Cambio de visión acerca de los negocios
• Nueva perspectiva de las tecnologías de información
• Aplicaciones o paquetes de software de oficina
• Interacción: nueva expectativa del usuario
• Nueva distribución de las tecnologías de información en las organizaciones
![Page 16: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/16.jpg)
Era de los computadores personales (2)
• Integración de información
• Conectividad
• Conectividad
• Crecimiento de la demanda de software
![Page 17: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/17.jpg)
Computación distribuida
• Cambio de paradigma en uso del computador: de la máquina de computo a la máquina para comunicar
• Tecnologías cliente servidor
• Paquetes de software
• Outsourcing
• Integración de aplicaciones
![Page 18: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/18.jpg)
Computación distribuida
![Page 19: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/19.jpg)
Computación distribuida
![Page 20: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/20.jpg)
Requerimientos
• Distribución
• Interoperabilidad
• Transaccionalidad
• Tolerancia a fallas
• Integración de procesos de negocio
![Page 21: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/21.jpg)
Tecnologías web
![Page 22: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/22.jpg)
Antes de Internet
![Page 23: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/23.jpg)
Tecnologías Web
![Page 24: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/24.jpg)
Tecnologías Web
![Page 25: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/25.jpg)
Requerimientos
• Escalabilidad
• Disponibilidad
• Seguridad
• Alto desempeño
• Grande volúmenes de datos y transacciones
• Crecimiento y complejidad de aplicaciones
• Integración de procesos de negocio
![Page 26: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/26.jpg)
Tecnología (2)
• Java • J2EE • JDBC • JNDI • Servlets • JSP • JMS • EJB
Bases de datos
PHP
BPEL
Ajax
Portlets
Pushlets
UML
XML
HTTP
SOAP
Perl
XMI
![Page 27: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/27.jpg)
Tecnología (3)
• RMI
• CORBA
• Web Services
• Aspect J
C++
C#
.NET
ASP
Fortran
COBOL
BASIC
![Page 28: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/28.jpg)
PROCESOS
![Page 29: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/29.jpg)
Procesos
• Conjunto de actividades tanto técnicas como administrativas, que son necesarias para la creación de un sistema de software – Manejo de requerimientos – Administración de configuración – Planeación y seguimiento de proyectos
• Subcontratación • Métricas • Verificación y validación
– Administración de riesgos – Testing – Integración de áreas de negocio
Jorge Villalobos. Uniandes
![Page 30: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/30.jpg)
Evolución desde perspectiva de los procesos
![Page 31: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/31.jpg)
Modelos de calidad
• Están las funciones requeridas disponibles en el software?
– Funcionalidad
• Qué tan confiable es el software?
– Confiabilidad
• Es el software fácil de usar?
– Usabilidad
• Qué tan eficiente es el software?
– Eficiencia
• Qué tan fácil es modificar el software?
– Mantenibilidad
• Qué tan fácil es llevar el software a otro ambiente?
– Portabilidad
![Page 32: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/32.jpg)
Los procesos de software
• Manejo de requerimientos
• Manejo de configuraciones
• Planeación y seguimiento de proyectos
• Gestión de métricas
• Verificación y validación
• Administración de riesgos
• Pruebas
• Integración con áreas de negocio
![Page 33: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/33.jpg)
Arquitectura
![Page 34: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/34.jpg)
Cómo llegamos a la arquitectura?
![Page 35: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/35.jpg)
Perspectiva de la arquitectura
• Definir la estructura o la forma
• Actividades de transformación de elementos
• Toda aplicación tiene su arquitectura
• No es solo tecnología
• Técnicas de composición
• Características propias de los elementos que estructuran la solución
![Page 36: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/36.jpg)
Nuevas propiedades
• Localización
• Aislamiento
• Flexibilidad
• Reutilización
• Evolución
• Enseñabilidad
![Page 37: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/37.jpg)
Elementos estructuradores
• Funciones
• Objetos
• Componentes
• Contenedores
• Servicios
• Aspectos
• Modelos
![Page 38: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/38.jpg)
Arquitecturas (1)
• Conjunto de elementos que van a definir las características estructurales del producto de software que se quiere construir
• Ingeniería estructural
![Page 39: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/39.jpg)
Arquitecturas (2)
• Componentes
• Contenedores
• Servicios
• Aspectos
• Modelos
• Arquitecturas basadas en servicios
• Bases de eventos
• Bases de servicios
• Orquestación
• Arquitecturas multicapa
• Adaptadores
• Plugins
ADLs
Middleware de mensajería
Middleware de objetos
![Page 40: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/40.jpg)
Arquitecturas (3)
• Objetos
• Funciones
• Módulos
• Composición
• Coordinación
• Herencia
• Sincronización
![Page 41: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/41.jpg)
METODOLOGIAS
![Page 42: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/42.jpg)
Metodología (1)
• Conjunto de técnicas, guías, métricas, estrategias, consejos, buenas práctica, que facilitan la realización de las distintas tareas definidas en el proceso
• El proceso establece la estructura básica de las tareas
![Page 43: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/43.jpg)
Metodologías
• Guían de manera flexible y adaptable cada proyecto
– Patrones de diseño
• Experiencia y habilidad del ingeniero
• No son algoritmos
• No garantizan resultados
• Cada ingeniero puede usar técnicas que considere adecuadas
• Las técnicas dependen del problema
![Page 44: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/44.jpg)
Evolución histórica
• Desarrollo estructurado
• Desarrollo orientado por objetos
• Desarrollo orientado por componentes
• Desarrollo orientado por aspectos
• Desarrollo orientado por servicios
![Page 45: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/45.jpg)
Metodología (2)
• Análisis estructurado
• Diseño estructurado
• Diseño de interfaces
• Diseño de sitios WEB
Análisis orientado por objetos
Diseño orientado por objetos
Técnicas para entrevistar clientes
Técnicas para validar requerimientos
Patrones de diseño
Patrones de asignación de responsabilidades
Estilos de arquitecturas
Diseño de algoritmos
Diseño de bases de datos
Complejidad de algoritmos
![Page 46: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/46.jpg)
Dependencias
• Un buen diseñador debe conocer acerca de las tecnologías
• El diseñador debe involucrar la Arquitectura
• Las metodologías apoyan el proceso
• El líder del proyecto domina los ejes
• El arquitecto conoce las tecnologías
• No es suficiente conocer de tecnologías para ser un buen arquitecto.
![Page 47: Cambios en Ingeniería de Software · PDF file•Mantenimiento de aplicaciones batch es costosa ... –Planeación y seguimiento de proyectos •Subcontratación •Métricas •Verificación](https://reader034.vdocuments.pub/reader034/viewer/2022051405/5a7150607f8b9ac0538cbeb3/html5/thumbnails/47.jpg)
Referencias
• Casallas Rubby, Villalobos, Jorge. “El actual ingeniero de Software”. Revista ACIS. Edición Nº 93 Julio - Septiembre de 2005