Cambios en Ingeniería de Software

Documentos relacionados
Panorámica de la asignatura

APLICACIONES DE INTERNET: SOAP

Oracle 10g: Creación de Aplicaciones J2EE

Tema 3. La organización territorial del Estado. La Administración local. Las Comunidades Autónomas.

El Modelo de Integración basado en Servicios

DWB-1502 SATCA 1 : (1-4-5) Carrera:

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Presentación J2EE. Sesión 1: Introducción a las tecnologías J2EE. Especialista en Aplicaciones y Servicios Web con Java Enterprise.

CARRERA DE INGENIERIA DE SISTEMAS

Nombre del documento: Programa de Estudio de asignatura de Especialidad. Referencia a la Norma ISO 9001: Página 1 de 6

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

[CASI v.0109] Pág. 1

SGI. Más productividad. Más Servicios Más Clientes. Más Ingresos

Capítulo 7: Introducción a la dinámica de servicios Web

ADVANCED ENGINEERING.

Introducción al curso CONTENIDOS Y REGLAS

Departamento de Ingeniería de Sistemas Informáticos y Telemáticos. Juan Hernández Núñez

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

Empleo. CURSO FORMATIVO Desarrollo de portales WEB en Liferay. Coordinador Académico Antonio José Martín Sierra

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Tema 2. Gestión por Procesos. Soporte de Tecnología

Grado en Ingeniería Informática. Plan de proyecto. Desarrollo de Sistemas de Información Corporativos. Departamento de Informática

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIAS Y TECNOLOGÍA DEPARTAMENTO DE COMPUTACIÓN PASANTÍAS

Tema 3.1: Introducción a Servicios Web

GRADO EN INGENIERÍA INFORMÁTICA

Intel lanza su procesador Caballero Medieval habilitado para Inteligencia Artificial

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN

Programación Orientada a Objetos en Java

LÓGICA DE PROGRAMACIÓN

Desarrollo de un Sistema Integral Colaborativo para Organizaciones Educativas Basado en Servicios Web

UNIVERSIDAD AUTÓNOMA DEL CARIBE PROCEDIMIENTO VIRTUALIZACIÓN DE CURSOS GESTIÓN DOCENCIA

Modelo Cliente / Servidor. Gerardo Grinman 5D

LICENCIADO EN SISTEMAS COMPUTACIONALES. Este programa educativo se ofrece en las siguientes sedes académicas de la UABC:

Unidad I Marco teórico sobre redes de computadoras

Software libre para la automatización de unidades de información

Ingeniería del Software Ingeniería del Software de Gestión. Tema 3 Metodologías de Desarrollo de Software

El Outsourcing. Una estrategia de valor añadido para el negocio

TÍTULO: BASES DE DATOS Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa

Selección del Hardware y Software Administración del proceso de desarrollo de Sistemas de Información.

FACULTAD DE INGENIERÍA DEPARTAMENTO DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIONES

FICHA PÚBLICA DEL PROYECTO

Curso Microsoft SharePoint Server 2010 Designing and Developing Applications (10232)

Aseguramiento de Calidad en el Desarrollo de Software Libre

Servidores De Aplicaciones Java EE.

Visión 360º y análisis transversal del desempeño de cada unidad de negocio

CAPITULO 5 RESULTADOS Y CONCLUSIONES

Solución de archivo y preservación en la nube

Aplicaciones web construidas a base de componentes:

PROYECTOS DE WEBSERVICE PARA DESARROLLADORES. 12 Agosto 2016

Estrategias a nivel funcional

Descripción de Arquitectura Repositorio de metadatos de componentes de software

ARQUITECTURAS DE SOFTWARE

PROGRAMA INSTRUCCIONAL

Curriculum Vitae I. DATOS PERSONALES FORMACION ACTUAL. Estudios en Curso

IFCT0209 Sistemas Microinformáticos

Maestría en Ingeniería Énfasis en Sistemas y Computación

Armando un kit de desarrollo basado en software libre. Gloria Cortés B. Ubiquando Ltda -1

Asumir el control de big data: soluciones de análisis y almacenamiento para obtener información de gran impacto sobre el negocio

DISEÑO DE REDES EN LA CADENA DE SUMINISTRO

CAPITULO VI. REDES DE DATOS

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS.

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

Redefiniendo el Almacenamiento Enterprise con VMAX3

Estudio para la evolución de los entornos aplicativos Natural/Adabas Mayo de 2010

Administración de Proyectos de TI

Curso: 10983A Upgrading Your Skills To Windows Server 2016

FORMACIÓN EN BUENAS PRÁCTICAS DE PROGRAMACIÓN CON PERSONAL SOFTWARE PROCESS (PSP)


Ingeniería de Software y Sistemas Computacionales

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

Anexo 10. Pruebas verificadas

Caso J2EE. Necesidades del negocio. Arquitectura Luther

Objetivos. Plan. Cambios de grupos Prof. sustituto: Alicia Villanueva

Infraestructura de Datos Espaciales basada en Software Libre para empleo Militar

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

Arquitectura de Software El Rol del Arquitecto de Software

Diplomado Logística y Administración de la Cadena de Suministro: Estrategia, Diseño y Operaciones

SILABO DE LA ASIGNATURA INGENIERIA DEL SOFTWARE

Secretaría de Docencia Dirección de Estudios Profesionales

Implementación de Centros de Computo y Redes de Computadoras

INFORME TÉCNICO ADQUISICIÓN DE SOFTWARE DE SISTEMA OPERATIVO PARA COMPUTADORAS

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

Foro de Negocios San Luis Potosí Servicios administrados y en la nube

Liderando Proyectos de software para dispositivos de Apple. Creatividapps


LA TECNOLOGÍA AL SERVICIO DE LA CULTURA DEL CUIDADO. Juanita Sánchez R. MSc.

Cursos de formación. Optimice y acelere sus soluciones de servicios a través del aprendizaje y dominio de OTRS.

HOJA DE VIDA. Datos Personales

DESARROLLO DE APLICACIONES PARA INTERNET Y SERVICIOS WEB (VI EDICIÓN)

CURSOS DE CAPACITACION SAP2000 ANALISIS Y DISEÑO INTEGRAL DE ESTRUCTURAS

MANUAL DE PROCEDIMIENTOS DEPARTAMENTO DE ATENCIÓN A USUARIOS

Introducción. Introducción. Motivación. Desarrollo de aplicaciones web para bases de datos Almería Manuel Torres Gil

Adoptando SOA para Telecom

Grado en Ingeniería del Software

Sistemas Operativos. Curso 2014 Estructura de los sistemas operativos

Oracle Enterprise Manager 10g Grid Control NUEVO

EJERCICIO DE SIMULACIÓN Nº 2 DISEÑO DE SISTEMAS SOLUCIÓN EN PROYECTOS

DIPLOMADO. Evaluación de la Calidad de la práctica docente para la implementación del Nuevo Modelo Educativo en Escuelas de Ingeniería del I.P.N.

Transcripción:

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

Agenda Los cuatro ejes de la ingeniería de software Tecnologías Procesos Arquitecturas Metodologías

Los cuatro ejes de la ingeniería de software actual

Desarrollo de software hoy en día

Ejes de la Ing. de Software procesos Arquitectura Herramientas Tecnología Metodología Jorge Villalobos. Rubby Casallas Uniandes

TECNOLOGIAS

Tecnologías (1) Conjunto de lenguajes, modelos, protocolos que permiten materializar un producto de software Ingeniería de la construcción

Perspectiva tecnológica

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

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

Era Terminal Host (1) Años 70 s Terminales Bases de datos Terminales Discos de almacenamiento

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

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

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

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

Era de los computadores personales (2) Integración de información Conectividad Conectividad Crecimiento de la demanda de software

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

Computación distribuida

Computación distribuida

Requerimientos Distribución Interoperabilidad Transaccionalidad Tolerancia a fallas Integración de procesos de negocio

Tecnologías web

Antes de Internet

Tecnologías Web

Tecnologías Web

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

Tecnología (2) Java J2EE JDBC JNDI Servlets JSP JMS EJB UML XML HTTP SOAP Perl XMI Bases de datos PHP BPEL Ajax Portlets Pushlets

Tecnología (3) RMI CORBA Web Services Aspect J Fortran COBOL BASIC C++ C#.NET ASP

PROCESOS

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

Evolución desde perspectiva de los procesos

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

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

Arquitectura

Cómo llegamos a la arquitectura?

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

Nuevas propiedades Localización Aislamiento Flexibilidad Reutilización Evolución Enseñabilidad

Elementos estructuradores Funciones Objetos Componentes Contenedores Servicios Aspectos Modelos

Arquitecturas (1) Conjunto de elementos que van a definir las características estructurales del producto de software que se quiere construir Ingeniería estructural

Arquitecturas (2) Componentes Contenedores Servicios Aspectos Modelos ADLs Middleware de mensajería Middleware de objetos Arquitecturas basadas en servicios Bases de eventos Bases de servicios Orquestación Arquitecturas multicapa Adaptadores Plugins

Arquitecturas (3) Objetos Funciones Módulos Composición Coordinación Herencia Sincronización

METODOLOGIAS

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

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

Evolución histórica Desarrollo estructurado Desarrollo orientado por objetos Desarrollo orientado por componentes Desarrollo orientado por aspectos Desarrollo orientado por servicios

Metodología (2) Análisis estructurado Diseño estructurado Diseño de interfaces Diseño de sitios WEB Patrones de diseño Patrones de asignación de responsabilidades Estilos de arquitecturas Análisis orientado por objetos Diseño de algoritmos Diseño orientado por objetos Diseño de bases de datos Técnicas para entrevistar clientes Complejidad de algoritmos Técnicas para validar requerimientos

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.

Referencias Casallas Rubby, Villalobos, Jorge. El actual ingeniero de Software. Revista ACIS. Edición Nº 93 Julio - Septiembre de 2005